zudoku 0.0.0-fb7d300 → 0.0.0-fc93837

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 (760) hide show
  1. package/client.d.ts +7 -0
  2. package/dist/app/demo.js +1 -2
  3. package/dist/app/demo.js.map +1 -1
  4. package/dist/app/entry.client.d.ts +1 -0
  5. package/dist/app/entry.client.js +14 -15
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.d.ts +1 -0
  8. package/dist/app/entry.server.js +2 -2
  9. package/dist/app/entry.server.js.map +1 -1
  10. package/dist/app/main.d.ts +2 -2
  11. package/dist/app/main.js +21 -8
  12. package/dist/app/main.js.map +1 -1
  13. package/dist/app/sentry.d.ts +3 -0
  14. package/dist/app/sentry.js +19 -0
  15. package/dist/app/sentry.js.map +1 -0
  16. package/dist/app/standalone.js +1 -2
  17. package/dist/app/standalone.js.map +1 -1
  18. package/dist/app/tailwind.d.ts +2 -1
  19. package/dist/app/tailwind.js +64 -52
  20. package/dist/app/tailwind.js.map +1 -1
  21. package/dist/cli/cli.js +0 -2
  22. package/dist/cli/cli.js.map +1 -1
  23. package/dist/cli/cmds/build.js +1 -0
  24. package/dist/cli/cmds/build.js.map +1 -1
  25. package/dist/cli/cmds/dev.js +5 -0
  26. package/dist/cli/cmds/dev.js.map +1 -1
  27. package/dist/cli/common/logger.js +9 -0
  28. package/dist/cli/common/logger.js.map +1 -1
  29. package/dist/cli/common/outdated.js +2 -1
  30. package/dist/cli/common/outdated.js.map +1 -1
  31. package/dist/cli/dev/handler.d.ts +1 -0
  32. package/dist/cli/dev/handler.js +3 -3
  33. package/dist/cli/dev/handler.js.map +1 -1
  34. package/dist/config/common.d.ts +8 -0
  35. package/dist/config/common.js +2 -0
  36. package/dist/config/common.js.map +1 -0
  37. package/dist/config/config.d.ts +4 -2
  38. package/dist/config/loader.d.ts +20 -0
  39. package/dist/config/loader.js +154 -0
  40. package/dist/config/loader.js.map +1 -0
  41. package/dist/config/validators/InputSidebarSchema.d.ts +29 -13
  42. package/dist/config/validators/InputSidebarSchema.js +1 -0
  43. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  44. package/dist/config/validators/common.d.ts +5034 -0
  45. package/dist/config/validators/common.js +287 -0
  46. package/dist/config/validators/common.js.map +1 -0
  47. package/dist/config/validators/icon-types.d.ts +1 -0
  48. package/dist/config/validators/icon-types.js +2 -0
  49. package/dist/config/validators/icon-types.js.map +1 -0
  50. package/dist/config/validators/validate.d.ts +835 -526
  51. package/dist/config/validators/validate.js +9 -228
  52. package/dist/config/validators/validate.js.map +1 -1
  53. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  54. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  55. package/dist/lib/authentication/components/SignIn.js +1 -1
  56. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  57. package/dist/lib/authentication/components/SignOut.js +2 -2
  58. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  59. package/dist/lib/authentication/providers/auth0.js +1 -1
  60. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  61. package/dist/lib/authentication/providers/clerk.js +29 -6
  62. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  63. package/dist/lib/authentication/providers/openid.d.ts +8 -1
  64. package/dist/lib/authentication/providers/openid.js +21 -10
  65. package/dist/lib/authentication/providers/openid.js.map +1 -1
  66. package/dist/lib/components/AnchorLink.d.ts +1 -1
  67. package/dist/lib/components/AnchorLink.js +6 -3
  68. package/dist/lib/components/AnchorLink.js.map +1 -1
  69. package/dist/lib/components/Autocomplete.d.ts +12 -0
  70. package/dist/lib/components/Autocomplete.js +47 -0
  71. package/dist/lib/components/Autocomplete.js.map +1 -0
  72. package/dist/lib/components/Bootstrap.d.ts +1 -2
  73. package/dist/lib/components/Bootstrap.js +3 -3
  74. package/dist/lib/components/Bootstrap.js.map +1 -1
  75. package/dist/lib/components/Header.js +15 -15
  76. package/dist/lib/components/Header.js.map +1 -1
  77. package/dist/lib/components/Heading.d.ts +4 -4
  78. package/dist/lib/components/Heading.js +1 -1
  79. package/dist/lib/components/Heading.js.map +1 -1
  80. package/dist/lib/components/Layout.js +4 -3
  81. package/dist/lib/components/Layout.js.map +1 -1
  82. package/dist/lib/components/Markdown.d.ts +2 -2
  83. package/dist/lib/components/Markdown.js +4 -2
  84. package/dist/lib/components/Markdown.js.map +1 -1
  85. package/dist/lib/components/MobileTopNavigation.js +1 -1
  86. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  87. package/dist/lib/components/NotFoundPage.js +1 -1
  88. package/dist/lib/components/NotFoundPage.js.map +1 -1
  89. package/dist/lib/components/ReactMarkdown.d.ts +29 -0
  90. package/dist/lib/components/ReactMarkdown.js +182 -0
  91. package/dist/lib/components/ReactMarkdown.js.map +1 -0
  92. package/dist/lib/components/Search.d.ts +3 -1
  93. package/dist/lib/components/Search.js +3 -3
  94. package/dist/lib/components/Search.js.map +1 -1
  95. package/dist/lib/components/SlotletProvider.d.ts +2 -2
  96. package/dist/lib/components/StatusPage.d.ts +7 -0
  97. package/dist/lib/components/StatusPage.js +71 -0
  98. package/dist/lib/components/StatusPage.js.map +1 -0
  99. package/dist/lib/components/SyntaxHighlight.d.ts +2 -1
  100. package/dist/lib/components/SyntaxHighlight.js +2 -6
  101. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  102. package/dist/lib/components/ThemeSwitch.js +4 -4
  103. package/dist/lib/components/ThemeSwitch.js.map +1 -1
  104. package/dist/lib/components/TopNavigation.d.ts +1 -1
  105. package/dist/lib/components/TopNavigation.js +3 -3
  106. package/dist/lib/components/TopNavigation.js.map +1 -1
  107. package/dist/lib/components/Zudoku.js +1 -1
  108. package/dist/lib/components/Zudoku.js.map +1 -1
  109. package/dist/lib/components/cache.d.ts +6 -0
  110. package/dist/lib/components/cache.js +13 -0
  111. package/dist/lib/components/cache.js.map +1 -0
  112. package/dist/lib/components/context/ViewportAnchorContext.js +16 -4
  113. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  114. package/dist/lib/components/context/ZudokuContext.js +3 -2
  115. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  116. package/dist/lib/components/index.d.ts +26 -15
  117. package/dist/lib/components/index.js +10 -3
  118. package/dist/lib/components/index.js.map +1 -1
  119. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  120. package/dist/lib/components/navigation/Sidebar.js +2 -2
  121. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  122. package/dist/lib/components/navigation/SidebarBadge.d.ts +4 -3
  123. package/dist/lib/components/navigation/SidebarBadge.js +11 -11
  124. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -1
  125. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  126. package/dist/lib/components/navigation/SidebarCategory.js +5 -6
  127. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  128. package/dist/lib/components/navigation/SidebarItem.d.ts +2 -4
  129. package/dist/lib/components/navigation/SidebarItem.js +7 -12
  130. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  131. package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
  132. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  133. package/dist/lib/components/navigation/utils.js +1 -1
  134. package/dist/lib/components/navigation/utils.js.map +1 -1
  135. package/dist/lib/core/RouteGuard.d.ts +1 -0
  136. package/dist/lib/core/RouteGuard.js +28 -0
  137. package/dist/lib/core/RouteGuard.js.map +1 -0
  138. package/dist/lib/core/ZudokuContext.d.ts +5 -3
  139. package/dist/lib/core/ZudokuContext.js +9 -7
  140. package/dist/lib/core/ZudokuContext.js.map +1 -1
  141. package/dist/lib/core/plugins.d.ts +3 -5
  142. package/dist/lib/core/plugins.js.map +1 -1
  143. package/dist/lib/errors/RouterError.js +1 -1
  144. package/dist/lib/errors/RouterError.js.map +1 -1
  145. package/dist/lib/oas/graphql/circular.d.ts +3 -0
  146. package/dist/lib/oas/graphql/circular.js +27 -0
  147. package/dist/lib/oas/graphql/circular.js.map +1 -0
  148. package/dist/lib/oas/graphql/index.d.ts +3 -0
  149. package/dist/lib/oas/graphql/index.js +37 -23
  150. package/dist/lib/oas/graphql/index.js.map +1 -1
  151. package/dist/lib/oas/parser/dereference/index.js +6 -3
  152. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  153. package/dist/lib/oas/parser/upgrade/index.d.ts +2 -2
  154. package/dist/lib/oas/parser/upgrade/index.js +19 -22
  155. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  156. package/dist/lib/plugins/api-catalog/Catalog.d.ts +2 -0
  157. package/dist/lib/plugins/api-catalog/Catalog.js +36 -0
  158. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
  159. package/dist/lib/plugins/api-catalog/index.d.ts +30 -0
  160. package/dist/lib/plugins/api-catalog/index.js +15 -0
  161. package/dist/lib/plugins/api-catalog/index.js.map +1 -0
  162. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  163. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  164. package/dist/lib/plugins/api-keys/ProtectedRoute.js +1 -1
  165. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  166. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +1 -1
  167. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  168. package/dist/lib/plugins/markdown/MdxPage.d.ts +9 -1
  169. package/dist/lib/plugins/markdown/MdxPage.js +22 -3
  170. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  171. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  172. package/dist/lib/plugins/markdown/index.js +1 -1
  173. package/dist/lib/plugins/markdown/index.js.map +1 -1
  174. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  175. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  176. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  177. package/dist/lib/plugins/openapi/ColorizedParam.d.ts +10 -2
  178. package/dist/lib/plugins/openapi/ColorizedParam.js +16 -7
  179. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  180. package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -1
  181. package/dist/lib/plugins/openapi/Endpoint.js +3 -1
  182. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  183. package/dist/lib/plugins/openapi/OperationList.js +27 -3
  184. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  185. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  186. package/dist/lib/plugins/openapi/OperationListItem.js +14 -4
  187. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  188. package/dist/lib/plugins/openapi/ParameterListItem.js +3 -2
  189. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  190. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -1
  191. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +5 -2
  192. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  193. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +4 -5
  194. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +4 -14
  195. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  196. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +7 -13
  197. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  198. package/dist/lib/plugins/openapi/Route.d.ts +4 -2
  199. package/dist/lib/plugins/openapi/Route.js +22 -2
  200. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  201. package/dist/lib/plugins/openapi/Sidecar.js +14 -21
  202. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  203. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  204. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  205. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -0
  206. package/dist/lib/plugins/openapi/SidecarExamples.js +65 -0
  207. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -0
  208. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +1 -1
  209. package/dist/lib/plugins/openapi/client/GraphQLClient.js +22 -81
  210. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
  211. package/dist/lib/plugins/openapi/client/createServer.d.ts +2 -1
  212. package/dist/lib/plugins/openapi/client/createServer.js +5 -2
  213. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  214. package/dist/lib/plugins/openapi/context.d.ts +3 -3
  215. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  216. package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
  217. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  218. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +2 -0
  219. package/dist/lib/plugins/openapi/graphql/graphql.js +1 -0
  220. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  221. package/dist/lib/plugins/openapi/index.d.ts +2 -1
  222. package/dist/lib/plugins/openapi/index.js +23 -28
  223. package/dist/lib/plugins/openapi/index.js.map +1 -1
  224. package/dist/lib/plugins/openapi/interfaces.d.ts +26 -2
  225. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
  226. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +12 -0
  227. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
  228. package/dist/lib/plugins/openapi/playground/Headers.js +67 -4
  229. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  230. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +5 -0
  231. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +4 -0
  232. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -0
  233. package/dist/lib/plugins/openapi/playground/PathParams.js +4 -7
  234. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  235. package/dist/lib/plugins/openapi/playground/Playground.d.ts +21 -1
  236. package/dist/lib/plugins/openapi/playground/Playground.js +57 -41
  237. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  238. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  239. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  240. package/dist/lib/plugins/openapi/playground/QueryParams.js +20 -14
  241. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  242. package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +7 -0
  243. package/dist/lib/plugins/openapi/playground/SubmitButton.js +22 -0
  244. package/dist/lib/plugins/openapi/playground/SubmitButton.js.map +1 -0
  245. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +7 -0
  246. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +11 -0
  247. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -0
  248. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +8 -0
  249. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +95 -0
  250. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -0
  251. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +7 -0
  252. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +16 -0
  253. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -0
  254. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
  255. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +32 -0
  256. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -0
  257. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.d.ts +1 -0
  258. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js +56 -0
  259. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js.map +1 -0
  260. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +7 -0
  261. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +16 -0
  262. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -0
  263. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.d.ts +1 -0
  264. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +174 -0
  265. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -0
  266. package/dist/lib/plugins/openapi/post-processors/removeParameters.d.ts +10 -0
  267. package/dist/lib/plugins/openapi/post-processors/removeParameters.js +66 -0
  268. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +1 -0
  269. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.d.ts +1 -0
  270. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js +131 -0
  271. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +1 -0
  272. package/dist/lib/plugins/openapi/post-processors/removePaths.d.ts +11 -0
  273. package/dist/lib/plugins/openapi/post-processors/removePaths.js +33 -0
  274. package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +1 -0
  275. package/dist/lib/plugins/openapi/post-processors/removePaths.test.d.ts +1 -0
  276. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +104 -0
  277. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +1 -0
  278. package/dist/lib/plugins/openapi/post-processors/traverse.d.ts +1 -0
  279. package/dist/lib/plugins/openapi/post-processors/traverse.js +2 -0
  280. package/dist/lib/plugins/openapi/post-processors/traverse.js.map +1 -0
  281. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +9 -2
  282. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
  283. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +19 -11
  284. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  285. package/dist/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
  286. package/dist/lib/plugins/openapi/util/methodToColor.js +24 -0
  287. package/dist/lib/plugins/openapi/util/methodToColor.js.map +1 -0
  288. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
  289. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js +27 -0
  290. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js.map +1 -0
  291. package/dist/lib/plugins/redirect/index.d.ts +1 -1
  292. package/dist/lib/plugins/redirect/index.js +1 -1
  293. package/dist/lib/plugins/redirect/index.js.map +1 -1
  294. package/dist/lib/plugins/search-inkeep/index.d.ts +22 -3
  295. package/dist/lib/plugins/search-inkeep/index.js +41 -5
  296. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  297. package/dist/lib/plugins/search-inkeep/inkeep.d.ts +3 -4
  298. package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
  299. package/dist/lib/ui/Badge.d.ts +1 -1
  300. package/dist/lib/ui/Badge.js +2 -1
  301. package/dist/lib/ui/Badge.js.map +1 -1
  302. package/dist/lib/ui/Button.d.ts +1 -1
  303. package/dist/lib/ui/Card.js +1 -1
  304. package/dist/lib/ui/Card.js.map +1 -1
  305. package/dist/lib/ui/Checkbox.d.ts +8 -2
  306. package/dist/lib/ui/Checkbox.js +13 -1
  307. package/dist/lib/ui/Checkbox.js.map +1 -1
  308. package/dist/lib/ui/Command.d.ts +10 -2
  309. package/dist/lib/ui/Command.js +5 -1
  310. package/dist/lib/ui/Command.js.map +1 -1
  311. package/dist/lib/ui/Select.js +2 -2
  312. package/dist/lib/ui/Select.js.map +1 -1
  313. package/dist/lib/util/MdxComponents.d.ts +18 -19
  314. package/dist/lib/util/MdxComponents.js +3 -5
  315. package/dist/lib/util/MdxComponents.js.map +1 -1
  316. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  317. package/dist/lib/util/joinUrl.d.ts +1 -0
  318. package/dist/lib/util/joinUrl.js +40 -0
  319. package/dist/lib/util/joinUrl.js.map +1 -0
  320. package/dist/lib/util/traverse.d.ts +9 -0
  321. package/dist/lib/util/traverse.js +22 -0
  322. package/dist/lib/util/traverse.js.map +1 -0
  323. package/dist/lib/util/useExposedProps.js +1 -1
  324. package/dist/lib/util/useExposedProps.js.map +1 -1
  325. package/dist/lib/util/useOnScreen.d.ts +1 -1
  326. package/dist/lib/util/useScrollToAnchor.d.ts +1 -0
  327. package/dist/lib/util/useScrollToAnchor.js +27 -16
  328. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  329. package/dist/lib/util/useScrollToTop.js +1 -1
  330. package/dist/lib/util/useScrollToTop.js.map +1 -1
  331. package/dist/vite/api/schema-codegen.d.ts +12 -0
  332. package/dist/vite/api/schema-codegen.js +62 -0
  333. package/dist/vite/api/schema-codegen.js.map +1 -0
  334. package/dist/vite/api/schema-codegen.test.d.ts +1 -0
  335. package/dist/vite/api/schema-codegen.test.js +247 -0
  336. package/dist/vite/api/schema-codegen.test.js.map +1 -0
  337. package/dist/vite/build.js +24 -10
  338. package/dist/vite/build.js.map +1 -1
  339. package/dist/vite/config.d.ts +6 -4
  340. package/dist/vite/config.js +83 -30
  341. package/dist/vite/config.js.map +1 -1
  342. package/dist/vite/config.test.js +11 -5
  343. package/dist/vite/config.test.js.map +1 -1
  344. package/dist/vite/css/collect.d.ts +2 -0
  345. package/dist/vite/css/collect.js +27 -0
  346. package/dist/vite/css/collect.js.map +1 -0
  347. package/dist/vite/css/plugin.d.ts +5 -0
  348. package/dist/vite/css/plugin.js +79 -0
  349. package/dist/vite/css/plugin.js.map +1 -0
  350. package/dist/vite/dev-server.d.ts +1 -0
  351. package/dist/vite/dev-server.js +26 -6
  352. package/dist/vite/dev-server.js.map +1 -1
  353. package/dist/vite/output.d.ts +1 -1
  354. package/dist/vite/output.js +39 -10
  355. package/dist/vite/output.js.map +1 -1
  356. package/dist/vite/plugin-api.d.ts +1 -1
  357. package/dist/vite/plugin-api.js +154 -22
  358. package/dist/vite/plugin-api.js.map +1 -1
  359. package/dist/vite/plugin-auth.js +4 -1
  360. package/dist/vite/plugin-auth.js.map +1 -1
  361. package/dist/vite/plugin-component.js +14 -19
  362. package/dist/vite/plugin-component.js.map +1 -1
  363. package/dist/vite/plugin-config-reload.d.ts +1 -2
  364. package/dist/vite/plugin-config-reload.js.map +1 -1
  365. package/dist/vite/plugin-config.js +20 -0
  366. package/dist/vite/plugin-config.js.map +1 -1
  367. package/dist/vite/plugin-docs.test.js +15 -23
  368. package/dist/vite/plugin-docs.test.js.map +1 -1
  369. package/dist/vite/plugin-mdx.js +69 -8
  370. package/dist/vite/plugin-mdx.js.map +1 -1
  371. package/dist/vite/{plugin-custom-css.d.ts → plugin-theme-css.d.ts} +2 -2
  372. package/dist/vite/plugin-theme-css.js +114 -0
  373. package/dist/vite/plugin-theme-css.js.map +1 -0
  374. package/dist/vite/plugin.d.ts +1 -2
  375. package/dist/vite/plugin.js +6 -2
  376. package/dist/vite/plugin.js.map +1 -1
  377. package/dist/vite/prerender.d.ts +3 -2
  378. package/dist/vite/prerender.js +6 -5
  379. package/dist/vite/prerender.js.map +1 -1
  380. package/dist/vite/sitemap.d.ts +1 -1
  381. package/dist/zuplo/enrich-with-zuplo.d.ts +5 -0
  382. package/dist/zuplo/enrich-with-zuplo.js +184 -0
  383. package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
  384. package/dist/zuplo/env.d.ts +7 -0
  385. package/dist/zuplo/env.js +12 -0
  386. package/dist/zuplo/env.js.map +1 -0
  387. package/dist/zuplo/policy-types.d.ts +33 -0
  388. package/dist/zuplo/policy-types.js +8 -0
  389. package/dist/zuplo/policy-types.js.map +1 -0
  390. package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
  391. package/dist/zuplo/with-zuplo-processors.js +26 -0
  392. package/dist/zuplo/with-zuplo-processors.js.map +1 -0
  393. package/dist/zuplo/with-zuplo.d.ts +3 -0
  394. package/dist/zuplo/with-zuplo.js +9 -0
  395. package/dist/zuplo/with-zuplo.js.map +1 -0
  396. package/lib/AuthenticationPlugin-CO_YCd2x.js +58 -0
  397. package/lib/AuthenticationPlugin-CO_YCd2x.js.map +1 -0
  398. package/lib/{CategoryHeading-Bb9dqxD3.js → CategoryHeading-MYL1u_6K.js} +3 -3
  399. package/lib/{CategoryHeading-Bb9dqxD3.js.map → CategoryHeading-MYL1u_6K.js.map} +1 -1
  400. package/lib/ClientOnly-E7hGysn1.js.map +1 -1
  401. package/lib/{Markdown-ievDDhFT.js → Markdown-B8o9Qz4q.js} +13430 -13409
  402. package/lib/Markdown-B8o9Qz4q.js.map +1 -0
  403. package/lib/MdxPage-BxRt3Ly7.js +193 -0
  404. package/lib/MdxPage-BxRt3Ly7.js.map +1 -0
  405. package/lib/OperationList-DH-zIgtq.js +5160 -0
  406. package/lib/OperationList-DH-zIgtq.js.map +1 -0
  407. package/lib/Route-DJ0ZlVq1.js +35 -0
  408. package/lib/Route-DJ0ZlVq1.js.map +1 -0
  409. package/lib/Select-B7UXR0SB.js +223 -0
  410. package/lib/Select-B7UXR0SB.js.map +1 -0
  411. package/lib/SlotletProvider-CtIp8rP3.js +221 -0
  412. package/lib/SlotletProvider-CtIp8rP3.js.map +1 -0
  413. package/lib/{Button-jK0EsymC.js → Spinner-BlzrEEk1.js} +17 -14
  414. package/lib/Spinner-BlzrEEk1.js.map +1 -0
  415. package/lib/StaggeredRender-DgsamH_G.js +17 -0
  416. package/lib/StaggeredRender-DgsamH_G.js.map +1 -0
  417. package/lib/{SyntaxHighlight-DkLOsjHS.js → SyntaxHighlight-C1w1QPdY.js} +385 -388
  418. package/lib/{SyntaxHighlight-DkLOsjHS.js.map → SyntaxHighlight-C1w1QPdY.js.map} +1 -1
  419. package/lib/{utils-DcpDOncX.js → ZudokuContext-8jts0fF3.js} +487 -476
  420. package/lib/ZudokuContext-8jts0fF3.js.map +1 -0
  421. package/lib/chunk-SYFQ2XB5-BPvC-soB.js +1821 -0
  422. package/lib/chunk-SYFQ2XB5-BPvC-soB.js.map +1 -0
  423. package/lib/circular-Dgpd6AN-.js +15397 -0
  424. package/lib/circular-Dgpd6AN-.js.map +1 -0
  425. package/lib/{cn-BmFQLtkS.js → cn-qaFjX9_3.js} +2 -2
  426. package/lib/cn-qaFjX9_3.js.map +1 -0
  427. package/lib/context-rwLGh-6_.js +22 -0
  428. package/lib/context-rwLGh-6_.js.map +1 -0
  429. package/lib/createServer-BV0tHzLK.js +12590 -0
  430. package/lib/createServer-BV0tHzLK.js.map +1 -0
  431. package/lib/{hook-hEqe7fPB.js → hook-BG02esyv.js} +17 -17
  432. package/lib/{hook-hEqe7fPB.js.map → hook-BG02esyv.js.map} +1 -1
  433. package/lib/index-B7mqiOei.js +509 -0
  434. package/lib/index-B7mqiOei.js.map +1 -0
  435. package/lib/index-Djenk2Hj.js +36 -0
  436. package/lib/index-Djenk2Hj.js.map +1 -0
  437. package/lib/{index-CkwDvuPt.js → index-Dl3Yl0yb.js} +303 -286
  438. package/lib/index-Dl3Yl0yb.js.map +1 -0
  439. package/lib/index-DmqsUPcm.js +1915 -0
  440. package/lib/index-DmqsUPcm.js.map +1 -0
  441. package/lib/index-LNp6rxyU.js.map +1 -1
  442. package/lib/index.esm-9-TF9KQB.js +692 -0
  443. package/lib/index.esm-9-TF9KQB.js.map +1 -0
  444. package/lib/index.esm-CrSoEshU.js +1207 -0
  445. package/lib/index.esm-CrSoEshU.js.map +1 -0
  446. package/lib/invariant-Caa8-XvF.js.map +1 -1
  447. package/lib/joinUrl-BTy9bvoK.js +20 -0
  448. package/lib/joinUrl-BTy9bvoK.js.map +1 -0
  449. package/lib/jsx-runtime-Bdg6XQ1m.js +446 -0
  450. package/lib/jsx-runtime-Bdg6XQ1m.js.map +1 -0
  451. package/lib/post-processors/removeExtensions.js +11 -0
  452. package/lib/post-processors/removeExtensions.js.map +1 -0
  453. package/lib/post-processors/removeParameters.js +48 -0
  454. package/lib/post-processors/removeParameters.js.map +1 -0
  455. package/lib/post-processors/removePaths.js +28 -0
  456. package/lib/post-processors/removePaths.js.map +1 -0
  457. package/lib/post-processors/traverse.js +15 -0
  458. package/lib/post-processors/traverse.js.map +1 -0
  459. package/lib/{prism-bash.min-DadFsM4Z.js → prism-bash.min-HHIMdNJ_.js} +4 -4
  460. package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-HHIMdNJ_.js.map} +1 -1
  461. package/lib/prism-csharp.min-bQAo2pmx.js +63 -0
  462. package/lib/{prism-csharp.min-Yizuc34Y.js.map → prism-csharp.min-bQAo2pmx.js.map} +1 -1
  463. package/lib/prism-java.min-BpvsOuIa.js +35 -0
  464. package/lib/{prism-java.min-d5iT_mOd.js.map → prism-java.min-BpvsOuIa.js.map} +1 -1
  465. package/lib/{prism-markdown.min-F3U-vPBi.js → prism-markdown.min-C0Qn0m-5.js} +30 -30
  466. package/lib/{prism-markdown.min-F3U-vPBi.js.map → prism-markdown.min-C0Qn0m-5.js.map} +1 -1
  467. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  468. package/lib/prism-ruby.min-Dx9KO9ds.js +38 -0
  469. package/lib/{prism-ruby.min-C7LwcKyz.js.map → prism-ruby.min-Dx9KO9ds.js.map} +1 -1
  470. package/lib/prism-typescript.min-CD7H2IYQ.js +34 -0
  471. package/lib/{prism-typescript.min-oSVeWCAd.js.map → prism-typescript.min-CD7H2IYQ.js.map} +1 -1
  472. package/lib/state-mM7uaXTW.js +202 -0
  473. package/lib/state-mM7uaXTW.js.map +1 -0
  474. package/lib/ui/Accordion.js +2 -2
  475. package/lib/ui/Accordion.js.map +1 -1
  476. package/lib/ui/ActionButton.js +10 -11
  477. package/lib/ui/ActionButton.js.map +1 -1
  478. package/lib/ui/Alert.js +3 -3
  479. package/lib/ui/Alert.js.map +1 -1
  480. package/lib/ui/AlertDialog.js +2 -2
  481. package/lib/ui/AlertDialog.js.map +1 -1
  482. package/lib/ui/Badge.js +5 -4
  483. package/lib/ui/Badge.js.map +1 -1
  484. package/lib/ui/Breadcrumb.js +2 -2
  485. package/lib/ui/Breadcrumb.js.map +1 -1
  486. package/lib/ui/Button.js +3 -3
  487. package/lib/ui/Button.js.map +1 -1
  488. package/lib/ui/Callout.js +2 -2
  489. package/lib/ui/Callout.js.map +1 -1
  490. package/lib/ui/Card.js +9 -9
  491. package/lib/ui/Card.js.map +1 -1
  492. package/lib/ui/Carousel.js +408 -402
  493. package/lib/ui/Carousel.js.map +1 -1
  494. package/lib/ui/Checkbox.js +26 -15
  495. package/lib/ui/Checkbox.js.map +1 -1
  496. package/lib/ui/Command.js +80 -501
  497. package/lib/ui/Command.js.map +1 -1
  498. package/lib/ui/Dialog.js +2 -2
  499. package/lib/ui/Dialog.js.map +1 -1
  500. package/lib/ui/Drawer.js +515 -514
  501. package/lib/ui/Drawer.js.map +1 -1
  502. package/lib/ui/DropdownMenu.js +2 -2
  503. package/lib/ui/DropdownMenu.js.map +1 -1
  504. package/lib/ui/Form.js +3 -3
  505. package/lib/ui/Form.js.map +1 -1
  506. package/lib/ui/HoverCard.js +2 -2
  507. package/lib/ui/Input.js +2 -2
  508. package/lib/ui/Input.js.map +1 -1
  509. package/lib/ui/Label.js +3 -3
  510. package/lib/ui/Pagination.js +8 -8
  511. package/lib/ui/Pagination.js.map +1 -1
  512. package/lib/ui/Popover.js +2 -2
  513. package/lib/ui/Popover.js.map +1 -1
  514. package/lib/ui/Progress.js +2 -2
  515. package/lib/ui/Progress.js.map +1 -1
  516. package/lib/ui/RadioGroup.js +2 -2
  517. package/lib/ui/RadioGroup.js.map +1 -1
  518. package/lib/ui/ScrollArea.js +2 -2
  519. package/lib/ui/ScrollArea.js.map +1 -1
  520. package/lib/ui/Select.js +4 -4
  521. package/lib/ui/Select.js.map +1 -1
  522. package/lib/ui/Skeleton.js +2 -2
  523. package/lib/ui/Skeleton.js.map +1 -1
  524. package/lib/ui/Slider.js +2 -2
  525. package/lib/ui/Switch.js +2 -2
  526. package/lib/ui/Switch.js.map +1 -1
  527. package/lib/ui/Tabs.js +2 -2
  528. package/lib/ui/Textarea.js +2 -2
  529. package/lib/ui/Textarea.js.map +1 -1
  530. package/lib/ui/Toggle.js +3 -3
  531. package/lib/ui/Toggle.js.map +1 -1
  532. package/lib/ui/ToggleGroup.js +2 -2
  533. package/lib/ui/ToggleGroup.js.map +1 -1
  534. package/lib/ui/Tooltip.js +2 -2
  535. package/lib/useExposedProps-BLKFBylA.js +9 -0
  536. package/lib/useExposedProps-BLKFBylA.js.map +1 -0
  537. package/lib/useScrollToAnchor-Bl6mz9_x.js +288 -0
  538. package/lib/useScrollToAnchor-Bl6mz9_x.js.map +1 -0
  539. package/lib/zudoku.auth-auth0.js +8 -10
  540. package/lib/zudoku.auth-auth0.js.map +1 -1
  541. package/lib/zudoku.auth-clerk.js +79 -51
  542. package/lib/zudoku.auth-clerk.js.map +1 -1
  543. package/lib/zudoku.auth-openid.js +398 -385
  544. package/lib/zudoku.auth-openid.js.map +1 -1
  545. package/lib/zudoku.components.js +808 -1245
  546. package/lib/zudoku.components.js.map +1 -1
  547. package/lib/zudoku.plugin-api-catalog.js +123 -0
  548. package/lib/zudoku.plugin-api-catalog.js.map +1 -0
  549. package/lib/zudoku.plugin-api-keys.js +15 -16
  550. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  551. package/lib/zudoku.plugin-custom-pages.js +4 -4
  552. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  553. package/lib/zudoku.plugin-markdown.js +16 -15
  554. package/lib/zudoku.plugin-markdown.js.map +1 -1
  555. package/lib/zudoku.plugin-openapi.js +5 -5
  556. package/lib/zudoku.plugin-redirect.js +1 -1
  557. package/lib/zudoku.plugin-redirect.js.map +1 -1
  558. package/lib/zudoku.plugin-search-inkeep.js +53 -24
  559. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  560. package/package.json +101 -84
  561. package/src/app/demo.tsx +1 -2
  562. package/src/app/entry.client.tsx +16 -15
  563. package/src/app/entry.server.tsx +3 -2
  564. package/src/app/main.css +57 -44
  565. package/src/app/main.tsx +32 -9
  566. package/src/app/sentry.ts +24 -0
  567. package/src/app/standalone.tsx +1 -2
  568. package/src/app/tailwind.ts +67 -52
  569. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  570. package/src/lib/authentication/components/SignIn.tsx +1 -1
  571. package/src/lib/authentication/components/SignOut.tsx +3 -2
  572. package/src/lib/authentication/providers/auth0.tsx +1 -4
  573. package/src/lib/authentication/providers/clerk.tsx +38 -7
  574. package/src/lib/authentication/providers/openid.tsx +31 -12
  575. package/src/lib/components/AnchorLink.tsx +6 -3
  576. package/src/lib/components/Autocomplete.tsx +111 -0
  577. package/src/lib/components/Bootstrap.tsx +4 -6
  578. package/src/lib/components/Header.tsx +14 -10
  579. package/src/lib/components/Heading.tsx +13 -13
  580. package/src/lib/components/Layout.tsx +10 -5
  581. package/src/lib/components/Markdown.tsx +15 -16
  582. package/src/lib/components/MobileTopNavigation.tsx +18 -18
  583. package/src/lib/components/NotFoundPage.tsx +1 -1
  584. package/src/lib/components/ReactMarkdown.license.txt +21 -0
  585. package/src/lib/components/ReactMarkdown.tsx +264 -0
  586. package/src/lib/components/Search.tsx +3 -3
  587. package/src/lib/components/SlotletProvider.tsx +1 -1
  588. package/src/lib/components/StatusPage.tsx +91 -0
  589. package/src/lib/components/SyntaxHighlight.tsx +14 -4
  590. package/src/lib/components/ThemeSwitch.tsx +14 -15
  591. package/src/lib/components/TopNavigation.tsx +4 -4
  592. package/src/lib/components/Zudoku.tsx +1 -1
  593. package/src/lib/components/cache.ts +15 -0
  594. package/src/lib/components/context/ViewportAnchorContext.tsx +20 -6
  595. package/src/lib/components/context/ZudokuContext.ts +4 -2
  596. package/src/lib/components/index.ts +15 -4
  597. package/src/lib/components/navigation/Sidebar.tsx +18 -8
  598. package/src/lib/components/navigation/SidebarBadge.tsx +13 -11
  599. package/src/lib/components/navigation/SidebarCategory.tsx +8 -11
  600. package/src/lib/components/navigation/SidebarItem.tsx +12 -15
  601. package/src/lib/components/navigation/SidebarWrapper.tsx +3 -2
  602. package/src/lib/components/navigation/utils.ts +1 -1
  603. package/src/lib/core/RouteGuard.tsx +35 -0
  604. package/src/lib/core/ZudokuContext.ts +10 -9
  605. package/src/lib/core/plugins.ts +3 -7
  606. package/src/lib/errors/RouterError.tsx +1 -1
  607. package/src/lib/oas/graphql/circular.ts +29 -0
  608. package/src/lib/oas/graphql/index.ts +48 -32
  609. package/src/lib/oas/parser/dereference/index.ts +8 -4
  610. package/src/lib/oas/parser/upgrade/index.ts +22 -30
  611. package/src/lib/plugins/api-catalog/Catalog.tsx +123 -0
  612. package/src/lib/plugins/api-catalog/index.tsx +64 -0
  613. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  614. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +1 -1
  615. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +1 -1
  616. package/src/lib/plugins/api-keys/index.tsx +1 -1
  617. package/src/lib/plugins/custom-pages/index.tsx +1 -1
  618. package/src/lib/plugins/markdown/MdxPage.tsx +36 -2
  619. package/src/lib/plugins/markdown/index.tsx +5 -2
  620. package/src/lib/plugins/markdown/resolver.ts +2 -4
  621. package/src/lib/plugins/openapi/CollapsibleCode.tsx +10 -7
  622. package/src/lib/plugins/openapi/ColorizedParam.tsx +29 -12
  623. package/src/lib/plugins/openapi/Endpoint.tsx +3 -3
  624. package/src/lib/plugins/openapi/OperationList.tsx +68 -8
  625. package/src/lib/plugins/openapi/OperationListItem.tsx +33 -4
  626. package/src/lib/plugins/openapi/ParameterListItem.tsx +6 -7
  627. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +7 -0
  628. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +14 -39
  629. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +46 -63
  630. package/src/lib/plugins/openapi/Route.tsx +41 -9
  631. package/src/lib/plugins/openapi/Sidecar.tsx +23 -30
  632. package/src/lib/plugins/openapi/SidecarBox.tsx +4 -16
  633. package/src/lib/plugins/openapi/SidecarExamples.tsx +163 -0
  634. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +28 -103
  635. package/src/lib/plugins/openapi/client/createServer.ts +6 -2
  636. package/src/lib/plugins/openapi/context.tsx +2 -2
  637. package/src/lib/plugins/openapi/graphql/gql.ts +2 -2
  638. package/src/lib/plugins/openapi/graphql/graphql.ts +3 -0
  639. package/src/lib/plugins/openapi/index.tsx +49 -44
  640. package/src/lib/plugins/openapi/interfaces.ts +31 -2
  641. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +54 -0
  642. package/src/lib/plugins/openapi/playground/Headers.tsx +137 -39
  643. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +8 -0
  644. package/src/lib/plugins/openapi/playground/PathParams.tsx +30 -61
  645. package/src/lib/plugins/openapi/playground/Playground.tsx +244 -189
  646. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +2 -2
  647. package/src/lib/plugins/openapi/playground/QueryParams.tsx +77 -80
  648. package/src/lib/plugins/openapi/playground/SubmitButton.tsx +75 -0
  649. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +73 -0
  650. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +210 -0
  651. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +101 -0
  652. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.test.ts +64 -0
  653. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
  654. package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +202 -0
  655. package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +27 -0
  656. package/src/lib/plugins/openapi/post-processors/removeParameters.test.ts +148 -0
  657. package/src/lib/plugins/openapi/post-processors/removeParameters.ts +101 -0
  658. package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +126 -0
  659. package/src/lib/plugins/openapi/post-processors/removePaths.ts +55 -0
  660. package/src/lib/plugins/openapi/post-processors/traverse.ts +1 -0
  661. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +29 -8
  662. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +26 -11
  663. package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
  664. package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
  665. package/src/lib/plugins/redirect/index.tsx +2 -2
  666. package/src/lib/plugins/search-inkeep/index.tsx +78 -23
  667. package/src/lib/plugins/search-inkeep/inkeep.ts +3 -9
  668. package/src/lib/ui/Badge.tsx +2 -1
  669. package/src/lib/ui/Card.tsx +1 -1
  670. package/src/lib/ui/Checkbox.tsx +24 -7
  671. package/src/lib/ui/Command.tsx +20 -0
  672. package/src/lib/ui/Select.tsx +1 -1
  673. package/src/lib/util/MdxComponents.tsx +5 -9
  674. package/src/lib/util/createVariantComponent.tsx +2 -2
  675. package/src/lib/util/joinUrl.ts +57 -0
  676. package/src/lib/util/traverse.ts +35 -0
  677. package/src/lib/util/useExposedProps.tsx +1 -1
  678. package/src/lib/util/useScrollToAnchor.ts +33 -16
  679. package/src/lib/util/useScrollToTop.ts +1 -1
  680. package/dist/lib/plugins/openapi/client/worker.d.ts +0 -4
  681. package/dist/lib/plugins/openapi/client/worker.js +0 -29
  682. package/dist/lib/plugins/openapi/client/worker.js.map +0 -1
  683. package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +0 -4
  684. package/dist/lib/plugins/openapi/playground/ResponseTab.js +0 -42
  685. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +0 -1
  686. package/dist/lib/plugins/openapi-worker.d.ts +0 -1
  687. package/dist/lib/plugins/openapi-worker.js +0 -8
  688. package/dist/lib/plugins/openapi-worker.js.map +0 -1
  689. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.d.ts +0 -2
  690. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js +0 -3
  691. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js.map +0 -1
  692. package/dist/vite/plugin-custom-css.js +0 -55
  693. package/dist/vite/plugin-custom-css.js.map +0 -1
  694. package/lib/AnchorLink-CDlhr8gL.js +0 -706
  695. package/lib/AnchorLink-CDlhr8gL.js.map +0 -1
  696. package/lib/AuthenticationPlugin-D0Em0SwR.js +0 -59
  697. package/lib/AuthenticationPlugin-D0Em0SwR.js.map +0 -1
  698. package/lib/Button-jK0EsymC.js.map +0 -1
  699. package/lib/Dialog-k70Qfukb.js +0 -67
  700. package/lib/Dialog-k70Qfukb.js.map +0 -1
  701. package/lib/InkeepCustomTrigger-CE5-K5ex.js +0 -6
  702. package/lib/InkeepCustomTrigger-CE5-K5ex.js.map +0 -1
  703. package/lib/Markdown-ievDDhFT.js.map +0 -1
  704. package/lib/MdxPage-Bwn-VSsH.js +0 -174
  705. package/lib/MdxPage-Bwn-VSsH.js.map +0 -1
  706. package/lib/OperationList-BwBl1xrD.js +0 -4691
  707. package/lib/OperationList-BwBl1xrD.js.map +0 -1
  708. package/lib/Route-DlG_HTMu.js +0 -11
  709. package/lib/Route-DlG_HTMu.js.map +0 -1
  710. package/lib/Select-O9ZM3ZgX.js +0 -223
  711. package/lib/Select-O9ZM3ZgX.js.map +0 -1
  712. package/lib/SidebarBadge-DxFJcJ6V.js +0 -51
  713. package/lib/SidebarBadge-DxFJcJ6V.js.map +0 -1
  714. package/lib/SlotletProvider-DyomlzGx.js +0 -252
  715. package/lib/SlotletProvider-DyomlzGx.js.map +0 -1
  716. package/lib/Spinner-3cQDBVGr.js +0 -7
  717. package/lib/Spinner-3cQDBVGr.js.map +0 -1
  718. package/lib/assets/index-B_Jk_Yzp.js +0 -4820
  719. package/lib/assets/index-B_Jk_Yzp.js.map +0 -1
  720. package/lib/assets/worker-CPsGZsve.js +0 -18201
  721. package/lib/assets/worker-CPsGZsve.js.map +0 -1
  722. package/lib/cn-BmFQLtkS.js.map +0 -1
  723. package/lib/context-D1nXWxm7.js +0 -22
  724. package/lib/context-D1nXWxm7.js.map +0 -1
  725. package/lib/createServer-DK-g7kbB.js +0 -16089
  726. package/lib/createServer-DK-g7kbB.js.map +0 -1
  727. package/lib/index-BuAyrJe3.js +0 -46
  728. package/lib/index-BuAyrJe3.js.map +0 -1
  729. package/lib/index-CkwDvuPt.js.map +0 -1
  730. package/lib/index-Czzd9rjU.js +0 -899
  731. package/lib/index-Czzd9rjU.js.map +0 -1
  732. package/lib/index-DNxQ_rCt.js +0 -1273
  733. package/lib/index-DNxQ_rCt.js.map +0 -1
  734. package/lib/index-Yn8c3UWE.js +0 -921
  735. package/lib/index-Yn8c3UWE.js.map +0 -1
  736. package/lib/index.esm-C5mr_sKO.js +0 -1193
  737. package/lib/index.esm-C5mr_sKO.js.map +0 -1
  738. package/lib/jsx-runtime-B6kdoens.js +0 -635
  739. package/lib/jsx-runtime-B6kdoens.js.map +0 -1
  740. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  741. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  742. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  743. package/lib/prism-markup-templating-DZrrEs0A.js.map +0 -1
  744. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  745. package/lib/prism-php.min-o7FpoMP_.js.map +0 -1
  746. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  747. package/lib/prism-typescript.min-oSVeWCAd.js +0 -6
  748. package/lib/router-lfyopgBI.js +0 -3024
  749. package/lib/router-lfyopgBI.js.map +0 -1
  750. package/lib/state-tsXBLONe.js +0 -203
  751. package/lib/state-tsXBLONe.js.map +0 -1
  752. package/lib/useExposedProps-CTPtylCV.js +0 -10
  753. package/lib/useExposedProps-CTPtylCV.js.map +0 -1
  754. package/lib/utils-DcpDOncX.js.map +0 -1
  755. package/lib/zudoku.openapi-worker.js +0 -15
  756. package/lib/zudoku.openapi-worker.js.map +0 -1
  757. package/src/lib/plugins/openapi/client/worker.ts +0 -44
  758. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -76
  759. package/src/lib/plugins/openapi-worker.ts +0 -11
  760. package/src/lib/plugins/search-inkeep/InkeepCustomTrigger.tsx +0 -3
@@ -0,0 +1,64 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { generateInterface } from "./convertToTypes.js";
3
+
4
+ describe("generateInterface", () => {
5
+ it("should handle primitive types", () => {
6
+ const input = {
7
+ string: "hello",
8
+ number: 42,
9
+ boolean: true,
10
+ null: null,
11
+ };
12
+
13
+ const expected = [
14
+ "{",
15
+ " string: string;",
16
+ " number: number;",
17
+ " boolean: boolean;",
18
+ " null: null;",
19
+ "}",
20
+ ].join("\n");
21
+
22
+ expect(generateInterface(input)).toBe(expected);
23
+ });
24
+
25
+ it("should handle nested objects", () => {
26
+ const input = {
27
+ user: {
28
+ name: "John",
29
+ age: 30,
30
+ },
31
+ };
32
+
33
+ const expected = [
34
+ "{",
35
+ " user: {",
36
+ " name: string;",
37
+ " age: number;",
38
+ "};",
39
+ "}",
40
+ ].join("\n");
41
+
42
+ expect(generateInterface(input)).toBe(expected);
43
+ });
44
+
45
+ it("should handle arrays", () => {
46
+ const input = {
47
+ numbers: [1, 2, 3],
48
+ empty: [],
49
+ objects: [{ id: 1 }],
50
+ };
51
+
52
+ const expected = [
53
+ "{",
54
+ " numbers: number[];",
55
+ " empty: any[];",
56
+ " objects: {",
57
+ " id: number;",
58
+ "}[];",
59
+ "}",
60
+ ].join("\n");
61
+
62
+ expect(generateInterface(input)).toBe(expected);
63
+ });
64
+ });
@@ -0,0 +1,36 @@
1
+ type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
2
+ type JsonObject = { [key: string]: JsonValue };
3
+ type JsonArray = JsonValue[];
4
+
5
+ function inferType(value: JsonValue): string {
6
+ if (value === null) return "null";
7
+ if (Array.isArray(value)) {
8
+ if (value.length === 0) return "any[]";
9
+ const firstValue = value[0];
10
+ if (firstValue === undefined) return "any[]";
11
+ const elementType = inferType(firstValue);
12
+ return `${elementType}[]`;
13
+ }
14
+ if (typeof value === "object") {
15
+ return generateInterface(value);
16
+ }
17
+ return typeof value;
18
+ }
19
+
20
+ export function generateInterface(obj: JsonObject, indentation = ""): string {
21
+ const lines: string[] = ["{"];
22
+
23
+ for (const [key, value] of Object.entries(obj)) {
24
+ const propertyType = inferType(value);
25
+ lines.push(` ${key}: ${propertyType};`);
26
+ }
27
+
28
+ lines.push("}");
29
+ return lines.join("\n");
30
+ }
31
+
32
+ export function convertToTypes(json: JsonValue): { lines: string[] } {
33
+ const typeDefinition = inferType(json);
34
+ const lines = [`type GeneratedType = ${typeDefinition};`];
35
+ return { lines };
36
+ }
@@ -0,0 +1,202 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { removeExtensions } from "./removeExtensions.js";
3
+
4
+ const baseDoc = {
5
+ openapi: "3.1.0",
6
+ "x-root-ext": "remove me",
7
+ "x-zuplo-ext": "remove me too",
8
+ info: {
9
+ title: "Test API",
10
+ version: "1.0.0",
11
+ "x-info-ext": "remove me",
12
+ "x-zuplo-info": "remove me too",
13
+ },
14
+ paths: {
15
+ "/test": {
16
+ "x-path-ext": "remove me",
17
+ "x-zuplo-path": "remove me too",
18
+ parameters: [
19
+ {
20
+ name: "param1",
21
+ in: "query",
22
+ schema: { type: "string" },
23
+ "x-param-ext": "remove me",
24
+ "x-zuplo-param": "remove me too",
25
+ },
26
+ ],
27
+ get: {
28
+ "x-operation-ext": "remove me",
29
+ "x-zuplo-route": "remove me too",
30
+ responses: {
31
+ "200": {
32
+ description: "OK",
33
+ "x-response-ext": "remove me",
34
+ "x-zuplo-response": "remove me too",
35
+ },
36
+ },
37
+ parameters: [
38
+ {
39
+ name: "opParam1",
40
+ in: "header",
41
+ schema: { type: "string" },
42
+ "x-op-param-ext": "remove me",
43
+ "x-zuplo-param": "remove me too",
44
+ },
45
+ ],
46
+ },
47
+ },
48
+ },
49
+ tags: [
50
+ {
51
+ name: "example",
52
+ "x-tag-ext": "remove me",
53
+ "x-zuplo-tag": "remove me too",
54
+ },
55
+ ],
56
+ components: {
57
+ securitySchemes: {
58
+ ApiKeyAuth: {
59
+ type: "apiKey",
60
+ name: "api_key",
61
+ in: "header",
62
+ "x-security-ext": "remove me",
63
+ "x-zuplo-security": "remove me too",
64
+ },
65
+ },
66
+ },
67
+ };
68
+
69
+ describe("removeExtensions", () => {
70
+ it("removes all x- extensions by default", () => {
71
+ const processed = removeExtensions()(baseDoc);
72
+
73
+ const removedExtensions = [
74
+ "x-root-ext",
75
+ "info.x-info-ext",
76
+ "paths./test.x-path-ext",
77
+ "paths./test.parameters[0].x-param-ext",
78
+ "paths./test.get.x-operation-ext",
79
+ "paths./test.get.responses.200.x-response-ext",
80
+ "paths./test.get.parameters[0].x-op-param-ext",
81
+ "tags[0].x-tag-ext",
82
+ "components.securitySchemes.ApiKeyAuth.x-security-ext",
83
+ ];
84
+
85
+ removedExtensions.forEach((ext) => {
86
+ expect(processed).not.toHaveProperty(ext.split("."));
87
+ });
88
+
89
+ // Assert that non-x- fields remain unchanged
90
+ expect(processed.openapi).toBe("3.1.0");
91
+ expect(processed.info.title).toBe("Test API");
92
+ expect(processed).toHaveProperty(
93
+ ["paths", "/test", "get", "responses", "200", "description"],
94
+ "OK",
95
+ );
96
+ expect(processed.tags[0].name).toBe("example");
97
+ });
98
+
99
+ it("removes only specified x- extensions when names are provided", () => {
100
+ const docWithExtraExtensions = {
101
+ ...baseDoc,
102
+ info: { ...baseDoc.info, "x-other-ext": "keep me" },
103
+ };
104
+
105
+ const processed = removeExtensions({
106
+ keys: ["x-path-ext", "x-param-ext"],
107
+ })(docWithExtraExtensions);
108
+
109
+ // Assert specified extensions are removed
110
+ expect(processed.paths["/test"]["x-path-ext"]).toBeUndefined();
111
+ expect(
112
+ processed.paths["/test"].parameters[0]["x-param-ext"],
113
+ ).toBeUndefined();
114
+
115
+ // Assert other x- fields remain
116
+ expect(processed["x-root-ext"]).toBe("remove me");
117
+ expect(processed.info["x-info-ext"]).toBe("remove me");
118
+ expect(processed.info["x-other-ext"]).toBe("keep me");
119
+ });
120
+
121
+ it("handles deeply nested extensions", () => {
122
+ const deeplyNested = {
123
+ a: {
124
+ b: {
125
+ c: {
126
+ "x-deep-ext": "remove me",
127
+ d: {
128
+ e: "value",
129
+ "x-another-ext": "remove me",
130
+ },
131
+ },
132
+ },
133
+ },
134
+ };
135
+
136
+ const processed = removeExtensions()(deeplyNested);
137
+
138
+ expect(processed.a.b.c["x-deep-ext"]).toBeUndefined();
139
+ expect(processed.a.b.c.d["x-another-ext"]).toBeUndefined();
140
+ expect(processed.a.b.c.d.e).toBe("value");
141
+ });
142
+
143
+ it("does nothing if no x- extensions are present", () => {
144
+ const docWithoutExtensions = {
145
+ openapi: "3.1.0",
146
+ info: { title: "API without extensions" },
147
+ };
148
+
149
+ const processed = removeExtensions()(docWithoutExtensions);
150
+
151
+ expect(processed).toEqual(docWithoutExtensions);
152
+ });
153
+
154
+ it("removes extensions based on shouldRemove callback", () => {
155
+ const processed = removeExtensions({
156
+ shouldRemove: (key) => key.startsWith("x-zuplo"),
157
+ })(baseDoc);
158
+
159
+ // Should remove x-zuplo extensions
160
+ const removedExtensions = [
161
+ "x-zuplo-ext",
162
+ "info.x-zuplo-info",
163
+ "paths./test.x-zuplo-path",
164
+ "paths./test.parameters.0.x-zuplo-param",
165
+ "paths./test.get.x-zuplo-route",
166
+ "paths./test.get.responses.200.x-zuplo-response",
167
+ "paths./test.get.parameters.0.x-zuplo-param",
168
+ "tags.0.x-zuplo-tag",
169
+ "components.securitySchemes.ApiKeyAuth.x-zuplo-security",
170
+ ];
171
+
172
+ // Should keep other x- extensions
173
+ const keptExtensions = [
174
+ "x-root-ext",
175
+ "info.x-info-ext",
176
+ "paths./test.x-path-ext",
177
+ "paths./test.parameters.0.x-param-ext",
178
+ "paths./test.get.x-operation-ext",
179
+ "paths./test.get.responses.200.x-response-ext",
180
+ "paths./test.get.parameters.0.x-op-param-ext",
181
+ "tags.0.x-tag-ext",
182
+ "components.securitySchemes.ApiKeyAuth.x-security-ext",
183
+ ];
184
+
185
+ removedExtensions.forEach((ext) => {
186
+ expect(processed).not.toHaveProperty(ext.split("."));
187
+ });
188
+
189
+ keptExtensions.forEach((ext) => {
190
+ expect(processed).toHaveProperty(ext.split("."));
191
+ });
192
+
193
+ // Assert that non-x- fields remain unchanged
194
+ expect(processed).toHaveProperty("openapi", "3.1.0");
195
+ expect(processed).toHaveProperty("info.title", "Test API");
196
+ expect(processed).toHaveProperty(
197
+ "paths./test.get.responses.200.description",
198
+ "OK",
199
+ );
200
+ expect(processed).toHaveProperty("tags.0.name", "example");
201
+ });
202
+ });
@@ -0,0 +1,27 @@
1
+ import { type RecordAny, traverse } from "./traverse.js";
2
+
3
+ interface RemoveExtensionsOptions {
4
+ keys?: string[];
5
+ shouldRemove?: (key: string) => boolean;
6
+ }
7
+
8
+ // Remove all `x-` prefixed key/value pairs, or filter by names if provided
9
+ export const removeExtensions =
10
+ ({ keys, shouldRemove }: RemoveExtensionsOptions = {}) =>
11
+ (doc: RecordAny): RecordAny =>
12
+ traverse(doc, (spec) => {
13
+ const result: RecordAny = {};
14
+
15
+ for (const [key, value] of Object.entries(spec)) {
16
+ const isExtension = key.startsWith("x-");
17
+ const shouldBeRemoved =
18
+ isExtension &&
19
+ (keys === undefined || keys.includes(key)) &&
20
+ (!shouldRemove || shouldRemove(key));
21
+
22
+ if (shouldBeRemoved) continue;
23
+
24
+ result[key] = value;
25
+ }
26
+ return result;
27
+ });
@@ -0,0 +1,148 @@
1
+ import { type OpenAPIV3_1 } from "openapi-types";
2
+ import { describe, expect, it } from "vitest";
3
+ import { removeParameters } from "./removeParameters.js";
4
+
5
+ const baseDoc: OpenAPIV3_1.Document = {
6
+ openapi: "3.1.0",
7
+ info: {
8
+ title: "Test API",
9
+ version: "1.0.0",
10
+ },
11
+ components: {
12
+ parameters: {
13
+ commonParam: {
14
+ name: "commonParam",
15
+ in: "query",
16
+ schema: { type: "string" },
17
+ },
18
+ headerParam: {
19
+ name: "headerParam",
20
+ in: "header",
21
+ schema: { type: "string" },
22
+ },
23
+ },
24
+ },
25
+ paths: {
26
+ "/test": {
27
+ parameters: [
28
+ {
29
+ name: "pathParam",
30
+ in: "path",
31
+ schema: { type: "string" },
32
+ required: true,
33
+ },
34
+ {
35
+ name: "pathHeader",
36
+ in: "header",
37
+ schema: { type: "string" },
38
+ required: true,
39
+ },
40
+ ],
41
+ get: {
42
+ parameters: [
43
+ {
44
+ name: "opParam",
45
+ in: "query",
46
+ schema: { type: "string" },
47
+ required: true,
48
+ },
49
+ {
50
+ name: "opHeader",
51
+ in: "header",
52
+ schema: { type: "string" },
53
+ required: true,
54
+ },
55
+ ],
56
+ responses: {
57
+ "200": {
58
+ description: "OK",
59
+ },
60
+ },
61
+ },
62
+ },
63
+ },
64
+ };
65
+
66
+ describe("removeParameters", () => {
67
+ it("removes parameters by name", () => {
68
+ const processed = removeParameters({
69
+ names: ["pathParam", "opParam"],
70
+ })(baseDoc);
71
+
72
+ expect(processed.paths["/test"].parameters).toHaveLength(1);
73
+ expect(processed.paths["/test"].parameters[0].name).toBe("pathHeader");
74
+ expect(processed.paths["/test"].get.parameters).toHaveLength(1);
75
+ expect(processed.paths["/test"].get.parameters[0].name).toBe("opHeader");
76
+ });
77
+
78
+ it("removes parameters by location", () => {
79
+ const processed = removeParameters({
80
+ in: ["header"],
81
+ })(baseDoc);
82
+
83
+ expect(processed.paths["/test"].parameters).toHaveLength(1);
84
+ expect(processed.paths["/test"].parameters[0].in).toBe("path");
85
+ expect(processed.paths["/test"].get.parameters).toHaveLength(1);
86
+ expect(processed.paths["/test"].get.parameters[0].in).toBe("query");
87
+ });
88
+
89
+ it("removes parameters using shouldRemove callback", () => {
90
+ const processed = removeParameters({
91
+ shouldRemove: ({ parameter }) =>
92
+ parameter.in === "header" && parameter.name.includes("op"),
93
+ })(baseDoc);
94
+
95
+ expect(processed.paths["/test"].parameters).toHaveLength(2);
96
+ expect(processed.paths["/test"].get.parameters).toHaveLength(1);
97
+ expect(processed.paths["/test"].get.parameters[0].name).toBe("opParam");
98
+ });
99
+
100
+ it("combines multiple removal criteria", () => {
101
+ const processed = removeParameters({
102
+ in: ["query", "header"],
103
+ shouldRemove: ({ parameter }) => parameter.name === "pathHeader",
104
+ })(baseDoc);
105
+
106
+ expect(processed.paths["/test"].parameters).toHaveLength(1);
107
+ expect(processed.paths["/test"].parameters[0].name).toBe("pathParam");
108
+ expect(processed.paths["/test"].get.parameters).toHaveLength(0);
109
+ });
110
+
111
+ it("handles missing parameters arrays", () => {
112
+ const docWithoutParams = {
113
+ openapi: "3.1.0",
114
+ paths: {
115
+ "/test": {
116
+ get: {
117
+ summary: "Test endpoint",
118
+ },
119
+ },
120
+ },
121
+ };
122
+
123
+ const processed = removeParameters({
124
+ names: ["someParam"],
125
+ })(docWithoutParams);
126
+
127
+ expect(processed).toEqual(docWithoutParams);
128
+ });
129
+
130
+ it("preserves non-parameter properties", () => {
131
+ const processed = removeParameters({
132
+ names: ["globalParam"],
133
+ })(baseDoc);
134
+
135
+ expect(processed.openapi).toBe("3.1.0");
136
+ expect(processed.paths["/test"].get).toBeDefined();
137
+ });
138
+
139
+ it("removes parameters from components", () => {
140
+ const processed = removeParameters({
141
+ in: ["header"],
142
+ })(baseDoc);
143
+
144
+ expect(Object.keys(processed.components.parameters)).toHaveLength(1);
145
+ expect(processed.components.parameters.commonParam).toBeDefined();
146
+ expect(processed.components.parameters.headerParam).toBeUndefined();
147
+ });
148
+ });
@@ -0,0 +1,101 @@
1
+ import { type RecordAny, traverse } from "./traverse.js";
2
+
3
+ interface RemoveParametersOptions {
4
+ // Names of parameters to remove
5
+ names?: string[];
6
+ // Specific locations to remove parameters from ('query', 'header', 'path', 'cookie')
7
+ in?: string[];
8
+ // Custom filter function
9
+ shouldRemove?: ({ parameter }: { parameter: RecordAny }) => boolean;
10
+ }
11
+
12
+ export const removeParameters =
13
+ ({ names, in: locations, shouldRemove }: RemoveParametersOptions = {}) =>
14
+ (doc: RecordAny): RecordAny =>
15
+ traverse(doc, (spec) => {
16
+ // Helper function to filter parameters
17
+ const filterParameters = (parameters: RecordAny[]) =>
18
+ parameters.filter((p) => {
19
+ if (names?.includes(p.name)) return false;
20
+ if (locations?.includes(p.in)) return false;
21
+ if (shouldRemove?.({ parameter: p })) return false;
22
+ return true;
23
+ });
24
+
25
+ // Handle components.parameters
26
+ if (spec.components?.parameters) {
27
+ spec = {
28
+ ...spec,
29
+ components: {
30
+ ...spec.components,
31
+ parameters: Object.fromEntries(
32
+ Object.entries(spec.components.parameters).filter(
33
+ ([_, param]) => {
34
+ const p = param as RecordAny;
35
+ if (p.$ref) return true; // Skip references
36
+ return (
37
+ !names?.includes(p.name) &&
38
+ !locations?.includes(p.in) &&
39
+ !shouldRemove?.({ parameter: p })
40
+ );
41
+ },
42
+ ),
43
+ ),
44
+ },
45
+ };
46
+ }
47
+
48
+ // Handle paths
49
+ if (spec.paths) {
50
+ const updatedPaths: RecordAny = {};
51
+
52
+ for (const [path, pathItem] of Object.entries(spec.paths)) {
53
+ if (typeof pathItem !== "object" || pathItem === null) {
54
+ updatedPaths[path] = pathItem;
55
+ continue;
56
+ }
57
+
58
+ let updatedPathItem = { ...pathItem };
59
+
60
+ // Handle path-level parameters
61
+ if (
62
+ "parameters" in updatedPathItem &&
63
+ Array.isArray(updatedPathItem.parameters)
64
+ ) {
65
+ updatedPathItem.parameters = filterParameters(
66
+ updatedPathItem.parameters,
67
+ );
68
+ }
69
+
70
+ // Handle operation-level parameters
71
+ for (const method of Object.keys(updatedPathItem)) {
72
+ const pathItemWithMethods = updatedPathItem as Record<
73
+ string,
74
+ RecordAny
75
+ >;
76
+
77
+ if (
78
+ method === "parameters" ||
79
+ typeof pathItemWithMethods[method] !== "object"
80
+ ) {
81
+ continue;
82
+ }
83
+
84
+ const operation = pathItemWithMethods[method];
85
+ if (Array.isArray(operation.parameters)) {
86
+ pathItemWithMethods[method] = {
87
+ ...operation,
88
+ parameters: filterParameters(operation.parameters),
89
+ };
90
+ updatedPathItem = pathItemWithMethods;
91
+ }
92
+ }
93
+
94
+ updatedPaths[path] = updatedPathItem;
95
+ }
96
+
97
+ spec = { ...spec, paths: updatedPaths };
98
+ }
99
+
100
+ return spec;
101
+ });