zudoku 0.0.0-fix-create-zudoku-run-build.fefccf58 → 0.0.0-fix-downgrade-openapi-parser.aac00796

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 (717) hide show
  1. package/README.md +32 -12
  2. package/client.d.ts +8 -0
  3. package/dist/app/entry.server.js +14 -1
  4. package/dist/app/entry.server.js.map +1 -1
  5. package/dist/cli/cli.d.ts +9 -0
  6. package/dist/cli/cli.js +4 -10
  7. package/dist/cli/cli.js.map +1 -1
  8. package/dist/cli/common/version-check.d.ts +2 -0
  9. package/dist/cli/common/version-check.js +58 -0
  10. package/dist/cli/common/version-check.js.map +1 -0
  11. package/dist/config/config.d.ts +6 -1
  12. package/dist/config/validators/BuildSchema.d.ts +15 -7
  13. package/dist/config/validators/BuildSchema.js +19 -2
  14. package/dist/config/validators/BuildSchema.js.map +1 -1
  15. package/dist/config/validators/InputNavigationSchema.d.ts +184 -24
  16. package/dist/config/validators/InputNavigationSchema.js +1 -0
  17. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  18. package/dist/config/validators/icon-types.d.ts +1 -1
  19. package/dist/config/validators/icon-types.js +39 -0
  20. package/dist/config/validators/icon-types.js.map +1 -1
  21. package/dist/config/validators/validate.d.ts +45 -17
  22. package/dist/config/validators/validate.js +31 -8
  23. package/dist/config/validators/validate.js.map +1 -1
  24. package/dist/flat-config.d.ts +357 -0
  25. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  26. package/dist/lib/assets/language-icons/c.js +4 -0
  27. package/dist/lib/assets/language-icons/c.js.map +1 -0
  28. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  29. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  30. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  31. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  32. package/dist/lib/assets/language-icons/cpp.js +4 -0
  33. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  34. package/dist/lib/assets/language-icons/csharp.d.ts +3 -0
  35. package/dist/lib/assets/language-icons/csharp.js +4 -0
  36. package/dist/lib/assets/language-icons/csharp.js.map +1 -0
  37. package/dist/lib/assets/language-icons/css.d.ts +3 -0
  38. package/dist/lib/assets/language-icons/css.js +4 -0
  39. package/dist/lib/assets/language-icons/css.js.map +1 -0
  40. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  41. package/dist/lib/assets/language-icons/dart.js +4 -0
  42. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  43. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  44. package/dist/lib/assets/language-icons/elixir.js +4 -0
  45. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  46. package/dist/lib/assets/language-icons/go.d.ts +3 -0
  47. package/dist/lib/assets/language-icons/go.js +4 -0
  48. package/dist/lib/assets/language-icons/go.js.map +1 -0
  49. package/dist/lib/assets/language-icons/graphql.d.ts +3 -0
  50. package/dist/lib/assets/language-icons/graphql.js +4 -0
  51. package/dist/lib/assets/language-icons/graphql.js.map +1 -0
  52. package/dist/lib/assets/language-icons/html.d.ts +3 -0
  53. package/dist/lib/assets/language-icons/html.js +4 -0
  54. package/dist/lib/assets/language-icons/html.js.map +1 -0
  55. package/dist/lib/assets/language-icons/java.d.ts +3 -0
  56. package/dist/lib/assets/language-icons/java.js +4 -0
  57. package/dist/lib/assets/language-icons/java.js.map +1 -0
  58. package/dist/lib/assets/language-icons/javascript.d.ts +3 -0
  59. package/dist/lib/assets/language-icons/javascript.js +4 -0
  60. package/dist/lib/assets/language-icons/javascript.js.map +1 -0
  61. package/dist/lib/assets/language-icons/json.d.ts +3 -0
  62. package/dist/lib/assets/language-icons/json.js +4 -0
  63. package/dist/lib/assets/language-icons/json.js.map +1 -0
  64. package/dist/lib/assets/language-icons/kotlin.d.ts +3 -0
  65. package/dist/lib/assets/language-icons/kotlin.js +4 -0
  66. package/dist/lib/assets/language-icons/kotlin.js.map +1 -0
  67. package/dist/lib/assets/language-icons/markdown.d.ts +3 -0
  68. package/dist/lib/assets/language-icons/markdown.js +4 -0
  69. package/dist/lib/assets/language-icons/markdown.js.map +1 -0
  70. package/dist/lib/assets/language-icons/mdx.d.ts +3 -0
  71. package/dist/lib/assets/language-icons/mdx.js +4 -0
  72. package/dist/lib/assets/language-icons/mdx.js.map +1 -0
  73. package/dist/lib/assets/language-icons/objectivec.d.ts +3 -0
  74. package/dist/lib/assets/language-icons/objectivec.js +4 -0
  75. package/dist/lib/assets/language-icons/objectivec.js.map +1 -0
  76. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  77. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  78. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  79. package/dist/lib/assets/language-icons/php.d.ts +3 -0
  80. package/dist/lib/assets/language-icons/php.js +4 -0
  81. package/dist/lib/assets/language-icons/php.js.map +1 -0
  82. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  83. package/dist/lib/assets/language-icons/powershell.js +4 -0
  84. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  85. package/dist/lib/assets/language-icons/python.d.ts +3 -0
  86. package/dist/lib/assets/language-icons/python.js +4 -0
  87. package/dist/lib/assets/language-icons/python.js.map +1 -0
  88. package/dist/lib/assets/language-icons/react.d.ts +3 -0
  89. package/dist/lib/assets/language-icons/react.js +4 -0
  90. package/dist/lib/assets/language-icons/react.js.map +1 -0
  91. package/dist/lib/assets/language-icons/ruby.d.ts +3 -0
  92. package/dist/lib/assets/language-icons/ruby.js +4 -0
  93. package/dist/lib/assets/language-icons/ruby.js.map +1 -0
  94. package/dist/lib/assets/language-icons/rust.d.ts +3 -0
  95. package/dist/lib/assets/language-icons/rust.js +4 -0
  96. package/dist/lib/assets/language-icons/rust.js.map +1 -0
  97. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  98. package/dist/lib/assets/language-icons/scala.js +4 -0
  99. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  100. package/dist/lib/assets/language-icons/shell.d.ts +3 -0
  101. package/dist/lib/assets/language-icons/shell.js +4 -0
  102. package/dist/lib/assets/language-icons/shell.js.map +1 -0
  103. package/dist/lib/assets/language-icons/swift.d.ts +3 -0
  104. package/dist/lib/assets/language-icons/swift.js +4 -0
  105. package/dist/lib/assets/language-icons/swift.js.map +1 -0
  106. package/dist/lib/assets/language-icons/toml.d.ts +3 -0
  107. package/dist/lib/assets/language-icons/toml.js +4 -0
  108. package/dist/lib/assets/language-icons/toml.js.map +1 -0
  109. package/dist/lib/assets/language-icons/typescript.d.ts +3 -0
  110. package/dist/lib/assets/language-icons/typescript.js +4 -0
  111. package/dist/lib/assets/language-icons/typescript.js.map +1 -0
  112. package/dist/lib/assets/language-icons/xml.d.ts +3 -0
  113. package/dist/lib/assets/language-icons/xml.js +4 -0
  114. package/dist/lib/assets/language-icons/xml.js.map +1 -0
  115. package/dist/lib/assets/language-icons/yaml.d.ts +3 -0
  116. package/dist/lib/assets/language-icons/yaml.js +4 -0
  117. package/dist/lib/assets/language-icons/yaml.js.map +1 -0
  118. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  119. package/dist/lib/assets/language-icons/zig.js +4 -0
  120. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  121. package/dist/lib/authentication/authentication.d.ts +17 -9
  122. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  123. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  124. package/dist/lib/authentication/components/SignIn.js +6 -5
  125. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  126. package/dist/lib/authentication/components/SignOut.js +6 -6
  127. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  128. package/dist/lib/authentication/components/SignUp.js +5 -5
  129. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  130. package/dist/lib/authentication/hook.d.ts +3 -2
  131. package/dist/lib/authentication/hook.js +12 -8
  132. package/dist/lib/authentication/hook.js.map +1 -1
  133. package/dist/lib/authentication/providers/auth0.js +8 -4
  134. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  135. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  136. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  137. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  138. package/dist/lib/authentication/providers/clerk.js +2 -2
  139. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  140. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  141. package/dist/lib/authentication/providers/openid.js +5 -3
  142. package/dist/lib/authentication/providers/openid.js.map +1 -1
  143. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  144. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  145. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  146. package/dist/lib/authentication/providers/supabase.js +35 -31
  147. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  148. package/dist/lib/authentication/state.d.ts +5 -7
  149. package/dist/lib/authentication/state.js +2 -14
  150. package/dist/lib/authentication/state.js.map +1 -1
  151. package/dist/lib/components/BuildCheck.js +2 -2
  152. package/dist/lib/components/BuildCheck.js.map +1 -1
  153. package/dist/lib/components/Heading.js +1 -5
  154. package/dist/lib/components/Heading.js.map +1 -1
  155. package/dist/lib/components/LanguageIcon.d.ts +3 -0
  156. package/dist/lib/components/LanguageIcon.js +163 -0
  157. package/dist/lib/components/LanguageIcon.js.map +1 -0
  158. package/dist/lib/components/Main.js +1 -1
  159. package/dist/lib/components/Main.js.map +1 -1
  160. package/dist/lib/components/Meta.js +1 -1
  161. package/dist/lib/components/Meta.js.map +1 -1
  162. package/dist/lib/components/Zudoku.js +3 -3
  163. package/dist/lib/components/cache.d.ts +3 -1
  164. package/dist/lib/components/cache.js +3 -5
  165. package/dist/lib/components/cache.js.map +1 -1
  166. package/dist/lib/components/context/ZudokuContext.js +10 -2
  167. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  168. package/dist/lib/components/index.d.ts +14 -4
  169. package/dist/lib/components/index.js +2 -0
  170. package/dist/lib/components/index.js.map +1 -1
  171. package/dist/lib/components/navigation/NavigationItem.js +1 -1
  172. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  173. package/dist/lib/components/navigation/Toc.js +1 -1
  174. package/dist/lib/components/navigation/Toc.js.map +1 -1
  175. package/dist/lib/core/RouteGuard.d.ts +1 -1
  176. package/dist/lib/core/RouteGuard.js +6 -14
  177. package/dist/lib/core/RouteGuard.js.map +1 -1
  178. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  179. package/dist/lib/core/ZudokuContext.js +2 -0
  180. package/dist/lib/core/ZudokuContext.js.map +1 -1
  181. package/dist/lib/core/__internal.d.ts +1 -1
  182. package/dist/lib/hooks/index.d.ts +3 -3
  183. package/dist/lib/oas/graphql/index.js +37 -2
  184. package/dist/lib/oas/graphql/index.js.map +1 -1
  185. package/dist/lib/plugins/api-catalog/Catalog.js +7 -1
  186. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  187. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
  188. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js +9 -0
  189. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js.map +1 -0
  190. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -10
  191. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  192. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  193. package/dist/lib/plugins/markdown/MdxPage.js +29 -5
  194. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  195. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  196. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  197. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  198. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  199. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  200. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  201. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  202. package/dist/lib/plugins/markdown/index.js +1 -1
  203. package/dist/lib/plugins/markdown/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
  205. package/dist/lib/plugins/openapi/MCPEndpoint.js +56 -0
  206. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -0
  207. package/dist/lib/plugins/openapi/OperationList.d.ts +0 -2
  208. package/dist/lib/plugins/openapi/OperationList.js +22 -6
  209. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  210. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -2
  211. package/dist/lib/plugins/openapi/OperationListItem.js +8 -3
  212. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  213. package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -2
  214. package/dist/lib/plugins/openapi/ParameterList.js +1 -1
  215. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  216. package/dist/lib/plugins/openapi/ParameterListItem.d.ts +2 -3
  217. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  218. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -4
  219. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +1 -3
  220. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  221. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +2 -2
  222. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  223. package/dist/lib/plugins/openapi/Sidecar.d.ts +4 -3
  224. package/dist/lib/plugins/openapi/Sidecar.js +6 -9
  225. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  226. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +2 -4
  227. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  228. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +1 -1
  229. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  230. package/dist/lib/plugins/openapi/graphql/gql.d.ts +2 -2
  231. package/dist/lib/plugins/openapi/graphql/gql.js +3 -2
  232. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  233. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +11 -2
  234. package/dist/lib/plugins/openapi/graphql/graphql.js +11 -0
  235. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  236. package/dist/lib/plugins/openapi/index.js +5 -10
  237. package/dist/lib/plugins/openapi/index.js.map +1 -1
  238. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -2
  239. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +2 -2
  240. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  241. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +1 -1
  242. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  243. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +3 -3
  244. package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -2
  245. package/dist/lib/plugins/openapi/playground/Playground.js +13 -3
  246. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  247. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -1
  248. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  249. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  250. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  251. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  252. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +5 -3
  253. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  254. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  255. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  256. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +33 -19
  257. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  258. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  259. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  260. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +5 -3
  261. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  262. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  263. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +2 -1
  264. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +2 -2
  265. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +1 -1
  266. package/dist/lib/plugins/openapi/schema/SchemaView.js +5 -5
  267. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  268. package/dist/lib/plugins/openapi/schema/UnionView.d.ts +2 -1
  269. package/dist/lib/plugins/openapi/schema/UnionView.js +13 -7
  270. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  271. package/dist/lib/plugins/openapi/schema/union-helpers.js +25 -1
  272. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  273. package/dist/lib/plugins/openapi/state.d.ts +5 -3
  274. package/dist/lib/shiki.d.ts +1 -1
  275. package/dist/lib/shiki.js +26 -2
  276. package/dist/lib/shiki.js.map +1 -1
  277. package/dist/lib/ui/Callout.d.ts +5 -5
  278. package/dist/lib/ui/Callout.js +5 -5
  279. package/dist/lib/ui/Callout.js.map +1 -1
  280. package/dist/lib/ui/Carousel.js.map +1 -1
  281. package/dist/lib/ui/CodeBlock.d.ts +1 -1
  282. package/dist/lib/ui/CodeBlock.js +3 -28
  283. package/dist/lib/ui/CodeBlock.js.map +1 -1
  284. package/dist/lib/ui/Dialog.d.ts +12 -18
  285. package/dist/lib/ui/Dialog.js +30 -17
  286. package/dist/lib/ui/Dialog.js.map +1 -1
  287. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -1
  288. package/dist/lib/ui/EmbeddedCodeBlock.js +2 -2
  289. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  290. package/dist/lib/ui/ReactComponentDoc.d.ts +20 -0
  291. package/dist/lib/ui/ReactComponentDoc.js +10 -0
  292. package/dist/lib/ui/ReactComponentDoc.js.map +1 -0
  293. package/dist/lib/ui/Secret.d.ts +18 -0
  294. package/dist/lib/ui/Secret.js +26 -0
  295. package/dist/lib/ui/Secret.js.map +1 -0
  296. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  297. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  298. package/dist/lib/ui/Value.d.ts +5 -0
  299. package/dist/lib/ui/Value.js +13 -0
  300. package/dist/lib/ui/Value.js.map +1 -0
  301. package/dist/lib/util/MdxComponents.d.ts +2 -1
  302. package/dist/lib/util/MdxComponents.js +3 -2
  303. package/dist/lib/util/MdxComponents.js.map +1 -1
  304. package/dist/lib/util/pastellize.js +4 -4
  305. package/dist/lib/util/pastellize.js.map +1 -1
  306. package/dist/lib/util/syncZustandState.d.ts +5 -0
  307. package/dist/lib/util/syncZustandState.js +14 -0
  308. package/dist/lib/util/syncZustandState.js.map +1 -0
  309. package/dist/lib/util/traverse.d.ts +1 -0
  310. package/dist/lib/util/traverse.js +25 -0
  311. package/dist/lib/util/traverse.js.map +1 -1
  312. package/dist/vite/api/SchemaManager.d.ts +3 -1
  313. package/dist/vite/api/SchemaManager.js +32 -9
  314. package/dist/vite/api/SchemaManager.js.map +1 -1
  315. package/dist/vite/api/SchemaManager.test.js +2 -2
  316. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  317. package/dist/vite/api/schema-codegen.js +60 -41
  318. package/dist/vite/api/schema-codegen.js.map +1 -1
  319. package/dist/vite/api/schema-codegen.test.js +75 -2
  320. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  321. package/dist/vite/llms.d.ts +12 -0
  322. package/dist/vite/llms.js +66 -0
  323. package/dist/vite/llms.js.map +1 -0
  324. package/dist/vite/plugin-api.js +18 -17
  325. package/dist/vite/plugin-api.js.map +1 -1
  326. package/dist/vite/plugin-docs.d.ts +9 -0
  327. package/dist/vite/plugin-docs.js +68 -45
  328. package/dist/vite/plugin-docs.js.map +1 -1
  329. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  330. package/dist/vite/plugin-markdown-export.js +141 -0
  331. package/dist/vite/plugin-markdown-export.js.map +1 -0
  332. package/dist/vite/plugin-mdx.d.ts +1 -1
  333. package/dist/vite/plugin-mdx.js +41 -32
  334. package/dist/vite/plugin-mdx.js.map +1 -1
  335. package/dist/vite/plugin-navigation.js +4 -0
  336. package/dist/vite/plugin-navigation.js.map +1 -1
  337. package/dist/vite/plugin.js +2 -0
  338. package/dist/vite/plugin.js.map +1 -1
  339. package/dist/vite/prerender/prerender.js +37 -4
  340. package/dist/vite/prerender/prerender.js.map +1 -1
  341. package/dist/zuplo/enrich-with-zuplo-mcp.d.ts +4 -0
  342. package/dist/zuplo/enrich-with-zuplo-mcp.js +117 -0
  343. package/dist/zuplo/enrich-with-zuplo-mcp.js.map +1 -0
  344. package/dist/zuplo/enrich-with-zuplo.d.ts +1 -0
  345. package/dist/zuplo/enrich-with-zuplo.js +1 -1
  346. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  347. package/dist/zuplo/with-zuplo-processors.js +2 -0
  348. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  349. package/lib/{Button-B3o-2Xdf.js → Button-DmS4u8Lj.js} +2 -2
  350. package/lib/{Button-B3o-2Xdf.js.map → Button-DmS4u8Lj.js.map} +1 -1
  351. package/lib/{Card-CMDQUPM4.js → Card-KFniaZn5.js} +2 -2
  352. package/lib/{Card-CMDQUPM4.js.map → Card-KFniaZn5.js.map} +1 -1
  353. package/lib/{CategoryHeading-DCpZu3yG.js → CategoryHeading-DhmodDcq.js} +2 -2
  354. package/lib/{CategoryHeading-DCpZu3yG.js.map → CategoryHeading-DhmodDcq.js.map} +1 -1
  355. package/lib/{Command-CUSlH0gJ.js → Command-CUcrW3qs.js} +3 -3
  356. package/lib/{Command-CUSlH0gJ.js.map → Command-CUcrW3qs.js.map} +1 -1
  357. package/lib/Dialog-BQciPiHN.js +144 -0
  358. package/lib/Dialog-BQciPiHN.js.map +1 -0
  359. package/lib/{Drawer-DJ05s2pH.js → Drawer-Ci7XwhqT.js} +2 -2
  360. package/lib/{Drawer-DJ05s2pH.js.map → Drawer-Ci7XwhqT.js.map} +1 -1
  361. package/lib/DropdownMenu-BZ2NKQ3K.js +126 -0
  362. package/lib/DropdownMenu-BZ2NKQ3K.js.map +1 -0
  363. package/lib/{Slot-BbdqiRXo.js → ErrorAlert-DE3Sf66a.js} +2176 -2251
  364. package/lib/ErrorAlert-DE3Sf66a.js.map +1 -0
  365. package/lib/MdxPage-DZfeC0QY.js +240 -0
  366. package/lib/MdxPage-DZfeC0QY.js.map +1 -0
  367. package/lib/{OAuthErrorPage-rAKHHveX.js → OAuthErrorPage-BycMozgn.js} +9 -9
  368. package/lib/{OAuthErrorPage-rAKHHveX.js.map → OAuthErrorPage-BycMozgn.js.map} +1 -1
  369. package/lib/{OasProvider-BW4OzAuR.js → OasProvider-Bf5zBDBY.js} +4 -4
  370. package/lib/{OasProvider-BW4OzAuR.js.map → OasProvider-Bf5zBDBY.js.map} +1 -1
  371. package/lib/OperationList-Cmiw1xm2.js +5446 -0
  372. package/lib/OperationList-Cmiw1xm2.js.map +1 -0
  373. package/lib/{Pagination-ZI2yyuxj.js → Pagination-CJszmeSA.js} +4 -4
  374. package/lib/{Pagination-ZI2yyuxj.js.map → Pagination-CJszmeSA.js.map} +1 -1
  375. package/lib/RouteGuard-DhU3LRr1.js +81 -0
  376. package/lib/RouteGuard-DhU3LRr1.js.map +1 -0
  377. package/lib/{RouterError-BYHrbLtD.js → RouterError-VDLnrFqF.js} +7 -7
  378. package/lib/{RouterError-BYHrbLtD.js.map → RouterError-VDLnrFqF.js.map} +1 -1
  379. package/lib/{SchemaList-C4Sk-tLI.js → SchemaList-xZSf3IMh.js} +10 -10
  380. package/lib/{SchemaList-C4Sk-tLI.js.map → SchemaList-xZSf3IMh.js.map} +1 -1
  381. package/lib/SchemaView-tHXTm5oM.js +458 -0
  382. package/lib/SchemaView-tHXTm5oM.js.map +1 -0
  383. package/lib/Select-C1DeCqKv.js +372 -0
  384. package/lib/Select-C1DeCqKv.js.map +1 -0
  385. package/lib/SignUp-6SGx9Yyq.js +50 -0
  386. package/lib/SignUp-6SGx9Yyq.js.map +1 -0
  387. package/lib/{Spinner-mNLZ6awP.js → Spinner-CI6bRyZw.js} +2 -2
  388. package/lib/{Spinner-mNLZ6awP.js.map → Spinner-CI6bRyZw.js.map} +1 -1
  389. package/lib/{SyntaxHighlight-CvzJ7DNa.js → SyntaxHighlight-zvlnSnHB.js} +815 -784
  390. package/lib/SyntaxHighlight-zvlnSnHB.js.map +1 -0
  391. package/lib/{Toc-BAa-kpqN.js → Toc-Da9yp7lo.js} +6 -6
  392. package/lib/Toc-Da9yp7lo.js.map +1 -0
  393. package/lib/ZudokuContext-BUZ5hkWB.js +1508 -0
  394. package/lib/ZudokuContext-BUZ5hkWB.js.map +1 -0
  395. package/lib/c-B-NUhs61.js +46 -0
  396. package/lib/c-B-NUhs61.js.map +1 -0
  397. package/lib/chunk-PVWAREVJ-BMhpCH5D.js +7965 -0
  398. package/lib/chunk-PVWAREVJ-BMhpCH5D.js.map +1 -0
  399. package/lib/{circular-BFte5TUt.js → circular-DvuimBGQ.js} +30 -30
  400. package/lib/{circular-BFte5TUt.js.map → circular-DvuimBGQ.js.map} +1 -1
  401. package/lib/commonlisp-De080z23.js +28 -0
  402. package/lib/commonlisp-De080z23.js.map +1 -0
  403. package/lib/cpp-79Paht7T.js +53 -0
  404. package/lib/cpp-79Paht7T.js.map +1 -0
  405. package/lib/{createServer-B4giw6jv.js → createServer-D9UvCoDf.js} +3411 -3342
  406. package/lib/createServer-D9UvCoDf.js.map +1 -0
  407. package/lib/csharp-D8MIL50B.js +53 -0
  408. package/lib/csharp-D8MIL50B.js.map +1 -0
  409. package/lib/css-Bt6hr1td.js +54 -0
  410. package/lib/css-Bt6hr1td.js.map +1 -0
  411. package/lib/dart-B0vy1jWB.js +60 -0
  412. package/lib/dart-B0vy1jWB.js.map +1 -0
  413. package/lib/elixir-Ds8r0sF8.js +25 -0
  414. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  415. package/lib/{errors-CjmCml50.js → errors-CuGgh3hf.js} +3 -3
  416. package/lib/{errors-CjmCml50.js.map → errors-CuGgh3hf.js.map} +1 -1
  417. package/lib/go-D2VsmIOS.js +25 -0
  418. package/lib/go-D2VsmIOS.js.map +1 -0
  419. package/lib/graphql-BtA6M4m5.js +25 -0
  420. package/lib/graphql-BtA6M4m5.js.map +1 -0
  421. package/lib/hook-CMeoxziF.js +40 -0
  422. package/lib/hook-CMeoxziF.js.map +1 -0
  423. package/lib/html-MGnI2uzP.js +33 -0
  424. package/lib/html-MGnI2uzP.js.map +1 -0
  425. package/lib/{index-BuKx9nrj.js → index-B1rmok4X.js} +209 -207
  426. package/lib/index-B1rmok4X.js.map +1 -0
  427. package/lib/{index-Dp3Fmnfq.js → index-Cr9_YzOZ.js} +908 -938
  428. package/lib/index-Cr9_YzOZ.js.map +1 -0
  429. package/lib/index-CrcNWbel.js.map +1 -1
  430. package/lib/{index-DmNq2fbN.js → index-nGbmHh_A.js} +2 -2
  431. package/lib/index-nGbmHh_A.js.map +1 -0
  432. package/lib/{index-CQGi1b3U.js → index-rYHsvtTo.js} +166 -50
  433. package/lib/index-rYHsvtTo.js.map +1 -0
  434. package/lib/index.esm-BYObtETB.js +1294 -0
  435. package/lib/index.esm-BYObtETB.js.map +1 -0
  436. package/lib/index.esm-BnYHxCYC.js.map +1 -1
  437. package/lib/java-CVLzHfb1.js +53 -0
  438. package/lib/java-CVLzHfb1.js.map +1 -0
  439. package/lib/javascript-CcmIpL4G.js +10 -0
  440. package/lib/javascript-CcmIpL4G.js.map +1 -0
  441. package/lib/json-4AyP4uiY.js +25 -0
  442. package/lib/json-4AyP4uiY.js.map +1 -0
  443. package/lib/{jsx-runtime-C5mzlN2N.js → jsx-runtime-BzflLqGi.js} +110 -112
  444. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  445. package/lib/kotlin-v2plddBQ.js +37 -0
  446. package/lib/kotlin-v2plddBQ.js.map +1 -0
  447. package/lib/markdown-DYGWCmGQ.js +25 -0
  448. package/lib/markdown-DYGWCmGQ.js.map +1 -0
  449. package/lib/mdx-CHwYvXd4.js +32 -0
  450. package/lib/mdx-CHwYvXd4.js.map +1 -0
  451. package/lib/{mutation-CiMUdKRU.js → mutation-BSU0xu4m.js} +2 -2
  452. package/lib/{mutation-CiMUdKRU.js.map → mutation-BSU0xu4m.js.map} +1 -1
  453. package/lib/objectivec-HZY8shkd.js +32 -0
  454. package/lib/objectivec-HZY8shkd.js.map +1 -0
  455. package/lib/ocaml-DqsdDdwb.js +52 -0
  456. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  457. package/lib/php-rQXzo7K_.js +25 -0
  458. package/lib/php-rQXzo7K_.js.map +1 -0
  459. package/lib/powershell-CQje9pm1.js +39 -0
  460. package/lib/powershell-CQje9pm1.js.map +1 -0
  461. package/lib/processors/traverse.js.map +1 -1
  462. package/lib/python-QIQAE5Ei.js +32 -0
  463. package/lib/python-QIQAE5Ei.js.map +1 -0
  464. package/lib/react-DHpVpxRv.js +24 -0
  465. package/lib/react-DHpVpxRv.js.map +1 -0
  466. package/lib/ruby-B2dU8Ny5.js +25 -0
  467. package/lib/ruby-B2dU8Ny5.js.map +1 -0
  468. package/lib/rust-DYnLHAi2.js +25 -0
  469. package/lib/rust-DYnLHAi2.js.map +1 -0
  470. package/lib/scala-CeKInBR8.js +25 -0
  471. package/lib/scala-CeKInBR8.js.map +1 -0
  472. package/lib/shell-HUv9oVtp.js +25 -0
  473. package/lib/shell-HUv9oVtp.js.map +1 -0
  474. package/lib/swift-B4z6ig1Z.js +25 -0
  475. package/lib/swift-B4z6ig1Z.js.map +1 -0
  476. package/lib/toml-Co9mpdct.js +32 -0
  477. package/lib/toml-Co9mpdct.js.map +1 -0
  478. package/lib/typescript-C26xdBDC.js +32 -0
  479. package/lib/typescript-C26xdBDC.js.map +1 -0
  480. package/lib/ui/Accordion.js +1 -1
  481. package/lib/ui/ActionButton.js +3 -3
  482. package/lib/ui/Alert.js +1 -1
  483. package/lib/ui/AlertDialog.js +1 -1
  484. package/lib/ui/Badge.js +1 -1
  485. package/lib/ui/Breadcrumb.js +1 -1
  486. package/lib/ui/Button.js +1 -1
  487. package/lib/ui/Callout.js +19 -19
  488. package/lib/ui/Callout.js.map +1 -1
  489. package/lib/ui/Card.js +1 -1
  490. package/lib/ui/Carousel.js +1 -1
  491. package/lib/ui/Carousel.js.map +1 -1
  492. package/lib/ui/Checkbox.js +1 -1
  493. package/lib/ui/CodeBlock.js +217 -6
  494. package/lib/ui/CodeBlock.js.map +1 -1
  495. package/lib/ui/Command.js +2 -2
  496. package/lib/ui/Dialog.js +135 -105
  497. package/lib/ui/Dialog.js.map +1 -1
  498. package/lib/ui/Drawer.js +2 -2
  499. package/lib/ui/DropdownMenu.js +1 -1
  500. package/lib/ui/EmbeddedCodeBlock.js +23 -20
  501. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  502. package/lib/ui/Form.js +2 -2
  503. package/lib/ui/HoverCard.js +1 -1
  504. package/lib/ui/Input.js +1 -1
  505. package/lib/ui/Label.js +1 -1
  506. package/lib/ui/Pagination.js +1 -1
  507. package/lib/ui/Popover.js +1 -1
  508. package/lib/ui/Progress.js +1 -1
  509. package/lib/ui/RadioGroup.js +1 -1
  510. package/lib/ui/ReactComponentDoc.js +28 -0
  511. package/lib/ui/ReactComponentDoc.js.map +1 -0
  512. package/lib/ui/ScrollArea.js +1 -1
  513. package/lib/ui/Secret.js +106 -0
  514. package/lib/ui/Secret.js.map +1 -0
  515. package/lib/ui/Select.js +1 -1
  516. package/lib/ui/Skeleton.js +1 -1
  517. package/lib/ui/Slider.js +1 -1
  518. package/lib/ui/Stepper.js +1 -1
  519. package/lib/ui/Switch.js +1 -1
  520. package/lib/ui/SyntaxHighlight.js +4 -4
  521. package/lib/ui/Tabs.js +1 -1
  522. package/lib/ui/Textarea.js +1 -1
  523. package/lib/ui/Toggle.js +1 -1
  524. package/lib/ui/ToggleGroup.js +1 -1
  525. package/lib/ui/Tooltip.js +1 -1
  526. package/lib/ui/Value.js +39 -0
  527. package/lib/ui/Value.js.map +1 -0
  528. package/lib/useCopyToClipboard-B_085nfO.js +14 -0
  529. package/lib/useCopyToClipboard-B_085nfO.js.map +1 -0
  530. package/lib/{useExposedProps-BH9aq4MD.js → useExposedProps-U3pmsHaG.js} +34 -34
  531. package/lib/{useExposedProps-BH9aq4MD.js.map → useExposedProps-U3pmsHaG.js.map} +1 -1
  532. package/lib/xml-BQOOC04j.js +25 -0
  533. package/lib/xml-BQOOC04j.js.map +1 -0
  534. package/lib/yaml-BGsJItKv.js +32 -0
  535. package/lib/yaml-BGsJItKv.js.map +1 -0
  536. package/lib/zig-CUV2sTct.js +35 -0
  537. package/lib/zig-CUV2sTct.js.map +1 -0
  538. package/lib/zudoku.__internal.js +1050 -940
  539. package/lib/zudoku.__internal.js.map +1 -1
  540. package/lib/zudoku.auth-auth0.js +23 -22
  541. package/lib/zudoku.auth-auth0.js.map +1 -1
  542. package/lib/zudoku.auth-azureb2c.js +34 -35
  543. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  544. package/lib/zudoku.auth-clerk.js +41 -41
  545. package/lib/zudoku.auth-clerk.js.map +1 -1
  546. package/lib/zudoku.auth-openid.js +104 -108
  547. package/lib/zudoku.auth-openid.js.map +1 -1
  548. package/lib/zudoku.auth-supabase.js +111 -52
  549. package/lib/zudoku.auth-supabase.js.map +1 -1
  550. package/lib/zudoku.components.js +21 -20
  551. package/lib/zudoku.hooks.js +6 -6
  552. package/lib/zudoku.hooks.js.map +1 -1
  553. package/lib/zudoku.icons.js +1 -1
  554. package/lib/zudoku.plugin-api-catalog.js +34 -28
  555. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  556. package/lib/zudoku.plugin-api-keys.js +302 -327
  557. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  558. package/lib/zudoku.plugin-custom-pages.js +1 -1
  559. package/lib/zudoku.plugin-markdown.js +10 -9
  560. package/lib/zudoku.plugin-markdown.js.map +1 -1
  561. package/lib/zudoku.plugin-openapi.js +7 -8
  562. package/lib/zudoku.plugin-openapi.js.map +1 -1
  563. package/lib/zudoku.plugin-redirect.js +3 -3
  564. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  565. package/lib/zudoku.plugin-search-pagefind.js +47 -48
  566. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  567. package/lib/zudoku.router.js +2502 -118
  568. package/lib/zudoku.router.js.map +1 -1
  569. package/package.json +83 -72
  570. package/src/app/entry.server.tsx +16 -6
  571. package/src/app/main.css +71 -19
  572. package/src/lib/assets/language-icons/c.tsx +31 -0
  573. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  574. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  575. package/src/lib/assets/language-icons/csharp.tsx +35 -0
  576. package/src/lib/assets/language-icons/css.tsx +36 -0
  577. package/src/lib/assets/language-icons/dart.tsx +39 -0
  578. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  579. package/src/lib/assets/language-icons/go.tsx +19 -0
  580. package/src/lib/assets/language-icons/graphql.tsx +19 -0
  581. package/src/lib/assets/language-icons/html.tsx +24 -0
  582. package/src/lib/assets/language-icons/java.tsx +35 -0
  583. package/src/lib/assets/language-icons/javascript.tsx +11 -0
  584. package/src/lib/assets/language-icons/json.tsx +19 -0
  585. package/src/lib/assets/language-icons/kotlin.tsx +30 -0
  586. package/src/lib/assets/language-icons/markdown.tsx +19 -0
  587. package/src/lib/assets/language-icons/mdx.tsx +23 -0
  588. package/src/lib/assets/language-icons/objectivec.tsx +23 -0
  589. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  590. package/src/lib/assets/language-icons/php.tsx +19 -0
  591. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  592. package/src/lib/assets/language-icons/python.tsx +23 -0
  593. package/src/lib/assets/language-icons/react.tsx +21 -0
  594. package/src/lib/assets/language-icons/ruby.tsx +19 -0
  595. package/src/lib/assets/language-icons/rust.tsx +19 -0
  596. package/src/lib/assets/language-icons/scala.tsx +19 -0
  597. package/src/lib/assets/language-icons/shell.tsx +19 -0
  598. package/src/lib/assets/language-icons/swift.tsx +19 -0
  599. package/src/lib/assets/language-icons/toml.tsx +23 -0
  600. package/src/lib/assets/language-icons/typescript.tsx +23 -0
  601. package/src/lib/assets/language-icons/xml.tsx +19 -0
  602. package/src/lib/assets/language-icons/yaml.tsx +23 -0
  603. package/src/lib/assets/language-icons/zig.tsx +32 -0
  604. package/src/lib/authentication/authentication.ts +22 -4
  605. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  606. package/src/lib/authentication/components/SignIn.tsx +7 -5
  607. package/src/lib/authentication/components/SignOut.tsx +7 -6
  608. package/src/lib/authentication/components/SignUp.tsx +5 -8
  609. package/src/lib/authentication/hook.ts +21 -10
  610. package/src/lib/authentication/providers/auth0.tsx +9 -4
  611. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  612. package/src/lib/authentication/providers/clerk.tsx +9 -2
  613. package/src/lib/authentication/providers/openid.tsx +20 -15
  614. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  615. package/src/lib/authentication/providers/supabase.tsx +59 -43
  616. package/src/lib/authentication/state.ts +3 -23
  617. package/src/lib/authentication/use-broadcast/LICENSE.md +12 -3
  618. package/src/lib/components/BuildCheck.tsx +12 -10
  619. package/src/lib/components/Heading.tsx +2 -6
  620. package/src/lib/components/LanguageIcon.tsx +181 -0
  621. package/src/lib/components/Main.tsx +1 -1
  622. package/src/lib/components/Meta.tsx +13 -0
  623. package/src/lib/components/Zudoku.tsx +3 -3
  624. package/src/lib/components/cache.ts +9 -5
  625. package/src/lib/components/context/ZudokuContext.ts +11 -2
  626. package/src/lib/components/index.ts +2 -0
  627. package/src/lib/components/navigation/NavigationItem.tsx +1 -1
  628. package/src/lib/components/navigation/Toc.tsx +3 -3
  629. package/src/lib/core/RouteGuard.tsx +33 -13
  630. package/src/lib/core/ZudokuContext.ts +3 -0
  631. package/src/lib/oas/graphql/index.ts +37 -2
  632. package/src/lib/plugins/api-catalog/Catalog.tsx +7 -0
  633. package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
  634. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +18 -64
  635. package/src/lib/plugins/markdown/MdxPage.tsx +126 -9
  636. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  637. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  638. package/src/lib/plugins/markdown/index.tsx +5 -7
  639. package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
  640. package/src/lib/plugins/openapi/OperationList.tsx +30 -10
  641. package/src/lib/plugins/openapi/OperationListItem.tsx +107 -81
  642. package/src/lib/plugins/openapi/ParameterList.tsx +3 -5
  643. package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -9
  644. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +6 -11
  645. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +3 -2
  646. package/src/lib/plugins/openapi/Sidecar.tsx +10 -10
  647. package/src/lib/plugins/openapi/SidecarExamples.tsx +2 -9
  648. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +2 -1
  649. package/src/lib/plugins/openapi/graphql/gql.ts +7 -6
  650. package/src/lib/plugins/openapi/graphql/graphql.ts +26 -3
  651. package/src/lib/plugins/openapi/index.tsx +10 -30
  652. package/src/lib/plugins/openapi/interfaces.ts +3 -2
  653. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
  654. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +2 -2
  655. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -3
  656. package/src/lib/plugins/openapi/playground/Playground.tsx +16 -5
  657. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +13 -2
  658. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  659. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  660. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +124 -52
  661. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  662. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  663. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +11 -4
  664. package/src/lib/plugins/openapi/schema/SchemaView.tsx +18 -12
  665. package/src/lib/plugins/openapi/schema/UnionView.tsx +56 -36
  666. package/src/lib/plugins/openapi/schema/union-helpers.ts +30 -2
  667. package/src/lib/shiki.ts +29 -2
  668. package/src/lib/ui/Callout.tsx +10 -5
  669. package/src/lib/ui/Carousel.tsx +0 -1
  670. package/src/lib/ui/CodeBlock.tsx +7 -42
  671. package/src/lib/ui/Dialog.tsx +112 -106
  672. package/src/lib/ui/EmbeddedCodeBlock.tsx +6 -3
  673. package/src/lib/ui/ReactComponentDoc.tsx +68 -0
  674. package/src/lib/ui/Secret.tsx +123 -0
  675. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  676. package/src/lib/ui/Value.tsx +42 -0
  677. package/src/lib/util/MdxComponents.tsx +3 -2
  678. package/src/lib/util/pastellize.ts +4 -4
  679. package/src/lib/util/syncZustandState.ts +22 -0
  680. package/src/lib/util/traverse.ts +36 -0
  681. package/src/shiki/langs/hurl.js +1 -0
  682. package/src/shiki/langs/kdl.js +1 -0
  683. package/src/shiki/langs/pkl.js +1 -0
  684. package/src/shiki/langs/rosmsg.js +1 -0
  685. package/lib/CodeBlock-CX_J17Hf.js +0 -98
  686. package/lib/CodeBlock-CX_J17Hf.js.map +0 -1
  687. package/lib/Dialog-BmgXWOaz.js +0 -114
  688. package/lib/Dialog-BmgXWOaz.js.map +0 -1
  689. package/lib/MdxPage-yXbTtcWf.js +0 -111
  690. package/lib/MdxPage-yXbTtcWf.js.map +0 -1
  691. package/lib/OperationList-CWxpdIbO.js +0 -5165
  692. package/lib/OperationList-CWxpdIbO.js.map +0 -1
  693. package/lib/RouteGuard-BIksrt_C.js +0 -56
  694. package/lib/RouteGuard-BIksrt_C.js.map +0 -1
  695. package/lib/SchemaView-B2BeAuci.js +0 -429
  696. package/lib/SchemaView-B2BeAuci.js.map +0 -1
  697. package/lib/Select-DWh0wSay.js +0 -273
  698. package/lib/Select-DWh0wSay.js.map +0 -1
  699. package/lib/SignUp-CznaQsRx.js +0 -56
  700. package/lib/SignUp-CznaQsRx.js.map +0 -1
  701. package/lib/Slot-BbdqiRXo.js.map +0 -1
  702. package/lib/SyntaxHighlight-CvzJ7DNa.js.map +0 -1
  703. package/lib/Toc-BAa-kpqN.js.map +0 -1
  704. package/lib/ZudokuContext-BR-lnR7O.js +0 -1285
  705. package/lib/ZudokuContext-BR-lnR7O.js.map +0 -1
  706. package/lib/chunk-QMGIS6GS-DqecZ6nq.js +0 -9204
  707. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +0 -1
  708. package/lib/createServer-B4giw6jv.js.map +0 -1
  709. package/lib/hook-B4Q30zMI.js +0 -247
  710. package/lib/hook-B4Q30zMI.js.map +0 -1
  711. package/lib/index-BuKx9nrj.js.map +0 -1
  712. package/lib/index-CQGi1b3U.js.map +0 -1
  713. package/lib/index-DmNq2fbN.js.map +0 -1
  714. package/lib/index-Dp3Fmnfq.js.map +0 -1
  715. package/lib/index.esm-CdzlRw50.js +0 -1254
  716. package/lib/index.esm-CdzlRw50.js.map +0 -1
  717. package/lib/jsx-runtime-C5mzlN2N.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import type { ResultOf } from "@graphql-typed-document-node/core";
2
1
  import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
3
2
  import { Helmet } from "@zudoku/react-helmet-async";
4
3
  import { ChevronsDownUpIcon, ChevronsUpDownIcon } from "lucide-react";
@@ -40,6 +39,10 @@ export const OperationsFragment = graphql(/* GraphQL */ `
40
39
  path
41
40
  deprecated
42
41
  extensions
42
+ servers {
43
+ url
44
+ description
45
+ }
43
46
  parameters {
44
47
  name
45
48
  in
@@ -96,8 +99,6 @@ export const OperationsFragment = graphql(/* GraphQL */ `
96
99
  }
97
100
  `);
98
101
 
99
- export type OperationListItemResult = ResultOf<typeof OperationsFragment>;
100
-
101
102
  const SchemaWarmupQuery = graphql(/* GraphQL */ `
102
103
  query SchemaWarmup($input: JSON!, $type: SchemaType!) {
103
104
  schema(input: $input, type: $type) {
@@ -129,13 +130,16 @@ const OperationsForTagQuery = graphql(/* GraphQL */ `
129
130
  slug
130
131
  ...OperationsFragment
131
132
  }
133
+ extensions
132
134
  next {
133
135
  name
134
136
  slug
137
+ extensions
135
138
  }
136
139
  prev {
137
140
  name
138
141
  slug
142
+ extensions
139
143
  }
140
144
  }
141
145
  }
@@ -161,7 +165,10 @@ export const OperationList = ({
161
165
  const {
162
166
  data: { schema },
163
167
  } = result;
164
- const { selectedServer } = useSelectedServer(schema.servers);
168
+ // Global server selection for the dropdown UI
169
+ const { selectedServer: globalSelectedServer } = useSelectedServer(
170
+ schema.servers,
171
+ );
165
172
  const title = schema.title;
166
173
  const summary = schema.summary;
167
174
  const description = schema.description;
@@ -211,16 +218,25 @@ export const OperationList = ({
211
218
  (hasMultipleVersions && options?.showVersionSelect !== "hide");
212
219
 
213
220
  const paginationProps = {
214
- prev: prev?.name ? { to: `../${prev.slug}`, label: prev.name } : undefined,
221
+ prev: prev
222
+ ? {
223
+ to: `../${prev.slug}`,
224
+ label: prev.extensions?.["x-displayName"] ?? prev.name,
225
+ }
226
+ : undefined,
215
227
  next: next
216
228
  ? {
217
229
  to: `../${next.slug ?? UNTAGGED_PATH}`,
218
- label: next.name ?? "Other endpoints",
230
+ label:
231
+ next.extensions?.["x-displayName"] ??
232
+ next.name ??
233
+ "Other endpoints",
219
234
  }
220
235
  : undefined,
221
236
  };
222
237
 
223
- const helmetTitle = [schema.tag.name, title].filter(Boolean).join(" - ");
238
+ const tagTitle = schema.tag.extensions?.["x-displayName"] ?? schema.tag.name;
239
+ const helmetTitle = [tagTitle, title].filter(Boolean).join(" - ");
224
240
 
225
241
  return (
226
242
  <div
@@ -234,8 +250,12 @@ export const OperationList = ({
234
250
  <meta name="description" content={metaDescription} />
235
251
  )}
236
252
  </Helmet>
253
+
237
254
  <div className="mb-8">
238
- <Collapsible className="w-full">
255
+ <Collapsible
256
+ className="w-full"
257
+ defaultOpen={options?.expandApiInformation}
258
+ >
239
259
  <div className="flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end">
240
260
  <div className="flex flex-col flex-1 gap-2">
241
261
  <CategoryHeading>{title}</CategoryHeading>
@@ -245,7 +265,7 @@ export const OperationList = ({
245
265
  registerNavigationAnchor
246
266
  className="mb-0"
247
267
  >
248
- {schema.tag.name ?? "Documentation"}
268
+ {tagTitle}
249
269
  {showVersions && (
250
270
  <span className="text-xl text-muted-foreground ms-1.5">
251
271
  {" "}
@@ -315,8 +335,8 @@ export const OperationList = ({
315
335
  {operations.map((fragment) => (
316
336
  <div key={fragment.slug}>
317
337
  <OperationListItem
318
- serverUrl={selectedServer}
319
338
  operationFragment={fragment}
339
+ globalSelectedServer={globalSelectedServer}
320
340
  />
321
341
  <hr className="my-10" />
322
342
  </div>
@@ -10,6 +10,7 @@ import { ResponseContent } from "./components/ResponseContent.js";
10
10
  import { SelectOnClick } from "./components/SelectOnClick.js";
11
11
  import { useOasConfig } from "./context.js";
12
12
  import { type FragmentType, useFragment } from "./graphql/index.js";
13
+ import { MCPEndpoint } from "./MCPEndpoint.js";
13
14
  import { OperationsFragment } from "./OperationList.js";
14
15
  import { ParameterList } from "./ParameterList.js";
15
16
  import { Sidecar } from "./Sidecar.js";
@@ -21,10 +22,10 @@ export type ParameterGroup = (typeof PARAM_GROUPS)[number];
21
22
 
22
23
  export const OperationListItem = ({
23
24
  operationFragment,
24
- serverUrl,
25
+ globalSelectedServer,
25
26
  }: {
26
27
  operationFragment: FragmentType<typeof OperationsFragment>;
27
- serverUrl?: string;
28
+ globalSelectedServer?: string;
28
29
  }) => {
29
30
  const operation = useFragment(OperationsFragment, operationFragment);
30
31
  const groupedParameters = groupBy(
@@ -33,8 +34,13 @@ export const OperationListItem = ({
33
34
  );
34
35
  const { options } = useOasConfig();
35
36
 
37
+ // Manual server selection takes precedence over the server hierarchy.
38
+ // If no manual selection, fall back to operation's first server (already respects operation > path > global hierarchy)
39
+ const displayServerUrl = globalSelectedServer || operation.servers.at(0)?.url;
40
+
36
41
  const first = operation.responses.at(0);
37
42
  const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);
43
+ const isMCPEndpoint = operation.extensions?.["x-mcp-server"] !== undefined;
38
44
 
39
45
  return (
40
46
  <div>
@@ -58,95 +64,115 @@ export const OperationListItem = ({
58
64
  >
59
65
  {operation.summary}
60
66
  </Heading>
61
- <div className="text-sm flex gap-2 font-mono col-span-full">
62
- <span className={methodForColor(operation.method)}>
63
- {operation.method.toUpperCase()}
64
- </span>
65
- <SelectOnClick className="max-w-full truncate flex cursor-pointer">
66
- {serverUrl && (
67
- <div className="text-neutral-400 dark:text-neutral-500 truncate">
68
- {serverUrl.replace(/\/$/, "")}
67
+ {!isMCPEndpoint && (
68
+ <div className="text-sm flex gap-2 font-mono col-span-full">
69
+ <span className={methodForColor(operation.method)}>
70
+ {operation.method.toUpperCase()}
71
+ </span>
72
+ <SelectOnClick className="max-w-full truncate flex cursor-pointer">
73
+ {displayServerUrl && (
74
+ <div className="text-neutral-400 dark:text-neutral-500 truncate">
75
+ {displayServerUrl.replace(/\/$/, "")}
76
+ </div>
77
+ )}
78
+ <div className="text-neutral-900 dark:text-neutral-200">
79
+ {operation.path}
69
80
  </div>
70
- )}
71
- <div className="text-neutral-900 dark:text-neutral-200">
72
- {operation.path}
73
- </div>
74
- </SelectOnClick>
75
- </div>
81
+ </SelectOnClick>
82
+ </div>
83
+ )}
76
84
 
77
- <div
78
- className={cn(
79
- "flex flex-col gap-4",
80
- options?.disableSidecar && "col-span-full",
81
- )}
82
- >
83
- {operation.description && (
84
- <Markdown
85
- className="max-w-full prose-img:max-w-prose"
86
- content={operation.description}
85
+ {isMCPEndpoint ? (
86
+ <div className="col-span-full">
87
+ <MCPEndpoint
88
+ serverUrl={displayServerUrl}
89
+ summary={operation.summary ?? undefined}
90
+ data={operation.extensions?.["x-mcp-server"]}
87
91
  />
88
- )}
89
- {operation.parameters &&
90
- operation.parameters.length > 0 &&
91
- PARAM_GROUPS.flatMap((group) =>
92
- groupedParameters[group]?.length ? (
93
- <ParameterList
94
- key={group}
95
- summary={operation.summary ?? undefined}
96
- id={operation.slug}
97
- parameters={groupedParameters[group]}
98
- group={group}
99
- />
100
- ) : (
101
- []
102
- ),
92
+ </div>
93
+ ) : (
94
+ <div
95
+ className={cn(
96
+ "flex flex-col gap-4",
97
+ options?.disableSidecar && "col-span-full",
103
98
  )}
104
- {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (
105
- <div className="mt-4 flex flex-col gap-4">
106
- <Heading
107
- level={3}
108
- className="capitalize flex items-center gap-2"
109
- id={`${operation.slug}/request-body`}
110
- >
111
- {operation.summary && (
112
- <VisuallyHidden>{operation.summary} &rsaquo; </VisuallyHidden>
113
- )}
114
- Request Body{" "}
115
- {operation.requestBody?.required === false ? (
116
- <Badge variant="muted">optional</Badge>
117
- ) : (
118
- ""
119
- )}
120
- </Heading>
121
- <SchemaView schema={schema} />
122
- </div>
123
- ))}
124
- {operation.responses.length > 0 && (
125
- <>
126
- <Heading
127
- level={3}
128
- className="capitalize mt-8 pt-8 border-t"
129
- id={`${operation.slug}/responses`}
130
- >
131
- {operation.summary && (
132
- <VisuallyHidden>{operation.summary} &rsaquo; </VisuallyHidden>
133
- )}
134
- Responses
135
- </Heading>
136
- <ResponseContent
137
- responses={operation.responses}
138
- selectedResponse={selectedResponse}
139
- onSelectResponse={setSelectedResponse}
99
+ >
100
+ {operation.description && (
101
+ <Markdown
102
+ className="max-w-full prose-img:max-w-prose"
103
+ content={operation.description}
140
104
  />
141
- </>
142
- )}
143
- </div>
105
+ )}
106
+ {operation.parameters &&
107
+ operation.parameters.length > 0 &&
108
+ PARAM_GROUPS.flatMap((group) =>
109
+ groupedParameters[group]?.length ? (
110
+ <ParameterList
111
+ key={group}
112
+ summary={operation.summary ?? undefined}
113
+ id={operation.slug}
114
+ parameters={groupedParameters[group]}
115
+ group={group}
116
+ />
117
+ ) : (
118
+ []
119
+ ),
120
+ )}
121
+ {renderIf(
122
+ operation.requestBody?.content?.at(0)?.schema,
123
+ (schema) => (
124
+ <div className="mt-4 flex flex-col gap-4">
125
+ <Heading
126
+ level={3}
127
+ className="capitalize flex items-center gap-2"
128
+ id={`${operation.slug}/request-body`}
129
+ >
130
+ {operation.summary && (
131
+ <VisuallyHidden>
132
+ {operation.summary} &rsaquo;{" "}
133
+ </VisuallyHidden>
134
+ )}
135
+ Request Body{" "}
136
+ {operation.requestBody?.required === false ? (
137
+ <Badge variant="muted">optional</Badge>
138
+ ) : (
139
+ ""
140
+ )}
141
+ </Heading>
142
+ <SchemaView schema={schema} />
143
+ </div>
144
+ ),
145
+ )}
146
+ {operation.responses.length > 0 && (
147
+ <>
148
+ <Heading
149
+ level={3}
150
+ className="capitalize mt-8 pt-8 border-t"
151
+ id={`${operation.slug}/responses`}
152
+ >
153
+ {operation.summary && (
154
+ <VisuallyHidden>
155
+ {operation.summary} &rsaquo;{" "}
156
+ </VisuallyHidden>
157
+ )}
158
+ Responses
159
+ </Heading>
160
+ <ResponseContent
161
+ responses={operation.responses}
162
+ selectedResponse={selectedResponse}
163
+ onSelectResponse={setSelectedResponse}
164
+ />
165
+ </>
166
+ )}
167
+ </div>
168
+ )}
144
169
 
145
- {renderIf(!options?.disableSidecar, () => (
170
+ {renderIf(!options?.disableSidecar && !isMCPEndpoint, () => (
146
171
  <Sidecar
147
172
  selectedResponse={selectedResponse}
148
173
  onSelectResponse={setSelectedResponse}
149
174
  operation={operation}
175
+ globalSelectedServer={globalSelectedServer}
150
176
  />
151
177
  ))}
152
178
  </div>
@@ -1,11 +1,9 @@
1
1
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2
2
  import { Heading } from "../../components/Heading.js";
3
3
  import { Card } from "../../ui/Card.js";
4
+ import type { ParameterItem } from "./graphql/graphql.js";
4
5
  import type { ParameterGroup } from "./OperationListItem.js";
5
- import {
6
- ParameterListItem,
7
- type ParameterListItemResult,
8
- } from "./ParameterListItem.js";
6
+ import { ParameterListItem } from "./ParameterListItem.js";
9
7
 
10
8
  export const ParameterList = ({
11
9
  summary,
@@ -15,7 +13,7 @@ export const ParameterList = ({
15
13
  }: {
16
14
  summary?: string;
17
15
  group: ParameterGroup;
18
- parameters: ParameterListItemResult[];
16
+ parameters: ParameterItem[];
19
17
  id: string;
20
18
  }) => (
21
19
  <>
@@ -7,16 +7,14 @@ import { Button } from "../../ui/Button.js";
7
7
  import { ColorizedParam } from "./ColorizedParam.js";
8
8
  import { EnumValues } from "./components/EnumValues.js";
9
9
  import { SelectOnClick } from "./components/SelectOnClick.js";
10
- import type { OperationListItemResult } from "./OperationList.js";
10
+ import type { ParameterItem } from "./graphql/graphql.js";
11
11
  import type { ParameterGroup } from "./OperationListItem.js";
12
12
  import { ParamInfos } from "./ParamInfos.js";
13
13
  import { SchemaExampleAndDefault } from "./schema/SchemaExampleAndDefault.js";
14
14
  import { SchemaView } from "./schema/SchemaView.js";
15
15
  import { isArrayType } from "./schema/utils.js";
16
16
 
17
- const getParameterSchema = (
18
- parameter: ParameterListItemResult,
19
- ): SchemaObject => {
17
+ const getParameterSchema = (parameter: ParameterItem): SchemaObject => {
20
18
  if (parameter.schema != null && typeof parameter.schema === "object") {
21
19
  return parameter.schema;
22
20
  }
@@ -25,16 +23,12 @@ const getParameterSchema = (
25
23
  };
26
24
  };
27
25
 
28
- export type ParameterListItemResult = NonNullable<
29
- OperationListItemResult["parameters"]
30
- >[number];
31
-
32
26
  export const ParameterListItem = ({
33
27
  parameter,
34
28
  group,
35
29
  id,
36
30
  }: {
37
- parameter: ParameterListItemResult;
31
+ parameter: ParameterItem;
38
32
  group: ParameterGroup;
39
33
  id: string;
40
34
  }) => {
@@ -1,7 +1,8 @@
1
- import { useAuth } from "zudoku/components";
2
- import type { OperationListItemResult } from "./OperationList.js";
1
+ import type {
2
+ MediaTypeObject,
3
+ OperationsFragmentFragment,
4
+ } from "./graphql/graphql.js";
3
5
  import { PlaygroundDialog } from "./playground/PlaygroundDialog.js";
4
- import type { Content } from "./SidecarExamples.js";
5
6
 
6
7
  export const PlaygroundDialogWrapper = ({
7
8
  server,
@@ -11,12 +12,9 @@ export const PlaygroundDialogWrapper = ({
11
12
  }: {
12
13
  server?: string;
13
14
  servers?: string[];
14
- operation: OperationListItemResult;
15
- examples?: Content;
15
+ operation: OperationsFragmentFragment;
16
+ examples?: MediaTypeObject[];
16
17
  }) => {
17
- const { isAuthEnabled, login, signup, isPending, isAuthenticated } =
18
- useAuth();
19
-
20
18
  const headers = operation.parameters
21
19
  ?.filter((p) => p.in === "header")
22
20
  .sort((a, b) => (a.required && !b.required ? -1 : 1))
@@ -59,9 +57,6 @@ export const PlaygroundDialogWrapper = ({
59
57
  queryParams={queryParams}
60
58
  pathParams={pathParams}
61
59
  examples={examples}
62
- requiresLogin={isAuthEnabled && !isAuthenticated && !isPending}
63
- onLogin={() => login()}
64
- onSignUp={() => signup()}
65
60
  />
66
61
  );
67
62
  };
@@ -1,11 +1,12 @@
1
+ import type { MediaTypeObject } from "./graphql/graphql.js";
1
2
  import * as SidecarBox from "./SidecarBox.js";
2
- import { type Content, SidecarExamples } from "./SidecarExamples.js";
3
+ import { SidecarExamples } from "./SidecarExamples.js";
3
4
 
4
5
  export const RequestBodySidecarBox = ({
5
6
  content,
6
7
  onExampleChange,
7
8
  }: {
8
- content: Content;
9
+ content: MediaTypeObject[];
9
10
  onExampleChange?: (example: unknown) => void;
10
11
  }) => {
11
12
  if (content.length === 0) return null;
@@ -1,4 +1,3 @@
1
- import { useSuspenseQuery } from "@tanstack/react-query";
2
1
  import { useMemo, useState, useTransition } from "react";
3
2
  import { useSearchParams } from "react-router";
4
3
  import { useZudoku } from "zudoku/hooks";
@@ -10,16 +9,14 @@ import { cn } from "../../util/cn.js";
10
9
  import { useOnScreen } from "../../util/useOnScreen.js";
11
10
  import { CollapsibleCode } from "./CollapsibleCode.js";
12
11
  import { ColorizedParam } from "./ColorizedParam.js";
13
- import { useCreateQuery } from "./client/useCreateQuery.js";
14
12
  import { useOasConfig } from "./context.js";
13
+ import type { OperationsFragmentFragment } from "./graphql/graphql.js";
15
14
  import { graphql } from "./graphql/index.js";
16
- import type { OperationListItemResult } from "./OperationList.js";
17
15
  import { PlaygroundDialogWrapper } from "./PlaygroundDialogWrapper.js";
18
16
  import { RequestBodySidecarBox } from "./RequestBodySidecarBox.js";
19
17
  import { ResponsesSidecarBox } from "./ResponsesSidecarBox.js";
20
18
  import * as SidecarBox from "./SidecarBox.js";
21
19
  import { SimpleSelect } from "./SimpleSelect.js";
22
- import { useSelectedServer } from "./state.js";
23
20
  import { createHttpSnippet, getConverted } from "./util/createHttpSnippet.js";
24
21
  import { generateSchemaExample } from "./util/generateSchemaExample.js";
25
22
  import { methodForColor } from "./util/methodToColor.js";
@@ -53,15 +50,15 @@ export const Sidecar = ({
53
50
  operation,
54
51
  selectedResponse,
55
52
  onSelectResponse,
53
+ globalSelectedServer,
56
54
  }: {
57
- operation: OperationListItemResult;
55
+ operation: OperationsFragmentFragment;
58
56
  selectedResponse?: string;
59
57
  onSelectResponse: (response: string) => void;
58
+ globalSelectedServer?: string;
60
59
  }) => {
61
- const { input, type, options } = useOasConfig();
60
+ const { options } = useOasConfig();
62
61
  const auth = useAuthState();
63
- const query = useCreateQuery(GetServerQuery, { input, type });
64
- const result = useSuspenseQuery(query);
65
62
  const context = useZudoku();
66
63
 
67
64
  const methodTextColor = methodForColor(operation.method);
@@ -102,7 +99,10 @@ export const Sidecar = ({
102
99
  />
103
100
  );
104
101
 
105
- const { selectedServer } = useSelectedServer(result.data.schema.servers);
102
+ // Manual server selection takes precedence over the server hierarchy.
103
+ // If no manual selection, fall back to operation's first server (already respects operation > path > global hierarchy)
104
+ const selectedServer =
105
+ globalSelectedServer || operation.servers.at(0)?.url || "";
106
106
 
107
107
  const code = useMemo(() => {
108
108
  const exampleBody =
@@ -159,7 +159,7 @@ export const Sidecar = ({
159
159
  </span>
160
160
  {showPlayground && (
161
161
  <PlaygroundDialogWrapper
162
- servers={result.data.schema.servers.map((server) => server.url)}
162
+ servers={operation.servers.map((server) => server.url)}
163
163
  operation={operation}
164
164
  examples={requestBodyContent ?? undefined}
165
165
  />
@@ -2,18 +2,11 @@ import { useEffect, useMemo, useState } from "react";
2
2
  import type { SchemaObject } from "../../oas/parser/index.js";
3
3
  import { SyntaxHighlight } from "../../ui/SyntaxHighlight.js";
4
4
  import { CollapsibleCode } from "./CollapsibleCode.js";
5
- import type { OperationListItemResult } from "./OperationList.js";
5
+ import type { MediaTypeObject } from "./graphql/graphql.js";
6
6
  import * as SidecarBox from "./SidecarBox.js";
7
7
  import { SimpleSelect } from "./SimpleSelect.js";
8
8
  import { generateSchemaExample } from "./util/generateSchemaExample.js";
9
9
 
10
- export type Content = NonNullable<
11
- NonNullable<OperationListItemResult["requestBody"]>["content"]
12
- >;
13
- export type Example = NonNullable<
14
- NonNullable<Content[number]["examples"]>
15
- >[number];
16
-
17
10
  const formatForDisplay = (value: unknown): string => {
18
11
  if (value == null) return "No example";
19
12
  if (typeof value === "string") return value.trim();
@@ -40,7 +33,7 @@ const getLanguage = (mediaType?: string): string => {
40
33
  };
41
34
 
42
35
  export type SidecarExamplesProps = {
43
- content: Content;
36
+ content: MediaTypeObject[];
44
37
  description?: string;
45
38
  onExampleChange?: (example: unknown) => void;
46
39
  };
@@ -1,6 +1,7 @@
1
+ /* eslint-disable */
1
2
  import type {
2
- DocumentTypeDecoration,
3
3
  ResultOf,
4
+ DocumentTypeDecoration,
4
5
  } from "@graphql-typed-document-node/core";
5
6
  import type { Incremental, TypedDocumentString } from "./graphql.js";
6
7
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  import * as types from "./graphql.js";
2
3
 
3
4
  /**
@@ -13,9 +14,9 @@ import * as types from "./graphql.js";
13
14
  */
14
15
  type Documents = {
15
16
  "\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": typeof types.ServersQueryDocument;
16
- "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": typeof types.OperationsFragmentFragmentDoc;
17
+ "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n servers {\n url\n description\n }\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": typeof types.OperationsFragmentFragmentDoc;
17
18
  "\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n openapi\n }\n }\n": typeof types.SchemaWarmupDocument;
18
- "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n next {\n name\n slug\n }\n prev {\n name\n slug\n }\n }\n }\n }\n": typeof types.OperationsForTagDocument;
19
+ "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n extensions\n next {\n name\n slug\n extensions\n }\n prev {\n name\n slug\n extensions\n }\n }\n }\n }\n": typeof types.OperationsForTagDocument;
19
20
  "\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n": typeof types.GetSchemasDocument;
20
21
  "\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": typeof types.GetServerQueryDocument;
21
22
  "\n query GetNavigationOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n extensions\n tags {\n slug\n name\n extensions\n operations {\n summary\n slug\n method\n operationId\n path\n }\n }\n components {\n schemas {\n __typename\n }\n }\n }\n }\n": typeof types.GetNavigationOperationsDocument;
@@ -23,11 +24,11 @@ type Documents = {
23
24
  const documents: Documents = {
24
25
  "\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n":
25
26
  types.ServersQueryDocument,
26
- "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n":
27
+ "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n servers {\n url\n description\n }\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n":
27
28
  types.OperationsFragmentFragmentDoc,
28
29
  "\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n openapi\n }\n }\n":
29
30
  types.SchemaWarmupDocument,
30
- "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n next {\n name\n slug\n }\n prev {\n name\n slug\n }\n }\n }\n }\n":
31
+ "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n extensions\n next {\n name\n slug\n extensions\n }\n prev {\n name\n slug\n extensions\n }\n }\n }\n }\n":
31
32
  types.OperationsForTagDocument,
32
33
  "\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n":
33
34
  types.GetSchemasDocument,
@@ -47,7 +48,7 @@ export function graphql(
47
48
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
48
49
  */
49
50
  export function graphql(
50
- source: "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n",
51
+ source: "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n servers {\n url\n description\n }\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n",
51
52
  ): typeof import("./graphql.js").OperationsFragmentFragmentDoc;
52
53
  /**
53
54
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
@@ -59,7 +60,7 @@ export function graphql(
59
60
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
60
61
  */
61
62
  export function graphql(
62
- source: "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n next {\n name\n slug\n }\n prev {\n name\n slug\n }\n }\n }\n }\n",
63
+ source: "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n extensions\n next {\n name\n slug\n extensions\n }\n prev {\n name\n slug\n extensions\n }\n }\n }\n }\n",
63
64
  ): typeof import("./graphql.js").OperationsForTagDocument;
64
65
  /**
65
66
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.