@kubb/agent 4.33.1 → 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 +18 -87
  3. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  4. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  5. package/.output/server/index.mjs +1 -1
  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 +16 -16
  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,171 @@
1
+ import * as redoclyConfig from '@redocly/config';
2
+ import { createConfig } from './config/index.js';
3
+ import { lintDocument } from './lint.js';
4
+ import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
5
+ import { EntityKeyValid } from './rules/catalog-entity/entity-key-valid.js';
6
+ import { Assertions } from './rules/common/assertions/index.js';
7
+ import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
8
+ import { Struct } from './rules/common/struct.js';
9
+ import { createEntityTypes, ENTITY_DISCRIMINATOR_PROPERTY_NAME, ENTITY_TYPES_WITH_API_SUPPORT, } from './types/entity.js';
10
+ import { normalizeTypes } from './types/index.js';
11
+ import { isEmptyObject } from './utils/is-empty-object.js';
12
+ import { isPlainObject } from './utils/is-plain-object.js';
13
+ import { categorizeAssertions, findDataSchemaInDocument, transformScorecardRulesToAssertions, } from './utils/scorecards.js';
14
+ import { normalizeVisitors, } from './visitors.js';
15
+ import { walkDocument, } from './walk.js';
16
+ export async function lintEntityFile(opts) {
17
+ const { document, entitySchema, entityDefaultSchema, severity, externalRefResolver = new BaseResolver(), assertionConfig = {}, } = opts;
18
+ const ctx = {
19
+ problems: [],
20
+ specVersion: 'entity', // FIXME: this should be proper SpecVersion
21
+ visitorsData: {},
22
+ };
23
+ const { entityTypes, discriminatorResolver } = createEntityTypes(entitySchema, entityDefaultSchema);
24
+ const types = normalizeTypes(entityTypes);
25
+ let rootType = types.Entity;
26
+ if (Array.isArray(document.parsed)) {
27
+ rootType = types.EntityFileArray;
28
+ }
29
+ else if (isPlainObject(document.parsed)) {
30
+ const discriminatedPropertyValue = document.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
31
+ if (!discriminatedPropertyValue) {
32
+ rootType = types.Entity;
33
+ }
34
+ else {
35
+ const discriminatedTypeName = discriminatorResolver?.(document.parsed, discriminatedPropertyValue);
36
+ if (discriminatedTypeName &&
37
+ typeof discriminatedTypeName === 'string' &&
38
+ types[discriminatedTypeName]) {
39
+ rootType = types[discriminatedTypeName];
40
+ }
41
+ }
42
+ }
43
+ const assertionVisitors = Assertions(assertionConfig);
44
+ const flattenedAssertions = Array.isArray(assertionVisitors)
45
+ ? assertionVisitors.map((visitor) => ({
46
+ severity: severity || 'error',
47
+ ruleId: 'entity assertions',
48
+ visitor: visitor,
49
+ }))
50
+ : [
51
+ {
52
+ severity: severity || 'error',
53
+ ruleId: 'entity assertions',
54
+ visitor: assertionVisitors,
55
+ },
56
+ ];
57
+ const rules = [
58
+ {
59
+ severity: severity || 'error',
60
+ ruleId: 'entity struct',
61
+ visitor: Struct({ severity: 'error' }),
62
+ },
63
+ {
64
+ severity: severity || 'error',
65
+ ruleId: 'entity no-unresolved-refs',
66
+ visitor: NoUnresolvedRefs({ severity: 'error' }),
67
+ },
68
+ {
69
+ severity: severity || 'error',
70
+ ruleId: 'entity key-valid',
71
+ visitor: EntityKeyValid({ severity: 'error' }),
72
+ },
73
+ ...flattenedAssertions,
74
+ ];
75
+ const normalizedVisitors = normalizeVisitors(rules, types);
76
+ const resolvedRefMap = await resolveDocument({
77
+ rootDocument: document,
78
+ rootType,
79
+ externalRefResolver,
80
+ });
81
+ walkDocument({
82
+ document,
83
+ rootType,
84
+ normalizedVisitors,
85
+ resolvedRefMap,
86
+ ctx,
87
+ });
88
+ return ctx.problems;
89
+ }
90
+ export async function lintEntityWithScorecardLevel(entity, scorecardLevel, document) {
91
+ if (!scorecardLevel.rules) {
92
+ throw new Error(`Scorecard level "${scorecardLevel.name}" has no rules defined.`);
93
+ }
94
+ const externalRefResolver = new BaseResolver();
95
+ //Create a document from the entity object
96
+ const entityDocument = makeDocumentFromString(JSON.stringify(entity, null, 2), 'entity');
97
+ const discriminatorValue = entityDocument.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
98
+ const assertionConfig = transformScorecardRulesToAssertions(discriminatorValue || 'unknown', scorecardLevel.rules);
99
+ const { entityRules, apiRules } = categorizeAssertions(assertionConfig);
100
+ const entityProblems = await lintEntityFile({
101
+ document: entityDocument,
102
+ entitySchema: redoclyConfig.entityFileSchema,
103
+ entityDefaultSchema: redoclyConfig.entityFileDefaultSchema,
104
+ externalRefResolver,
105
+ assertionConfig: entityRules,
106
+ });
107
+ if (ENTITY_TYPES_WITH_API_SUPPORT.includes(entity.type)) {
108
+ if (Object.keys(apiRules).length === 0) {
109
+ return entityProblems;
110
+ }
111
+ if (!document) {
112
+ throw new Error(`Document is required for entity type "${entity.type}". Provide the source API document to lint API rules.`);
113
+ }
114
+ if (entity.type === 'data-schema' && entity.metadata?.schema) {
115
+ Object.values(apiRules).forEach((rule) => {
116
+ if (typeof rule === 'object' && rule.subject.type !== 'Schema') {
117
+ throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${rule.subject.type}".`);
118
+ }
119
+ });
120
+ const schema = findDataSchemaInDocument(entity.title, entity.metadata.schema, document);
121
+ if (!schema) {
122
+ throw new Error(`Schema "${entity.title}" not found in the document. Ensure the schema exists in components.schemas.`);
123
+ }
124
+ const schemaProblems = await lintSchema({
125
+ schema,
126
+ schemaKey: entity.title,
127
+ config: await createConfig({
128
+ rules: apiRules,
129
+ }),
130
+ specType: entity.metadata.specType,
131
+ sourceDocument: document,
132
+ externalRefResolver,
133
+ });
134
+ return [...entityProblems, ...schemaProblems];
135
+ }
136
+ const apiProblems = await lintDocument({
137
+ document,
138
+ externalRefResolver,
139
+ config: await createConfig({
140
+ rules: apiRules,
141
+ }),
142
+ });
143
+ return [...entityProblems, ...apiProblems];
144
+ }
145
+ else if (!isEmptyObject(apiRules)) {
146
+ throw new Error(`API rules are not supported for entity type "${entity.type}". Only ${ENTITY_TYPES_WITH_API_SUPPORT.join(', ')} support API rules.`);
147
+ }
148
+ return entityProblems;
149
+ }
150
+ export async function lintSchema(opts) {
151
+ const { schema, schemaKey, config, sourceDocument, specType, externalRefResolver = new BaseResolver(config.resolve), } = opts;
152
+ const parsed = sourceDocument.parsed;
153
+ const specVersion = parsed[specType];
154
+ const info = parsed.info;
155
+ const schemaDocument = makeDocumentFromString(JSON.stringify({
156
+ [specType]: specVersion,
157
+ info,
158
+ components: {
159
+ schemas: {
160
+ [schemaKey]: schema,
161
+ },
162
+ },
163
+ }, null, 2), sourceDocument?.source.absoluteRef || `schema:${schemaKey}`);
164
+ const problems = await lintDocument({
165
+ document: schemaDocument,
166
+ config,
167
+ externalRefResolver,
168
+ });
169
+ return problems.filter((problem) => problem.location.some((loc) => loc.pointer?.includes(`/components/schemas/${schemaKey}`)));
170
+ }
171
+ //# sourceMappingURL=lint-entity.js.map
@@ -0,0 +1,123 @@
1
+ import { rootRedoclyConfigSchema } from '@redocly/config';
2
+ import { initRules } from './config/rules.js';
3
+ import { detectSpec, getMajorSpecVersion } from './detect-spec.js';
4
+ import { getTypes } from './oas-types.js';
5
+ import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
6
+ import { releaseAjvInstance } from './rules/ajv.js';
7
+ import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
8
+ import { Struct } from './rules/common/struct.js';
9
+ import { normalizeTypes } from './types/index.js';
10
+ import { createConfigTypes } from './types/redocly-yaml.js';
11
+ import { normalizeVisitors } from './visitors.js';
12
+ import { walkDocument } from './walk.js';
13
+ // FIXME: remove this once we remove `theme` from the schema
14
+ const { theme: _, ...propertiesWithoutTheme } = rootRedoclyConfigSchema.properties;
15
+ const redoclyConfigSchemaWithoutTheme = {
16
+ ...rootRedoclyConfigSchema,
17
+ properties: propertiesWithoutTheme,
18
+ };
19
+ export async function lint(opts) {
20
+ const { ref, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
21
+ const document = (await externalRefResolver.resolveDocument(null, ref, true));
22
+ opts.collectSpecData?.(document.parsed);
23
+ return lintDocument({
24
+ document,
25
+ ...opts,
26
+ externalRefResolver,
27
+ });
28
+ }
29
+ export async function lintFromString(opts) {
30
+ const { source, absoluteRef, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
31
+ const document = makeDocumentFromString(source, absoluteRef || '/');
32
+ return lintDocument({
33
+ document,
34
+ ...opts,
35
+ externalRefResolver,
36
+ });
37
+ }
38
+ export async function lintDocument(opts) {
39
+ releaseAjvInstance(); // FIXME: preprocessors can modify nodes which are then cached to ajv-instance by absolute path
40
+ const { document, customTypes, externalRefResolver, config } = opts;
41
+ const specVersion = detectSpec(document.parsed);
42
+ const specMajorVersion = getMajorSpecVersion(specVersion);
43
+ const rules = config.getRulesForSpecVersion(specMajorVersion);
44
+ const types = normalizeTypes(config.extendTypes(customTypes ?? getTypes(specVersion), specVersion), config);
45
+ const ctx = {
46
+ problems: [],
47
+ specVersion,
48
+ config,
49
+ visitorsData: {},
50
+ };
51
+ const preprocessors = initRules(rules, config, 'preprocessors', specVersion);
52
+ const regularRules = initRules(rules, config, 'rules', specVersion);
53
+ let resolvedRefMap = await resolveDocument({
54
+ rootDocument: document,
55
+ rootType: types.Root,
56
+ externalRefResolver,
57
+ });
58
+ if (preprocessors.length > 0) {
59
+ // Make additional pass to resolve refs defined in preprocessors.
60
+ walkDocument({
61
+ document,
62
+ rootType: types.Root,
63
+ normalizedVisitors: normalizeVisitors(preprocessors, types),
64
+ resolvedRefMap,
65
+ ctx,
66
+ });
67
+ resolvedRefMap = await resolveDocument({
68
+ rootDocument: document,
69
+ rootType: types.Root,
70
+ externalRefResolver,
71
+ });
72
+ }
73
+ const normalizedVisitors = normalizeVisitors(regularRules, types);
74
+ walkDocument({
75
+ document,
76
+ rootType: types.Root,
77
+ normalizedVisitors,
78
+ resolvedRefMap,
79
+ ctx,
80
+ });
81
+ return ctx.problems.map((problem) => config.addProblemToIgnore(problem));
82
+ }
83
+ export async function lintConfig(opts) {
84
+ const { severity, externalRefResolver = new BaseResolver(), config } = opts;
85
+ if (!config.document) {
86
+ throw new Error('Config document is not set.');
87
+ }
88
+ const ctx = {
89
+ problems: [],
90
+ specVersion: 'oas3_0', // TODO: use config-specific version
91
+ config,
92
+ visitorsData: {},
93
+ };
94
+ const types = normalizeTypes(opts.externalConfigTypes || createConfigTypes(redoclyConfigSchemaWithoutTheme, config));
95
+ const rules = [
96
+ {
97
+ severity: severity || 'error',
98
+ ruleId: 'configuration struct',
99
+ visitor: Struct({ severity: 'error' }),
100
+ },
101
+ {
102
+ severity: severity || 'error',
103
+ ruleId: 'configuration no-unresolved-refs',
104
+ visitor: NoUnresolvedRefs({ severity: 'error' }),
105
+ },
106
+ ];
107
+ const normalizedVisitors = normalizeVisitors(rules, types);
108
+ const resolvedRefMap = config.resolvedRefMap ||
109
+ (await resolveDocument({
110
+ rootDocument: config.document,
111
+ rootType: types.ConfigRoot,
112
+ externalRefResolver,
113
+ }));
114
+ walkDocument({
115
+ document: config.document,
116
+ rootType: types.ConfigRoot,
117
+ normalizedVisitors,
118
+ resolvedRefMap,
119
+ ctx,
120
+ });
121
+ return ctx.problems;
122
+ }
123
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1,56 @@
1
+ import * as colorette from 'colorette';
2
+ import { isBrowser } from './env.js';
3
+ import { identity } from './utils/identity.js';
4
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
+ // @ts-ignore this works but some types are not working
6
+ export const colorOptions = colorette.options;
7
+ export const colorize = new Proxy(colorette, {
8
+ get(target, prop) {
9
+ if (isBrowser) {
10
+ return identity;
11
+ }
12
+ return target[prop];
13
+ },
14
+ });
15
+ class Logger {
16
+ info(str) {
17
+ return isBrowser ? console.info(str) : process.stderr.write(str);
18
+ }
19
+ warn(str) {
20
+ return isBrowser ? console.warn(str) : process.stderr.write(colorize.yellow(str));
21
+ }
22
+ error(str) {
23
+ return isBrowser ? console.error(str) : process.stderr.write(colorize.red(str));
24
+ }
25
+ output(str) {
26
+ return isBrowser ? console.log(str) : process.stdout.write(str);
27
+ }
28
+ printNewLine() {
29
+ if (isBrowser) {
30
+ console.log('\n');
31
+ }
32
+ else {
33
+ // Add a space to ensure the line is not empty in GitHub CI environments, otherwise it will be hidden
34
+ process.stdout.write(' \n');
35
+ }
36
+ }
37
+ printSeparator(separator) {
38
+ const windowWidth = process.stdout.columns || 80;
39
+ const separatorLine = separator
40
+ .repeat(Math.ceil(windowWidth / separator.length))
41
+ .slice(0, windowWidth);
42
+ const coloredSeparatorLine = isBrowser ? separatorLine : colorize.gray(separatorLine);
43
+ return isBrowser
44
+ ? console.log(coloredSeparatorLine)
45
+ : process.stdout.write(coloredSeparatorLine);
46
+ }
47
+ indent(str, level) {
48
+ const indentChar = isBrowser ? ' ' : '\xa0';
49
+ return str
50
+ .split('\n')
51
+ .map((line) => indentChar.repeat(level) + line)
52
+ .join('\n');
53
+ }
54
+ }
55
+ export const logger = new Logger();
56
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1,35 @@
1
+ import { Arazzo1Types } from './types/arazzo.js';
2
+ import { AsyncApi2Types } from './types/asyncapi2.js';
3
+ import { AsyncApi3Types } from './types/asyncapi3.js';
4
+ import { Oas2Types } from './types/oas2.js';
5
+ import { Oas3Types } from './types/oas3.js';
6
+ import { Oas3_1Types } from './types/oas3_1.js';
7
+ import { Oas3_2Types } from './types/oas3_2.js';
8
+ import { OpenRpcTypes } from './types/openrpc.js';
9
+ import { Overlay1Types } from './types/overlay.js';
10
+ export const specVersions = [
11
+ 'oas2',
12
+ 'oas3_0',
13
+ 'oas3_1',
14
+ 'oas3_2',
15
+ 'async2',
16
+ 'async3',
17
+ 'arazzo1',
18
+ 'overlay1',
19
+ 'openrpc1',
20
+ ];
21
+ const typesMap = {
22
+ oas2: Oas2Types,
23
+ oas3_0: Oas3Types,
24
+ oas3_1: Oas3_1Types,
25
+ oas3_2: Oas3_2Types,
26
+ async2: AsyncApi2Types,
27
+ async3: AsyncApi3Types,
28
+ arazzo1: Arazzo1Types,
29
+ overlay1: Overlay1Types,
30
+ openrpc1: OpenRpcTypes,
31
+ };
32
+ export function getTypes(spec) {
33
+ return typesMap[spec];
34
+ }
35
+ //# sourceMappingURL=oas-types.js.map
@@ -0,0 +1,109 @@
1
+ import * as path from 'node:path';
2
+ import { isPlainObject } from './utils/is-plain-object.js';
3
+ import { isTruthy } from './utils/is-truthy.js';
4
+ export function joinPointer(base, key) {
5
+ if (base === '')
6
+ base = '#/';
7
+ return base[base.length - 1] === '/' ? base + key : base + '/' + key;
8
+ }
9
+ export function isRef(node) {
10
+ return isPlainObject(node) && typeof node.$ref === 'string';
11
+ }
12
+ export function isExternalValue(node) {
13
+ return isPlainObject(node) && typeof node.externalValue === 'string';
14
+ }
15
+ export class Location {
16
+ constructor(source, pointer) {
17
+ this.source = source;
18
+ this.pointer = pointer;
19
+ }
20
+ child(components) {
21
+ return new Location(this.source, joinPointer(this.pointer, (Array.isArray(components) ? components : [components]).map(escapePointerFragment).join('/')));
22
+ }
23
+ key() {
24
+ return { ...this, reportOnKey: true };
25
+ }
26
+ get absolutePointer() {
27
+ return this.source.absoluteRef + (this.pointer === '#/' ? '' : this.pointer);
28
+ }
29
+ }
30
+ export function unescapePointerFragment(fragment) {
31
+ const unescaped = fragment.indexOf('~') === -1 ? fragment : fragment.replaceAll('~1', '/').replaceAll('~0', '~');
32
+ try {
33
+ return decodeURIComponent(unescaped);
34
+ }
35
+ catch (e) {
36
+ return unescaped;
37
+ }
38
+ }
39
+ export function escapePointerFragment(fragment) {
40
+ if (typeof fragment === 'number')
41
+ return fragment;
42
+ if (fragment.indexOf('/') === -1 && fragment.indexOf('~') === -1)
43
+ return fragment;
44
+ return fragment.replaceAll('~', '~0').replaceAll('/', '~1');
45
+ }
46
+ export function parseRef(ref) {
47
+ const [uri, pointer = ''] = ref.split('#/');
48
+ return {
49
+ uri: (uri.endsWith('#') ? uri.slice(0, -1) : uri) || null,
50
+ pointer: parsePointer(pointer),
51
+ };
52
+ }
53
+ export function parsePointer(pointer) {
54
+ return pointer.split('/').map(unescapePointerFragment).filter(isTruthy);
55
+ }
56
+ export function pointerBaseName(pointer) {
57
+ const parts = pointer.split('/');
58
+ return parts[parts.length - 1];
59
+ }
60
+ export function refBaseName(ref) {
61
+ // eslint-disable-next-line no-useless-escape
62
+ const parts = ref.split(/[\/\\]/); // split by '\' and '/'
63
+ return parts[parts.length - 1].replace(/\.[^.]+$/, ''); // replace extension with empty string
64
+ }
65
+ export function isAbsoluteUrl(ref) {
66
+ return (ref.startsWith('http://') ||
67
+ ref.startsWith('https://') ||
68
+ ref.startsWith('file://') ||
69
+ ref.startsWith('data:'));
70
+ }
71
+ export function getDir(filePath) {
72
+ if (!path.extname(filePath)) {
73
+ return filePath;
74
+ }
75
+ return isAbsoluteUrl(filePath)
76
+ ? filePath.substring(0, filePath.lastIndexOf('/'))
77
+ : path.dirname(filePath);
78
+ }
79
+ export function resolvePath(base, relative) {
80
+ if (isAbsoluteUrl(base)) {
81
+ return new URL(relative, base.endsWith('/') ? base : `${base}/`).href;
82
+ }
83
+ return path.resolve(base, relative);
84
+ }
85
+ export function isMappingRef(mapping) {
86
+ // TODO: proper detection of mapping refs
87
+ return (mapping.startsWith('#') ||
88
+ mapping.startsWith('https://') ||
89
+ mapping.startsWith('http://') ||
90
+ mapping.startsWith('./') ||
91
+ mapping.startsWith('../') ||
92
+ mapping.indexOf('/') > -1);
93
+ }
94
+ export function isAnchor(ref) {
95
+ return /^#[A-Za-z][A-Za-z0-9\-_:.]*$/.test(ref);
96
+ }
97
+ export function replaceRef(ref, resolved, ctx) {
98
+ if (!isPlainObject(resolved.node)) {
99
+ ctx.parent[ctx.key] = resolved.node;
100
+ }
101
+ else {
102
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
103
+ // @ts-ignore
104
+ delete ref.$ref;
105
+ const obj = Object.assign({}, resolved.node, ref);
106
+ Object.assign(ref, obj); // assign ref itself again so ref fields take precedence
107
+ }
108
+ }
109
+ //# sourceMappingURL=ref-utils.js.map