@redocly/realm 0.136.0-next.5 → 0.136.0-next.7

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 (298) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/bin.js +1 -1
  3. package/dist/cli/build/analytics/collect-analytics.js +1 -1
  4. package/dist/cli/build/index.js +1 -1
  5. package/dist/cli/eject/resolveEjectParams.js +1 -1
  6. package/dist/cli/stats/collectors/openapi/index.js +1 -1
  7. package/dist/cli/stats/index.js +1 -1
  8. package/dist/client/App.js +1 -1
  9. package/dist/client/TestProvider.js +1 -1
  10. package/dist/client/api-docs-builder-entry.d.ts +3 -0
  11. package/dist/client/api-docs-builder-entry.js +1 -0
  12. package/dist/client/app/Feedback/useSubmitFeedback.js +1 -1
  13. package/dist/client/app/Sidebar/Sidebar.js +3 -3
  14. package/dist/client/app/Sidebar/helpers/hide-empty-separators.d.ts +13 -0
  15. package/dist/client/app/Sidebar/helpers/hide-empty-separators.js +1 -0
  16. package/dist/client/app/Sidebar/useActions.js +1 -1
  17. package/dist/client/app/Sidebar/utils.js +1 -1
  18. package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
  19. package/dist/client/app/hooks/index.d.ts +1 -0
  20. package/dist/client/app/hooks/index.js +1 -1
  21. package/dist/client/app/hooks/useAutoScroll.js +1 -1
  22. package/dist/client/app/hooks/useUserClaims.js +1 -1
  23. package/dist/client/app/l10n/hooks/index.d.ts +1 -0
  24. package/dist/client/app/l10n/hooks/index.js +1 -1
  25. package/dist/client/app/l10n/hooks/useTranslationKeys.d.ts +2 -0
  26. package/dist/client/app/l10n/hooks/useTranslationKeys.js +1 -0
  27. package/dist/client/app/markdoc/custom-components/openapi/json-schema.d.ts +1 -1
  28. package/dist/client/app/markdoc/custom-components/openapi/json-schema.js +1 -1
  29. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.d.ts +1 -5
  30. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.js +1 -1
  31. package/dist/client/app/markdoc/custom-components/openapi/openapi-example.js +1 -1
  32. package/dist/client/app/markdoc/custom-components/openapi/openapi-response-sample.js +1 -1
  33. package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.d.ts +8 -24
  34. package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.js +1 -1
  35. package/dist/client/app/markdoc/hooks/use-store.d.ts +8 -6
  36. package/dist/client/app/markdoc/utils/build-replay-operation-source-map.d.ts +20 -0
  37. package/dist/client/app/markdoc/utils/build-replay-operation-source-map.js +1 -0
  38. package/dist/client/app/markdoc/utils/find-api-item.d.ts +15 -0
  39. package/dist/client/app/markdoc/utils/find-api-item.js +1 -0
  40. package/dist/client/app/markdoc/utils/find-code-sample-panel.d.ts +11 -0
  41. package/dist/client/app/markdoc/utils/find-code-sample-panel.js +1 -0
  42. package/dist/client/app/markdoc/utils/find-openapi-response-samples.d.ts +15 -0
  43. package/dist/client/app/markdoc/utils/find-openapi-response-samples.js +1 -0
  44. package/dist/client/app/markdoc/utils/openapi-panel-entry.d.ts +18 -0
  45. package/dist/client/app/markdoc/utils/openapi-panel-entry.js +1 -0
  46. package/dist/client/app/utils/resolveRouteBySlug.js +1 -1
  47. package/dist/client/app/utils/same-resolved-route.d.ts +5 -0
  48. package/dist/client/app/utils/same-resolved-route.js +1 -0
  49. package/dist/client/providers/post-message/PostMessageProvider.js +1 -1
  50. package/dist/client/providers/theme/ThemeDataProvider.js +1 -1
  51. package/dist/client/runtime/loader.js +1 -1
  52. package/dist/client/templates/api-docs/helpers.d.ts +10 -0
  53. package/dist/client/templates/api-docs/helpers.js +1 -0
  54. package/dist/client/templates/api-docs/template.d.ts +17 -0
  55. package/dist/client/templates/api-docs/template.js +14 -0
  56. package/dist/client/types/sidebar.d.ts +0 -1
  57. package/dist/client/utils/utils.d.ts +0 -2
  58. package/dist/client/utils/utils.js +1 -1
  59. package/dist/constants/common.d.ts +11 -1
  60. package/dist/constants/common.js +1 -1
  61. package/dist/constants/l10n/langs/ar.js +1 -1
  62. package/dist/constants/l10n/langs/de.js +1 -1
  63. package/dist/constants/l10n/langs/en.js +1 -1
  64. package/dist/constants/l10n/langs/es.js +1 -1
  65. package/dist/constants/l10n/langs/fr.js +1 -1
  66. package/dist/constants/l10n/langs/hi.js +1 -1
  67. package/dist/constants/l10n/langs/it.js +1 -1
  68. package/dist/constants/l10n/langs/ja.js +1 -1
  69. package/dist/constants/l10n/langs/ko.js +1 -1
  70. package/dist/constants/l10n/langs/pl.js +1 -1
  71. package/dist/constants/l10n/langs/pt-BR.js +1 -1
  72. package/dist/constants/l10n/langs/pt.js +1 -1
  73. package/dist/constants/l10n/langs/ru.js +1 -1
  74. package/dist/constants/l10n/langs/uk.js +1 -1
  75. package/dist/constants/l10n/langs/zh.js +1 -1
  76. package/dist/server/config/env-schemas/feature-flags.d.ts +1 -1
  77. package/dist/server/constants/entitlements.js +1 -1
  78. package/dist/server/constants/plugins/api-docs.d.ts +3 -0
  79. package/dist/server/constants/plugins/api-docs.js +1 -0
  80. package/dist/server/esbuild/esbuild-logger.js +3 -3
  81. package/dist/server/esbuild/esbuild.js +3 -3
  82. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-check.d.ts +9 -0
  83. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-check.js +1 -0
  84. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-overlay.d.ts +2 -0
  85. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-overlay.js +1 -0
  86. package/dist/server/esbuild/plugins/api-docs-module-replacer/index.d.ts +6 -0
  87. package/dist/server/esbuild/plugins/api-docs-module-replacer/index.js +1 -0
  88. package/dist/server/plugins/api-docs/get-server-props.d.ts +4 -0
  89. package/dist/server/plugins/api-docs/get-server-props.js +1 -0
  90. package/dist/server/plugins/api-docs/get-template-path.d.ts +2 -0
  91. package/dist/server/plugins/api-docs/get-template-path.js +1 -0
  92. package/dist/server/plugins/api-docs/import-api-docs-builder.d.ts +8 -0
  93. package/dist/server/plugins/api-docs/import-api-docs-builder.js +1 -0
  94. package/dist/server/plugins/api-docs/index.d.ts +19 -0
  95. package/dist/server/plugins/api-docs/index.js +1 -0
  96. package/dist/server/plugins/api-docs/loader.d.ts +35 -0
  97. package/dist/server/plugins/api-docs/loader.js +3 -0
  98. package/dist/server/plugins/api-docs/options.d.ts +14 -0
  99. package/dist/server/plugins/api-docs/options.js +1 -0
  100. package/dist/server/plugins/api-docs/search/get-ai-search-documents.d.ts +20 -0
  101. package/dist/server/plugins/api-docs/search/get-ai-search-documents.js +105 -0
  102. package/dist/server/plugins/api-docs/search/search-facets.d.ts +10 -0
  103. package/dist/server/plugins/api-docs/search/search-facets.js +1 -0
  104. package/dist/server/plugins/api-docs/search/search-indexer.d.ts +9 -0
  105. package/dist/server/plugins/api-docs/search/search-indexer.js +1 -0
  106. package/dist/server/plugins/api-docs/search/search-resolver.d.ts +5 -0
  107. package/dist/server/plugins/api-docs/search/search-resolver.js +1 -0
  108. package/dist/server/plugins/api-docs/spec-download.api.d.ts +4 -0
  109. package/dist/server/plugins/api-docs/spec-download.api.js +1 -0
  110. package/dist/server/plugins/api-docs/store-definition-bundles.d.ts +3 -0
  111. package/dist/server/plugins/api-docs/store-definition-bundles.js +1 -0
  112. package/dist/server/plugins/api-docs/utils/build-item-positions.d.ts +17 -0
  113. package/dist/server/plugins/api-docs/utils/build-item-positions.js +1 -0
  114. package/dist/server/plugins/api-docs/utils/build-routes-mapping.d.ts +3 -0
  115. package/dist/server/plugins/api-docs/utils/build-routes-mapping.js +1 -0
  116. package/dist/server/plugins/api-docs/utils/collect-item-routes.d.ts +12 -0
  117. package/dist/server/plugins/api-docs/utils/collect-item-routes.js +1 -0
  118. package/dist/server/plugins/api-docs/utils/decorators.d.ts +26 -0
  119. package/dist/server/plugins/api-docs/utils/decorators.js +1 -0
  120. package/dist/server/plugins/api-docs/utils/format-bundle-error.d.ts +6 -0
  121. package/dist/server/plugins/api-docs/utils/format-bundle-error.js +5 -0
  122. package/dist/server/plugins/api-docs/utils/normalize-api-version.d.ts +2 -0
  123. package/dist/server/plugins/api-docs/utils/normalize-api-version.js +1 -0
  124. package/dist/server/plugins/api-docs/utils/normalize-feedback-options.d.ts +2 -0
  125. package/dist/server/plugins/api-docs/utils/normalize-feedback-options.js +1 -0
  126. package/dist/server/plugins/api-docs/utils/relative-path-to-base-slug.d.ts +20 -0
  127. package/dist/server/plugins/api-docs/utils/relative-path-to-base-slug.js +1 -0
  128. package/dist/server/plugins/api-docs/utils/replace-file-extension.d.ts +2 -0
  129. package/dist/server/plugins/api-docs/utils/replace-file-extension.js +1 -0
  130. package/dist/server/plugins/api-docs/utils/resolve-api-doc-title.d.ts +3 -0
  131. package/dist/server/plugins/api-docs/utils/resolve-api-doc-title.js +1 -0
  132. package/dist/server/plugins/api-docs/utils/resolve-config-rbac.d.ts +10 -0
  133. package/dist/server/plugins/api-docs/utils/resolve-config-rbac.js +1 -0
  134. package/dist/server/plugins/api-docs/utils/to-relative-slug.d.ts +2 -0
  135. package/dist/server/plugins/api-docs/utils/to-relative-slug.js +1 -0
  136. package/dist/server/plugins/api-functions/index.js +1 -1
  137. package/dist/server/plugins/arazzo-docs/index.js +1 -1
  138. package/dist/server/plugins/asyncapi-docs/index.js +1 -1
  139. package/dist/server/plugins/catalog-classic/index.js +1 -1
  140. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
  141. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts +13 -5
  142. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
  143. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
  144. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.d.ts +6 -5
  145. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +2 -2
  146. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +12 -5
  147. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.js +1 -1
  148. package/dist/server/plugins/catalog-entities/plugin.js +1 -1
  149. package/dist/server/plugins/catalog-entities/template/index.js +1 -1
  150. package/dist/server/plugins/catalog-entities/types/openapi.d.ts +1 -1
  151. package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.d.ts +3 -3
  152. package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.js +1 -1
  153. package/dist/server/plugins/catalog-entities/utils/openapi-schema-resolver.d.ts +4 -3
  154. package/dist/server/plugins/catalog-entities/utils/openapi-schema-resolver.js +1 -1
  155. package/dist/server/plugins/config-parser/index.js +1 -1
  156. package/dist/server/plugins/create-slugify.d.ts +17 -0
  157. package/dist/server/plugins/create-slugify.js +1 -0
  158. package/dist/server/plugins/default-theme/index.js +1 -1
  159. package/dist/server/plugins/dev-onboarding/index.js +1 -1
  160. package/dist/server/plugins/entitlements/index.js +1 -1
  161. package/dist/server/plugins/graphql-docs/index.js +1 -1
  162. package/dist/server/plugins/helpers/parse-partials.d.ts +3 -0
  163. package/dist/server/plugins/helpers/parse-partials.js +1 -0
  164. package/dist/server/plugins/l10n/index.js +1 -1
  165. package/dist/server/plugins/lifecycle.js +2 -2
  166. package/dist/server/plugins/markdown/attribute-resolvers/helpers/load-openapi-bundle.d.ts +5 -3
  167. package/dist/server/plugins/markdown/attribute-resolvers/helpers/load-openapi-bundle.js +1 -1
  168. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.js +1 -1
  169. package/dist/server/plugins/markdown/attribute-resolvers/resolve-open-api-ref.js +1 -1
  170. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.js +1 -1
  171. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-response-samples.js +1 -1
  172. package/dist/server/plugins/markdown/index.js +1 -1
  173. package/dist/server/plugins/markdown/search/walk-sections.js +1 -1
  174. package/dist/server/plugins/mcp/auth/auth-handlers.d.ts +1 -0
  175. package/dist/server/plugins/mcp/auth/auth-handlers.js +1 -1
  176. package/dist/server/plugins/mcp/codemode/constants.js +1 -1
  177. package/dist/server/plugins/mcp/codemode/tools/execute-schema.js +1 -1
  178. package/dist/server/plugins/mcp/codemode/tools/execute.d.ts +1 -0
  179. package/dist/server/plugins/mcp/constants.d.ts +1 -0
  180. package/dist/server/plugins/mcp/constants.js +1 -1
  181. package/dist/server/plugins/mcp/docs-mcp/tool-schemas.d.ts +1 -0
  182. package/dist/server/plugins/mcp/docs-mcp/tool-schemas.js +1 -1
  183. package/dist/server/plugins/mcp/docs-mcp/tools/core/create-anonymous-session.d.ts +11 -0
  184. package/dist/server/plugins/mcp/docs-mcp/tools/core/create-anonymous-session.js +1 -0
  185. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/constants.d.ts +4 -0
  186. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/constants.js +1 -0
  187. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/get-graphql-type-list.js +1 -1
  188. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/get-graphql-type.js +7 -4
  189. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/types.d.ts +7 -1
  190. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/types.js +0 -1
  191. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/utils.d.ts +5 -1
  192. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/utils.js +4 -2
  193. package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +4 -0
  194. package/dist/server/plugins/mcp/docs-mcp/tools/index.js +1 -1
  195. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/load-api-description.d.ts +1 -1
  196. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/utils.d.ts +1 -1
  197. package/dist/server/plugins/mcp/docs-mcp/utils.d.ts +1 -1
  198. package/dist/server/plugins/mcp/gateway-mcp/elicitation.d.ts +4 -2
  199. package/dist/server/plugins/mcp/gateway-mcp/elicitation.js +2 -2
  200. package/dist/server/plugins/mcp/gateway-mcp/eligibility.d.ts +1 -2
  201. package/dist/server/plugins/mcp/gateway-mcp/fetch/allowed-hosts.d.ts +1 -1
  202. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-bridge.d.ts +4 -2
  203. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-bridge.js +1 -1
  204. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-errors.d.ts +11 -0
  205. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-errors.js +1 -0
  206. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-telemetry.d.ts +13 -0
  207. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-telemetry.js +1 -0
  208. package/dist/server/plugins/mcp/gateway-mcp/fetch/redact.d.ts +4 -0
  209. package/dist/server/plugins/mcp/gateway-mcp/fetch/redact.js +1 -0
  210. package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-blocklist.d.ts +12 -0
  211. package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-blocklist.js +1 -1
  212. package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-guard.js +1 -1
  213. package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-safe-lookup.d.ts +3 -1
  214. package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-safe-lookup.js +1 -1
  215. package/dist/server/plugins/mcp/gateway-mcp/fetch-capability.js +1 -1
  216. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/apply-edge-rate-limit.d.ts +3 -0
  217. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/apply-edge-rate-limit.js +1 -0
  218. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/edge-limiter.d.ts +16 -0
  219. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/edge-limiter.js +1 -0
  220. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/ip-key.d.ts +2 -0
  221. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/ip-key.js +1 -0
  222. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/limits.d.ts +7 -0
  223. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/limits.js +1 -0
  224. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/window-counter.d.ts +15 -0
  225. package/dist/server/plugins/mcp/gateway-mcp/rate-limit/window-counter.js +1 -0
  226. package/dist/server/plugins/mcp/gateway-mcp/secret-store.d.ts +8 -8
  227. package/dist/server/plugins/mcp/gateway-mcp/secret-store.js +1 -1
  228. package/dist/server/plugins/mcp/gateway-mcp/subject.d.ts +20 -0
  229. package/dist/server/plugins/mcp/gateway-mcp/subject.js +1 -0
  230. package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
  231. package/dist/server/plugins/mcp/handlers/errors.js +1 -1
  232. package/dist/server/plugins/mcp/handlers/handle-mcp-request.js +1 -1
  233. package/dist/server/plugins/mcp/handlers/mcp-credentials-handler.js +26 -26
  234. package/dist/server/plugins/mcp/index.js +1 -1
  235. package/dist/server/plugins/mcp/servers/docs-server.d.ts +3 -1
  236. package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
  237. package/dist/server/plugins/mcp/servers/mcp-server.d.ts +2 -0
  238. package/dist/server/plugins/mcp/servers/mcp-server.js +1 -1
  239. package/dist/server/plugins/mcp/servers/session-manager.js +1 -1
  240. package/dist/server/plugins/mcp/types.d.ts +4 -2
  241. package/dist/server/plugins/mcp/utils/mode.js +1 -1
  242. package/dist/server/plugins/mcp/utils/telemetry-attributes.d.ts +8 -0
  243. package/dist/server/plugins/mcp/utils/telemetry-attributes.js +1 -0
  244. package/dist/server/plugins/mcp/utils/xmcp-utils.d.ts +1 -1
  245. package/dist/server/plugins/mcp/utils.d.ts +17 -5
  246. package/dist/server/plugins/mcp/utils.js +1 -1
  247. package/dist/server/plugins/mcp/workers/mcp-tool-telemetry.js +1 -1
  248. package/dist/server/plugins/openapi-docs/index.js +1 -1
  249. package/dist/server/plugins/openapi-docs/utils.js +1 -1
  250. package/dist/server/plugins/pages/index.js +1 -1
  251. package/dist/server/plugins/scorecard-classic/compute-scorecard.js +4 -4
  252. package/dist/server/plugins/scorecard-classic/index.js +1 -1
  253. package/dist/server/plugins/scorecards/plugin.js +1 -1
  254. package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.js +2 -2
  255. package/dist/server/plugins/search/documents/search-documents.js +1 -1
  256. package/dist/server/plugins/search/index.js +1 -1
  257. package/dist/server/plugins/search/llmstxt/index.js +4 -4
  258. package/dist/server/plugins/sidebars/index.js +1 -1
  259. package/dist/server/plugins/sitemap/index.js +1 -1
  260. package/dist/server/plugins/sso/index.js +1 -1
  261. package/dist/server/ssr/render.js +1 -1
  262. package/dist/server/ssr/utils.d.ts +1 -0
  263. package/dist/server/ssr/utils.js +5 -5
  264. package/dist/server/store.d.ts +2 -6
  265. package/dist/server/store.js +1 -1
  266. package/dist/server/types/plugins/common.d.ts +3 -5
  267. package/dist/server/types/plugins/markdown.d.ts +1 -3
  268. package/dist/server/types/plugins/search.d.ts +1 -0
  269. package/dist/server/utils/catalog-classic/get-route-slug-to-catalog-slug-map.test.js +1 -1
  270. package/dist/server/utils/rbac.d.ts +4 -0
  271. package/dist/server/utils/rbac.js +1 -1
  272. package/dist/server/utils/report-all-errors.js +1 -1
  273. package/dist/server/utils/shared-data.js +1 -1
  274. package/dist/server/web-server/routes/resolve-route.js +1 -1
  275. package/dist/server/workers/worker-pool.js +1 -1
  276. package/dist/types/entitlements.d.ts +3 -0
  277. package/dist/types/markdoc.d.ts +2 -1
  278. package/dist/utils/url/get-shared-data-fetch-url.d.ts +17 -0
  279. package/dist/utils/url/get-shared-data-fetch-url.js +1 -0
  280. package/package.json +9 -8
  281. package/dist/markdoc/helpers/get-operation/get-operation-info-by-id.d.ts +0 -4
  282. package/dist/markdoc/helpers/get-operation/get-operation-info-by-id.js +0 -1
  283. package/dist/markdoc/helpers/get-operation/get-operation-info-by-pointer.d.ts +0 -4
  284. package/dist/markdoc/helpers/get-operation/get-operation-info-by-pointer.js +0 -1
  285. package/dist/markdoc/helpers/get-operation/get-operation.d.ts +0 -14
  286. package/dist/markdoc/helpers/get-operation/get-operation.js +0 -1
  287. package/dist/markdoc/helpers/get-operation/index.d.ts +0 -4
  288. package/dist/markdoc/helpers/get-operation/index.js +0 -1
  289. package/dist/markdoc/helpers/get-operation/types/index.d.ts +0 -4
  290. package/dist/markdoc/helpers/get-operation/types/index.js +0 -0
  291. package/dist/markdoc/helpers/get-operation/types/operation-identifier.d.ts +0 -5
  292. package/dist/markdoc/helpers/get-operation/types/operation-identifier.js +0 -0
  293. package/dist/markdoc/helpers/get-operation/types/operation-info.d.ts +0 -6
  294. package/dist/markdoc/helpers/get-operation/types/operation-info.js +0 -0
  295. package/dist/markdoc/helpers/get-operation/types/operation-parameters.d.ts +0 -3
  296. package/dist/markdoc/helpers/get-operation/types/operation-parameters.js +0 -0
  297. package/dist/server/plugins/markdown/attribute-resolvers/helpers/get-media-content-samples.d.ts +0 -4
  298. package/dist/server/plugins/markdown/attribute-resolvers/helpers/get-media-content-samples.js +0 -1
@@ -0,0 +1,20 @@
1
+ import type { ApiItem, CodeSampleSource } from '@redocly/api-docs';
2
+ import type { ItemMatch } from './find-api-item.js';
3
+ export type ReplayOperationSourceOptions = {
4
+ mimeType?: string;
5
+ exampleKey?: string;
6
+ };
7
+ type ExampleStoreLike = Record<string, {
8
+ key?: string;
9
+ }>;
10
+ /**
11
+ * Builds a method/path → {@link CodeSampleSource} map from code-sample panels across the nav tree,
12
+ * optionally replacing one operation's source with a narrowed copy for replay.
13
+ *
14
+ * @param items - Docs navigation items.
15
+ * @param match - Which operation to narrow when options are set.
16
+ * @param options - When empty, returns the base map unchanged.
17
+ */
18
+ export declare function buildReplayOperationSourceMap(items: ApiItem[], match: ItemMatch, options?: ReplayOperationSourceOptions, exampleStore?: ExampleStoreLike): Map<string, CodeSampleSource>;
19
+ export {};
20
+ //# sourceMappingURL=build-replay-operation-source-map.d.ts.map
@@ -0,0 +1 @@
1
+ import{findExampleIdByKey as m}from"@redocly/api-docs";import{findCodeSamplePanel as y}from"./find-code-sample-panel.js";import{findPanelEntry as a,isCodeSamplePanelItem as l}from"./openapi-panel-entry.js";function s(e,n=new Map){for(const t of e){const d=t.content?.children;if(d?.length){const r=a(d,o=>l(o)?o.source:void 0);r&&n.set(`${r.method.toLowerCase()}:${r.path}`,r)}t.items?.length&&s(t.items,n)}return n}function c(e,n){if(!e.requestBody)return e;const t=e.requestBody[n];return t?{...e,requestBody:{[n]:t}}:{...e,requestBody:{}}}function p(e,n,t){if(!e.requestBody)return e;const d={...e.requestBody};for(const[r,o]of Object.entries(e.requestBody)){const u=o?.exampleIds?.filter(f=>t[f]?.key!==void 0);if(!u?.length)continue;const i=m(u,n,f=>t[f]);d[r]={...o,exampleIds:i?[i]:[]}}return{...e,requestBody:d}}function x(e,n,t,d={}){const r=s(e);if(!t?.mimeType&&!t?.exampleKey)return r;const o=y(e,n);if(!o?.source)return r;const u=`${o.source.method.toLowerCase()}:${o.source.path}`;let i=o.source;t.mimeType&&(i=c(i,t.mimeType)),t.exampleKey&&(i=p(i,t.exampleKey,d));const f=new Map(r);return f.set(u,i),f}export{x as buildReplayOperationSourceMap};
@@ -0,0 +1,15 @@
1
+ import type { ApiItem } from '@redocly/api-docs';
2
+ /** Identifies an OpenAPI operation item in the docs navigation tree. */
3
+ export type ItemMatch = {
4
+ pointer?: string;
5
+ sourceId?: string;
6
+ };
7
+ /**
8
+ * Finds the first {@link ApiItem} whose content meta matches `pointer` or `sourceId`.
9
+ *
10
+ * @param items - Navigation items (may contain nested `items`).
11
+ * @param match - At least one of `pointer` or `sourceId` should be set for a match.
12
+ * @returns The matching item, or `undefined` if none match or the match object is empty.
13
+ */
14
+ export declare function findApiItem(items: ApiItem[], match: ItemMatch): ApiItem | undefined;
15
+ //# sourceMappingURL=find-api-item.d.ts.map
@@ -0,0 +1 @@
1
+ function d(n){return n.startsWith("#")?n.slice(1):n}function u(n,e){if(!e.pointer&&!e.sourceId)return;const r=e.pointer===void 0?void 0:d(e.pointer);for(const i of n){const t=i.content?.meta;if(t&&(r!==void 0&&t.pointer!==void 0&&d(t.pointer)===r||e.sourceId&&t.sourceId===e.sourceId))return i;if(i.items?.length){const o=u(i.items,e);if(o)return o}}}export{u as findApiItem};
@@ -0,0 +1,11 @@
1
+ import type { ApiItem, CodeSamplePanelItem } from '@redocly/api-docs';
2
+ import type { ItemMatch } from './find-api-item.js';
3
+ /**
4
+ * Locates the code-sample panel for the operation matched by `pointer` or `sourceId`.
5
+ *
6
+ * @param items - Docs navigation items.
7
+ * @param match - Operation identity in the nav tree.
8
+ * @returns The panel entry, or `undefined` if the item or panel is missing.
9
+ */
10
+ export declare function findCodeSamplePanel(items: ApiItem[], match: ItemMatch): CodeSamplePanelItem | undefined;
11
+ //# sourceMappingURL=find-code-sample-panel.d.ts.map
@@ -0,0 +1 @@
1
+ import{findApiItem as d}from"./find-api-item.js";import{findPanelEntry as o,isCodeSamplePanelItem as r}from"./openapi-panel-entry.js";function l(i,t){const n=d(i,t);if(n?.content?.children)return o(n.content.children,e=>r(e)?e:void 0)}export{l as findCodeSamplePanel};
@@ -0,0 +1,15 @@
1
+ import type { ApiItem, ResponseCodeItem } from '@redocly/api-docs';
2
+ import type { ItemMatch } from './find-api-item.js';
3
+ export type ResponseSamples = {
4
+ responseCodes: ResponseCodeItem[];
5
+ schemaId?: string;
6
+ };
7
+ /**
8
+ * Locates response example metadata for the operation matched by `pointer` or `sourceId`.
9
+ *
10
+ * @param items - Docs navigation items.
11
+ * @param match - Operation identity in the nav tree.
12
+ * @returns Response codes (and optional schema id), or `undefined` if not found.
13
+ */
14
+ export declare function findResponseSamples(items: ApiItem[], match: ItemMatch): ResponseSamples | undefined;
15
+ //# sourceMappingURL=find-openapi-response-samples.d.ts.map
@@ -0,0 +1 @@
1
+ import{findApiItem as s}from"./find-api-item.js";import{findPanelEntry as d}from"./openapi-panel-entry.js";function f(o,r){const n=s(o,r);if(n?.content?.children)return d(n.content.children,e=>{if(!(e.kind!=="response"||!e.responseCodes?.length))return{responseCodes:e.responseCodes,schemaId:e.schemaId}})}export{f as findResponseSamples};
@@ -0,0 +1,18 @@
1
+ import type { CodeSamplePanelItem, ContentNode, ResponseCodeItem } from '@redocly/api-docs';
2
+ type PanelEntry = {
3
+ kind: string;
4
+ responseCodes?: ResponseCodeItem[];
5
+ schemaId?: string;
6
+ };
7
+ export declare function isCodeSamplePanelItem(entry: PanelEntry): entry is CodeSamplePanelItem;
8
+ /**
9
+ * Depth-first search of container nodes: inspects each container's panels first,
10
+ * then recurses into `children`.
11
+ *
12
+ * @param nodes - Markdoc content nodes (typically item `content.children`).
13
+ * @param pick - Returns a value when a panel entry matches; `undefined` skips.
14
+ * @returns The first non-undefined result from `pick`, or `undefined`.
15
+ */
16
+ export declare function findPanelEntry<T>(nodes: ContentNode[], pick: (entry: PanelEntry) => T | undefined): T | undefined;
17
+ export {};
18
+ //# sourceMappingURL=openapi-panel-entry.d.ts.map
@@ -0,0 +1 @@
1
+ import{nodeTypes as f}from"@redocly/api-docs";function s(n){return n.kind==="code-sample"}function d(n){if(n.nodeType===f.CONTAINER)return n}function u(n,t){if(n){for(const i of n)if("children"in i)for(const e of i.children){const r=t(e);if(r!==void 0)return r}}}function c(n,t){for(const i of n){const e=d(i);if(!e)continue;const r=u(e.panels,t);if(r!==void 0)return r;if(!e.children.length)continue;const o=c(e.children,t);if(o!==void 0)return o}}export{c as findPanelEntry,s as isCodeSamplePanelItem};
@@ -1 +1 @@
1
- import{withPathPrefix as f}from"@redocly/theme/core/utils";import{ServerRoutes as n}from"../../../constants/api";import{OPENAPI_DOCS_TEMPLATE_ID as s}from"../../../constants/common";async function S(i,r){const e=await fetch(f(n.RESOLVE_ROUTE_BY_SLUG),{method:"POST",body:JSON.stringify(i)}),{route:o}=await e.json();let t=r;return(r==="markdown"||r===s)&&(t=o.fsPath),{file:t.replace(/^\//g,""),url:i,pointer:o.pointer,position:o.position}}export{S as resolveRouteBySlug};
1
+ import{withPathPrefix as _}from"@redocly/theme/core/utils";import{API_DOCS_TEMPLATE_ID as P,ASYNC_API_DOCS_TEMPLATE_ID as n,GRAPHQL_TEMPLATE_ID as E,OPENAPI_DOCS_TEMPLATE_ID as s}from"../../../constants/common";const S=new Set(["markdown",s,P,n,E]);import{ServerRoutes as T}from"../../../constants/api";async function p(r,t){const e=await fetch(_(T.RESOLVE_ROUTE_BY_SLUG),{method:"POST",body:JSON.stringify(r)}),{route:o}=await e.json();let i=t;return t&&S.has(t)&&o?.fsPath&&(i=o.fsPath),{file:i.replace(/^\//g,""),url:r,pointer:o.pointer,position:o.position}}export{p as resolveRouteBySlug};
@@ -0,0 +1,5 @@
1
+ export declare function isSameResolvedRoute(resolvedRoute: string, location: {
2
+ pathname: string;
3
+ hash: string;
4
+ }, isExplicitUrl: boolean): boolean;
5
+ //# sourceMappingURL=same-resolved-route.d.ts.map
@@ -0,0 +1 @@
1
+ import{normalizeRouteSlug as n}from"../../../utils/path/normalize-route-slug";function r(m,e,o){const[h,s]=m.split("#"),t=n(h)===n(e.pathname),a=(s??"")===e.hash.substring(1);return o?t&&a:t&&(!s||a)}export{r as isSameResolvedRoute};
@@ -1 +1 @@
1
- import s,{createContext as E,useEffect as U}from"react";import{useLocation as L,useNavigate as x}from"react-router-dom";import{useColorSwitcher as O}from"@redocly/theme/core/hooks";import{withPathPrefix as T}from"@redocly/theme/core/utils";import{ServerRoutes as z}from"../../../constants/api";import{removeTrailingSlash as D}from"../../../utils/url/remove-trailing-slash";import{normalizeRouteSlug as P}from"../../../utils/path/normalize-route-slug";import{loadAndNavigate as I}from"../../app/utils/loadAndNavigate";import{resolveRouteBySlug as N}from"../../app/utils/resolveRouteBySlug";import{syncScrollWithEditor as A}from"../../app/utils/syncScrollWithEditor";import{PostMessageConnection as H}from"./PostMessageConnection";import{isHostnameOnDomain as i}from"../../app/utils/isHostnameOnDomain";import{usePageData as _}from"../../app/hooks/usePageData";const B=E({sendMessage:()=>{}});function ae({children:l,enabled:t}){const R=x(),n=L(),c=s.useRef(null),{switchColorMode:h}=O(),p=_()?.templateId,u=s.useCallback(e=>{c.current?.send(e)},[]),f=s.useCallback(async e=>{console.info("[PM] connection initialized."),c.current=new H(e.source,e.origin);const a=await N(n.pathname+n.hash,p).catch(o=>{console.error("Initial route resolve failed with error: ",o.message)});u({type:"initialized",initialRoute:a})},[u,n.pathname,n.hash,p]),g=s.useCallback(async e=>{const{path:a="/",line:o=1,url:m}=e;let r=m;if(!m)try{const d=await fetch(T(z.RESOLVE_ROUTE_BY_PATH),{method:"POST",body:JSON.stringify(a+(o?`:${o}`:""))}),{route:S}=await d.json();r=S?.slug??S?.url??void 0}catch(d){console.error(d)}if(!r)return;r=r==="/"?"/":D(r);const[v,C]=r.split("#"),y=P(v)===P(n.pathname),M=(C??"")===n.hash.substring(1);(m?y&&M:y)||(console.info("[PM] Update route to: ",r),await I({navigate:R,to:r,origin:"pm"}))},[n]),w=s.useCallback(async e=>{const{action:a}=e;switch(a){case"back":window.history.back();break;case"forward":window.history.forward();break;case"reload":window.location.reload();break}},[]),b=s.useCallback(e=>{window.scrollTo({top:e.position.absolute,behavior:"instant"})},[]),k=s.useCallback(e=>{h(e.colorSchema)},[h]);return U(()=>{if(!t)return;const e=async a=>{if(!j(a.origin))return;const o=a.data;switch(o.type){case"initialize":f(a);break;case"route-update":if(!c.current)return;g(o);break;case"location-update":if(!c.current)return;w(o);break;case"scroll-update":if(!c.current)return;b(o);break;case"editor-scroll-update":if(!c.current)return;A(o.percentScrolled,o.sequenceNumber);break;case"color-schema-update":if(!c.current)return;k(o);break}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t,f,g,w,b,k]),s.createElement(B.Provider,{value:{sendMessage:u}},l)}function j(l){const t=new URL(l);return i(t.hostname,"localhost")||i(t.hostname,"127.0.0.1")||i(t.hostname,"blueharvest.cloud")||i(t.hostname,"bhstage.cloud")||i(t.hostname,"cloud.redocly.com")||i(t.hostname,"cloud.eu.redocly.com")||i(t.hostname,"cba.au.redocly.com")}export{B as PostMessageContext,ae as PostMessageProvider};
1
+ import n,{createContext as v,useEffect as P}from"react";import{useLocation as S,useNavigate as C}from"react-router-dom";import{useColorSwitcher as M}from"@redocly/theme/core/hooks";import{withPathPrefix as E}from"@redocly/theme/core/utils";import{ServerRoutes as U}from"../../../constants/api";import{removeTrailingSlash as L}from"../../../utils/url/remove-trailing-slash";import{loadAndNavigate as x}from"../../app/utils/loadAndNavigate";import{resolveRouteBySlug as O}from"../../app/utils/resolveRouteBySlug";import{isSameResolvedRoute as T}from"../../app/utils/same-resolved-route";import{syncScrollWithEditor as D}from"../../app/utils/syncScrollWithEditor";import{PostMessageConnection as I}from"./PostMessageConnection";import{isHostnameOnDomain as c}from"../../app/utils/isHostnameOnDomain";import{usePageData as N}from"../../app/hooks/usePageData";const z=v({sendMessage:()=>{}});function Z({children:l,enabled:t}){const R=C(),i=S(),s=n.useRef(null),{switchColorMode:h}=M(),p=N()?.templateId,u=n.useCallback(e=>{s.current?.send(e)},[]),f=n.useCallback(async e=>{console.info("[PM] connection initialized."),s.current=new I(e.source,e.origin);const a=await O(i.pathname+i.hash,p).catch(o=>{console.error("Initial route resolve failed with error: ",o.message)});u({type:"initialized",initialRoute:a})},[u,i.pathname,i.hash,p]),w=n.useCallback(async e=>{const{path:a="/",line:o=1,url:d}=e;let r=d;if(!d)try{const m=await fetch(E(U.RESOLVE_ROUTE_BY_PATH),{method:"POST",body:JSON.stringify(a+(o?`:${o}`:""))}),{route:y}=await m.json();r=y?.slug??y?.url??void 0}catch(m){console.error(m)}if(!r)return;r=r==="/"?"/":L(r),T(r,i,!!d)||(console.info("[PM] Update route to: ",r),await x({navigate:R,to:r,origin:"pm"}))},[i]),g=n.useCallback(async e=>{const{action:a}=e;switch(a){case"back":window.history.back();break;case"forward":window.history.forward();break;case"reload":window.location.reload();break}},[]),b=n.useCallback(e=>{window.scrollTo({top:e.position.absolute,behavior:"instant"})},[]),k=n.useCallback(e=>{h(e.colorSchema)},[h]);return P(()=>{if(!t)return;const e=async a=>{if(!A(a.origin))return;const o=a.data;switch(o.type){case"initialize":f(a);break;case"route-update":if(!s.current)return;w(o);break;case"location-update":if(!s.current)return;g(o);break;case"scroll-update":if(!s.current)return;b(o);break;case"editor-scroll-update":if(!s.current)return;D(o.percentScrolled,o.sequenceNumber);break;case"color-schema-update":if(!s.current)return;k(o);break}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t,f,w,g,b,k]),n.createElement(z.Provider,{value:{sendMessage:u}},l)}function A(l){const t=new URL(l);return c(t.hostname,"localhost")||c(t.hostname,"127.0.0.1")||c(t.hostname,"blueharvest.cloud")||c(t.hostname,"bhstage.cloud")||c(t.hostname,"cloud.redocly.com")||c(t.hostname,"cloud.eu.redocly.com")||c(t.hostname,"cba.au.redocly.com")}export{z as PostMessageContext,Z as PostMessageProvider};
@@ -1 +1 @@
1
- import e from"react";import{ThemeDataContext as l,SearchSessionProvider as d}from"@redocly/theme/core/contexts";import{useAnchorPositioning as g,useBreadcrumbs as p,useBanner as b,useCatalogClassic as f,useCurrentProduct as h,useGlobalData as s,useI18n as C,useI18nConfig as P,useL10n as S,useL10nConfig as T,usePageData as r,usePageSharedData as D,usePageVersions as M,usePreloadHistory as k,useProducts as v,useUserMenu as F,useSubmitFeedback as E,useTranslate as L,useSidebarSiblingsData as R,usePageProps as y,useUserTeams as O,useMarkdownText as A,useMarkdocRenderer as w,useCodeHighlight as x,useLoadAndNavigate as I,useCatalog as j,useCatalogSort as B,useCatalogSearch as H,useFetchCatalogEntities as N,useFetchCatalogEntitiesRelations as U,useFetchCatalogEntityRevisions as _,useTelemetry as n,useMcpData as G}from"../../app/hooks";import{Link as Q}from"../../app/Link";import{useFacetQuery as V,useSearch as W,useAiSearch as q}from"../../app/search";import{useSidebarItems as z}from"../../app/Sidebar/useSidebarItems";import{deepMerge as J}from"../../../utils/object/deep-merge";import{allowlistObject as K}from"../../../utils/object/allowlist-object";const X=["title","description","seo","sidebar","excludeFromSearch","template","redirects","rbac","metadata","slug","codeSnippet","breadcrumbs","markdown","seo","navbar","footer","colorMode","feedback","navigation"],Y={useAnchorPositioning:g,useBreadcrumbs:p,useBanner:b,useCatalog:j,useCatalogSort:B,useCatalogSearch:H,useFetchCatalogEntities:N,useFetchCatalogEntitiesRelations:U,useFetchCatalogEntityRevisions:_,useCatalogClassic:f,useCurrentProduct:h,useGlobalData:s,useSearch:W,useAiSearch:q,useFacetQuery:V,useI18n:C,useI18nConfig:P,useL10n:S,useL10nConfig:T,usePageData:r,usePageSharedData:D,usePageVersions:M,usePreloadHistory:k,useProducts:v,useUserMenu:F,useSidebarItems:z,useSidebarSiblingsData:R,useSubmitFeedback:E,useTranslate:L,useUserTeams:O,usePageProps:y,useMarkdownText:A,useMarkdocRenderer:w,useCodeHighlight:x,useLoadAndNavigate:I,useTelemetry:n,useOtelTelemetry:n,useMcpData:G},Z={LinkComponent:Q};function ue({children:u}){const{props:t}=r()||{},a=s(),o=e.useMemo(()=>a||{},[a]),i=e.useMemo(()=>{const m=K(t?.frontmatter||{},X);return J(o,m)},[o,t?.frontmatter]),c={hooks:Y,components:Z,config:i};return e.createElement(d,null,e.createElement(l.Provider,{value:c},u))}export{ue as ThemeDataProvider};
1
+ import e from"react";import{ThemeDataContext as m,SearchSessionProvider as d}from"@redocly/theme/core/contexts";import{useAnchorPositioning as g,useBreadcrumbs as p,useBanner as b,useCatalogClassic as f,useCurrentProduct as h,useGlobalData as s,useI18n as C,useI18nConfig as P,useL10n as S,useL10nConfig as T,usePageData as r,usePageSharedData as D,usePageVersions as M,usePreloadHistory as k,useProducts as v,useUserMenu as F,useSubmitFeedback as y,useTranslate as E,useTranslationKeys as L,useSidebarSiblingsData as R,usePageProps as O,useUserTeams as A,useMarkdownText as w,useMarkdocRenderer as x,useCodeHighlight as I,useLoadAndNavigate as j,useCatalog as B,useCatalogSort as H,useCatalogSearch as N,useFetchCatalogEntities as U,useFetchCatalogEntitiesRelations as _,useFetchCatalogEntityRevisions as G,useTelemetry as n,useMcpData as K}from"../../app/hooks";import{Link as Q}from"../../app/Link";import{useFacetQuery as V,useSearch as W,useAiSearch as q}from"../../app/search";import{useSidebarItems as z}from"../../app/Sidebar/useSidebarItems";import{deepMerge as J}from"../../../utils/object/deep-merge";import{allowlistObject as X}from"../../../utils/object/allowlist-object";const Y=["title","description","seo","sidebar","excludeFromSearch","template","redirects","rbac","metadata","slug","codeSnippet","breadcrumbs","markdown","seo","navbar","footer","colorMode","feedback","navigation"],Z={useAnchorPositioning:g,useBreadcrumbs:p,useBanner:b,useCatalog:B,useCatalogSort:H,useCatalogSearch:N,useFetchCatalogEntities:U,useFetchCatalogEntitiesRelations:_,useFetchCatalogEntityRevisions:G,useCatalogClassic:f,useCurrentProduct:h,useGlobalData:s,useSearch:W,useAiSearch:q,useFacetQuery:V,useI18n:C,useI18nConfig:P,useL10n:S,useL10nConfig:T,usePageData:r,usePageSharedData:D,usePageVersions:M,usePreloadHistory:k,useProducts:v,useUserMenu:F,useSidebarItems:z,useSidebarSiblingsData:R,useSubmitFeedback:y,useTranslate:E,useTranslationKeys:L,useUserTeams:A,usePageProps:O,useMarkdownText:w,useMarkdocRenderer:x,useCodeHighlight:I,useLoadAndNavigate:j,useTelemetry:n,useOtelTelemetry:n,useMcpData:K},$={LinkComponent:Q};function ie({children:u}){const{props:t}=r()||{},a=s(),o=e.useMemo(()=>a||{},[a]),i=e.useMemo(()=>{const l=X(t?.frontmatter||{},Y);return J(o,l)},[o,t?.frontmatter]),c={hooks:Z,components:$,config:i};return e.createElement(d,null,e.createElement(m.Provider,{value:c},u))}export{ie as ThemeDataProvider};
@@ -1 +1 @@
1
- import*as I from"react";import{withPathPrefix as v}from"@redocly/theme/core/utils";import{appendSearchParams as j}from"../utils";import{mapObject as z}from"../../utils/object/map-object.js";import{mapObjectAsync as A}from"../../utils/object/map-object-async.js";import{isFunction as G}from"../../utils/guards/is-function.js";import{isBrowser as N}from"../../utils/env/is-browser.js";import{GLOBAL_DATA_URL as $}from"../../constants/common.js";import{getClientPageDataUrl as V}from"../../utils/url/get-client-page-data-url.js";import{getSharedDataUrl as B}from"../../utils/url/get-shared-data-url.js";import{normalizeRouteSlug as l}from"../../utils/path/normalize-route-slug.js";import{templates as g}from"./generated/templates.js";import{AsyncCache as S}from"./cache.js";import{fetch as y}from"./fetch.js";import{updateTranslations as K}from"../app/l10n";import{PageMissingDefaultExportError as b}from"./errors/page-missing-default-export-error.js";const d=new S,i=new S;let D=null,m,W;const u=new Set;async function q(){const o=await(await y(v($))).json();return m=o,o}async function C(o){const t=v(B(o)),e=process.env.NODE_ENV==="development"?t:encodeURI(t);return await(await y(e)).json()}async function F(o){return i.has(o)||i.set(o,C(o)),i.get(o)}function lt(){const[,o]=I.useReducer(t=>t+1,0);typeof window>"u"||process.env.NODE_ENV!=="production"&&(window.__redoclyRefresh=o)}function _(o,t){const e=t?new URLSearchParams(t).get("revision"):null,a=t?new URLSearchParams(t).get("version"):null;return e||a?`${o}?${e?`revision=${encodeURIComponent(e)}`:""}${a?`&version=${encodeURIComponent(a)}`:""}`.trim():o}class p{static markdocComponents={};static async updateTemplate(t,e,a){const n=l(t);g[a]=()=>e;const r=l(window.location.pathname);n===r&&(await this.load(t,!0),window.__redoclyRefresh())}static async update(t){const e=l(t),a=l(window.location.pathname);if(e!==a){d.delete(e);return}await this.load(t,!0),window.__redoclyRefresh()}static async updateSharedData(t){await i.set(t,C(t)),window.__redoclyRefresh()}static addGlobalDataListener(t){u.add(t)}static removeGlobalDataListener(t){u.delete(t)}static updateGlobalData(t){u.forEach(e=>e(t)),m=t,K(m.l10n)}static async tryLoad(t,e,a){try{return await this.load(t,e,a)}catch{return null}}static async loadDynamicMarkdocComponents(t){const e=this.markdocComponents?.[t];e&&G(e)&&Object.assign(this.markdocComponents,await e())}static async load(t,e,a){const n=l(t),r=_(n,a),s=await d.get(r);if(!m&&!D&&(D=q()),s&&!e)return s;{const[f]=await Promise.all([d.set(r,c(a)),D]);return f}async function c(f){const U=V(n),k=j(U,f),E=await y(k),{templateId:R,sharedDataIds:w,props:P,userData:T,versions:L,redirectTo:M,isPublic:O}=await E.json(),[x]=await Promise.all([(async()=>p.loadTemplate(R))(),Promise.all((P.dynamicMarkdocComponents||[]).map(h=>p.loadDynamicMarkdocComponents(h))),w?A(w,h=>F(h)):Promise.resolve({})]);return{templateId:R,slug:n,sharedDataIds:w,redirectTo:M,props:P,Template:x,userData:T,versions:L,isPublic:O}}}static loadSync(t){const e=l(t),a=_(e,typeof window<"u"?window.location.search:void 0),n=d.tryGetSync(a);if(!n)return;const r=z(n.sharedDataIds,s=>i.getSync(s,"Data dependency not cached ahead of time: "+s));return{...n,sharedData:r}}static async prepare(t,e,a,n){const r=t.templateId;if(await Promise.all((t.props.dynamicMarkdocComponents||[]).map(c=>this.loadDynamicMarkdocComponents(c))),e)for(const c of Object.keys(e))i.setSync(c,e[c]);const s=await p.loadTemplate(r);s&&d.setSync(t.slug,{templateId:r,slug:t.slug,props:t.props,sharedDataIds:t.sharedDataIds||{},Template:s,userData:t.userInfo,versions:t.versions,isPublic:t.isPublic}),m=a,W=n}static async loadTemplate(t){try{const e=await g[t]();if(t.endsWith("page.tsx")&&!e.default)throw new b(t);const a=e.default;return typeof a=="function"?a:a.default}catch(e){if(!(process.env.NODE_ENV==="development")||!N())throw e;return e instanceof b?()=>(window.location.reload(),null):(window.location.reload(),null)}}static clear(){u.clear(),i.clear(),d.clear()}}(typeof window<"u"?window:global).__LOADER=p;export{p as Loader,F as getSharedData,m as globalData,W as initLocale,lt as useRefresh};
1
+ import*as x from"react";import{withPathPrefix as j}from"@redocly/theme/core/utils";import{appendSearchParams as z}from"../utils";import{mapObject as I}from"../../utils/object/map-object.js";import{mapObjectAsync as A}from"../../utils/object/map-object-async.js";import{isFunction as G}from"../../utils/guards/is-function.js";import{isBrowser as N}from"../../utils/env/is-browser.js";import{GLOBAL_DATA_URL as $}from"../../constants/common.js";import{getClientPageDataUrl as V}from"../../utils/url/get-client-page-data-url.js";import{getSharedDataFetchUrl as B}from"../../utils/url/get-shared-data-fetch-url.js";import{normalizeRouteSlug as d}from"../../utils/path/normalize-route-slug.js";import{templates as v}from"./generated/templates.js";import{AsyncCache as g}from"./cache.js";import{fetch as y}from"./fetch.js";import{updateTranslations as F}from"../app/l10n";import{PageMissingDefaultExportError as S}from"./errors/page-missing-default-export-error.js";const i=new g,c=new g;let D=null,m,K;const f=new Set;async function W(){const o=await(await y(j($))).json();return m=o,o}async function b(o){const t=B(o,process.env.NODE_ENV==="development");return await(await y(t)).json()}async function q(o){return c.has(o)||c.set(o,b(o)),c.get(o)}function lt(){const[,o]=x.useReducer(t=>t+1,0);typeof window>"u"||process.env.NODE_ENV!=="production"&&(window.__redoclyRefresh=o)}function C(o,t){const e=t?new URLSearchParams(t).get("revision"):null,a=t?new URLSearchParams(t).get("version"):null;return e||a?`${o}?${e?`revision=${encodeURIComponent(e)}`:""}${a?`&version=${encodeURIComponent(a)}`:""}`.trim():o}class p{static markdocComponents={};static async updateTemplate(t,e,a){const n=d(t);v[a]=()=>e;const r=d(window.location.pathname);n===r&&(await this.load(t,!0),window.__redoclyRefresh())}static async update(t){const e=d(t),a=d(window.location.pathname);if(e!==a){i.delete(e);return}await this.load(t,!0),window.__redoclyRefresh()}static async updateSharedData(t){await c.set(t,b(t)),window.__redoclyRefresh()}static addGlobalDataListener(t){f.add(t)}static removeGlobalDataListener(t){f.delete(t)}static updateGlobalData(t){f.forEach(e=>e(t)),m=t,F(m.l10n)}static async tryLoad(t,e,a){try{return await this.load(t,e,a)}catch{return null}}static async loadDynamicMarkdocComponents(t){const e=this.markdocComponents?.[t];e&&G(e)&&Object.assign(this.markdocComponents,await e())}static async load(t,e,a){const n=d(t),r=C(n,a);if(!m&&!D&&(D=W()),!e&&i.has(r)){const u=await i.get(r);if(u)return u}const[s]=await Promise.all([i.set(r,l(a)),D]);return s;async function l(u){const _=V(n),k=z(_,u),E=await y(k),{templateId:P,sharedDataIds:w,props:R,userData:T,versions:L,redirectTo:M,isPublic:O}=await E.json(),[U]=await Promise.all([(async()=>p.loadTemplate(P))(),Promise.all((R.dynamicMarkdocComponents||[]).map(h=>p.loadDynamicMarkdocComponents(h))),w?A(w,h=>q(h)):Promise.resolve({})]);return{templateId:P,slug:n,sharedDataIds:w,redirectTo:M,props:R,Template:U,userData:T,versions:L,isPublic:O}}}static loadSync(t){const e=d(t),a=C(e,typeof window<"u"?window.location.search:void 0),n=i.tryGetSync(a);if(!n)return;const r=I(n.sharedDataIds,s=>c.getSync(s,"Data dependency not cached ahead of time: "+s));return{...n,sharedData:r}}static async prepare(t,e,a,n){const r=t.templateId;if(await Promise.all((t.props.dynamicMarkdocComponents||[]).map(l=>this.loadDynamicMarkdocComponents(l))),e)for(const l of Object.keys(e))c.setSync(l,e[l]);const s=await p.loadTemplate(r);s&&i.setSync(t.slug,{templateId:r,slug:t.slug,props:t.props,sharedDataIds:t.sharedDataIds||{},Template:s,userData:t.userInfo,versions:t.versions,isPublic:t.isPublic}),m=a,K=n}static async loadTemplate(t){try{const e=await v[t]();if(t.endsWith("page.tsx")&&!e.default)throw new S(t);const a=e.default;return typeof a=="function"?a:a.default}catch(e){if(!(process.env.NODE_ENV==="development")||!N())throw e;return e instanceof S?()=>(window.location.reload(),null):(window.location.reload(),null)}}static clear(){f.clear(),c.clear(),i.clear()}}(typeof window<"u"?window:global).__LOADER=p;export{p as Loader,q as getSharedData,m as globalData,K as initLocale,lt as useRefresh};
@@ -0,0 +1,10 @@
1
+ import type { PageProps } from '@redocly/config';
2
+ import type { ApiItem, MarkdocOptions } from '@redocly/api-docs';
3
+ /**
4
+ * Prefix the store's absolute routing fields (`link`, `routeSlug`) so the api-docs
5
+ * client router matches `location.pathname`, which carries the path prefix. Relative
6
+ * `content` links stay untouched (the UI joins `basePath` at render).
7
+ */
8
+ export declare function applyPathPrefixToApiItems(items: ApiItem[]): ApiItem[];
9
+ export declare function useCollectMarkdocOptions(markdown: PageProps['markdown'], markdocOptions?: MarkdocOptions): MarkdocOptions;
10
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ import{useMemo as a,useRef as p}from"react";import{components as u}from"@redocly-markdoc/components";import{schema as e}from"@redocly-markdoc/schema";import{withPathPrefix as n}from"@redocly/theme/core/utils";import{tags as f,components as c}from"@redocly/theme/markdoc/default";import*as l from"../../app/markdoc/custom-components/index.js";import{parsePartials as g}from"../../templates/openapi-docs/helpers.js";import*as d from"../../../markdoc/nodes/index.js";import h from"../../../markdoc/tags/index.js";import{normalizeCustomTags as k}from"../../../markdoc/helpers/normalize-custom-tags.js";import{deepEqual as C}from"../../../utils/object/deep-equal.js";function T(t){return t.map(r=>{const o={...r};return typeof o.link=="string"&&(o.link=n(o.link)),typeof o.routeSlug=="string"&&(o.routeSlug=n(o.routeSlug)),Array.isArray(o.items)&&(o.items=T(o.items)),o})}function m(t){const r=p(t);return C(r.current,t)||(r.current=t),r.current}function w(t,r){const o=m(t),s=m(r);return a(()=>{const i=globalThis.__LOADER?.markdocComponents??{};return{...s,...o,tags:{...s?.tags??{},...h,...f,...k(e?.tags??{})},nodes:{...s?.nodes??{},...d,...e?.nodes??{}},functions:{...e?.functions??{}},components:{...s?.components??{},...l,...c,...u,...i},partials:g(o?.partials)}},[o,s])}export{T as applyPathPrefixToApiItems,w as useCollectMarkdocOptions};
@@ -0,0 +1,17 @@
1
+ import { LayoutVariant } from '@redocly/theme/components/SidebarActions/SidebarActions';
2
+ import type { ReactElement } from 'react';
3
+ import type { MdOptions } from '@redocly/config';
4
+ export type ApiDocsTemplateProps = {
5
+ pageProps: {
6
+ apiOptions?: {
7
+ layout?: LayoutVariant;
8
+ };
9
+ settings?: {
10
+ baseUrlPath?: string;
11
+ };
12
+ metadata?: Record<string, unknown>;
13
+ markdown?: MdOptions;
14
+ };
15
+ };
16
+ export default function ApiDocs({ pageProps: { markdown, apiOptions, metadata }, }: ApiDocsTemplateProps): ReactElement;
17
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1,14 @@
1
+ import*as t from"react";import{useMemo as i}from"react";import A from"styled-components";import{RedoclyApiDocs as b,createMarkdocAdapter as k}from"@redocly/api-docs";import{LayoutVariant as T}from"@redocly/theme/components/SidebarActions/SidebarActions";import{ThreePanelLayout as B}from"@redocly/theme/layouts/ThreePanelLayout";import{CatalogClassicInfoBlock as U}from"@redocly/theme/components/CatalogClassic/CatalogClassicInfoBlock";import{Breadcrumbs as x}from"@redocly/theme/components/Breadcrumbs/Breadcrumbs";import{withPathPrefix as s}from"@redocly/theme/core/utils";import{usePageSharedData as D,useUserClaims as I}from"../../app/hooks";import{ServerRoutes as p}from"../../../constants/api.js";import{isBrowser as M}from"../../../utils/env/is-browser.js";import{CLIENT_TELEMETRY_ENABLED as $}from"../../constants/common.js";import{PACKAGE_NAME as N}from"../../../config/product-gates";import{safeParseFunction as Y}from"../../templates/openapi-docs/helpers.js";import{applyPathPrefixToApiItems as H,useCollectMarkdocOptions as V}from"./helpers";function W({pageProps:{markdown:c,apiOptions:f,metadata:R}}){const u=D("apiDocsStore"),{items:l,options:o,store:w,baseSlug:r}=u,n=M(),E=I(),a=V(c,o.markdocOptions),m=i(()=>s(r),[r]),C=i(()=>m===r?l:H(l),[l,r,m]),v=i(()=>k(a),[a]),y=i(()=>{const S=n?`${window.location.origin}${s(p.REPLAY_OAUTH2_CALLBACK)}`:void 0;let d=o.corsProxyUrl;if(d===void 0){const e=s(`${p.CORS_PROXY}/`);d=n?new URL(e,window.location.origin).toString():e}const g=o.events,h=g?Object.entries(g).reduce((e,[O,_])=>{const P=Y(_);return P&&(e[O]=P),e},{}):void 0;return{...o,markdocOptions:a,oAuth2RedirectURI:S,corsProxyUrl:d,userClaims:E,...h&&{events:h},unstable_hooks:{...o.unstable_hooks,MiddlePanelHeader:()=>t.createElement(x,null)}}},[o,a,n,E]);if(!u)return t.createElement("div",null,"Something went wrong");const L=n?{collectorUrl:new URL(s(p.OTEL_TRACES),window.location.origin).toString(),disabled:!$,serviceVersion:`${N}@${process.env.REDOCLY_PORTAL_VERSION}`}:void 0;return t.createElement(K,null,t.createElement(z,{layout:f?.layout},t.createElement(U,{metadata:R})),t.createElement(b,{items:C,store:w,basePath:m,options:y,markdownAdapter:v,layout:f?.layout,telemetryConfig:L}))}const z=A(B)`
2
+ && {
3
+ padding-right: ${({layout:c})=>c===T.THREE_PANEL?"calc(var(--panel-gap-horizontal) * 2)":"var(--panel-gap-horizontal)"};
4
+ }
5
+ `,K=A.main`
6
+ div[id],
7
+ a[id],
8
+ a[data-section-id],
9
+ div[data-section-id] {
10
+ scroll-margin-top: calc(var(--navbar-height) + var(--banner-height));
11
+ }
12
+
13
+ --sidebar-width: 0px;
14
+ `;export{W as default};
@@ -13,7 +13,6 @@ export type MenuItemProps = {
13
13
  export type LayoutsControl = {
14
14
  onChangeViewClick: () => void;
15
15
  onChangeCollapseSidebarClick: () => void;
16
- showChangeLayoutButton: boolean;
17
16
  layout: LayoutVariant;
18
17
  collapsedSidebar: boolean;
19
18
  isApiDocs: boolean;
@@ -1,4 +1,3 @@
1
- import type { ResolvedPageData } from '../../types/index.js';
2
1
  import type { ResolvedNavItem, ResolvedNavItemWithLink } from '@redocly/config';
3
2
  export declare function getNavbarElement(): HTMLElement;
4
3
  export declare function replaceHashInColor(color: string): string;
@@ -15,7 +14,6 @@ export declare function getSiblingPages(items: ResolvedNavItem[] | undefined, cu
15
14
  prevPage?: undefined;
16
15
  nextPage?: undefined;
17
16
  };
18
- export declare function getRouteBasePath({ templateId, sharedData }: ResolvedPageData): string;
19
17
  export declare function isInIframe(): boolean;
20
18
  export declare function isForcedNavigationLinkClick(event: MouseEvent | React.MouseEvent, target?: string): boolean;
21
19
  export declare function appendSearchParams(route: string, search?: string): string;
@@ -1 +1 @@
1
- import{withPathPrefix as a}from"@redocly/theme/core/utils";import{OPENAPI_DOCS_TEMPLATE_ID as p}from"../../constants/common";import{normalizeRouteSlug as c}from"../../utils/path/normalize-route-slug";function h(){const t=typeof document<"u"&&document.querySelectorAll("nav")||[];for(let e=0;e<t.length;e++)if(t[e].getBoundingClientRect().height>1)return t[e];return t[0]||null}function m(t){return t.replace("#","%23")}function x(t){return t==="hook"?"event":t}function l(t,e=[]){for(const r of t)e.push(r),Array.isArray(r?.items)&&l(r.items,e);return e}function P(t,e){const r=c(e),o=t?l(t).filter(n=>!n.external&&!!n.link):[],i=o.findIndex(({link:n})=>c(a(n))===r);return i!==-1?{prevPage:u(o,i,"prev"),nextPage:u(o,i,"next")}:{}}function u(t,e,r,o=1){const i=t[e]?.routeSlug;switch(r){case"next":{const n=t[e+o];return!i||n?.routeSlug!==i?n:u(t,e,r,o+1)}case"prev":{const n=t[e-o];return i?n?.routeSlug!==i?t.find(f=>f.link===n?.routeSlug)||n:u(t,e,r,o+1):n}default:return}}function w({templateId:t,sharedData:e}){if(t===p){const{basePath:r}=e?.openAPIDocsStore||{};return a(r?`${r}/*`:"*")}return"*"}function S(){try{return typeof window<"u"&&window!==window.parent}catch{return!0}}function y(t,e){return t.ctrlKey||t.metaKey||t.altKey||t.shiftKey||e==="_blank"}function k(t,e){return e?`${t}${e}`:window?.location?.search?`${t}${window.location.search}`:t}export{k as appendSearchParams,l as flattenNestedItems,h as getNavbarElement,w as getRouteBasePath,P as getSiblingPages,y as isForcedNavigationLinkClick,S as isInIframe,x as normalizeRedocBadge,m as replaceHashInColor};
1
+ import{withPathPrefix as f}from"@redocly/theme/core/utils";import{normalizeRouteSlug as a}from"../../utils/path/normalize-route-slug";function d(){const n=typeof document<"u"&&document.querySelectorAll("nav")||[];for(let e=0;e<n.length;e++)if(n[e].getBoundingClientRect().height>1)return n[e];return n[0]||null}function s(n){return n.replace("#","%23")}function h(n){return n==="hook"?"event":n}function c(n,e=[]){for(const r of n)e.push(r),Array.isArray(r?.items)&&c(r.items,e);return e}function m(n,e){const r=a(e),i=n?c(n).filter(t=>!t.external&&!!t.link):[],o=i.findIndex(({link:t})=>a(f(t))===r);return o!==-1?{prevPage:u(i,o,"prev"),nextPage:u(i,o,"next")}:{}}function u(n,e,r,i=1){const o=n[e]?.routeSlug;switch(r){case"next":{const t=n[e+i];return!o||t?.routeSlug!==o?t:u(n,e,r,i+1)}case"prev":{const t=n[e-i];return o?t?.routeSlug!==o?n.find(l=>l.link===t?.routeSlug)||t:u(n,e,r,i+1):t}default:return}}function w(){try{return typeof window<"u"&&window!==window.parent}catch{return!0}}function x(n,e){return n.ctrlKey||n.metaKey||n.altKey||n.shiftKey||e==="_blank"}function S(n,e){return e?`${n}${e}`:window?.location?.search?`${n}${window.location.search}`:n}export{S as appendSearchParams,c as flattenNestedItems,d as getNavbarElement,m as getSiblingPages,x as isForcedNavigationLinkClick,w as isInIframe,h as normalizeRedocBadge,s as replaceHashInColor};
@@ -11,6 +11,7 @@ export declare const POST_LOGOUT_COOKIE_NAME = "post_logout";
11
11
  export declare const OPENAPI_DOCS_TEMPLATE_ID = "openapi_docs";
12
12
  export declare const ASYNC_API_DOCS_TEMPLATE_ID = "asyncapi_docs";
13
13
  export declare const GRAPHQL_TEMPLATE_ID = "graphql_docs";
14
+ export declare const API_DOCS_TEMPLATE_ID = "api_docs";
14
15
  export declare const GRAPHQL_SPEC_SLUG = "/_spec-gql";
15
16
  export declare const CUSTOM_MARKDOC_OPTIONS_PATH = "markdoc";
16
17
  export declare const CUSTOM_MARKDOC_TAGS_PATH = "tags";
@@ -51,7 +52,8 @@ export declare enum FEEDBACK_TYPES {
51
52
  SCALE = "scale"
52
53
  }
53
54
  export declare enum RbacFeatures {
54
- AI_SEARCH = "aiSearch"
55
+ AI_SEARCH = "aiSearch",
56
+ MCP = "mcp"
55
57
  }
56
58
  export declare const DEV_LOGIN_SLUG = "/login";
57
59
  export declare const INVITE_SLUG = "/invite";
@@ -106,6 +108,14 @@ export declare const FEATURE: {
106
108
  readonly mcp: 'mcp';
107
109
  readonly mcpGateway: 'mcpGateway';
108
110
  readonly mcpMode: 'mcpMode';
111
+ readonly gatewayFetchRatePerMin: 'gatewayFetchRatePerMin';
112
+ readonly gatewayFetchQuotaPerDay: 'gatewayFetchQuotaPerDay';
113
+ readonly gatewayFetchBudgetPerExec: 'gatewayFetchBudgetPerExec';
109
114
  readonly banner: 'banner';
110
115
  };
116
+ export declare const GATEWAY_FETCH_LIMIT_DEFAULTS: {
117
+ readonly ratePerMin: 60;
118
+ readonly quotaPerDay: 2000;
119
+ readonly budgetPerExec: 25;
120
+ };
111
121
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- const a={AUTHORIZATION:"authorization",IDP_ID_TOKEN:"idp_id_token",IDP_ACCESS_TOKEN:"idp_access_token",IDP_REFRESH_TOKEN:"idp_refresh_token",FEDERATED_ACCESS_TOKEN:"federated_access_token",FEDERATED_ID_TOKEN:"federated_id_token"},n="post_logout",_="openapi_docs",E="asyncapi_docs",p="graphql_docs",i="/_spec-gql",A="markdoc",S="tags",c="*",O={[c]:"read"},d=["openid","email"],L=1440*60,I=720*60*60,T="anonymous",R="authenticated",l="**",C="Reunite",x="translations.yaml",P="redocly.yaml",D="@redocly/theme",N="@theme",m="@skills",U="SKILL.md",u="/.well-known/agent-skills",g="/.well-known/agent-card.json",M="/a2a",h="/.well-known/mcp/server-card.json",F="/app-data.json",k="/eject-component";var t;(function(o){o.BUILD="build",o.DEVELOP="develop",o.PREPARE="prepare"})(t||(t={}));var e;(function(o){o.RATING="rating",o.SENTIMENT="sentiment",o.COMMENT="comment",o.MOOD="mood",o.PROBLEM="problem",o.SCALE="scale"})(e||(e={}));var r;(function(o){o.AI_SEARCH="aiSearch"})(r||(r={}));const b="/login",G="/invite",v={AUTH0_PASS:"/auth/auth0-pass"},H={NotExist:"ENOENT"},y="default_locale",K="sidebar-",w="PUBLIC_",B="branch.",f=["BROKEN_LINK","MARKDOC","RESOLVE"],V=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","palette","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],s="redocly_category",j="redocly_product",q="redocly_version",X="redocly_teams",Q=s,W={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",kvStorageLimit:"kvStorageLimit",mcp:"mcp",mcpGateway:"mcpGateway",mcpMode:"mcpMode",banner:"banner"};export{M as A2A_SLUG,g as AGENT_CARD_SLUG,u as AGENT_SKILLS_BASE,E as ASYNC_API_DOCS_TEMPLATE_ID,a as AuthCookieNames,B as BRANCH_ENV_PREFIX,P as CONFIG_FILE_NAME,A as CUSTOM_MARKDOC_OPTIONS_PATH,S as CUSTOM_MARKDOC_TAGS_PATH,T as DEFAULT_ANONYMOUS_VISITOR_TEAM,R as DEFAULT_AUTHENTICATED_TEAM,L as DEFAULT_COOKIE_EXPIRATION,y as DEFAULT_LOCALE_PLACEHOLDER,l as DEFAULT_RBAC_SCOPE,C as DEFAULT_SSO_IDP_TITLE,D as DEFAULT_THEME_NAME,b as DEV_LOGIN_SLUG,k as EJECT_COMPONENT_URL,v as ExternalRoutes,W as FEATURE,e as FEEDBACK_TYPES,H as FsErrors,F as GLOBAL_DATA_URL,i as GRAPHQL_SPEC_SLUG,p as GRAPHQL_TEMPLATE_ID,G as INVITE_SLUG,f as MARKDOC_ERROR_TYPES,h as MCP_SERVER_CARD_SLUG,_ as OPENAPI_DOCS_TEMPLATE_ID,I as POST_LOGOUT_COOKIE_EXPIRATION,n as POST_LOGOUT_COOKIE_NAME,w as PUBLIC_ENV_PREFIX,O as PUBLIC_RBAC_SCOPE_ITEM,c as RBAC_ALL_OTHER_TEAMS,d as REQUIRED_OIDC_SCOPES,r as RbacFeatures,s as SEARCH_CATEGORY_FIELD,Q as SEARCH_GROUP_FACET_FIELD,j as SEARCH_PRODUCT_FIELD,X as SEARCH_RBAC_FIELD,q as SEARCH_VERSION_FIELD,K as SIDEBAR_PREFIX,x as TRANSLATIONS_FILE_NAME,V as UI_ACCESSIBLE_CONFIG_PROPS,m as USER_SKILLS_ALIAS,U as USER_SKILL_FILENAME,N as USER_THEME_ALIAS,t as cliCommandNames};
1
+ const s={AUTHORIZATION:"authorization",IDP_ID_TOKEN:"idp_id_token",IDP_ACCESS_TOKEN:"idp_access_token",IDP_REFRESH_TOKEN:"idp_refresh_token",FEDERATED_ACCESS_TOKEN:"federated_access_token",FEDERATED_ID_TOKEN:"federated_id_token"},n="post_logout",_="openapi_docs",E="asyncapi_docs",p="graphql_docs",A="api_docs",i="/_spec-gql",S="markdoc",d="tags",c="*",L={[c]:"read"},T=["openid","email"],I=1440*60,O=720*60*60,R="anonymous",l="authenticated",x="**",C="Reunite",P="translations.yaml",D="redocly.yaml",N="@redocly/theme",g="@theme",m="@skills",u="SKILL.md",M="/.well-known/agent-skills",U="/.well-known/agent-card.json",F="/a2a",h="/.well-known/mcp/server-card.json",y="/app-data.json",k="/eject-component";var t;(function(e){e.BUILD="build",e.DEVELOP="develop",e.PREPARE="prepare"})(t||(t={}));var o;(function(e){e.RATING="rating",e.SENTIMENT="sentiment",e.COMMENT="comment",e.MOOD="mood",e.PROBLEM="problem",e.SCALE="scale"})(o||(o={}));var r;(function(e){e.AI_SEARCH="aiSearch",e.MCP="mcp"})(r||(r={}));const b="/login",G="/invite",v={AUTH0_PASS:"/auth/auth0-pass"},H={NotExist:"ENOENT"},w="default_locale",K="sidebar-",B="PUBLIC_",f="branch.",V=["BROKEN_LINK","MARKDOC","RESOLVE"],j=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","palette","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],a="redocly_category",q="redocly_product",Q="redocly_version",X="redocly_teams",W=a,z={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",kvStorageLimit:"kvStorageLimit",mcp:"mcp",mcpGateway:"mcpGateway",mcpMode:"mcpMode",gatewayFetchRatePerMin:"gatewayFetchRatePerMin",gatewayFetchQuotaPerDay:"gatewayFetchQuotaPerDay",gatewayFetchBudgetPerExec:"gatewayFetchBudgetPerExec",banner:"banner"},J={ratePerMin:60,quotaPerDay:2e3,budgetPerExec:25};export{F as A2A_SLUG,U as AGENT_CARD_SLUG,M as AGENT_SKILLS_BASE,A as API_DOCS_TEMPLATE_ID,E as ASYNC_API_DOCS_TEMPLATE_ID,s as AuthCookieNames,f as BRANCH_ENV_PREFIX,D as CONFIG_FILE_NAME,S as CUSTOM_MARKDOC_OPTIONS_PATH,d as CUSTOM_MARKDOC_TAGS_PATH,R as DEFAULT_ANONYMOUS_VISITOR_TEAM,l as DEFAULT_AUTHENTICATED_TEAM,I as DEFAULT_COOKIE_EXPIRATION,w as DEFAULT_LOCALE_PLACEHOLDER,x as DEFAULT_RBAC_SCOPE,C as DEFAULT_SSO_IDP_TITLE,N as DEFAULT_THEME_NAME,b as DEV_LOGIN_SLUG,k as EJECT_COMPONENT_URL,v as ExternalRoutes,z as FEATURE,o as FEEDBACK_TYPES,H as FsErrors,J as GATEWAY_FETCH_LIMIT_DEFAULTS,y as GLOBAL_DATA_URL,i as GRAPHQL_SPEC_SLUG,p as GRAPHQL_TEMPLATE_ID,G as INVITE_SLUG,V as MARKDOC_ERROR_TYPES,h as MCP_SERVER_CARD_SLUG,_ as OPENAPI_DOCS_TEMPLATE_ID,O as POST_LOGOUT_COOKIE_EXPIRATION,n as POST_LOGOUT_COOKIE_NAME,B as PUBLIC_ENV_PREFIX,L as PUBLIC_RBAC_SCOPE_ITEM,c as RBAC_ALL_OTHER_TEAMS,T as REQUIRED_OIDC_SCOPES,r as RbacFeatures,a as SEARCH_CATEGORY_FIELD,W as SEARCH_GROUP_FACET_FIELD,q as SEARCH_PRODUCT_FIELD,X as SEARCH_RBAC_FIELD,Q as SEARCH_VERSION_FIELD,K as SIDEBAR_PREFIX,P as TRANSLATIONS_FILE_NAME,j as UI_ACCESSIBLE_CONFIG_PROPS,m as USER_SKILLS_ALIAS,u as USER_SKILL_FILENAME,g as USER_THEME_ALIAS,t as cliCommandNames};