@scalar/openapi-types 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +76 -0
  3. package/dist/schemas/3.1/processed/base-path-item-object.d.ts +603 -0
  4. package/dist/schemas/3.1/processed/base-path-item-object.d.ts.map +1 -0
  5. package/dist/schemas/3.1/processed/base-path-item-object.js +35 -0
  6. package/dist/schemas/3.1/processed/callback-object.d.ts +169 -0
  7. package/dist/schemas/3.1/processed/callback-object.d.ts.map +1 -0
  8. package/dist/schemas/3.1/processed/callback-object.js +17 -0
  9. package/dist/schemas/3.1/processed/components-object.d.ts +14411 -0
  10. package/dist/schemas/3.1/processed/components-object.d.ts.map +1 -0
  11. package/dist/schemas/3.1/processed/components-object.js +64 -0
  12. package/dist/schemas/3.1/processed/contact-object.d.ts +25 -0
  13. package/dist/schemas/3.1/processed/contact-object.d.ts.map +1 -0
  14. package/dist/schemas/3.1/processed/contact-object.js +19 -0
  15. package/dist/schemas/3.1/processed/discriminator-object.d.ts +32 -0
  16. package/dist/schemas/3.1/processed/discriminator-object.d.ts.map +1 -0
  17. package/dist/schemas/3.1/processed/discriminator-object.js +28 -0
  18. package/dist/schemas/3.1/processed/encoding-object.d.ts +191 -0
  19. package/dist/schemas/3.1/processed/encoding-object.d.ts.map +1 -0
  20. package/dist/schemas/3.1/processed/encoding-object.js +30 -0
  21. package/dist/schemas/3.1/processed/example-object.d.ts +43 -0
  22. package/dist/schemas/3.1/processed/example-object.d.ts.map +1 -0
  23. package/dist/schemas/3.1/processed/example-object.js +35 -0
  24. package/dist/schemas/3.1/processed/external-documentation-object.d.ts +21 -0
  25. package/dist/schemas/3.1/processed/external-documentation-object.d.ts.map +1 -0
  26. package/dist/schemas/3.1/processed/external-documentation-object.js +17 -0
  27. package/dist/schemas/3.1/processed/header-object.d.ts +161 -0
  28. package/dist/schemas/3.1/processed/header-object.d.ts.map +1 -0
  29. package/dist/schemas/3.1/processed/header-object.js +66 -0
  30. package/dist/schemas/3.1/processed/index.d.ts +31 -0
  31. package/dist/schemas/3.1/processed/index.d.ts.map +1 -0
  32. package/dist/schemas/3.1/processed/index.js +30 -0
  33. package/dist/schemas/3.1/processed/info-object.d.ts +89 -0
  34. package/dist/schemas/3.1/processed/info-object.d.ts.map +1 -0
  35. package/dist/schemas/3.1/processed/info-object.js +45 -0
  36. package/dist/schemas/3.1/processed/license-object.d.ts +27 -0
  37. package/dist/schemas/3.1/processed/license-object.d.ts.map +1 -0
  38. package/dist/schemas/3.1/processed/license-object.js +21 -0
  39. package/dist/schemas/3.1/processed/link-object.d.ts +110 -0
  40. package/dist/schemas/3.1/processed/link-object.d.ts.map +1 -0
  41. package/dist/schemas/3.1/processed/link-object.js +52 -0
  42. package/dist/schemas/3.1/processed/media-type-object-without-encoding.d.ts +60 -0
  43. package/dist/schemas/3.1/processed/media-type-object-without-encoding.d.ts.map +1 -0
  44. package/dist/schemas/3.1/processed/media-type-object-without-encoding.js +34 -0
  45. package/dist/schemas/3.1/processed/media-type-object.d.ts +289 -0
  46. package/dist/schemas/3.1/processed/media-type-object.d.ts.map +1 -0
  47. package/dist/schemas/3.1/processed/media-type-object.js +38 -0
  48. package/dist/schemas/3.1/processed/openapi-object.d.ts +31 -0
  49. package/dist/schemas/3.1/processed/openapi-object.d.ts.map +1 -0
  50. package/dist/schemas/3.1/processed/openapi-object.js +78 -0
  51. package/dist/schemas/3.1/processed/operation-object-without-callbacks.d.ts +2094 -0
  52. package/dist/schemas/3.1/processed/operation-object-without-callbacks.d.ts.map +1 -0
  53. package/dist/schemas/3.1/processed/operation-object-without-callbacks.js +72 -0
  54. package/dist/schemas/3.1/processed/operation-object.d.ts +16 -0
  55. package/dist/schemas/3.1/processed/operation-object.d.ts.map +1 -0
  56. package/dist/schemas/3.1/processed/operation-object.js +22 -0
  57. package/dist/schemas/3.1/processed/parameter-object.d.ts +476 -0
  58. package/dist/schemas/3.1/processed/parameter-object.d.ts.map +1 -0
  59. package/dist/schemas/3.1/processed/parameter-object.js +93 -0
  60. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.d.ts +25 -0
  61. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.d.ts.map +1 -0
  62. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.js +48 -0
  63. package/dist/schemas/3.1/processed/path-item-object.d.ts +7741 -0
  64. package/dist/schemas/3.1/processed/path-item-object.d.ts.map +1 -0
  65. package/dist/schemas/3.1/processed/path-item-object.js +48 -0
  66. package/dist/schemas/3.1/processed/paths-object.d.ts +7718 -0
  67. package/dist/schemas/3.1/processed/paths-object.d.ts.map +1 -0
  68. package/dist/schemas/3.1/processed/paths-object.js +23 -0
  69. package/dist/schemas/3.1/processed/request-body-object.d.ts +595 -0
  70. package/dist/schemas/3.1/processed/request-body-object.d.ts.map +1 -0
  71. package/dist/schemas/3.1/processed/request-body-object.js +33 -0
  72. package/dist/schemas/3.1/processed/response-object.d.ts +633 -0
  73. package/dist/schemas/3.1/processed/response-object.d.ts.map +1 -0
  74. package/dist/schemas/3.1/processed/response-object.js +36 -0
  75. package/dist/schemas/3.1/processed/responses-object.d.ts +626 -0
  76. package/dist/schemas/3.1/processed/responses-object.d.ts.map +1 -0
  77. package/dist/schemas/3.1/processed/responses-object.js +31 -0
  78. package/dist/schemas/3.1/processed/runtime-expression.d.ts +15 -0
  79. package/dist/schemas/3.1/processed/runtime-expression.d.ts.map +1 -0
  80. package/dist/schemas/3.1/processed/runtime-expression.js +98 -0
  81. package/dist/schemas/3.1/processed/schema-object.d.ts +8 -0
  82. package/dist/schemas/3.1/processed/schema-object.d.ts.map +1 -0
  83. package/dist/schemas/3.1/processed/schema-object.js +91 -0
  84. package/dist/schemas/3.1/processed/security-requirement-object.d.ts +21 -0
  85. package/dist/schemas/3.1/processed/security-requirement-object.d.ts.map +1 -0
  86. package/dist/schemas/3.1/processed/security-requirement-object.js +37 -0
  87. package/dist/schemas/3.1/processed/security-scheme-object.d.ts +823 -0
  88. package/dist/schemas/3.1/processed/security-scheme-object.d.ts.map +1 -0
  89. package/dist/schemas/3.1/processed/security-scheme-object.js +170 -0
  90. package/dist/schemas/3.1/processed/server-object.d.ts +52 -0
  91. package/dist/schemas/3.1/processed/server-object.d.ts.map +1 -0
  92. package/dist/schemas/3.1/processed/server-object.js +27 -0
  93. package/dist/schemas/3.1/processed/server-variable-object.d.ts +33 -0
  94. package/dist/schemas/3.1/processed/server-variable-object.d.ts.map +1 -0
  95. package/dist/schemas/3.1/processed/server-variable-object.js +27 -0
  96. package/dist/schemas/3.1/processed/tag-object.d.ts +41 -0
  97. package/dist/schemas/3.1/processed/tag-object.d.ts.map +1 -0
  98. package/dist/schemas/3.1/processed/tag-object.js +21 -0
  99. package/dist/schemas/3.1/processed/webhooks-object.d.ts +172 -0
  100. package/dist/schemas/3.1/processed/webhooks-object.d.ts.map +1 -0
  101. package/dist/schemas/3.1/processed/webhooks-object.js +19 -0
  102. package/dist/schemas/3.1/processed/xml-object.d.ts +51 -0
  103. package/dist/schemas/3.1/processed/xml-object.d.ts.map +1 -0
  104. package/dist/schemas/3.1/processed/xml-object.js +40 -0
  105. package/dist/schemas/3.1/unprocessed/base-path-item-object.d.ts +1811 -0
  106. package/dist/schemas/3.1/unprocessed/base-path-item-object.d.ts.map +1 -0
  107. package/dist/schemas/3.1/unprocessed/base-path-item-object.js +23 -0
  108. package/dist/schemas/3.1/unprocessed/callback-object.d.ts +168 -0
  109. package/dist/schemas/3.1/unprocessed/callback-object.d.ts.map +1 -0
  110. package/dist/schemas/3.1/unprocessed/callback-object.js +15 -0
  111. package/dist/schemas/3.1/unprocessed/components-object.d.ts +28835 -0
  112. package/dist/schemas/3.1/unprocessed/components-object.d.ts.map +1 -0
  113. package/dist/schemas/3.1/unprocessed/components-object.js +66 -0
  114. package/dist/schemas/3.1/unprocessed/contact-object.d.ts +21 -0
  115. package/dist/schemas/3.1/unprocessed/contact-object.d.ts.map +1 -0
  116. package/dist/schemas/3.1/unprocessed/contact-object.js +12 -0
  117. package/dist/schemas/3.1/unprocessed/discriminator-object.d.ts +23 -0
  118. package/dist/schemas/3.1/unprocessed/discriminator-object.d.ts.map +1 -0
  119. package/dist/schemas/3.1/unprocessed/discriminator-object.js +17 -0
  120. package/dist/schemas/3.1/unprocessed/encoding-object.d.ts +402 -0
  121. package/dist/schemas/3.1/unprocessed/encoding-object.d.ts.map +1 -0
  122. package/dist/schemas/3.1/unprocessed/encoding-object.js +26 -0
  123. package/dist/schemas/3.1/unprocessed/example-object.d.ts +28 -0
  124. package/dist/schemas/3.1/unprocessed/example-object.d.ts.map +1 -0
  125. package/dist/schemas/3.1/unprocessed/example-object.js +16 -0
  126. package/dist/schemas/3.1/unprocessed/external-documentation-object.d.ts +18 -0
  127. package/dist/schemas/3.1/unprocessed/external-documentation-object.d.ts.map +1 -0
  128. package/dist/schemas/3.1/unprocessed/external-documentation-object.js +12 -0
  129. package/dist/schemas/3.1/unprocessed/header-object.d.ts +217 -0
  130. package/dist/schemas/3.1/unprocessed/header-object.d.ts.map +1 -0
  131. package/dist/schemas/3.1/unprocessed/header-object.js +42 -0
  132. package/dist/schemas/3.1/unprocessed/index.d.ts +32 -0
  133. package/dist/schemas/3.1/unprocessed/index.d.ts.map +1 -0
  134. package/dist/schemas/3.1/unprocessed/index.js +31 -0
  135. package/dist/schemas/3.1/unprocessed/info-object.d.ts +66 -0
  136. package/dist/schemas/3.1/unprocessed/info-object.d.ts.map +1 -0
  137. package/dist/schemas/3.1/unprocessed/info-object.js +13 -0
  138. package/dist/schemas/3.1/unprocessed/license-object.d.ts +21 -0
  139. package/dist/schemas/3.1/unprocessed/license-object.d.ts.map +1 -0
  140. package/dist/schemas/3.1/unprocessed/license-object.js +12 -0
  141. package/dist/schemas/3.1/unprocessed/link-object.d.ts +86 -0
  142. package/dist/schemas/3.1/unprocessed/link-object.d.ts.map +1 -0
  143. package/dist/schemas/3.1/unprocessed/link-object.js +20 -0
  144. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.d.ts +46 -0
  145. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.d.ts.map +1 -0
  146. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.js +12 -0
  147. package/dist/schemas/3.1/unprocessed/media-type-object.d.ts +728 -0
  148. package/dist/schemas/3.1/unprocessed/media-type-object.d.ts.map +1 -0
  149. package/dist/schemas/3.1/unprocessed/media-type-object.js +40 -0
  150. package/dist/schemas/3.1/unprocessed/openapi-object.d.ts +31 -0
  151. package/dist/schemas/3.1/unprocessed/openapi-object.d.ts.map +1 -0
  152. package/dist/schemas/3.1/unprocessed/openapi-object.js +12 -0
  153. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.d.ts +3893 -0
  154. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.d.ts.map +1 -0
  155. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.js +45 -0
  156. package/dist/schemas/3.1/unprocessed/operation-object.d.ts +17 -0
  157. package/dist/schemas/3.1/unprocessed/operation-object.d.ts.map +1 -0
  158. package/dist/schemas/3.1/unprocessed/operation-object.js +23 -0
  159. package/dist/schemas/3.1/unprocessed/parameter-object.d.ts +1186 -0
  160. package/dist/schemas/3.1/unprocessed/parameter-object.d.ts.map +1 -0
  161. package/dist/schemas/3.1/unprocessed/parameter-object.js +31 -0
  162. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.d.ts +25 -0
  163. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.d.ts.map +1 -0
  164. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.js +48 -0
  165. package/dist/schemas/3.1/unprocessed/path-item-object.d.ts +9743 -0
  166. package/dist/schemas/3.1/unprocessed/path-item-object.d.ts.map +1 -0
  167. package/dist/schemas/3.1/unprocessed/path-item-object.js +62 -0
  168. package/dist/schemas/3.1/unprocessed/paths-object.d.ts +7717 -0
  169. package/dist/schemas/3.1/unprocessed/paths-object.d.ts.map +1 -0
  170. package/dist/schemas/3.1/unprocessed/paths-object.js +14 -0
  171. package/dist/schemas/3.1/unprocessed/reference-object.d.ts +36 -0
  172. package/dist/schemas/3.1/unprocessed/reference-object.d.ts.map +1 -0
  173. package/dist/schemas/3.1/unprocessed/reference-object.js +30 -0
  174. package/dist/schemas/3.1/unprocessed/request-body-object.d.ts +580 -0
  175. package/dist/schemas/3.1/unprocessed/request-body-object.d.ts.map +1 -0
  176. package/dist/schemas/3.1/unprocessed/request-body-object.js +12 -0
  177. package/dist/schemas/3.1/unprocessed/response-object.d.ts +1661 -0
  178. package/dist/schemas/3.1/unprocessed/response-object.d.ts.map +1 -0
  179. package/dist/schemas/3.1/unprocessed/response-object.js +34 -0
  180. package/dist/schemas/3.1/unprocessed/responses-object.d.ts +1669 -0
  181. package/dist/schemas/3.1/unprocessed/responses-object.d.ts.map +1 -0
  182. package/dist/schemas/3.1/unprocessed/responses-object.js +32 -0
  183. package/dist/schemas/3.1/unprocessed/runtime-expression.d.ts +14 -0
  184. package/dist/schemas/3.1/unprocessed/runtime-expression.d.ts.map +1 -0
  185. package/dist/schemas/3.1/unprocessed/runtime-expression.js +17 -0
  186. package/dist/schemas/3.1/unprocessed/schema-object.d.ts +8 -0
  187. package/dist/schemas/3.1/unprocessed/schema-object.d.ts.map +1 -0
  188. package/dist/schemas/3.1/unprocessed/schema-object.js +32 -0
  189. package/dist/schemas/3.1/unprocessed/security-requirement-object.d.ts +20 -0
  190. package/dist/schemas/3.1/unprocessed/security-requirement-object.d.ts.map +1 -0
  191. package/dist/schemas/3.1/unprocessed/security-requirement-object.js +23 -0
  192. package/dist/schemas/3.1/unprocessed/security-scheme-object.d.ts +590 -0
  193. package/dist/schemas/3.1/unprocessed/security-scheme-object.d.ts.map +1 -0
  194. package/dist/schemas/3.1/unprocessed/security-scheme-object.js +29 -0
  195. package/dist/schemas/3.1/unprocessed/server-object.d.ts +41 -0
  196. package/dist/schemas/3.1/unprocessed/server-object.d.ts.map +1 -0
  197. package/dist/schemas/3.1/unprocessed/server-object.js +12 -0
  198. package/dist/schemas/3.1/unprocessed/server-variable-object.d.ts +21 -0
  199. package/dist/schemas/3.1/unprocessed/server-variable-object.d.ts.map +1 -0
  200. package/dist/schemas/3.1/unprocessed/server-variable-object.js +12 -0
  201. package/dist/schemas/3.1/unprocessed/tag-object.d.ts +37 -0
  202. package/dist/schemas/3.1/unprocessed/tag-object.d.ts.map +1 -0
  203. package/dist/schemas/3.1/unprocessed/tag-object.js +13 -0
  204. package/dist/schemas/3.1/unprocessed/webhooks-object.d.ts +212 -0
  205. package/dist/schemas/3.1/unprocessed/webhooks-object.d.ts.map +1 -0
  206. package/dist/schemas/3.1/unprocessed/webhooks-object.js +19 -0
  207. package/dist/schemas/3.1/unprocessed/xml-object.d.ts +31 -0
  208. package/dist/schemas/3.1/unprocessed/xml-object.d.ts.map +1 -0
  209. package/dist/schemas/3.1/unprocessed/xml-object.js +16 -0
  210. package/dist/schemas/extensions/index.d.ts +12 -0
  211. package/dist/schemas/extensions/index.d.ts.map +1 -0
  212. package/dist/schemas/extensions/index.js +11 -0
  213. package/dist/schemas/extensions/x-additional-properties-name.d.ts +16 -0
  214. package/dist/schemas/extensions/x-additional-properties-name.d.ts.map +1 -0
  215. package/dist/schemas/extensions/x-additional-properties-name.js +14 -0
  216. package/dist/schemas/extensions/x-code-samples.d.ts +76 -0
  217. package/dist/schemas/extensions/x-code-samples.d.ts.map +1 -0
  218. package/dist/schemas/extensions/x-code-samples.js +14 -0
  219. package/dist/schemas/extensions/x-display-name.d.ts +17 -0
  220. package/dist/schemas/extensions/x-display-name.d.ts.map +1 -0
  221. package/dist/schemas/extensions/x-enum-descriptions.d.ts +22 -0
  222. package/dist/schemas/extensions/x-enum-descriptions.d.ts.map +1 -0
  223. package/dist/schemas/extensions/x-enum-descriptions.js +20 -0
  224. package/dist/schemas/extensions/x-internal.d.ts +9 -0
  225. package/dist/schemas/extensions/x-internal.d.ts.map +1 -0
  226. package/dist/schemas/extensions/x-internal.js +7 -0
  227. package/dist/schemas/extensions/x-scalar-icon.d.ts +9 -0
  228. package/dist/schemas/extensions/x-scalar-icon.d.ts.map +1 -0
  229. package/dist/schemas/extensions/x-scalar-icon.js +7 -0
  230. package/dist/schemas/extensions/x-scalar-ignore.d.ts +9 -0
  231. package/dist/schemas/extensions/x-scalar-ignore.d.ts.map +1 -0
  232. package/dist/schemas/extensions/x-scalar-ignore.js +7 -0
  233. package/dist/schemas/extensions/x-scalar-redirect-uri.d.ts +9 -0
  234. package/dist/schemas/extensions/x-scalar-redirect-uri.d.ts.map +1 -0
  235. package/dist/schemas/extensions/x-scalar-redirect-uri.js +7 -0
  236. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts +25 -0
  237. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts.map +1 -0
  238. package/dist/schemas/extensions/x-scalar-sdk-installation.js +15 -0
  239. package/dist/schemas/extensions/x-scalar-stability.d.ts +23 -0
  240. package/dist/schemas/extensions/x-scalar-stability.d.ts.map +1 -0
  241. package/dist/schemas/extensions/x-scalar-stability.js +23 -0
  242. package/dist/schemas/extensions/x-tag-groups.d.ts +39 -0
  243. package/dist/schemas/extensions/x-tag-groups.d.ts.map +1 -0
  244. package/dist/schemas/extensions/x-tag-groups.js +20 -0
  245. package/dist/schemas/extensions/x-use-pkce.d.ts +14 -0
  246. package/dist/schemas/extensions/x-use-pkce.d.ts.map +1 -0
  247. package/dist/schemas/extensions/x-use-pkce.js +12 -0
  248. package/package.json +20 -2
  249. package/LICENSE +0 -21
@@ -0,0 +1,98 @@
1
+ import { z } from 'zod';
2
+
3
+ // Helper for validating the expression syntax
4
+ const isValidRuntimeExpression = (value) => {
5
+ // Handle pure runtime expressions starting with $
6
+ if (value.startsWith('$')) {
7
+ return validatePureExpression(value);
8
+ }
9
+ // Handle embedded expressions in strings
10
+ if (value.includes('{')) {
11
+ // Extract all expressions within curly braces
12
+ const expressions = value.match(/\{([^}]+)\}/g);
13
+ if (!expressions) {
14
+ return false;
15
+ }
16
+ // Validate each embedded expression
17
+ return expressions.every((expr) => {
18
+ // Remove curly braces and validate the inner expression
19
+ const innerExpr = expr.slice(1, -1);
20
+ return validatePureExpression(innerExpr);
21
+ });
22
+ }
23
+ return false;
24
+ };
25
+ // Helper to validate a pure runtime expression (without curly braces)
26
+ const validatePureExpression = (value) => {
27
+ // Remove $ prefix if present
28
+ const expression = value.startsWith('$') ? value.slice(1) : value;
29
+ // Basic expressions without references
30
+ if (['method', 'url', 'statusCode'].includes(expression)) {
31
+ return true;
32
+ }
33
+ // First split on # to separate the JSON pointer if it exists
34
+ const [mainPart, jsonPointer] = expression.split('#');
35
+ // Request and response references
36
+ const [source, type, ...rest] = mainPart.split('.');
37
+ if (!['request', 'response'].includes(source)) {
38
+ return false;
39
+ }
40
+ if (!['header', 'query', 'path', 'body'].includes(type)) {
41
+ return false;
42
+ }
43
+ // For body references, validate JSON pointer syntax
44
+ if (type === 'body') {
45
+ if (jsonPointer === undefined) {
46
+ return false;
47
+ }
48
+ // Empty pointer ('') and root pointer ('/') are valid
49
+ if (jsonPointer === '' || jsonPointer === '/') {
50
+ return true;
51
+ }
52
+ // For other pointers, validate the path
53
+ if (!jsonPointer.startsWith('/')) {
54
+ return false;
55
+ }
56
+ // Split on / and validate each segment
57
+ const segments = jsonPointer.slice(1).split('/');
58
+ return segments.every((segment) => {
59
+ // Decode any JSON Pointer escape sequences
60
+ const decoded = segment.replace(/~1/g, '/').replace(/~0/g, '~');
61
+ // Segment must not be empty unless it's the last one
62
+ return decoded.length > 0;
63
+ });
64
+ }
65
+ // For header references, validate header name
66
+ if (type === 'header') {
67
+ // Header names cannot contain spaces
68
+ const headerName = rest.join('.');
69
+ return !headerName.includes(' ');
70
+ }
71
+ // For other types (query, path), ensure there's a field name
72
+ return rest.length === 1;
73
+ };
74
+ /**
75
+ * Runtime Expression Schema
76
+ *
77
+ * Runtime expressions allow defining values based on information that will only be available within the HTTP message in
78
+ * an actual API call. This mechanism is used by Link Objects and Callback Objects.
79
+ *
80
+ * Expressions can be:
81
+ * 1. Pure runtime expressions starting with $ (e.g. $method, $request.path.id)
82
+ * 2. Embedded expressions in strings using curly braces (e.g. "Hello {$request.body#/name}!")
83
+ *
84
+ * @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#runtime-expressions
85
+ */
86
+ const RuntimeExpressionSchema = z.string().refine(isValidRuntimeExpression, (value) => ({
87
+ message: `Invalid runtime expression: "${value}". Runtime expressions must:
88
+ - Start with $ or contain expressions in curly braces {}
89
+ - Use one of: $method, $url, $statusCode
90
+ - Or follow pattern: $request|response.(header|query|path|body)
91
+ - For body refs, include valid JSON pointer (e.g. #/user/id)
92
+ - For headers, use valid header names without spaces
93
+ Example valid expressions:
94
+ - Pure: $method, $request.path.id, $response.body#/status
95
+ - Embedded: "Hello {$request.body#/name}!", "Status: {$statusCode}"`,
96
+ }));
97
+
98
+ export { RuntimeExpressionSchema };
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The Schema Object allows the definition of input and output data types.
4
+ * These types can be objects, but also primitives and arrays.
5
+ */
6
+ export declare const SchemaObjectSchema: z.ZodType<Record<string, any>>;
7
+ export type SchemaObject = z.infer<typeof SchemaObjectSchema>;
8
+ //# sourceMappingURL=schema-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-object.d.ts","sourceRoot":"","sources":["../../../../src/schemas/3.1/processed/schema-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA8F5D,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
@@ -0,0 +1,91 @@
1
+ import { z } from 'zod';
2
+ import { DiscriminatorObjectSchema } from './discriminator-object.js';
3
+ import { ExternalDocumentationObjectSchema } from './external-documentation-object.js';
4
+ import { XmlObjectSchema } from './xml-object.js';
5
+
6
+ /**
7
+ * The Schema Object allows the definition of input and output data types.
8
+ * These types can be objects, but also primitives and arrays.
9
+ */
10
+ const SchemaObjectSchema = z.object({
11
+ // Standard JSON Schema fields
12
+ title: z.string().optional(),
13
+ description: z.string().optional(),
14
+ default: z.any().optional(),
15
+ examples: z.array(z.any()).optional(),
16
+ multipleOf: z.number().optional(),
17
+ maximum: z.number().optional(),
18
+ exclusiveMaximum: z.union([z.boolean(), z.number()]).optional(),
19
+ minimum: z.number().optional(),
20
+ exclusiveMinimum: z.union([z.boolean(), z.number()]).optional(),
21
+ maxLength: z.number().int().optional(),
22
+ minLength: z.number().int().optional(),
23
+ pattern: z.string().optional(),
24
+ maxItems: z.number().int().optional(),
25
+ minItems: z.number().int().optional(),
26
+ uniqueItems: z.boolean().optional(),
27
+ maxProperties: z.number().int().optional(),
28
+ minProperties: z.number().int().optional(),
29
+ required: z.array(z.string()).optional(),
30
+ enum: z.array(z.any()).optional(),
31
+ type: z
32
+ .union([
33
+ z.literal('array'),
34
+ z.literal('boolean'),
35
+ z.literal('integer'),
36
+ z.literal('number'),
37
+ z.literal('object'),
38
+ z.literal('string'),
39
+ z.literal('null'),
40
+ z.array(z.union([
41
+ z.literal('array'),
42
+ z.literal('boolean'),
43
+ z.literal('integer'),
44
+ z.literal('number'),
45
+ z.literal('object'),
46
+ z.literal('string'),
47
+ z.literal('null'),
48
+ ])),
49
+ ])
50
+ .optional(),
51
+ // JSON Schema fields
52
+ $ref: z.string().optional(),
53
+ $id: z.string().optional(),
54
+ $schema: z.string().optional(),
55
+ $defs: z.record(z.lazy(() => SchemaObjectSchema)).optional(),
56
+ const: z.any().optional(),
57
+ $dynamicRef: z.string().optional(),
58
+ $dynamicAnchor: z.string().optional(),
59
+ // OpenAPI specific fields
60
+ format: z.string().optional(),
61
+ contentMediaType: z.string().optional(),
62
+ contentEncoding: z.string().optional(),
63
+ contentSchema: z.lazy(() => SchemaObjectSchema).optional(),
64
+ deprecated: z.boolean().optional(),
65
+ readOnly: z.boolean().optional(),
66
+ writeOnly: z.boolean().optional(),
67
+ example: z.any().optional(),
68
+ // Object-related fields
69
+ properties: z
70
+ .record(z.string(), z.lazy(() => SchemaObjectSchema))
71
+ .optional(),
72
+ additionalProperties: z.union([z.boolean(), z.lazy(() => SchemaObjectSchema)]).optional(),
73
+ patternProperties: z
74
+ .record(z.string(), z.lazy(() => SchemaObjectSchema))
75
+ .optional(),
76
+ // Array-related fields
77
+ items: z.lazy(() => SchemaObjectSchema).optional(),
78
+ prefixItems: z.array(z.lazy(() => SchemaObjectSchema)).optional(),
79
+ // Composition-related fields
80
+ allOf: z.array(z.lazy(() => SchemaObjectSchema)).optional(),
81
+ oneOf: z.array(z.lazy(() => SchemaObjectSchema)).optional(),
82
+ anyOf: z.array(z.lazy(() => SchemaObjectSchema)).optional(),
83
+ not: z.lazy(() => SchemaObjectSchema).optional(),
84
+ // Discriminator (only valid with oneOf, anyOf, or allOf)
85
+ discriminator: DiscriminatorObjectSchema.optional(),
86
+ // Additional metadata
87
+ externalDocs: ExternalDocumentationObjectSchema.optional(),
88
+ xml: XmlObjectSchema.optional(),
89
+ });
90
+
91
+ export { SchemaObjectSchema };
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Security Requirement Object
4
+ *
5
+ * Lists the required security schemes to execute this operation. The name used for each property MUST correspond to a
6
+ * security scheme declared in the Security Schemes under the Components Object.
7
+ *
8
+ * A Security Requirement Object MAY refer to multiple security schemes in which case all schemes MUST be satisfied for
9
+ * a request to be authorized. This enables support for scenarios where multiple query parameters or HTTP headers are
10
+ * required to convey security information.
11
+ *
12
+ * When the security field is defined on the OpenAPI Object or Operation Object and contains multiple Security
13
+ * Requirement Objects, only one of the entries in the list needs to be satisfied to authorize the request. This
14
+ * enables support for scenarios where the API allows multiple, independent security schemes.
15
+ *
16
+ * An empty Security Requirement Object ({}) indicates anonymous access is supported.
17
+ *
18
+ * @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#security-requirement-object
19
+ */
20
+ export declare const SecurityRequirementObjectSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
21
+ //# sourceMappingURL=security-requirement-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-requirement-object.d.ts","sourceRoot":"","sources":["../../../../src/schemas/3.1/processed/security-requirement-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,+BAA+B,2DAe3C,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Security Requirement Object
5
+ *
6
+ * Lists the required security schemes to execute this operation. The name used for each property MUST correspond to a
7
+ * security scheme declared in the Security Schemes under the Components Object.
8
+ *
9
+ * A Security Requirement Object MAY refer to multiple security schemes in which case all schemes MUST be satisfied for
10
+ * a request to be authorized. This enables support for scenarios where multiple query parameters or HTTP headers are
11
+ * required to convey security information.
12
+ *
13
+ * When the security field is defined on the OpenAPI Object or Operation Object and contains multiple Security
14
+ * Requirement Objects, only one of the entries in the list needs to be satisfied to authorize the request. This
15
+ * enables support for scenarios where the API allows multiple, independent security schemes.
16
+ *
17
+ * An empty Security Requirement Object ({}) indicates anonymous access is supported.
18
+ *
19
+ * @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#security-requirement-object
20
+ */
21
+ const SecurityRequirementObjectSchema = z.record(
22
+ /**
23
+ * Each name MUST correspond to a security scheme which is declared in the Security Schemes under the Components
24
+ * Object. If the security scheme is of type "oauth2" or "openIdConnect", then the value is a list of scope names
25
+ * required for the execution, and the list MAY be empty if authorization does not require a specified scope.
26
+ *
27
+ * For other security scheme types, the array MAY contain a list of role names which are required for the execution,
28
+ * but are not otherwise defined or exchanged in-band.
29
+ **/
30
+ z.string(),
31
+ /**
32
+ * A list of scope names required for the execution, and the list MAY be empty if authorization does not require a
33
+ * specified scope.
34
+ */
35
+ z.array(z.string()));
36
+
37
+ export { SecurityRequirementObjectSchema };