@redocly/realm 0.136.0-next.6 → 0.136.0-next.8

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 (251) hide show
  1. package/CHANGELOG.md +49 -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/useActions.js +1 -1
  15. package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
  16. package/dist/client/app/hooks/index.d.ts +1 -0
  17. package/dist/client/app/hooks/index.js +1 -1
  18. package/dist/client/app/hooks/useAutoScroll.js +1 -1
  19. package/dist/client/app/hooks/useUserClaims.js +1 -1
  20. package/dist/client/app/l10n/hooks/index.d.ts +1 -0
  21. package/dist/client/app/l10n/hooks/index.js +1 -1
  22. package/dist/client/app/l10n/hooks/useTranslationKeys.d.ts +2 -0
  23. package/dist/client/app/l10n/hooks/useTranslationKeys.js +1 -0
  24. package/dist/client/app/markdoc/custom-components/openapi/json-schema.d.ts +1 -1
  25. package/dist/client/app/markdoc/custom-components/openapi/json-schema.js +1 -1
  26. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.d.ts +1 -5
  27. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.js +1 -1
  28. package/dist/client/app/markdoc/custom-components/openapi/openapi-example.js +1 -1
  29. package/dist/client/app/markdoc/custom-components/openapi/openapi-response-sample.js +1 -1
  30. package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.d.ts +8 -24
  31. package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.js +1 -1
  32. package/dist/client/app/markdoc/hooks/use-store.d.ts +8 -6
  33. package/dist/client/app/markdoc/utils/build-replay-operation-source-map.d.ts +20 -0
  34. package/dist/client/app/markdoc/utils/build-replay-operation-source-map.js +1 -0
  35. package/dist/client/app/markdoc/utils/find-api-item.d.ts +15 -0
  36. package/dist/client/app/markdoc/utils/find-api-item.js +1 -0
  37. package/dist/client/app/markdoc/utils/find-code-sample-panel.d.ts +11 -0
  38. package/dist/client/app/markdoc/utils/find-code-sample-panel.js +1 -0
  39. package/dist/client/app/markdoc/utils/find-openapi-response-samples.d.ts +15 -0
  40. package/dist/client/app/markdoc/utils/find-openapi-response-samples.js +1 -0
  41. package/dist/client/app/markdoc/utils/openapi-panel-entry.d.ts +18 -0
  42. package/dist/client/app/markdoc/utils/openapi-panel-entry.js +1 -0
  43. package/dist/client/app/utils/resolveRouteBySlug.js +1 -1
  44. package/dist/client/providers/theme/ThemeDataProvider.js +1 -1
  45. package/dist/client/runtime/loader.js +1 -1
  46. package/dist/client/templates/api-docs/helpers.d.ts +10 -0
  47. package/dist/client/templates/api-docs/helpers.js +1 -0
  48. package/dist/client/templates/api-docs/template.d.ts +17 -0
  49. package/dist/client/templates/api-docs/template.js +14 -0
  50. package/dist/client/types/sidebar.d.ts +0 -1
  51. package/dist/client/utils/utils.d.ts +0 -2
  52. package/dist/client/utils/utils.js +1 -1
  53. package/dist/constants/common.d.ts +1 -0
  54. package/dist/constants/common.js +1 -1
  55. package/dist/constants/l10n/langs/ar.js +1 -1
  56. package/dist/constants/l10n/langs/de.js +1 -1
  57. package/dist/constants/l10n/langs/en.js +1 -1
  58. package/dist/constants/l10n/langs/es.js +1 -1
  59. package/dist/constants/l10n/langs/fr.js +1 -1
  60. package/dist/constants/l10n/langs/hi.js +1 -1
  61. package/dist/constants/l10n/langs/it.js +1 -1
  62. package/dist/constants/l10n/langs/ja.js +1 -1
  63. package/dist/constants/l10n/langs/ko.js +1 -1
  64. package/dist/constants/l10n/langs/pl.js +1 -1
  65. package/dist/constants/l10n/langs/pt-BR.js +1 -1
  66. package/dist/constants/l10n/langs/pt.js +1 -1
  67. package/dist/constants/l10n/langs/ru.js +1 -1
  68. package/dist/constants/l10n/langs/uk.js +1 -1
  69. package/dist/constants/l10n/langs/zh.js +1 -1
  70. package/dist/server/constants/plugins/api-docs.d.ts +3 -0
  71. package/dist/server/constants/plugins/api-docs.js +1 -0
  72. package/dist/server/esbuild/esbuild-logger.js +3 -3
  73. package/dist/server/esbuild/esbuild.js +3 -3
  74. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-check.d.ts +9 -0
  75. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-check.js +1 -0
  76. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-overlay.d.ts +2 -0
  77. package/dist/server/esbuild/plugins/api-docs-module-replacer/empty-overlay.js +1 -0
  78. package/dist/server/esbuild/plugins/api-docs-module-replacer/index.d.ts +6 -0
  79. package/dist/server/esbuild/plugins/api-docs-module-replacer/index.js +1 -0
  80. package/dist/server/plugins/api-docs/get-server-props.d.ts +4 -0
  81. package/dist/server/plugins/api-docs/get-server-props.js +1 -0
  82. package/dist/server/plugins/api-docs/get-template-path.d.ts +2 -0
  83. package/dist/server/plugins/api-docs/get-template-path.js +1 -0
  84. package/dist/server/plugins/api-docs/import-api-docs-builder.d.ts +8 -0
  85. package/dist/server/plugins/api-docs/import-api-docs-builder.js +1 -0
  86. package/dist/server/plugins/api-docs/index.d.ts +19 -0
  87. package/dist/server/plugins/api-docs/index.js +1 -0
  88. package/dist/server/plugins/api-docs/loader.d.ts +35 -0
  89. package/dist/server/plugins/api-docs/loader.js +3 -0
  90. package/dist/server/plugins/api-docs/options.d.ts +14 -0
  91. package/dist/server/plugins/api-docs/options.js +1 -0
  92. package/dist/server/plugins/api-docs/search/get-ai-search-documents.d.ts +20 -0
  93. package/dist/server/plugins/api-docs/search/get-ai-search-documents.js +105 -0
  94. package/dist/server/plugins/api-docs/search/search-facets.d.ts +10 -0
  95. package/dist/server/plugins/api-docs/search/search-facets.js +1 -0
  96. package/dist/server/plugins/api-docs/search/search-indexer.d.ts +9 -0
  97. package/dist/server/plugins/api-docs/search/search-indexer.js +1 -0
  98. package/dist/server/plugins/api-docs/search/search-resolver.d.ts +5 -0
  99. package/dist/server/plugins/api-docs/search/search-resolver.js +1 -0
  100. package/dist/server/plugins/api-docs/spec-download.api.d.ts +4 -0
  101. package/dist/server/plugins/api-docs/spec-download.api.js +1 -0
  102. package/dist/server/plugins/api-docs/store-definition-bundles.d.ts +3 -0
  103. package/dist/server/plugins/api-docs/store-definition-bundles.js +1 -0
  104. package/dist/server/plugins/api-docs/utils/build-item-positions.d.ts +17 -0
  105. package/dist/server/plugins/api-docs/utils/build-item-positions.js +1 -0
  106. package/dist/server/plugins/api-docs/utils/build-routes-mapping.d.ts +3 -0
  107. package/dist/server/plugins/api-docs/utils/build-routes-mapping.js +1 -0
  108. package/dist/server/plugins/api-docs/utils/collect-item-routes.d.ts +12 -0
  109. package/dist/server/plugins/api-docs/utils/collect-item-routes.js +1 -0
  110. package/dist/server/plugins/api-docs/utils/decorators.d.ts +26 -0
  111. package/dist/server/plugins/api-docs/utils/decorators.js +1 -0
  112. package/dist/server/plugins/api-docs/utils/format-bundle-error.d.ts +6 -0
  113. package/dist/server/plugins/api-docs/utils/format-bundle-error.js +5 -0
  114. package/dist/server/plugins/api-docs/utils/normalize-api-version.d.ts +2 -0
  115. package/dist/server/plugins/api-docs/utils/normalize-api-version.js +1 -0
  116. package/dist/server/plugins/api-docs/utils/normalize-feedback-options.d.ts +2 -0
  117. package/dist/server/plugins/api-docs/utils/normalize-feedback-options.js +1 -0
  118. package/dist/server/plugins/api-docs/utils/relative-path-to-base-slug.d.ts +20 -0
  119. package/dist/server/plugins/api-docs/utils/relative-path-to-base-slug.js +1 -0
  120. package/dist/server/plugins/api-docs/utils/replace-file-extension.d.ts +2 -0
  121. package/dist/server/plugins/api-docs/utils/replace-file-extension.js +1 -0
  122. package/dist/server/plugins/api-docs/utils/resolve-api-doc-title.d.ts +3 -0
  123. package/dist/server/plugins/api-docs/utils/resolve-api-doc-title.js +1 -0
  124. package/dist/server/plugins/api-docs/utils/resolve-config-rbac.d.ts +10 -0
  125. package/dist/server/plugins/api-docs/utils/resolve-config-rbac.js +1 -0
  126. package/dist/server/plugins/api-docs/utils/to-relative-slug.d.ts +2 -0
  127. package/dist/server/plugins/api-docs/utils/to-relative-slug.js +1 -0
  128. package/dist/server/plugins/api-functions/index.js +1 -1
  129. package/dist/server/plugins/arazzo-docs/index.js +1 -1
  130. package/dist/server/plugins/asyncapi-docs/index.js +1 -1
  131. package/dist/server/plugins/catalog-classic/index.js +1 -1
  132. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
  133. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts +13 -5
  134. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
  135. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
  136. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.d.ts +6 -5
  137. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +2 -2
  138. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +12 -5
  139. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.js +1 -1
  140. package/dist/server/plugins/catalog-entities/plugin.js +1 -1
  141. package/dist/server/plugins/catalog-entities/template/index.js +1 -1
  142. package/dist/server/plugins/catalog-entities/types/openapi.d.ts +1 -1
  143. package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.d.ts +3 -3
  144. package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.js +1 -1
  145. package/dist/server/plugins/catalog-entities/utils/openapi-schema-resolver.d.ts +4 -3
  146. package/dist/server/plugins/catalog-entities/utils/openapi-schema-resolver.js +1 -1
  147. package/dist/server/plugins/config-parser/index.js +1 -1
  148. package/dist/server/plugins/create-slugify.d.ts +17 -0
  149. package/dist/server/plugins/create-slugify.js +1 -0
  150. package/dist/server/plugins/default-theme/index.js +1 -1
  151. package/dist/server/plugins/dev-onboarding/index.js +1 -1
  152. package/dist/server/plugins/entitlements/index.js +1 -1
  153. package/dist/server/plugins/graphql-docs/index.js +1 -1
  154. package/dist/server/plugins/helpers/parse-partials.d.ts +3 -0
  155. package/dist/server/plugins/helpers/parse-partials.js +1 -0
  156. package/dist/server/plugins/l10n/index.js +1 -1
  157. package/dist/server/plugins/lifecycle.js +2 -2
  158. package/dist/server/plugins/markdown/attribute-resolvers/helpers/load-openapi-bundle.d.ts +5 -3
  159. package/dist/server/plugins/markdown/attribute-resolvers/helpers/load-openapi-bundle.js +1 -1
  160. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.js +1 -1
  161. package/dist/server/plugins/markdown/attribute-resolvers/resolve-open-api-ref.js +1 -1
  162. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.js +1 -1
  163. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-response-samples.js +1 -1
  164. package/dist/server/plugins/markdown/index.js +1 -1
  165. package/dist/server/plugins/markdown/search/walk-sections.js +1 -1
  166. package/dist/server/plugins/mcp/codemode/constants.js +1 -1
  167. package/dist/server/plugins/mcp/codemode/tools/execute-schema.js +1 -1
  168. package/dist/server/plugins/mcp/codemode/tools/execute.d.ts +1 -0
  169. package/dist/server/plugins/mcp/constants.d.ts +1 -0
  170. package/dist/server/plugins/mcp/constants.js +1 -1
  171. package/dist/server/plugins/mcp/docs-mcp/tool-schemas.d.ts +1 -0
  172. package/dist/server/plugins/mcp/docs-mcp/tool-schemas.js +1 -1
  173. package/dist/server/plugins/mcp/docs-mcp/tools/core/create-anonymous-session.d.ts +11 -0
  174. package/dist/server/plugins/mcp/docs-mcp/tools/core/create-anonymous-session.js +1 -0
  175. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/constants.d.ts +4 -0
  176. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/constants.js +1 -0
  177. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/get-graphql-type-list.js +1 -1
  178. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/get-graphql-type.js +7 -4
  179. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/types.d.ts +7 -1
  180. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/types.js +0 -1
  181. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/utils.d.ts +5 -1
  182. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/utils.js +4 -2
  183. package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +4 -0
  184. package/dist/server/plugins/mcp/docs-mcp/tools/index.js +1 -1
  185. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/load-api-description.d.ts +1 -1
  186. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/utils.d.ts +1 -1
  187. package/dist/server/plugins/mcp/docs-mcp/utils.d.ts +1 -1
  188. package/dist/server/plugins/mcp/gateway-mcp/elicitation.d.ts +2 -2
  189. package/dist/server/plugins/mcp/gateway-mcp/elicitation.js +2 -2
  190. package/dist/server/plugins/mcp/gateway-mcp/eligibility.d.ts +1 -2
  191. package/dist/server/plugins/mcp/gateway-mcp/fetch/allowed-hosts.d.ts +1 -1
  192. package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-telemetry.js +1 -1
  193. package/dist/server/plugins/mcp/gateway-mcp/secret-store.d.ts +4 -4
  194. package/dist/server/plugins/mcp/gateway-mcp/secret-store.js +1 -1
  195. package/dist/server/plugins/mcp/gateway-mcp/subject.d.ts +20 -0
  196. package/dist/server/plugins/mcp/gateway-mcp/subject.js +1 -0
  197. package/dist/server/plugins/mcp/handlers/mcp-credentials-handler.js +9 -9
  198. package/dist/server/plugins/mcp/index.js +1 -1
  199. package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
  200. package/dist/server/plugins/mcp/servers/mcp-server.js +1 -1
  201. package/dist/server/plugins/mcp/types.d.ts +1 -2
  202. package/dist/server/plugins/mcp/utils/xmcp-utils.d.ts +1 -1
  203. package/dist/server/plugins/mcp/utils.d.ts +17 -5
  204. package/dist/server/plugins/mcp/utils.js +1 -1
  205. package/dist/server/plugins/openapi-docs/index.js +1 -1
  206. package/dist/server/plugins/pages/index.js +1 -1
  207. package/dist/server/plugins/scorecard-classic/compute-scorecard.js +4 -4
  208. package/dist/server/plugins/scorecard-classic/index.js +1 -1
  209. package/dist/server/plugins/scorecards/plugin.js +1 -1
  210. package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.js +2 -2
  211. package/dist/server/plugins/search/documents/search-documents.js +1 -1
  212. package/dist/server/plugins/search/index.js +1 -1
  213. package/dist/server/plugins/search/llmstxt/index.js +4 -4
  214. package/dist/server/plugins/sidebars/index.js +1 -1
  215. package/dist/server/plugins/sitemap/index.js +1 -1
  216. package/dist/server/plugins/sso/index.js +1 -1
  217. package/dist/server/ssr/render.js +1 -1
  218. package/dist/server/ssr/utils.d.ts +1 -0
  219. package/dist/server/ssr/utils.js +5 -5
  220. package/dist/server/store.d.ts +2 -6
  221. package/dist/server/store.js +1 -1
  222. package/dist/server/types/plugins/common.d.ts +3 -5
  223. package/dist/server/types/plugins/markdown.d.ts +1 -3
  224. package/dist/server/types/plugins/search.d.ts +1 -0
  225. package/dist/server/utils/catalog-classic/get-route-slug-to-catalog-slug-map.test.js +1 -1
  226. package/dist/server/utils/report-all-errors.js +1 -1
  227. package/dist/server/utils/shared-data.js +1 -1
  228. package/dist/server/web-server/routes/dynamic-route.js +1 -1
  229. package/dist/server/web-server/routes/resolve-route.js +1 -1
  230. package/dist/types/markdoc.d.ts +2 -1
  231. package/dist/utils/url/get-shared-data-fetch-url.d.ts +17 -0
  232. package/dist/utils/url/get-shared-data-fetch-url.js +1 -0
  233. package/package.json +10 -9
  234. package/dist/markdoc/helpers/get-operation/get-operation-info-by-id.d.ts +0 -4
  235. package/dist/markdoc/helpers/get-operation/get-operation-info-by-id.js +0 -1
  236. package/dist/markdoc/helpers/get-operation/get-operation-info-by-pointer.d.ts +0 -4
  237. package/dist/markdoc/helpers/get-operation/get-operation-info-by-pointer.js +0 -1
  238. package/dist/markdoc/helpers/get-operation/get-operation.d.ts +0 -14
  239. package/dist/markdoc/helpers/get-operation/get-operation.js +0 -1
  240. package/dist/markdoc/helpers/get-operation/index.d.ts +0 -4
  241. package/dist/markdoc/helpers/get-operation/index.js +0 -1
  242. package/dist/markdoc/helpers/get-operation/types/index.d.ts +0 -4
  243. package/dist/markdoc/helpers/get-operation/types/index.js +0 -0
  244. package/dist/markdoc/helpers/get-operation/types/operation-identifier.d.ts +0 -5
  245. package/dist/markdoc/helpers/get-operation/types/operation-identifier.js +0 -0
  246. package/dist/markdoc/helpers/get-operation/types/operation-info.d.ts +0 -6
  247. package/dist/markdoc/helpers/get-operation/types/operation-info.js +0 -0
  248. package/dist/markdoc/helpers/get-operation/types/operation-parameters.d.ts +0 -3
  249. package/dist/markdoc/helpers/get-operation/types/operation-parameters.js +0 -0
  250. package/dist/server/plugins/markdown/attribute-resolvers/helpers/get-media-content-samples.d.ts +0 -4
  251. package/dist/server/plugins/markdown/attribute-resolvers/helpers/get-media-content-samples.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @redocly/realm
2
2
 
3
+ ## 0.136.0-next.8
4
+
5
+ ### Patch Changes
6
+
7
+ - 17dd03b5965: Hardened access control of `llms.txt` on the homepage Markdown page.
8
+ - b6c997c11b1: Fixed fetch capability in an experimental gateway MCP.
9
+ - 17dd03b5965: Improved response time on sites with many pages that use the `llms.txt` feature.
10
+ - Updated dependencies [b6c997c11b1]
11
+ - @redocly/realm-asyncapi-sdk@0.14.0-next.1
12
+ - @redocly/theme@0.68.0-next.5
13
+
14
+ ## 0.136.0-next.7
15
+
16
+ ### Minor Changes
17
+
18
+ - 92847030740: Improved GraphQL exploration in the docs server.
19
+ Added schema-wide search across nested fields and descriptions, directive visibility in listings and SDL, and referenced-type previews in single-type lookups.
20
+ - dcf7072cffc: Added customizable `ReplayGate` and `ReplayTopBarActions` components to tailor authentication and the top bar in the `Try It` feature.
21
+ Both components receive the current API's ID, so their behavior can vary per API in a multi-API catalog.
22
+
23
+ ### Patch Changes
24
+
25
+ - bf820c76a6a: Fixed an issue where the search modal could render taller than the browser window on short screens, causing it to be cut off.
26
+ The modal is clamped to the viewport.
27
+ - 6d399eab8f4: Updated `@redocly/openapi-core` to version `2.43.1`.
28
+ - Updated dependencies [dcf7072cffc]
29
+ - Updated dependencies [bf820c76a6a]
30
+ - Updated dependencies [6d399eab8f4]
31
+ - @redocly/openapi-docs@3.24.0-next.7
32
+ - @redocly/theme@0.68.0-next.5
33
+ - @redocly/api-docs@0.1.0-next.0
34
+ - @redocly/asyncapi-docs@1.13.0-next.7
35
+ - @redocly/graphql-docs@1.13.0-next.7
36
+ - @redocly/portal-plugin-mock-server@0.21.0-next.7
37
+
3
38
  ## 0.136.0-next.6
4
39
 
5
40
  ### Minor Changes
@@ -129,6 +164,20 @@
129
164
  - @redocly/graphql-docs@1.13.0-next.0
130
165
  - @redocly/portal-plugin-mock-server@0.21.0-next.0
131
166
 
167
+ ## 0.135.1
168
+
169
+ ### Patch Changes
170
+
171
+ - 3df15f76c2: Fixed security vulnerabilities `CVE-2026-59896`, `CVE-2026-59895`, and `CVE-2026-59897` by upgrading `hono` to version `4.12.27`.
172
+ - 3df15f76c2: Fixed security vulnerability `GHSA-c2j3-45gr-mqc4` by upgrading `dompurify` to version `3.4.12`.
173
+ - 3df15f76c2: Fixed security vulnerability `CVE-2026-59869` by upgrading `js-yaml` to version `4.3.0`.
174
+ - Updated dependencies [3df15f76c2]
175
+ - Updated dependencies [3df15f76c2]
176
+ - @redocly/openapi-docs@3.23.1
177
+ - @redocly/asyncapi-docs@1.12.1
178
+ - @redocly/graphql-docs@1.12.1
179
+ - @redocly/portal-plugin-mock-server@0.20.1
180
+
132
181
  ## 0.135.0
133
182
 
134
183
  ### Minor Changes
package/dist/bin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./server/utils/set-execution-mode.js";import"./cli/utils/node-version-check.js";import o from"mri";import*as r from"node:path";import{tmpdir as T}from"node:os";import*as u from"node:fs";import{cliCommandNames as C}from"./constants/common.js";import{initPlugins as S}from"./server/plugins/lifecycle.js";import{loadEnvVariables as k}from"./server/utils/envs/load-env-variables.js";import{PORTAL_VERSION as I}from"./server/version.js";import{logger as i}from"./server/tools/notifiers/logger.js";import{reporter as t}from"./server/tools/notifiers/reporter.js";import{sha as V}from"./server/utils/crypto/sha.js";import{envConfig as L}from"./server/config/env-config.js";import{PACKAGE_NAME as w}from"./config/product-gates.js";import{develop as R}from"./cli/develop.js";import{eject as _}from"./cli/eject/index.js";import{beforeCommand as E}from"./server/utils/lifecycle-hooks.js";import{Store as j}from"./server/store.js";import{build as M}from"./cli/build/index.js";import{fromCurrentDir as N}from"./server/utils/paths.js";import{translationsCliOpts as F}from"./cli/translations/options.js";import{generateTranslations as U}from"./cli/translations/index.js";import{EntitlementsProvider as $}from"./server/entitlements/entitlements-provider.js";import{isValidPlan as B}from"./server/entitlements/is-valid-plan.js";import{stopAllCompilers as G}from"./server/esbuild/esbuild.js";import{copyLibsqlPrebuiltBinary as q}from"./cli/build/libsql/copy-prebuilt-binary.js";import{telemetry as f}from"./cli/telemetry/index.js";import{stats as K}from"./cli/stats/index.js";import{statsCliOpts as Y}from"./cli/stats/options.js";const c=process.argv[2];let a;const v={alias:{d:"project-dir",p:"port"},default:{"project-dir":L.REDOCLY_CONTENT_DIR||process.cwd(),outdir:"public"}},z={alias:v.alias,default:{...v.default,plan:"enterprise"}},H={alias:{d:"buildDir"},default:{buildDir:"public"}},J={boolean:["force"],alias:{f:"force",d:"project-dir"},default:{"project-dir":process.cwd()}};process.on("uncaughtException",async function(e){e?.code==="ERR_INVALID_STATE"?console.log("Ignore premature close error"):(i.error("Uncaught exception occurred. Stopping compilers."),await G(),i.error("Exiting due to uncaught exception"),await t.panic(e))});try{c||await t.panicOnContentError("Command not specified.");const e=$.instance();switch(["build","prepare","serve","stats"].includes(c)&&await e.init(),["eject","translate"].includes(c)&&await e.init({developModePlan:"enterprise"}),c){case"develop":case"preview":const s=o(process.argv.slice(3),z),O=r.resolve(s["project-dir"]),h=encodeURIComponent(V(O)),p=r.join(T(),"redocly-public-"+h);u.existsSync(p)&&(i.verbose("Cleaning temporary output directory..."),u.rmSync(p,{recursive:!0,force:!0}),i.verbose("Temporary output directory cleaned."));const m=s.plan.toLowerCase();B(m)||await t.panicOnContentError(`Invalid --plan argument value '${m}'.`),await e.init({developModePlan:m}),a=new j({contentDir:r.resolve(s["project-dir"]),outdir:p,serverOutDir:N(import.meta.url,"./server/esbuild/cache/server")}),await E(C.DEVELOP,s,a),await R(s,a);break;case"build":case"prepare":const n=o(process.argv.slice(3),v),g=r.resolve(r.join(n.outdir,"server"));a=new j({contentDir:r.resolve(n["project-dir"]),outdir:r.resolve(n.outdir,"client"),serverOutDir:g}),await E(C.BUILD,n,a),q(g),await M(n,a);break;case"serve":await k();const A=o(process.argv.slice(3),H),D=r.resolve(A.buildDir);f.sendServeCliCommandExecutedMessage();const b=r.join(D,"server","index.mjs");u.existsSync(b)||await t.panic(`Server not found. Please run \`${w} build\` first (or \`${w} prepare\` for the deprecated command)`),import(b).catch(async l=>{await t.panic("Failed to load server",l)});break;case"eject":e.canAccessFeature("themeEjecting")||await t.panicOnContentError('The "eject" command is not available for this project');const d=o(process.argv.slice(3),J),{lifecycleContext:{getConfig:y,fs:P}}=await S({outdir:"",contentDir:r.resolve(d["project-dir"]),setGlobalConfig:()=>null});P.dispose(),f.sendCliCommandEjectExecutedMessage([{object:"cli_command",arguments:d}]),await _({...d,config:await y()}),i.clearAllTimeouts();break;case"translate":if(e.canAccessFeature("l10n")){const l=o(process.argv.slice(3),F);f.sendCliCommandTranslateExecutedMessage({arguments:l}),await U(l)}else await t.panicOnContentError('The "translate" command is not available for this project');break;case"stats":const x=o(process.argv.slice(3),Y);await K(x);break;case"--version":console.log(I);break;default:await t.panicOnContentError(`Unknown command "${c}"`)}}catch(e){i.error("Exiting due to uncaught exception"),await t.panic(e)}
2
+ import"./server/utils/set-execution-mode.js";import"./cli/utils/node-version-check.js";import o from"mri";import*as r from"node:path";import{tmpdir as T}from"node:os";import*as u from"node:fs";import{cliCommandNames as b}from"./constants/common.js";import{initPlugins as S}from"./server/plugins/lifecycle.js";import{loadEnvVariables as k}from"./server/utils/envs/load-env-variables.js";import{PORTAL_VERSION as I}from"./server/version.js";import{logger as i}from"./server/tools/notifiers/logger.js";import{reporter as t}from"./server/tools/notifiers/reporter.js";import{sha as V}from"./server/utils/crypto/sha.js";import{envConfig as L}from"./server/config/env-config.js";import{PACKAGE_NAME as w}from"./config/product-gates.js";import{develop as R}from"./cli/develop.js";import{eject as M}from"./cli/eject/index.js";import{beforeCommand as j}from"./server/utils/lifecycle-hooks.js";import{Store as E}from"./server/store.js";import{build as N}from"./cli/build/index.js";import{fromCurrentDir as _}from"./server/utils/paths.js";import{translationsCliOpts as F}from"./cli/translations/options.js";import{generateTranslations as U}from"./cli/translations/index.js";import{EntitlementsProvider as $}from"./server/entitlements/entitlements-provider.js";import{isValidPlan as B}from"./server/entitlements/is-valid-plan.js";import{stopAllCompilers as G}from"./server/esbuild/esbuild.js";import{copyLibsqlPrebuiltBinary as q}from"./cli/build/libsql/copy-prebuilt-binary.js";import{telemetry as f}from"./cli/telemetry/index.js";import{stats as K}from"./cli/stats/index.js";import{statsCliOpts as Y}from"./cli/stats/options.js";const c=process.argv[2];let a;const v={alias:{d:"project-dir",p:"port"},default:{"project-dir":L.REDOCLY_CONTENT_DIR||process.cwd(),outdir:"public"}},z={alias:v.alias,default:{...v.default,plan:"enterprise"}},H={alias:{d:"buildDir"},default:{buildDir:"public"}},J={boolean:["force"],alias:{f:"force",d:"project-dir"},default:{"project-dir":process.cwd()}};process.on("uncaughtException",async function(e){e?.code==="ERR_INVALID_STATE"?console.log("Ignore premature close error"):(i.error("Uncaught exception occurred. Stopping compilers."),await G(),i.error("Exiting due to uncaught exception"),await t.panic(e))});try{c||await t.panicOnContentError("Command not specified.");const e=$.instance();switch(["build","prepare","serve","stats"].includes(c)&&await e.init(),["eject","translate"].includes(c)&&await e.init({developModePlan:"enterprise"}),c){case"develop":case"preview":const s=o(process.argv.slice(3),z),O=r.resolve(s["project-dir"]),h=encodeURIComponent(V(O)),m=r.join(T(),"redocly-public-"+h);u.existsSync(m)&&(i.verbose("Cleaning temporary output directory..."),u.rmSync(m,{recursive:!0,force:!0}),i.verbose("Temporary output directory cleaned."));const p=s.plan.toLowerCase();B(p)||await t.panicOnContentError(`Invalid --plan argument value '${p}'.`),await e.init({developModePlan:p}),a=new E({contentDir:r.resolve(s["project-dir"]),outdir:m,serverOutDir:_(import.meta.url,"./server/esbuild/cache/server")}),await j(b.DEVELOP,s,a),await R(s,a);break;case"build":case"prepare":const n=o(process.argv.slice(3),v),g=r.resolve(r.join(n.outdir,"server"));a=new E({contentDir:r.resolve(n["project-dir"]),outdir:r.resolve(n.outdir,"client"),serverOutDir:g}),await j(b.BUILD,n,a),q(g),await N(n,a);break;case"serve":await k();const y=o(process.argv.slice(3),H),A=r.resolve(y.buildDir);f.sendServeCliCommandExecutedMessage();const C=r.join(A,"server","index.mjs");u.existsSync(C)||await t.panic(`Server not found. Please run \`${w} build\` first (or \`${w} prepare\` for the deprecated command)`),import(C).catch(async l=>{await t.panic("Failed to load server",l)});break;case"eject":e.canAccessFeature("themeEjecting")||await t.panicOnContentError('The "eject" command is not available for this project');const d=o(process.argv.slice(3),J),{lifecycleContext:{getConfig:D,fs:P}}=await S({outdir:"",contentDir:r.resolve(d["project-dir"]),setGlobalConfig:()=>null});P.dispose(),f.sendCliCommandEjectExecutedMessage([{id:"eject",object:"cliCommand",uri:"urn:redocly:realm:cli:cliCommand:eject",arguments:d}]),await M({...d,config:await D()}),i.clearAllTimeouts();break;case"translate":if(e.canAccessFeature("l10n")){const l=o(process.argv.slice(3),F);f.sendCliCommandTranslateExecutedMessage([{id:"translate",object:"cliCommand",uri:"urn:redocly:realm:cli:cliCommand:translate",arguments:l}]),await U(l)}else await t.panicOnContentError('The "translate" command is not available for this project');break;case"stats":const x=o(process.argv.slice(3),Y);await K(x);break;case"--version":console.log(I);break;default:await t.panicOnContentError(`Unknown command "${c}"`)}}catch(e){i.error("Exiting due to uncaught exception"),await t.panic(e)}
@@ -1 +1 @@
1
- import{getApiFunctionsUsage as f}from"./collectors/get-api-functions-usage.js";import{getAsyncApiUsage as c}from"./collectors/get-async-api-usage.js";import{getConfigStatsUsage as U}from"./collectors/get-config-stats-usage.js";import{getFileExtensionsUsage as d}from"./collectors/get-file-extensions-usage.js";import{getFrontmatterUsage as p}from"./collectors/get-frontmatter-usage.js";import{getMarkdocUsage as u}from"./collectors/get-markdoc-usage.js";import{getNestedConfigsUsage as S}from"./collectors/get-nested-configs-usage.js";import{getProcessedConfigStatsUsage as C}from"./collectors/get-processed-config-stats-usage.js";import{getRefsUsage as x}from"./collectors/get-refs-usage.js";import{getSkillsUsage as y}from"./collectors/get-skills-usage.js";import{getThemeFolderUsage as k}from"./collectors/get-theme-folder-usage.js";import{telemetry as v}from"../../telemetry/index.js";async function O(i,r){const g=[f,c,U,d,p,u,S,C,x,y,k],n=await Promise.allSettled(g.map(t=>t({store:i,context:r}))),e={},s={};for(const t of n)if(t.status==="fulfilled"){const{name:o,value:a,version:l}=t.value;a&&(e[o]=a,s[o]=l)}const m={usageStats:e.usageStats,asyncApiUsage:e.asyncApiUsage,buildContext:e.buildContext,fileExtensions:e.fileExtensions,frontmatterUsage:e.frontmatterUsage,markdocUsage:e.markdocUsage,processedBuildContext:e.processedBuildContext,nestedConfigStats:e.nestedConfigStats,refsUsageStats:e.refsUsageStats,skillsUsage:e.skillsUsage,themeFolderUsage:e.themeFolderUsage,versions:JSON.stringify(s)};v.sendBuildMessage(m)}export{O as collectAnalytics};
1
+ import{getApiFunctionsUsage as c}from"./collectors/get-api-functions-usage.js";import{getAsyncApiUsage as d}from"./collectors/get-async-api-usage.js";import{getConfigStatsUsage as p}from"./collectors/get-config-stats-usage.js";import{getFileExtensionsUsage as U}from"./collectors/get-file-extensions-usage.js";import{getFrontmatterUsage as u}from"./collectors/get-frontmatter-usage.js";import{getMarkdocUsage as S}from"./collectors/get-markdoc-usage.js";import{getNestedConfigsUsage as C}from"./collectors/get-nested-configs-usage.js";import{getProcessedConfigStatsUsage as x}from"./collectors/get-processed-config-stats-usage.js";import{getRefsUsage as y}from"./collectors/get-refs-usage.js";import{getSkillsUsage as k}from"./collectors/get-skills-usage.js";import{getThemeFolderUsage as v}from"./collectors/get-theme-folder-usage.js";import{telemetry as B}from"../../telemetry/index.js";import{envConfig as A}from"../../../server/config/env-config.js";async function R(i,n){const g=[c,d,p,U,u,S,C,x,y,k,v],l=await Promise.allSettled(g.map(t=>t({store:i,context:n}))),e={},s={};for(const t of l)if(t.status==="fulfilled"){const{name:r,value:a,version:f}=t.value;a&&(e[r]=a,s[r]=f)}const m={usageStats:e.usageStats,asyncApiUsage:e.asyncApiUsage,buildContext:e.buildContext,fileExtensions:e.fileExtensions,frontmatterUsage:e.frontmatterUsage,markdocUsage:e.markdocUsage,processedBuildContext:e.processedBuildContext,nestedConfigStats:e.nestedConfigStats,refsUsageStats:e.refsUsageStats,skillsUsage:e.skillsUsage,themeFolderUsage:e.themeFolderUsage,versions:JSON.stringify(s)},o=A.PROJECT_BUILD_ID||"unknown";B.sendBuildMessage([{id:o,object:"projectBuild",uri:`urn:redocly:realm:cli:projectBuild:${o}`,...m}])}export{R as collectAnalytics};
@@ -1 +1 @@
1
- import T from"node:path";import{unlink as h}from"node:fs/promises";import{writeFileSync as y}from"node:fs";import{envConfig as S}from"../../server/config/env-config.js";import{PORTAL_VERSION as A}from"../../server/version.js";import{logger as e}from"../../server/tools/notifiers/logger.js";import{reporter as b}from"../../server/tools/notifiers/reporter.js";import{shutdowner as O}from"../../server/tools/shutdowner.js";import{promiseMapLimit as D}from"../../server/utils/async/promise-map-limit.js";import{validateReactPages as E}from"../../server/plugins/pages/validators/validate-react-pages.js";import{ensureDir as v}from"../../server/utils/index.js";import{initPlugins as M,runPlugins as _,writeClientEntries as x}from"../../server/plugins/lifecycle.js";import{createClientCompiler as L,createNodeBundleCompiler as J}from"../../server/esbuild/esbuild.js";import{validateAllMarkdowns as j}from"../../server/plugins/markdown/compiler.js";import{copyEnvFiles as k}from"./copy-env-files.js";import{EsbuildError as l,esbuildLogger as p}from"../../server/esbuild/esbuild-logger.js";import{reportAllErrors as F}from"../../server/utils/report-all-errors.js";import{collectAnalytics as U}from"./analytics/collect-analytics.js";import{copyMigrationsFolder as z}from"../../server/providers/database/copy-migrations.js";import{telemetry as c}from"../telemetry/index.js";import{telemetryTraceStep as m}from"../telemetry/helpers/trace-step.js";async function si(C,i){c.initialize(A),e.info("Starting project build.");const P=e.startTiming();await m("build.start",async R=>{x(i);const d=await L(i,i.outdir,"production"),u=await J(i,i.serverOutDir,"production");let n,f;try{await m("build.client_compilation",async()=>{const s=e.startTiming(),o=await d.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Client JavaScript compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.server_compilation",async()=>{const s=e.startTiming(),o=await u.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Server JavaScript compiled");r&&c.sendTimingPerformedMessage({message:r.message,timeMs:r.timeMs})}),await i.reloadMarkdocOptions();let t;({pluginInstances:t,lifecycleContext:n}=await M({outdir:i.outdir,serverOutDir:i.serverOutDir,contentDir:i.contentDir,devLogin:C.devLogin,setGlobalConfig:i.setGlobalConfig})),n.fs.dispose(),i.lifecycleContext=n,z(i),await _(t,i,n),f=U(i,n),await m("build.client_server_recompile",async()=>{const s=e.startTiming();e.info("Re-compiling JavaScript with user code"),(await Promise.all([d.rebuild(),u.rebuild()]).catch(a=>{throw new l(a)})).forEach(({warnings:a})=>{Array.isArray(a)&&p(new l({warnings:a}))});const r=e.infoTime(s,"JavaScript re-compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.pages_validation",async()=>{await E(i,n),await j(i,n)}),await F(n),i.markUserCodeReady()}catch(t){R?.error(t),t instanceof l&&p(t)}finally{f&&await f.catch(()=>{}),await d.dispose(),await u.dispose()}b.printErrors(),e.info("Rendering pages..."),await m("build.prepare_static_data",async t=>{const s=e.startTiming(),o=[...i.getAllRoutes(),...i.getAllApiRoutes()];t?.setAttribute("totalRoutes",o.length.toString()),await D(o,15,a=>i.writeRouteStaticData(a,n));const r=e.successTime(s,"Page static data prepared.");r&&c.sendTimingPerformedMessage(r)}),await m("build.store_serialization",async()=>{const t=e.startTiming();v(i.serverOutDir),y(T.join(i.serverOutDir,"store.json"),JSON.stringify(await i.toJson())),e.successTime(t,"Store serialized and written."),k(i)});const g=S.REDOCLY_PROBLEMS_OUTPUT_FILE;if(g){const t=e.startTiming();y(v(g),JSON.stringify(b.getProblems()),"utf-8"),e.successTime(t,"Broken links written.")}await h(T.join(i.serverOutDir,"index.css"));const w=e.successTime(P,"All done");w&&c.sendTimingPerformedMessage(w)}),await O.exitWithCode(0)}export{si as build};
1
+ import b from"node:path";import{unlink as R}from"node:fs/promises";import{writeFileSync as y}from"node:fs";import{envConfig as h}from"../../server/config/env-config.js";import{PORTAL_VERSION as A}from"../../server/version.js";import{logger as e}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{shutdowner as O}from"../../server/tools/shutdowner.js";import{promiseMapLimit as D}from"../../server/utils/async/promise-map-limit.js";import{validateReactPages as E}from"../../server/plugins/pages/validators/validate-react-pages.js";import{ensureDir as S}from"../../server/utils/index.js";import{initPlugins as M,runPlugins as j,writeClientEntries as x}from"../../server/plugins/lifecycle.js";import{createClientCompiler as L,createNodeBundleCompiler as J}from"../../server/esbuild/esbuild.js";import{validateAllMarkdowns as k}from"../../server/plugins/markdown/compiler.js";import{copyEnvFiles as F}from"./copy-env-files.js";import{EsbuildError as s,esbuildLogger as d}from"../../server/esbuild/esbuild-logger.js";import{reportAllErrors as U}from"../../server/utils/report-all-errors.js";import{collectAnalytics as z}from"./analytics/collect-analytics.js";import{copyMigrationsFolder as N}from"../../server/providers/database/copy-migrations.js";import{telemetry as c}from"../telemetry/index.js";import{telemetryTraceStep as m}from"../telemetry/helpers/trace-step.js";async function li(v,i){c.initialize(A),e.info("Starting project build.");const C=e.startTiming();await m("com.redocly.build.start",async P=>{x(i);const p=await L(i,i.outdir,"production"),u=await J(i,i.serverOutDir,"production");let o,g;try{await m("com.redocly.build.clientCompilation",async()=>{const l=e.startTiming(),n=await p.rebuild().catch(a=>{throw new s(a)});Array.isArray(n.warnings)&&d(new s({warnings:n.warnings}));const r=e.infoTime(l,"Client JavaScript compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await m("com.redocly.build.serverCompilation",async()=>{const l=e.startTiming(),n=await u.rebuild().catch(a=>{throw new s(a)});Array.isArray(n.warnings)&&d(new s({warnings:n.warnings}));const r=e.infoTime(l,"Server JavaScript compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",message:r.message,timeMs:r.timeMs}])}),await i.reloadMarkdocOptions();let t;({pluginInstances:t,lifecycleContext:o}=await M({outdir:i.outdir,serverOutDir:i.serverOutDir,contentDir:i.contentDir,devLogin:v.devLogin,setGlobalConfig:i.setGlobalConfig})),o.fs.dispose(),i.lifecycleContext=o,N(i),await j(t,i,o),g=z(i,o),await m("com.redocly.build.clientServerRecompile",async()=>{const l=e.startTiming();e.info("Re-compiling JavaScript with user code"),(await Promise.all([p.rebuild(),u.rebuild()]).catch(a=>{throw new s(a)})).forEach(({warnings:a})=>{Array.isArray(a)&&d(new s({warnings:a}))});const r=e.infoTime(l,"JavaScript re-compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await m("com.redocly.build.pagesValidation",async()=>{await E(i,o),await k(i,o)}),await U(o),i.markUserCodeReady()}catch(t){P?.error(t),t instanceof s&&d(t)}finally{g&&await g.catch(()=>{}),await p.dispose(),await u.dispose()}T.printErrors(),e.info("Rendering pages..."),await m("com.redocly.build.prepareStaticData",async t=>{const l=e.startTiming(),n=[...i.getAllRoutes(),...i.getAllApiRoutes()];t?.setAttribute("totalRoutes",n.length.toString()),await D(n,15,a=>i.writeRouteStaticData(a,o));const r=e.successTime(l,"Page static data prepared.");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await m("com.redocly.build.storeSerialization",async()=>{const t=e.startTiming();S(i.serverOutDir),y(b.join(i.serverOutDir,"store.json"),JSON.stringify(await i.toJson())),e.successTime(t,"Store serialized and written."),F(i)});const f=h.REDOCLY_PROBLEMS_OUTPUT_FILE;if(f){const t=e.startTiming();y(S(f),JSON.stringify(T.getProblems()),"utf-8"),e.successTime(t,"Broken links written.")}await R(b.join(i.serverOutDir,"index.css"));const w=e.successTime(C,"All done");w&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...w}])}),await O.exitWithCode(0)}export{li as build};
@@ -1 +1 @@
1
- import*as c from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as k}from"../../constants/common.js";import{logger as y}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as F}from"./resolveTheme.js";import{EntitlementsProvider as A}from"../../server/entitlements/entitlements-provider.js";const L=["markdoc/attributes/code-walkthrough-filesets.ts","markdoc/attributes/code-walkthrough-filters.ts","markdoc/components/CodeWalkthrough/**","markdoc/tags/code-step.ts","markdoc/tags/code-toggle.ts","markdoc/tags/code-walkthrough.ts"],m=["./core/**","./markdoc/**/default.*","**/__mocks__/**","**/index.*","**/utils/**/*","**/__tests__/**/*","**/__snapshots__/**/*","**/*.stories.*","**/variables.*",...L],v=["./components/CatalogClassic/CatalogClassicCard.*","./components/ColorModeSwitcher/**","./components/Feedback/**","./components/Filter/**","./components/Footer/**","./components/LanguagePicker/**","./components/Menu/**","./components/Navbar/**","./components/PageNavigation/**","./components/Product/**","./components/Search/**","./components/UserMenu/**","./layouts/RootLayout.*","./layouts/NotFound.*","./layouts/Forbidden.*","./layouts/DocumentationLayoutTop.*","./layouts/DocumentationLayoutBottom.*","./icons/**","./markdoc/**","./ext/**"];async function C(t){const[p,n]=t._,{theme:l,force:d,onSuccess:u,onError:g,onOverride:h,config:E}=t,_=A.instance(),s=c.resolve(t["project-dir"]);let o=l;o||(o=i);const r=await F(s,E.plugins||[],o,n);r||await T.panicOnContentError(`Theme ${o} not found. Skipping eject.`);const e=r?.config.ejectIgnore;e&&!Array.isArray(e)&&y.warn("'ejectIgnore' must be of type Array. Skipping.");const a=await _.getPackageEjectIgnore(),f={force:d,onSuccess:u,onError:g,onOverride:h,onlyFiles:o===i?v:void 0,ignoreFiles:Array.isArray(e)?[...e,...a,...m]:[...a,...m]};return{objectType:p,pathToThemeFolder:r?.pluginDirAbsolutePath,pathToPortalCustomThemeFolder:c.resolve(s,k),componentToEject:n,theme:o,options:f}}export{m as DEFAULT_IGNORED_FILES,v as EJECTABLE_FILES,C as default};
1
+ import*as c from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as k}from"../../constants/common.js";import{logger as y}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as A}from"./resolveTheme.js";import{EntitlementsProvider as F}from"../../server/entitlements/entitlements-provider.js";const L=["markdoc/attributes/code-walkthrough-filesets.ts","markdoc/attributes/code-walkthrough-filters.ts","markdoc/components/CodeWalkthrough/**","markdoc/tags/code-step.ts","markdoc/tags/code-toggle.ts","markdoc/tags/code-walkthrough.ts"],m=["./core/**","./markdoc/**/default.*","**/__mocks__/**","**/index.*","**/utils/**/*","**/__tests__/**/*","**/__snapshots__/**/*","**/*.stories.*","**/variables.*",...L],v=["./components/CatalogClassic/CatalogClassicCard.*","./components/ColorModeSwitcher/**","./components/ReplayGate/**","./components/ReplayTopBarActions/**","./components/Feedback/**","./components/Filter/**","./components/Footer/**","./components/LanguagePicker/**","./components/Menu/**","./components/Navbar/**","./components/PageNavigation/**","./components/Product/**","./components/Search/**","./components/UserMenu/**","./layouts/RootLayout.*","./layouts/NotFound.*","./layouts/Forbidden.*","./layouts/DocumentationLayoutTop.*","./layouts/DocumentationLayoutBottom.*","./icons/**","./markdoc/**","./ext/**"];async function C(t){const[p,r]=t._,{theme:l,force:d,onSuccess:u,onError:g,onOverride:h,config:E}=t,_=F.instance(),s=c.resolve(t["project-dir"]);let o=l;o||(o=i);const n=await A(s,E.plugins||[],o,r);n||await T.panicOnContentError(`Theme ${o} not found. Skipping eject.`);const e=n?.config.ejectIgnore;e&&!Array.isArray(e)&&y.warn("'ejectIgnore' must be of type Array. Skipping.");const a=await _.getPackageEjectIgnore(),f={force:d,onSuccess:u,onError:g,onOverride:h,onlyFiles:o===i?v:void 0,ignoreFiles:Array.isArray(e)?[...e,...a,...m]:[...a,...m]};return{objectType:p,pathToThemeFolder:n?.pluginDirAbsolutePath,pathToPortalCustomThemeFolder:c.resolve(s,k),componentToEject:r,theme:o,options:f}}export{m as DEFAULT_IGNORED_FILES,v as EJECTABLE_FILES,C as default};
@@ -1 +1 @@
1
- import{detectSpec as u,getTypes as d,normalizeTypes as w,normalizeVisitors as h,resolveDocument as S,BaseResolver as g,StatsOAS as y,walkDocument as D}from"@redocly/openapi-core";import{logger as m}from"../../../../server/tools/notifiers/logger.js";import{envConfig as I}from"../../../../server/config/env-config.js";import{telemetryTraceStep as O}from"../../../telemetry/helpers/trace-step.js";import{telemetry as v}from"../../../telemetry/index.js";import{computeOas32Stats as b}from"./oas32.js";const t={refs:{metric:"References",total:0,color:"red",items:new Set},externalDocs:{metric:"External Documents",total:0,color:"magenta"},schemas:{metric:"Schemas",total:0,color:"white"},parameters:{metric:"Parameters",total:0,color:"yellow",items:new Set},links:{metric:"Links",total:0,color:"cyan",items:new Set},pathItems:{metric:"Path Items",total:0,color:"green"},webhooks:{metric:"Webhooks",total:0,color:"green"},operations:{metric:"Operations",total:0,color:"yellow"},tags:{metric:"Tags",total:0,color:"white",items:new Set}};async function _(a,o){await O("stats.openapi",async()=>{m.info("OpenAPI collector: start processing documents...");const e=(await a.cache.load(".","load-oas-docs")).data,s=[];for(const r of e)if(!r.isVirtual){const n=await k(r);s.push(n),v.sendStatsOpenapiCollectedMessage([{...n,projectBuildId:I.PROJECT_BUILD_ID||""}])}o||console.table(s),m.info("OpenAPI collector: openapi documents processing completed.")})}async function k(a){const o=a.definition,e=u(o),s=w(d(e)),r=h([{severity:"warn",ruleId:"openapi_stats",visitor:y(t)}],s),n={problems:[],specVersion:e,visitorsData:{}},c={source:{absoluteRef:""},parsed:o},i=s.Root;if(!i)throw new Error("Root type not found in OpenAPI spec types");const f=await S({rootDocument:c,rootType:i,externalRefResolver:new g});D({rootType:i,normalizedVisitors:r,resolvedRefMap:f,document:c,ctx:n});const l={path:a.relativePath,refs:t.refs.total,externalDocs:t.externalDocs.total,schemas:t.schemas.total,parameters:t.parameters.total,links:t.links.total,pathItems:t.pathItems.total,webhooks:t.webhooks.total,operations:t.operations.total,tags:t.tags.total,version:e};if(e==="oas3_2"){const p=b(o);p&&Object.assign(l,p)}return l}export{_ as collectOpenapiDocumentsStatistics};
1
+ import{detectSpec as u,getTypes as d,normalizeTypes as h,normalizeVisitors as w,resolveDocument as y,BaseResolver as D,StatsOAS as S,walkDocument as g}from"@redocly/openapi-core";import{logger as m}from"../../../../server/tools/notifiers/logger.js";import{envConfig as I}from"../../../../server/config/env-config.js";import{telemetryTraceStep as O}from"../../../telemetry/helpers/trace-step.js";import{telemetry as b}from"../../../telemetry/index.js";import{computeOas32Stats as v}from"./oas32.js";const t={refs:{metric:"References",total:0,color:"red",items:new Set},externalDocs:{metric:"External Documents",total:0,color:"magenta"},schemas:{metric:"Schemas",total:0,color:"white"},parameters:{metric:"Parameters",total:0,color:"yellow",items:new Set},links:{metric:"Links",total:0,color:"cyan",items:new Set},pathItems:{metric:"Path Items",total:0,color:"green"},webhooks:{metric:"Webhooks",total:0,color:"green"},operations:{metric:"Operations",total:0,color:"yellow"},tags:{metric:"Tags",total:0,color:"white",items:new Set}};async function _(n,s){await O("com.redocly.stats.openapi",async()=>{m.info("OpenAPI collector: start processing documents...");const e=(await n.cache.load(".","api-docs")).data,a=[];for(const r of e){if(r.type!=="openapi"||r.isVirtual)continue;const o=await k(r);a.push(o),b.sendStatsOpenapiCollectedMessage([{id:o.path,object:"openapiDefinition",uri:`urn:redocly:realm:cli:openapiDefinition:${o.path}`,...o,projectBuildId:I.PROJECT_BUILD_ID||""}])}s||console.table(a),m.info("OpenAPI collector: openapi documents processing completed.")})}async function k(n){const s=n.document,e=u(s),a=h(d(e)),r=w([{severity:"warn",ruleId:"openapi_stats",visitor:S(t)}],a),o={problems:[],specVersion:e,visitorsData:{}},c={source:{absoluteRef:""},parsed:s},i=a.Root;if(!i)throw new Error("Root type not found in OpenAPI spec types");const f=await y({rootDocument:c,rootType:i,externalRefResolver:new D});g({rootType:i,normalizedVisitors:r,resolvedRefMap:f,document:c,ctx:o});const l={path:n.relativePath,refs:t.refs.total,externalDocs:t.externalDocs.total,schemas:t.schemas.total,parameters:t.parameters.total,links:t.links.total,pathItems:t.pathItems.total,webhooks:t.webhooks.total,operations:t.operations.total,tags:t.tags.total,version:e};if(e==="oas3_2"){const p=v(s);p&&Object.assign(l,p)}return l}export{_ as collectOpenapiDocumentsStatistics};
@@ -1 +1 @@
1
- import{initPlugins as n}from"../../server/plugins/lifecycle.js";import{configParserPlugin as a}from"../../server/plugins/config-parser/index.js";import{openAPIDocsPlugin as c}from"../../server/plugins/openapi-docs/index.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{PORTAL_VERSION as p}from"../../server/version.js";import{collectOpenapiDocumentsStatistics as l}from"./collectors/openapi/index.js";import{telemetry as f}from"../telemetry/index.js";import{telemetryTraceStep as y}from"../telemetry/helpers/trace-step.js";async function I(e){const{"project-dir":o,telemetry:t,verbose:i}=e;f.initialize(p,t,i),await y("stats",async()=>{const r=[a,c],{lifecycleContext:m}=await n({contentDir:o},r);await l(m,t)}),await s.exitWithCode(0)}export{I as stats};
1
+ import{initPlugins as a}from"../../server/plugins/lifecycle.js";import{configParserPlugin as c}from"../../server/plugins/config-parser/index.js";import{apiDocsPlugin as n}from"../../server/plugins/api-docs/index.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{PORTAL_VERSION as p}from"../../server/version.js";import{collectOpenapiDocumentsStatistics as l}from"./collectors/openapi/index.js";import{telemetry as f}from"../telemetry/index.js";import{telemetryTraceStep as y}from"../telemetry/helpers/trace-step.js";async function O(e){const{"project-dir":o,telemetry:t,verbose:i}=e;f.initialize(p,t,i),await y("com.redocly.stats.started",async()=>{const r=[c,n],{lifecycleContext:m}=await a({contentDir:o},r);await l(m,t)}),await s.exitWithCode(0)}export{O as stats};
@@ -1 +1 @@
1
- import*as e from"react";import{useEffect as c}from"react";import{Outlet as E,useLocation as d,useNavigate as g}from"react-router-dom";import{withoutPathPrefix as h}from"@redocly/theme/core/utils";import{useThemeConfig as P}from"@redocly/theme/core/hooks";import{InternalServerErrorLayout as D}from"@redocly/theme/layouts/InternalServerErrorLayout";import{RootLayout as S}from"@redocly/theme/layouts/RootLayout";import{PageLayout as T}from"@redocly/theme/layouts/PageLayout";import{components as L}from"@redocly/theme/markdoc/default";import{Sidebar as v}from"./app/Sidebar/Sidebar";import{loadAndNavigate as _}from"./app/utils/loadAndNavigate";import{useActions as C}from"./app/Sidebar/useActions";import{useScrollTracker as y}from"./app/hooks/useScrollTracker";import{useAutoScroll as A}from"./app/hooks/useAutoScroll";import{OPENAPI_DOCS_TEMPLATE_ID as N,ASYNC_API_DOCS_TEMPLATE_ID as O,GRAPHQL_TEMPLATE_ID as R}from"../constants/common";import{removeTrailingSlash as I}from"../utils/url/remove-trailing-slash";import{removeLeadingSlash as M}from"../utils/url/remove-leading-slash";import*as k from"./app/markdoc/custom-components/index";import{DefaultStyles as b}from"./styling/default-styles";import{ThemeDataProvider as x}from"./providers/theme/ThemeDataProvider";import{PageDataContext as B}from"./providers/page-data/PageDataContext";import{SeoTags as G}from"./app/seo/SeoTags";import{useRouterForLocalLinks as V,useRunningEnvironmentCheck as F}from"./providers/hooks";import{usePageData as w,usePageDataLoader as H}from"./providers/page-data/hooks";import{ErrorBoundary as Q}from"./ErrorBoundary";import{ErrorDetails as u,Loader as U}from"./server-entry";import"@styles";import{useRouteChangeTracker as Y}from"./app/hooks/useRouteChangeTracker";import{isInIframe as j}from"./utils";import{useL10n as q}from"./app/l10n";import{PostMessageProvider as z}from"./providers/post-message/PostMessageProvider";import{ScriptLoader as J}from"./ScriptLoader";import{clientRoutes as K}from"./runtime/generated/routes.js";import{DevModeFloatingBar as W}from"./app/DevModeFloatingBar";import{usePageTimeTracker as X}from"./app/hooks/usePageTimeTracker";import{useMarkdocRenderer as Z}from"./app/hooks/markdown/useMarkdocRenderer";globalThis.__LOADER.markdocComponents={...k,...L};function ke(){const o=H(),[a,n]=e.useState(o),r=d(),m=g();q();const s=e.useMemo(()=>function(){const{palette:p}=P();return e.createElement(b,{palette:p})},[]);c(()=>{o?n(o):_({navigate:m,to:r.pathname+r.search+r.hash}).then(()=>n(U.loadSync(r.pathname)))},[r,m]),V();const t=F();return t?(console.log(t),e.createElement(u,{error:{message:t,name:""}})):a?e.createElement(Q,null,e.createElement(B.Provider,{value:o||a},e.createElement(x,null,e.createElement(s,null),e.createElement(z,{enabled:process.env.NODE_ENV==="development"||j()},e.createElement(E,null))))):null}function f(){Y(),X(),y(),A();const o=w(),a=C(),{layout:n}=a,r={layout:n},m=process.env.NODE_ENV!=="production",s=globalThis.SSR_OMIT_SUSPENSE,t=Z(o?.props?.ast),l=I(o?.slug||"");if(c(()=>{document.documentElement.classList.add("ready")},[]),o?.props.pagePropGetterError?.message)return m?e.createElement(u,{error:{...o?.props?.pagePropGetterError}}):e.createElement(D,null);if(!!o?.props?.compilationErrors?.length)return o?.Template?e.createElement(o.Template,{pageProps:o?.props,children:t}):null;const i=()=>e.createElement(S,null,e.createElement(T,{sidebar:e.createElement(v,{layoutControls:a})},e.createElement(G,{seo:o?.props.seo,slug:l}),o?.Template?e.createElement(o.Template,{pageProps:[N,O,R].includes(o.templateId)?{...o.props,apiOptions:r}:o?.props,children:t}):null),process.env.NODE_ENV!=="production"&&e.createElement(W,null),e.createElement(J,null));return s?i():e.createElement(e.Suspense,null,i())}const be=[...K.map(o=>({Component:f,path:M(h(o).substring(1)+"/*")})),{Component:f,path:"*"}];export{ke as App,f as Page,be as routes};
1
+ import*as t from"react";import{useEffect as c,useMemo as u,useState as g,Suspense as h}from"react";import{Outlet as P,useLocation as S,useNavigate as D}from"react-router-dom";import{withoutPathPrefix as T}from"@redocly/theme/core/utils";import{useThemeConfig as v}from"@redocly/theme/core/hooks";import{InternalServerErrorLayout as L}from"@redocly/theme/layouts/InternalServerErrorLayout";import{RootLayout as C}from"@redocly/theme/layouts/RootLayout";import{PageLayout as y}from"@redocly/theme/layouts/PageLayout";import{components as R}from"@redocly/theme/markdoc/default";import{Sidebar as _}from"./app/Sidebar/Sidebar";import{loadAndNavigate as I}from"./app/utils/loadAndNavigate";import{useActions as N}from"./app/Sidebar/useActions";import{useScrollTracker as O}from"./app/hooks/useScrollTracker";import{useAutoScroll as A}from"./app/hooks/useAutoScroll";import{API_DOCS_TEMPLATE_ID as f}from"../constants/common";import{removeTrailingSlash as k}from"../utils/url/remove-trailing-slash";import{removeLeadingSlash as M}from"../utils/url/remove-leading-slash";import*as b from"./app/markdoc/custom-components/index";import{DefaultStyles as x}from"./styling/default-styles";import{ThemeDataProvider as B}from"./providers/theme/ThemeDataProvider";import{PageDataContext as G}from"./providers/page-data/PageDataContext";import{SeoTags as V}from"./app/seo/SeoTags";import{useRouterForLocalLinks as F,useRunningEnvironmentCheck as w}from"./providers/hooks";import{usePageData as U,usePageDataLoader as j}from"./providers/page-data/hooks";import{ErrorBoundary as q}from"./ErrorBoundary";import{ErrorDetails as E,Loader as z}from"./server-entry";import"@styles";import{useRouteChangeTracker as H}from"./app/hooks/useRouteChangeTracker";import{isInIframe as J}from"./utils";import{useL10n as K}from"./app/l10n";import{PostMessageProvider as Q}from"./providers/post-message/PostMessageProvider";import{ScriptLoader as W}from"./ScriptLoader";import{clientRoutes as X}from"./runtime/generated/routes.js";import{DevModeFloatingBar as Y}from"./app/DevModeFloatingBar";import{usePageTimeTracker as Z}from"./app/hooks/usePageTimeTracker";import{useMarkdocRenderer as $}from"./app/hooks/markdown/useMarkdocRenderer";globalThis.__LOADER.markdocComponents={...b,...R};function Be(){const e=j(),[n,a]=g(e),o=S(),m=D();K();const l=t.useMemo(()=>function(){const{palette:s}=v();return t.createElement(x,{palette:s})},[]);c(()=>{e?a(e):I({navigate:m,to:o.pathname+o.search+o.hash}).then(()=>a(z.loadSync(o.pathname)))},[o,m]),F();const r=w();return r?(console.log(r),t.createElement(E,{error:{message:r,name:""}})):n?t.createElement(q,null,t.createElement(G.Provider,{value:e||n},t.createElement(B,null,t.createElement(l,null),t.createElement(Q,{enabled:process.env.NODE_ENV==="development"||J()},t.createElement(P,null))))):null}function ee(){return A(),null}function d(){H(),Z(),O();const e=U(),n=N(),{layout:a}=n,o=u(()=>({layout:a}),[a]),m=process.env.NODE_ENV!=="production",l=globalThis.SSR_OMIT_SUSPENSE,r=$(e?.props?.ast),p=k(e?.slug||"");c(()=>{document.documentElement.classList.add("ready")},[]);const s=u(()=>[f].includes(e?.templateId??"")?{...e?.props,apiOptions:o}:e?.props,[e?.props,e?.templateId,o]);if(e?.props.pagePropGetterError?.message)return m?t.createElement(E,{error:{...e?.props?.pagePropGetterError}}):t.createElement(L,null);if(!!e?.props?.compilationErrors?.length)return e?.Template?t.createElement(e.Template,{pageProps:e?.props,children:r}):null;const i=()=>t.createElement(C,null,e?.templateId!==f&&t.createElement(ee,null),t.createElement(y,{sidebar:t.createElement(_,{layoutControls:n})},t.createElement(V,{seo:e?.props.seo,slug:p}),e?.Template&&s?t.createElement(e.Template,{pageProps:s,children:r}):null),process.env.NODE_ENV!=="production"&&t.createElement(Y,null),t.createElement(W,null));return l?i():t.createElement(h,null,i())}const Ge=[...X.map(e=>({Component:d,path:M(T(e).substring(1)+"/*")})),{Component:d,path:"*"}];export{Be as App,d as Page,Ge as routes};
@@ -1 +1 @@
1
- import e from"react";import{BrowserRouter as o}from"react-router-dom";import{ThemeDataContext as n,SearchSessionProvider as i}from"@redocly/theme/core/contexts";import u from"@redocly/theme/core/templates/Markdown";import{useAnchorPositioning as m,useBreadcrumbs as d,useBanner as l,useCatalogClassic as c,useCurrentProduct as p,useGlobalData as g,useI18n as h,useI18nConfig as f,useL10n as b,useL10nConfig as C,usePageData as T,usePageSharedData as k,usePageVersions as v,usePreloadHistory as P,useProducts as w,useUserMenu as S,useSubmitFeedback as y,useTranslate as D,useSidebarSiblingsData as $,usePageProps as E,useUserTeams as I,useMarkdownText as L,useMarkdocRenderer as M,useCodeHighlight as x,useLoadAndNavigate as F,useCatalog as H,useCatalogSort as R,useCatalogSearch as A,useFetchCatalogEntities as B,useFetchCatalogEntitiesRelations as G,useTelemetry as r,useMcpData as O,useFetchCatalogEntityRevisions as U}from"./app/hooks";import{Link as N}from"./app/Link";import{useFacetQuery as Q,useSearch as V,useAiSearch as j}from"./app/search";import{useSidebarItems as q}from"./app/Sidebar/useSidebarItems";import{PageDataContext as z}from"./providers/page-data/PageDataContext";const s={Template:({pageProps:a,children:t})=>e.createElement(u,{pageProps:{...a,metadata:{...a.metadata,markdoc:{tagList:[]}}}},t),templateId:"markdown",isPublic:!0,props:{seo:{title:"Test"},ast:{$$mdtype:"Tag",name:"div",children:[{$$mdtype:"Tag",name:"Heading",attributes:{id:"github-flavored-markdown",level:1},children:["GitHub-flavored markdown"]},{$$mdtype:"Tag",name:"p",attributes:{},children:["These exercises assume you have",{$$mdtype:"Tag",name:"a",attributes:{href:"https://docs.redoc.ly/"},children:["basic markdown knowledge"]},"."]},{$$mdtype:"Tag",name:"Heading",attributes:{id:"create-a-new-plain-markdown-page",level:2},children:["Create a new plain markdown page"]}]},lastModified:new Date("2022-01-01").toISOString()},slug:"",userData:{isAuthenticated:!1,name:"test name",picture:""},sidebar:null,sharedData:{},sharedDataIds:{}},J={useAnchorPositioning:m,useBreadcrumbs:d,useBanner:l,useCatalog:H,useCatalogSort:R,useCatalogSearch:A,useFetchCatalogEntities:B,useFetchCatalogEntitiesRelations:G,useFetchCatalogEntityRevisions:U,useCatalogClassic:c,useCurrentProduct:p,useGlobalData:g,useSearch:V,useAiSearch:j,useFacetQuery:Q,useI18n:h,useI18nConfig:f,useL10n:b,useL10nConfig:C,usePageData:T,usePageSharedData:k,usePageVersions:v,usePreloadHistory:P,useProducts:w,useUserMenu:S,useSidebarItems:q,useSidebarSiblingsData:$,useSubmitFeedback:y,useTranslate:D,useUserTeams:I,usePageProps:E,useMarkdownText:L,useMarkdocRenderer:M,useCodeHighlight:x,useLoadAndNavigate:F,useTelemetry:r,useOtelTelemetry:r,useMcpData:O},K={LinkComponent:N},W={hooks:J,components:K,config:{}};function oe({children:a,customPageData:t}){return e.createElement(o,null,e.createElement(i,null,e.createElement(z.Provider,{value:{...s,...t,props:{...s.props,...t?.props}}},e.createElement(n.Provider,{value:W},a))))}export{oe as TestProvider};
1
+ import e from"react";import{BrowserRouter as o}from"react-router-dom";import{ThemeDataContext as n,SearchSessionProvider as i}from"@redocly/theme/core/contexts";import u from"@redocly/theme/core/templates/Markdown";import{useAnchorPositioning as m,useBreadcrumbs as d,useBanner as l,useCatalogClassic as c,useCurrentProduct as p,useGlobalData as g,useI18n as h,useI18nConfig as f,useL10n as T,useL10nConfig as b,usePageData as C,usePageSharedData as k,usePageVersions as v,usePreloadHistory as P,useProducts as w,useUserMenu as y,useSubmitFeedback as S,useTranslate as D,useTranslationKeys as $,useSidebarSiblingsData as E,usePageProps as I,useUserTeams as L,useMarkdownText as M,useMarkdocRenderer as x,useCodeHighlight as F,useLoadAndNavigate as H,useCatalog as R,useCatalogSort as A,useCatalogSearch as B,useFetchCatalogEntities as G,useFetchCatalogEntitiesRelations as O,useTelemetry as r,useMcpData as U,useFetchCatalogEntityRevisions as K}from"./app/hooks";import{Link as N}from"./app/Link";import{useFacetQuery as Q,useSearch as V,useAiSearch as j}from"./app/search";import{useSidebarItems as q}from"./app/Sidebar/useSidebarItems";import{PageDataContext as z}from"./providers/page-data/PageDataContext";const s={Template:({pageProps:a,children:t})=>e.createElement(u,{pageProps:{...a,metadata:{...a.metadata,markdoc:{tagList:[]}}}},t),templateId:"markdown",isPublic:!0,props:{seo:{title:"Test"},ast:{$$mdtype:"Tag",name:"div",children:[{$$mdtype:"Tag",name:"Heading",attributes:{id:"github-flavored-markdown",level:1},children:["GitHub-flavored markdown"]},{$$mdtype:"Tag",name:"p",attributes:{},children:["These exercises assume you have",{$$mdtype:"Tag",name:"a",attributes:{href:"https://docs.redoc.ly/"},children:["basic markdown knowledge"]},"."]},{$$mdtype:"Tag",name:"Heading",attributes:{id:"create-a-new-plain-markdown-page",level:2},children:["Create a new plain markdown page"]}]},lastModified:new Date("2022-01-01").toISOString()},slug:"",userData:{isAuthenticated:!1,name:"test name",picture:""},sidebar:null,sharedData:{},sharedDataIds:{}},J={useAnchorPositioning:m,useBreadcrumbs:d,useBanner:l,useCatalog:R,useCatalogSort:A,useCatalogSearch:B,useFetchCatalogEntities:G,useFetchCatalogEntitiesRelations:O,useFetchCatalogEntityRevisions:K,useCatalogClassic:c,useCurrentProduct:p,useGlobalData:g,useSearch:V,useAiSearch:j,useFacetQuery:Q,useI18n:h,useI18nConfig:f,useL10n:T,useL10nConfig:b,usePageData:C,usePageSharedData:k,usePageVersions:v,usePreloadHistory:P,useProducts:w,useUserMenu:y,useSidebarItems:q,useSidebarSiblingsData:E,useSubmitFeedback:S,useTranslate:D,useTranslationKeys:$,useUserTeams:L,usePageProps:I,useMarkdownText:M,useMarkdocRenderer:x,useCodeHighlight:F,useLoadAndNavigate:H,useTelemetry:r,useOtelTelemetry:r,useMcpData:U},W={LinkComponent:N},X={hooks:J,components:W,config:{}};function ne({children:a,customPageData:t}){return e.createElement(o,null,e.createElement(i,null,e.createElement(z.Provider,{value:{...s,...t,props:{...s.props,...t?.props}}},e.createElement(n.Provider,{value:X},a))))}export{ne as TestProvider};
@@ -0,0 +1,3 @@
1
+ export { buildItems } from '@redocly/api-docs/lib/adapters/build.js';
2
+ export { simplifyAstStructure } from '@redocly/api-docs/lib/adapters/utils/simplifyAstStructure.js';
3
+ //# sourceMappingURL=api-docs-builder-entry.d.ts.map
@@ -0,0 +1 @@
1
+ import{buildItems as e}from"@redocly/api-docs/lib/adapters/build.js";import{simplifyAstStructure as o}from"@redocly/api-docs/lib/adapters/utils/simplifyAstStructure.js";export{e as buildItems,o as simplifyAstStructure};
@@ -1 +1 @@
1
- import{useCallback as f}from"react";import{withPathPrefix as b,combineUrls as u}from"@redocly/theme/core/utils";import{ServerRoutes as l}from"../../../constants/api";import{usePageData as P}from"../../providers/hooks";import{usePageSharedData as g}from"../../providers/page-data/hooks";function O(){const{basePath:o}=g("openAPIDocsStore")||{},e=P()?.templateId==="openapi_docs";return{submitFeedback:f(async({type:i,values:r,path:n,location:s,lang:c})=>{const m=u(window.location.origin,e?o:"",n),a={};for(const[d,t]of Object.entries(r))a[d]=typeof t=="string"?t.trim():t;const p={location:s?.trim(),lang:c?.trim(),component:i,...a,path:m};await fetch(b(l.FEEDBACK),{method:"POST",body:JSON.stringify(p)})},[o,e])}}export{O as useSubmitFeedback};
1
+ import{useCallback as b}from"react";import{withPathPrefix as f,combineUrls as d}from"@redocly/theme/core/utils";import{ServerRoutes as u}from"../../../constants/api";function y(){return{submitFeedback:b(async({type:e,values:i,path:r,location:n,lang:a})=>{const c=d(window.location.origin,r),o={};for(const[s,t]of Object.entries(i))o[s]=typeof t=="string"?t.trim():t;const m={location:n?.trim(),lang:a?.trim(),component:e,...o,path:c};await fetch(f(u.FEEDBACK),{method:"POST",body:JSON.stringify(m)})},[])}}export{y as useSubmitFeedback};
@@ -1,11 +1,11 @@
1
- import e,{useEffect as y,useState as b}from"react";import h from"styled-components";import{Menu as w}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as A}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as B}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as I}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as L}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as P}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as D}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as x,getBaseDataAttributes as C,generateBeforeAfterContext as T}from"@redocly/theme/core/utils";import{telemetry as v}from"../telemetry/index.js";import{usePreloadHistory as M}from"../usePreloadHistory";import{useTranslate as V}from"../hooks";import{usePageSharedData as H,usePageVersions as R}from"../../providers/page-data/hooks";import{useSidebarItems as q}from"./useSidebarItems";import{renderAdmonition as J,RequestAccessButton as j}from"./RequestAccessButton";function re({layoutControls:s}){const{versions:l=[]}=R()||{},m=l.find(t=>t?.active),{translate:o}=V(),{currentItems:c,backLink:n,versionLabel:r,pushDrilldownState:g,popDrilldownState:k}=q(m),[d,E]=b(),{collapsedSidebar:i}=s,u=H("openAPIDocsStore")?.definition.info?.["x-metadata"]?.apiId,S=M(),[f,a]=b(void 0);return y(()=>{const t=setTimeout(()=>a(void 0),350);return()=>clearTimeout(t)},[f]),c.length?e.createElement(e.Fragment,null,e.createElement(B,{collapsed:i,menuItemsAnimation:f,versions:e.createElement(I,{versions:l,onChange:t=>{v.sendVersionPickerChangedMessage([...T("versionPicker","dropdown",{version:m?.version||""},{version:t?.version||""})]);const p=location.hash?t?.link+location.hash:t?.link;p&&S.push(x(p))}}),menu:e.createElement(w,{items:c,onDrilldownOpen:t=>{a("slideInRight"),g(t)}}),footer:e.createElement("div",{style:{width:"100%"}},!i&&J(d),e.createElement(A,{...s,requestAccessButton:u?e.createElement(j,{apiId:u,status:d,setStatus:E}):null})),header:(n||r)&&e.createElement(z,null,n&&e.createElement(F,{icon:e.createElement(D,null),iconPosition:"left",variant:"ghost",size:"medium","data-component-name":"Sidebar/BackButton",to:n.slug,onClick:()=>{a("slideInLeft"),k(),v.sendSidebarDrilldownBackClickedMessage([C("sidebarDrilldownBack","button")])}},i?"":n.label?e.createElement("div",{"data-translation-key":"sidebar.menu.backToLabel"},o("sidebar.menu.backToLabel",{value:o(n.labelTranslationKey,n.label)})):e.createElement("div",{"data-translation-key":"sidebar.menu.backLabel"},o("sidebar.menu.backLabel"))),r&&!i&&e.createElement(P,{version:r}))})):null}const z=h.div`
1
+ import e,{useEffect as y,useState as b}from"react";import h from"styled-components";import{Menu as w}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as B}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as A}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as D}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as I}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as L}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as P}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as x,getBaseDataAttributes as C,generateBeforeAfterContext as T}from"@redocly/theme/core/utils";import{telemetry as v}from"../telemetry/index.js";import{usePreloadHistory as M}from"../usePreloadHistory";import{useTranslate as V}from"../hooks";import{usePageSharedData as H,usePageVersions as R}from"../../providers/page-data/hooks";import{useSidebarItems as q}from"./useSidebarItems";import{renderAdmonition as j,RequestAccessButton as z}from"./RequestAccessButton";function ae({layoutControls:s}){const{versions:l=[]}=R()||{},m=l.find(t=>t?.active),{translate:r}=V(),{currentItems:c,backLink:n,versionLabel:a,pushDrilldownState:g,popDrilldownState:k}=q(m),[d,S]=b(),{collapsedSidebar:i}=s,u=H("apiDocsStore")?.apiId,E=M(),[p,o]=b(void 0);return y(()=>{const t=setTimeout(()=>o(void 0),350);return()=>clearTimeout(t)},[p]),c.length?e.createElement(e.Fragment,null,e.createElement(A,{collapsed:i,menuItemsAnimation:p,versions:e.createElement(D,{versions:l,onChange:t=>{v.sendVersionPickerChangedMessage([...T("versionPicker","dropdown",{version:m?.version||""},{version:t?.version||""})]);const f=location.hash?t?.link+location.hash:t?.link;f&&E.push(x(f))}}),menu:e.createElement(w,{items:c,onDrilldownOpen:t=>{o("slideInRight"),g(t)}}),footer:e.createElement("div",{style:{width:"100%"}},!i&&j(d),e.createElement(B,{...s,requestAccessButton:u?e.createElement(z,{apiId:u,status:d,setStatus:S}):null})),header:(n||a)&&e.createElement(F,null,n&&e.createElement(K,{icon:e.createElement(P,null),iconPosition:"left",variant:"ghost",size:"medium","data-component-name":"Sidebar/BackButton",to:n.slug,onClick:()=>{o("slideInLeft"),k(),v.sendSidebarDrilldownBackClickedMessage([C("sidebarDrilldownBack","button")])}},i?"":n.label?e.createElement("div",{"data-translation-key":"sidebar.menu.backToLabel"},r("sidebar.menu.backToLabel",{value:r(n.labelTranslationKey,n.label)})):e.createElement("div",{"data-translation-key":"sidebar.menu.backLabel"},r("sidebar.menu.backLabel"))),a&&!i&&e.createElement(L,{version:a}))})):null}const F=h.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--menu-header-container-gap);
5
5
  width: 100%;
6
- `,F=h(L)`
6
+ `,K=h(I)`
7
7
  padding: var(--menu-item-padding-vertical) 0;
8
8
  height: calc(var(--line-height-base) + var(--menu-item-padding-vertical) * 2);
9
9
  justify-content: flex-start;
10
10
  width: 100%;
11
- `;export{re as Sidebar};
11
+ `;export{ae as Sidebar};
@@ -1 +1 @@
1
- import e from"react";import{LayoutVariant as o}from"@redocly/config";import{usePageSharedData as a}from"../../providers/page-data/hooks";function S(){const{document:i}=a("AsyncApiDefinition")||{},{definition:c,options:t={}}=a("openAPIDocsStore")||{},l=a("graphQlSettings")??"",r=c&&t||i||l.length>0,[n,s]=e.useState(t.layout||o.THREE_PANEL),[f,p]=e.useState(!1),[u,y]=e.useState(!1);e.useEffect(()=>{u||s(t.layout||o.THREE_PANEL)},[t.layout,u]);function h(){s(n===o.STACKED?o.THREE_PANEL:o.STACKED),y(!0)}function C(){p(E=>!E)}return{onChangeViewClick:h,onChangeCollapseSidebarClick:C,showChangeLayoutButton:t.showChangeLayoutButton||!0,layout:n,collapsedSidebar:f,isApiDocs:r}}export{S as useActions};
1
+ import t from"react";import{LayoutVariant as o}from"@redocly/config";import{usePageSharedData as C}from"../../providers/page-data/hooks";function L(){const e=C("apiDocsStore"),c=!!e,a=e?.options?.layout,[n,s]=t.useState(a||o.THREE_PANEL),[i,l]=t.useState(!1),[u,r]=t.useState(!1);t.useEffect(()=>{u||s(a||o.THREE_PANEL)},[a,u]);function f(){s(n===o.STACKED?o.THREE_PANEL:o.STACKED),r(!0)}function p(){l(E=>!E)}return{onChangeViewClick:f,onChangeCollapseSidebarClick:p,layout:n,collapsedSidebar:i,isApiDocs:c}}export{L as useActions};
@@ -1 +1 @@
1
- import h from"shiki/langs/bash.mjs";import l from"shiki/langs/c.mjs";import g from"shiki/langs/coffee.mjs";import d from"shiki/langs/csharp.mjs";import k from"shiki/langs/css.mjs";import u from"shiki/langs/go.mjs";import w from"shiki/langs/graphql.mjs";import N from"shiki/langs/html.mjs";import b from"shiki/langs/http.mjs";import y from"shiki/langs/java.mjs";import v from"shiki/langs/javascript.mjs";import x from"shiki/langs/kotlin.mjs";import H from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import L from"shiki/langs/objective-c.mjs";import _ from"shiki/langs/perl.mjs";import j from"shiki/langs/php.mjs";import T from"shiki/langs/python.mjs";import E from"shiki/langs/scala.mjs";import M from"shiki/langs/sql.mjs";import q from"shiki/langs/swift.mjs";import S from"shiki/langs/tsx.mjs";import A from"shiki/langs/typescript.mjs";import C from"shiki/langs/vim.mjs";import D from"shiki/langs/xml.mjs";import F from"shiki/langs/yaml.mjs";import R from"shiki/langs/jsx.mjs";import W from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as G,transformerNotationHighlight as J,transformerNotationWordHighlight as U,transformerNotationFocus as V,transformerNotationErrorLevel as $,transformerMetaHighlight as z,transformerMetaWordHighlight as B,transformerRemoveNotationEscape as I}from"@shikijs/transformers";import{createHighlighterCoreSync as K}from"shiki/core";import{createJavaScriptRegexEngine as O}from"shiki/engine/javascript";import P from"./ruby";import Q from"./multipart-mixed";import X from"./json-seq";import Y from"./theme";import Z from"./treeview-transformer";import rr from"./node-transformer";import or from"./line-numbers-transformer";import{mapLang as tr}from"./map-lang";const mr=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],i="text",a=K({themes:[Y],langs:[h,l,g,d,k,u,w,N,b,y,v,x,H,r,L,_,j,T,P,E,M,q,S,A,D,C,F,mr,R,W,Q,X],engine:O()}),er=[G(),J(),U(),V(),$(),z(),B(),I(),rr()],ir=(o,n,s)=>{const{withLineNumbers:p,startLineNumber:f,highlight:c,customTransformer:t}=s||{},m=tr(n?.toLowerCase()||i),e={lang:m,theme:"theme",meta:{__raw:c},transformers:[...m==="treeview"?[Z()]:[],...er,...p?[or(f)]:[],...t?[t]:[]]};try{return a.codeToHtml(o,e)}catch{return a.codeToHtml(o,{...e,lang:i})}};function Ir(){return{highlight:ir}}export{ir as highlight,Ir as useCodeHighlight};
1
+ import l from"shiki/langs/bash.mjs";import d from"shiki/langs/c.mjs";import g from"shiki/langs/coffee.mjs";import u from"shiki/langs/csharp.mjs";import k from"shiki/langs/css.mjs";import w from"shiki/langs/go.mjs";import b from"shiki/langs/graphql.mjs";import y from"shiki/langs/html.mjs";import N from"shiki/langs/http.mjs";import v from"shiki/langs/java.mjs";import x from"shiki/langs/javascript.mjs";import H from"shiki/langs/kotlin.mjs";import L from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import _ from"shiki/langs/objective-c.mjs";import j from"shiki/langs/perl.mjs";import q from"shiki/langs/php.mjs";import T from"shiki/langs/python.mjs";import C from"shiki/langs/scala.mjs";import E from"shiki/langs/sql.mjs";import M from"shiki/langs/swift.mjs";import S from"shiki/langs/tsx.mjs";import I from"shiki/langs/typescript.mjs";import A from"shiki/langs/vim.mjs";import D from"shiki/langs/xml.mjs";import F from"shiki/langs/yaml.mjs";import R from"shiki/langs/jsx.mjs";import W from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as G,transformerNotationHighlight as J,transformerNotationWordHighlight as U,transformerNotationFocus as V,transformerNotationErrorLevel as $,transformerMetaHighlight as z,transformerMetaWordHighlight as B,transformerRemoveNotationEscape as K}from"@shikijs/transformers";import{createHighlighterCoreSync as O}from"shiki/core";import{createJavaScriptRegexEngine as P}from"shiki/engine/javascript";import Q from"./ruby";import X from"./multipart-mixed";import Y from"./json-seq";import Z from"./theme";import rr from"./treeview-transformer";import or from"./node-transformer";import tr from"./line-numbers-transformer";import{mapLang as mr}from"./map-lang";const er=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],n="text",ir=[l,d,g,u,k,w,b,y,N,v,x,H,L,r,_,j,q,T,Q,C,E,M,S,I,D,A,F,er,R,W,X,Y];let o;function t(){return o||(o=O({themes:[Z],langs:ir,engine:P()})),o}typeof window<"u"&&typeof requestIdleCallback=="function"&&requestIdleCallback(t);const ar=[G(),J(),U(),V(),$(),z(),B(),K(),or()],nr=(m,f,s)=>{const{withLineNumbers:p,startLineNumber:c,highlight:h,customTransformer:e}=s||{},i=mr(f?.toLowerCase()||n),a={lang:i,theme:"theme",meta:{__raw:h},transformers:[...i==="treeview"?[rr()]:[],...ar,...p?[tr(c)]:[],...e?[e]:[]]};try{return t().codeToHtml(m,a)}catch{return t().codeToHtml(m,{...a,lang:n})}};function Or(){return{highlight:nr}}export{nr as highlight,Or as useCodeHighlight};
@@ -6,6 +6,7 @@ export { useL10n as useI18n } from '../l10n/hooks';
6
6
  export { useL10nConfig as useI18nConfig } from './useL10nConfig';
7
7
  export { useL10n } from '../l10n/hooks';
8
8
  export { useTranslate } from '../l10n/hooks';
9
+ export { useTranslationKeys } from '../l10n/hooks';
9
10
  export { useL10nConfig } from './useL10nConfig';
10
11
  export * from './useCurrentUserTeams';
11
12
  export * from './products';
@@ -1 +1 @@
1
- export*from"../../providers/page-data/hooks";import{usePageSharedData as t}from"../../providers/hooks";import{useLoginUrl as a}from"./useLoginUrl";import{useGlobalData as f}from"../useGlobalData";import{useL10n as p}from"../l10n/hooks";import{useL10nConfig as n}from"./useL10nConfig";import{useL10n as g}from"../l10n/hooks";import{useTranslate as C}from"../l10n/hooks";import{useL10nConfig as d}from"./useL10nConfig";export*from"./useCurrentUserTeams";export*from"./products";import{usePageVersions as F}from"../../providers/page-data/hooks";import{useUserMenu as P}from"../UserMenu/useUserMenu";import{useSubmitFeedback as T}from"../Feedback/useSubmitFeedback";import{usePreloadHistory as k}from"../usePreloadHistory";import{useBreadcrumbs as D}from"../Sidebar/useBreadcrumbs";import{useBanner as R}from"./useBanner";import{useCatalog as A}from"./catalog/useCatalog";import{useCatalogSort as H}from"./catalog/useCatalogSort";import{useCatalogSearch as w}from"./catalog/useCatalogSearch";import{useFetchCatalogEntities as N}from"./catalog/useFetchCatalogEntities";import{useFetchCatalogEntitiesRelations as j}from"./catalog/useFetchCatalogEntitiesRelations";import{useFetchCatalogEntityRevisions as z}from"./catalog/useFetchCatalogEntityRevisions";import{useCatalogClassic as K}from"./catalog/useCatalogClassic";import{useTelemetry as Q}from"./useTelemetry";import{useUserTeams as X}from"./useUserTeams";import{useMarkdownText as Z}from"./markdown/useMarkdownText";import{useMarkdocRenderer as $}from"./markdown/useMarkdocRenderer";import{useCodeHighlight as oe}from"./codeHighlight/useCodeHighlight";import{useLoadAndNavigate as te}from"./useLoadAndNavigate";import{useUserClaims as ae}from"./useUserClaims";import{useMcpData as fe}from"./useMcpData";import{useAnchorPositioning as pe}from"./useAnchorPositioning";export{pe as useAnchorPositioning,R as useBanner,D as useBreadcrumbs,A as useCatalog,K as useCatalogClassic,w as useCatalogSearch,H as useCatalogSort,oe as useCodeHighlight,N as useFetchCatalogEntities,j as useFetchCatalogEntitiesRelations,z as useFetchCatalogEntityRevisions,f as useGlobalData,p as useI18n,n as useI18nConfig,g as useL10n,d as useL10nConfig,te as useLoadAndNavigate,a as useLoginUrl,$ as useMarkdocRenderer,Z as useMarkdownText,fe as useMcpData,t as usePageSharedData,F as usePageVersions,k as usePreloadHistory,T as useSubmitFeedback,Q as useTelemetry,C as useTranslate,ae as useUserClaims,P as useUserMenu,X as useUserTeams};
1
+ export*from"../../providers/page-data/hooks";import{usePageSharedData as t}from"../../providers/hooks";import{useLoginUrl as a}from"./useLoginUrl";import{useGlobalData as f}from"../useGlobalData";import{useL10n as p}from"../l10n/hooks";import{useL10nConfig as n}from"./useL10nConfig";import{useL10n as l}from"../l10n/hooks";import{useTranslate as C}from"../l10n/hooks";import{useTranslationKeys as d}from"../l10n/hooks";import{useL10nConfig as L}from"./useL10nConfig";export*from"./useCurrentUserTeams";export*from"./products";import{usePageVersions as F}from"../../providers/page-data/hooks";import{useUserMenu as P}from"../UserMenu/useUserMenu";import{useSubmitFeedback as U}from"../Feedback/useSubmitFeedback";import{usePreloadHistory as D}from"../usePreloadHistory";import{useBreadcrumbs as R}from"../Sidebar/useBreadcrumbs";import{useBanner as A}from"./useBanner";import{useCatalog as H}from"./catalog/useCatalog";import{useCatalogSort as w}from"./catalog/useCatalogSort";import{useCatalogSearch as K}from"./catalog/useCatalogSearch";import{useFetchCatalogEntities as V}from"./catalog/useFetchCatalogEntities";import{useFetchCatalogEntitiesRelations as q}from"./catalog/useFetchCatalogEntitiesRelations";import{useFetchCatalogEntityRevisions as J}from"./catalog/useFetchCatalogEntityRevisions";import{useCatalogClassic as Q}from"./catalog/useCatalogClassic";import{useTelemetry as X}from"./useTelemetry";import{useUserTeams as Z}from"./useUserTeams";import{useMarkdownText as $}from"./markdown/useMarkdownText";import{useMarkdocRenderer as oe}from"./markdown/useMarkdocRenderer";import{useCodeHighlight as te}from"./codeHighlight/useCodeHighlight";import{useLoadAndNavigate as ae}from"./useLoadAndNavigate";import{useUserClaims as fe}from"./useUserClaims";import{useMcpData as pe}from"./useMcpData";import{useAnchorPositioning as ne}from"./useAnchorPositioning";export{ne as useAnchorPositioning,A as useBanner,R as useBreadcrumbs,H as useCatalog,Q as useCatalogClassic,K as useCatalogSearch,w as useCatalogSort,te as useCodeHighlight,V as useFetchCatalogEntities,q as useFetchCatalogEntitiesRelations,J as useFetchCatalogEntityRevisions,f as useGlobalData,p as useI18n,n as useI18nConfig,l as useL10n,L as useL10nConfig,ae as useLoadAndNavigate,a as useLoginUrl,oe as useMarkdocRenderer,$ as useMarkdownText,pe as useMcpData,t as usePageSharedData,F as usePageVersions,D as usePreloadHistory,U as useSubmitFeedback,X as useTelemetry,C as useTranslate,d as useTranslationKeys,fe as useUserClaims,P as useUserMenu,Z as useUserTeams};
@@ -1 +1 @@
1
- import{useLocation as i,useNavigate as s}from"react-router-dom";import{useEffect as h,useRef as m}from"react";import{useActiveSectionId as u}from"@redocly/theme/core/hooks";import{isBrowser as f}from"../../../utils/env/is-browser";import{pathnameMatchesActiveSection as p}from"./utils/pathname-matches-active-section.js";let c=!0;function g(){const t=i(),o=s(),e=u(t,!1,!1),a=m(null);h(()=>{if(e&&c){c=!1,a.current=e;return}const n=a.current!==e,r=p(window.location.pathname,e);f()&&e&&!t.hash&&n&&!r&&o({pathname:t.pathname,search:t.search,hash:`#${e}`},{replace:!0}),a.current=e},[e,t.pathname,t.search,t.hash,o])}export{g as useAutoScroll};
1
+ import{useLocation as s,useNavigate as p}from"react-router-dom";import{useEffect as u,useRef as l}from"react";import{useActiveSectionId as h}from"@redocly/theme/core/hooks";import{isBrowser as m}from"../../../utils/env/is-browser";import{pathnameMatchesActiveSection as f}from"./utils/pathname-matches-active-section.js";import{usePageData as d}from"./usePageData";let c=!0;function b(){const t=s(),o=p(),e=h(t,!1,!1),r=!!d("props")?.props?.disableAutoScroll,a=l(null);u(()=>{if(r){a.current=e;return}if(e&&c){c=!1,a.current=e;return}const n=a.current!==e,i=f(window.location.pathname,e);m()&&e&&!t.hash&&n&&!i&&o({pathname:t.pathname,search:t.search,hash:`#${e}`},{replace:!0}),a.current=e},[e,r,t.pathname,t.search,t.hash,o])}export{b as useAutoScroll};
@@ -1 +1 @@
1
- import{AuthCookieNames as o}from"../../../constants/common";import{usePageData as m}from"./usePageData";import{getCookie as t}from"./utils/cookies";function E(){const{userData:e}=m("userData")||{},a=t(o.FEDERATED_ACCESS_TOKEN),r=t(o.FEDERATED_ID_TOKEN);return{email:e?.email,name:e?.name,federatedAccessToken:a,federatedIdToken:r}}export{E as useUserClaims};
1
+ import{useMemo as r}from"react";import{AuthCookieNames as m}from"../../../constants/common";import{usePageData as s}from"./usePageData";import{getCookie as t}from"./utils/cookies";function D(){const{userData:e}=s("userData")||{},o=t(m.FEDERATED_ACCESS_TOKEN),a=t(m.FEDERATED_ID_TOKEN);return r(()=>({email:e?.email,name:e?.name,federatedAccessToken:o,federatedIdToken:a}),[e?.email,e?.name,o,a])}export{D as useUserClaims};
@@ -1,3 +1,4 @@
1
1
  export { useTranslate } from './useTranslate';
2
2
  export { useL10n } from './useL10n';
3
+ export { useTranslationKeys } from './useTranslationKeys';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- import{useTranslate as o}from"./useTranslate";import{useL10n as t}from"./useL10n";export{t as useL10n,o as useTranslate};
1
+ import{useTranslate as o}from"./useTranslate";import{useL10n as t}from"./useL10n";import{useTranslationKeys as n}from"./useTranslationKeys";export{t as useL10n,o as useTranslate,n as useTranslationKeys};
@@ -0,0 +1,2 @@
1
+ export declare const useTranslationKeys: () => string[];
2
+ //# sourceMappingURL=useTranslationKeys.d.ts.map
@@ -0,0 +1 @@
1
+ import a from"i18next";import{useL10n as l}from"./useL10n";let i,d=[],u=!1;function g(){if(u)return;u=!0;const t=()=>{i=void 0,d=[]};a.on("added",t),a.on("removed",t),a.on("languageChanged",t)}function y(t){const e=new Set,o=new Set,s=n=>{if(!(!n||o.has(n))){o.add(n);for(const c of f(a.getResourceBundle(n,"translation")))e.add(c)}};s(t),s(a.language);for(const n of a.languages??[])s(n);const r=a.options?.resources??{};for(const n of Object.keys(r))if(!o.has(n)){o.add(n);for(const c of f(r[n]?.translation))e.add(c)}return[...e]}const k=()=>{const{lang:t}=l();return g(),i!==t&&(d=y(t),i=t),d};function f(t,e=""){if(!t||typeof t!="object"||Array.isArray(t))return e?[e]:[];const o=[];for(const s of Object.keys(t)){const r=e?`${e}.${s}`:s;o.push(...f(t[s],r))}return o}export{k as useTranslationKeys};
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { OpenAPIDefinition, OpenAPISchema } from '@redocly/openapi-docs';
2
+ import type { OpenAPIDefinition, OpenAPISchema } from '@redocly/api-docs';
3
3
  type JsonSchemaProps = {
4
4
  options?: any;
5
5
  title?: string;
@@ -1 +1 @@
1
- import{RedocSchema as p,StoreProvider as l}from"@redocly/openapi-docs";import*as e from"react";import{Admonition as d}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{MarkdownLink as h}from"@redocly/theme/markdoc/components/MarkdownLink/MarkdownLink";import{link as f}from"../../../../../markdoc/nodes/index.js";import{OpenApiComponentWrap as E}from"../styled.elements";const k={nodes:{link:f},components:{MarkdownLink:h}};function S(m){const{options:s,title:t,schemaResolved:o,schemaResolvedErrors:n,schema:r}=m;if(r||o){const i={openapi:"3.0.0",info:{version:"1",description:"test",title:"test"},paths:{},"x-root":o?.components?.schemas?.__root||r,components:{schemas:{...o?.components?.schemas}}};return e.createElement(E,{"data-testid":"json-schema"},t?e.createElement("h3",null,t):null,e.createElement(l,{options:{...s,markdocOptions:k},definition:i},n?.length?e.createElement(d,{name:"Problem in json-schema tag",type:"danger"},n.map((a,c)=>e.createElement("div",{key:c},a))):null,e.createElement(p,{pointer:"#/x-root",disableDeepLinks:!0})))}}export{S as JsonSchema};
1
+ import{MarkdownAdapterProvider as l,RedocSchema as h,StoreProvider as f,createMarkdocAdapter as k,markdocParser as u}from"@redocly/api-docs";import*as e from"react";import{Admonition as E}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{MarkdownLink as v}from"@redocly/theme/markdoc/components/MarkdownLink/MarkdownLink";import{link as A}from"../../../../../markdoc/nodes/index.js";import{OpenApiComponentWrap as P}from"../styled.elements";const a={nodes:{link:A},components:{MarkdownLink:v}};function S(m){const{options:s,title:t,schemaResolved:o,schemaResolvedErrors:n,schema:r}=m,i=e.useMemo(()=>k(a),[]);if(r||o){const c={openapi:"3.0.0",info:{version:"1",description:"test",title:"test"},paths:{},"x-root":o?.components?.schemas?.__root||r,components:{schemas:{...o?.components?.schemas}}};return e.createElement(P,{"data-testid":"json-schema"},t?e.createElement("h3",null,t):null,e.createElement(f,{options:{...s,markdocOptions:a,markdownParser:u},definition:c},e.createElement(l,{value:i},n?.length?e.createElement(E,{name:"Problem in json-schema tag",type:"danger"},n.map((p,d)=>e.createElement("div",{key:d},p))):null,e.createElement(h,{pointer:"#/x-root",disableDeepLinks:!0}))))}}export{S as JsonSchema};
@@ -1,13 +1,9 @@
1
1
  import * as React from 'react';
2
- import type { OpenAPIParameterLocation } from '@redocly/openapi-docs';
2
+ import type { OpenAPIParameterLocation } from '@redocly/api-docs';
3
3
  type OpenApiCodeSampleProps = {
4
4
  descriptionFile?: string;
5
5
  operationId?: string;
6
6
  pointer?: string;
7
- operation?: {
8
- path: string;
9
- method: string;
10
- };
11
7
  exampleKey?: string;
12
8
  mimeType?: string;
13
9
  language?: string;
@@ -1 +1 @@
1
- import*as o from"react";import{StoreProvider as v,RequestSamples as y,normalizeOptions as E}from"@redocly/openapi-docs";import{ErrorMessage as O,OpenApiComponentWrap as M}from"../styled.elements";import{useStore as b}from"../../hooks/use-store";import{getOperation as C}from"../../../../../markdoc/helpers/get-operation/index.js";import{getMockServerDocsConfig as k}from"../../../../templates/openapi-docs/mock-server-config.js";function P(u){const{descriptionFile:d,operationId:a,pointer:m,exampleKey:s,mimeType:l,language:r,requestBody:f,parameters:g,environment:t,environments:n}=u,{store:e,error:S,baseSlug:c}=b(d),i=o.useMemo(()=>({...e?.options,...(r||null)&&{codeSamples:{languages:[{lang:r??""}]},mockServer:k(e?.options?.mockServer,c||"")}}),[r,e?.options,c]),p=o.useMemo(()=>{if(e)return C(e,{operationId:a,pointer:m},E(i),{exampleKey:s,mimeType:l,environments:n,environment:t})},[s,i,l,a,m,e,n,t]);return e?p?o.createElement(M,{"data-testid":"openapi-code-sample"},o.createElement(v,{options:i,definition:e.definition,withState:{environments:n,environment:t,operation:{pointer:p.pointer,state:{requestValues:{body:f,...g}}}}},o.createElement(y,{operation:p,disableFooter:!0}))):o.createElement("pre",{style:{color:"red"}},"Cannot find OpenAPI operation by operationId or pointer"):o.createElement(O,null,S)}export{P as OpenApiCodeSample};
1
+ import*as o from"react";import{StoreProvider as h,RedocCodeSample as k,appendUndeclaredConfigureParameters as C,excludeMockServers as i,markdocParser as E}from"@redocly/api-docs";import{ErrorMessage as P,OpenApiComponentWrap as q}from"../styled.elements";import{useStore as x}from"../../hooks/use-store";import{findCodeSamplePanel as I}from"../../utils/find-code-sample-panel.js";function B(m){const{descriptionFile:d,operationId:s,pointer:a,exampleKey:c,mimeType:u,language:t,requestBody:l,parameters:e,environment:f,environments:v}=m,{store:r,error:y}=x(d),g=o.useMemo(()=>({specType:"openapi",...r?.options,...t&&{codeSamples:{languages:[{lang:t??""}]}},markdownParser:E}),[t,r?.options]),p=o.useMemo(()=>{if(!r?.items?.length)return;const n=I(r.items,{pointer:a,sourceId:s});if(!n)return;const S=C({...n.source,servers:i(n.source.servers)},{...e?.path&&{path:e.path},...e?.query&&{query:e.query},...e?.header&&{headers:e.header},...e?.cookie&&{cookie:e.cookie}});return{...n,...n.servers&&{servers:i(n.servers)},source:S}},[r?.items,a,s,e]);return r?p?o.createElement(q,{"data-testid":"openapi-code-sample"},o.createElement(h,{options:g,apiStore:r.store},o.createElement(k,{node:p,mimeType:u,exampleKey:c,requestBody:l,parameters:e,environment:f,environments:v}))):o.createElement("pre",{style:{color:"red"}},"Cannot find OpenAPI operation (use pointer or operationId)"):o.createElement(P,null,y)}export{B as OpenApiCodeSample};
@@ -1 +1 @@
1
- import*as e from"react";import{RedocExample as a,StoreProvider as c,useOpenapiDocsOptions as l}from"@redocly/openapi-docs";import{ErrorMessage as d,OpenApiComponentWrap as f}from"../styled.elements";import{useStore as E}from"../../hooks/use-store";function g(t){const{descriptionFile:i,pointer:n,options:r,mimeType:p}=t,{store:o,error:m}=E(i),s=l();return o?e.createElement(f,{"data-testid":"openapi-example"},e.createElement(c,{options:{...r,markdocOptions:s.markdocOptions},definition:o.definition},e.createElement(a,{pointer:n,mimeType:p||"application/json"}))):e.createElement(d,null,m)}export{g as OpenApiExample};
1
+ import*as e from"react";import{RedocExample as m,StoreProvider as s,markdocParser as c}from"@redocly/api-docs";import{ErrorMessage as l,OpenApiComponentWrap as d}from"../styled.elements";import{useStore as E}from"../../hooks/use-store";function y(o){const{descriptionFile:t,pointer:p,options:n,mimeType:i}=o,{store:r,error:a}=E(t);return r?e.createElement(d,{"data-testid":"openapi-example"},e.createElement(s,{options:{specType:"openapi",...r.options,...n,markdownParser:c},apiStore:r.store},e.createElement(m,{pointer:p,mimeType:i||"application/json"}))):e.createElement(l,null,a)}export{y as OpenApiExample};
@@ -1 +1 @@
1
- import*as e from"react";import{StoreProvider as S,ResponseSamples as v,normalizeOptions as g}from"@redocly/openapi-docs";import{ErrorMessage as b,OpenApiComponentWrap as E}from"../styled.elements";import{useStore as R}from"../../hooks/use-store";import{getOperation as C}from"../../../../../markdoc/helpers/get-operation/index.js";import{getMockServerDocsConfig as O}from"../../../../templates/openapi-docs/mock-server-config.js";function x(a){const{descriptionFile:m,operationId:i,pointer:p,exampleKey:t}=a,{store:o,error:c,baseSlug:s}=R(m),[l,f]=e.useState(),r=e.useMemo(()=>({...o?.options,mockServer:O(o?.options?.mockServer,s||"")}),[o?.options,s]),n=e.useMemo(()=>{if(o)return C(o,{operationId:i,pointer:p},g(r),{exampleKey:t})},[t,r,i,p,o]),d=e.useCallback(u=>{f(u)},[]);return o?n?e.createElement(E,{"data-testid":"openapi-response-sample"},e.createElement(S,{options:r,definition:o.definition,withState:{operation:{pointer:n.pointer,state:{activeExampleName:t}}}},e.createElement(v,{operation:n,activeResponseTab:l,onTabChange:d}))):e.createElement("pre",{style:{color:"red"}},"Cannot find OpenAPI operation by operationId or pointer"):e.createElement(b,null,c)}export{x as OpenApiResponseSample};
1
+ import*as o from"react";import{StoreProvider as l,RedocResponseSamples as d,markdocParser as c}from"@redocly/api-docs";import{ErrorMessage as n,OpenApiComponentWrap as f}from"../styled.elements";import{useStore as u}from"../../hooks/use-store";import{findResponseSamples as S}from"../../utils/find-openapi-response-samples.js";function g(s){const{descriptionFile:t,operationId:p,pointer:a,exampleKey:i}=s,{store:e,error:m}=u(t);if(!e)return o.createElement(n,null,m);const r=e.items?.length?S(e.items,{pointer:a,sourceId:p}):void 0;return r?.responseCodes.length?o.createElement(f,{"data-testid":"openapi-response-sample"},o.createElement(l,{options:{...e.options,specType:"openapi",markdownParser:c},apiStore:e.store},o.createElement(d,{responseCodes:r.responseCodes,exampleKey:i,schemaId:r.schemaId}))):o.createElement(n,null,"Cannot find response samples for the given operation")}export{g as OpenApiResponseSample};
@@ -1,34 +1,18 @@
1
1
  import React from 'react';
2
- import type { OpenAPIParameterLocation } from '@redocly/openapi-docs';
3
- export type ServerOverrideValue = string | {
4
- default: string;
5
- enum: string[];
6
- };
7
- export type ServerOverrides = Record<string, ServerOverrideValue>;
8
- export type RequestAndResponseType = {
9
- request: Record<string, unknown>;
10
- };
11
- export type OperationParameters = Partial<Record<OpenAPIParameterLocation, object>>;
12
- export type OperationIdentifier = {
13
- operationId?: string;
14
- pointer?: string;
15
- };
2
+ import type { OpenAPIParameterLocation } from '@redocly/api-docs';
3
+ import type { RedocConfig } from '@redocly/config';
16
4
  export type ReplayOpenApiProps = {
17
- descriptionFile?: string;
18
- operationId?: string;
5
+ descriptionFile: string;
19
6
  pointer?: string;
20
- operation?: {
21
- path: string;
22
- method: string;
23
- };
7
+ operationId?: string;
24
8
  exampleKey?: string;
25
9
  mimeType?: string;
26
- parameters?: Record<OpenAPIParameterLocation, object>;
27
- requestBody?: any;
28
- options?: any;
10
+ parameters?: Partial<Record<OpenAPIParameterLocation, object>>;
11
+ requestBody?: unknown;
12
+ options?: Partial<RedocConfig>;
29
13
  environment?: string;
30
14
  environments?: Record<string, Record<string, string>>;
31
15
  hideOtherSecuritySchemes?: boolean;
32
- } & OperationIdentifier;
16
+ };
33
17
  export declare const ReplayOpenApi: (props: ReplayOpenApiProps) => React.JSX.Element;
34
18
  //# sourceMappingURL=replay-openapi.d.ts.map
@@ -1 +1 @@
1
- import o from"react";import{EmbeddedReplay as M,StoreProvider as b}from"@redocly/openapi-docs";import{useLocation as A}from"react-router-dom";import{Admonition as I}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{ErrorMessage as P,OpenApiComponentWrap as x}from"../styled.elements.js";import{useStore as R}from"../../hooks/use-store.js";import{getOperation as C}from"../../../../../markdoc/helpers/get-operation/index.js";import{getMockServerDocsConfig as y}from"../../../../templates/openapi-docs/mock-server-config.js";const L=S=>{const{descriptionFile:i,operationId:p,pointer:m,exampleKey:l,mimeType:u,requestBody:a,parameters:v,options:s,environment:r,environments:c,hideOtherSecuritySchemes:O}=S,h=A(),{store:e,error:g,baseSlug:t}=R(i),d=o.useMemo(()=>({...e?.options,...s}),[s,e?.options]),f=o.useMemo(()=>{const{mockServer:E,...k}=d;return{...k,mockServer:y(E,t??"")}},[d,t]),n=o.useMemo(()=>{if(e)return C(e,{operationId:p,pointer:m},f,{exampleKey:l,mimeType:u,environments:c,environment:r,requestBody:a})},[l,f,u,p,m,e,c,r,a]);return e?n?o.createElement(x,{"data-testid":"replay-openapi"},o.createElement(b,{key:`${h.pathname}-${i}-${p||m}`,options:{...s,disableRouter:!0,routingBasePath:t,mockServer:y(d.mockServer,t)},definition:e.definition,withState:{environments:c,allowedEnvironments:r?[r]:void 0,operation:{pointer:n.pointer,state:{requestValues:{body:a,...v}}}}},o.createElement(M,{activeOperationId:n.operationId||"",fullOpenApi:e.definition,corsProxyUrl:e.options.corsProxyUrl,pointer:n.pointer,hideOtherSecuritySchemes:O}))):o.createElement(I,{type:"danger"},"Cannot find OpenAPI operation by operationId or pointer in ",i):o.createElement(P,null,g)};export{L as ReplayOpenApi};
1
+ import o from"react";import{useLocation as g}from"react-router-dom";import{EmbeddedReplay as k,StoreProvider as I,buildReplayPredefinedEnvValues as P,mergeEnvData as b,useOpenApiDefinition as h,withReplayPrefetch as R,markdocParser as w}from"@redocly/api-docs";import{Admonition as V}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{ErrorMessage as C,OpenApiComponentWrap as D}from"../styled.elements.js";import{useStore as v}from"../../hooks/use-store.js";import{getMockServerDocsConfig as E}from"../../../../templates/openapi-docs/mock-server-config.js";import{buildReplayOperationSourceMap as $}from"../../utils/build-replay-operation-source-map.js";import{findApiItem as x}from"../../utils/find-api-item.js";const q=R(function({descriptionFile:p,operationId:r,pointer:n,exampleKey:a,mimeType:e,requestBody:u,parameters:c,environment:s,environments:i,hideOtherSecuritySchemes:d}){const f=g(),{store:t,baseSlug:S}=v(p),m=h(),O=o.useMemo(()=>{if(!m)return{};const M=E(t?.options?.mockServer,S??""),A=P(m,M);return b(A,i??{})},[m,t?.options?.mockServer,S,i]),y=o.useMemo(()=>t?.items?$(t.items,{pointer:n,sourceId:r},{mimeType:e,exampleKey:a},t.store?.exampleStore??{}):new Map,[t?.items,t?.store?.exampleStore,n,r,e,a]);return!m||!t?null:o.createElement(k,{key:`${f.pathname}-${p}-${r||n}`,activeOperationId:r,fullOpenApi:m,pointer:n,operationSourceMap:y,hideOtherSecuritySchemes:d,predefinedEnvValues:O,allowedEnvironments:s?[s]:void 0,requestValues:{body:u,...c},activeMimeName:e})}),J=l=>{const{descriptionFile:p,operationId:r,pointer:n,options:a}=l,{store:e,error:u,baseSlug:c}=v(p),s=o.useMemo(()=>({...e?.options,...a}),[a,e?.options]),i=o.useMemo(()=>e?.items?.length?x(e.items,{pointer:n,sourceId:r}):void 0,[e?.items,n,r]);if(!e)return o.createElement(C,null,u);if(!i?.content?.meta?.pointer)return o.createElement(V,{type:"danger"},"Cannot find OpenAPI operation by operationId or pointer in ",p);const d=i.content.meta.pointer,f=i.content.meta.sourceId??"";return o.createElement(D,{"data-testid":"replay-openapi"},o.createElement(I,{apiStore:e.store,options:{specType:"openapi",...s,mockServer:E(s.mockServer,c??""),basePath:c,markdownParser:w}},o.createElement(q,{...l,pointer:d,operationId:f})))};export{J as ReplayOpenApi};
@@ -1,15 +1,17 @@
1
- import type { OpenAPIDefinition } from '@redocly/openapi-docs';
1
+ import type { ApiItem, ApiStore } from '@redocly/api-docs';
2
2
  import type { RedocConfig } from '@redocly/config';
3
+ export type ApiDefinitionEmbedSharedData = {
4
+ items: ApiItem[];
5
+ store: ApiStore;
6
+ options: RedocConfig;
7
+ baseSlug: string;
8
+ };
3
9
  export declare function useStore(sharedDataKey?: string): {
4
10
  store: undefined;
5
11
  error: string;
6
12
  baseSlug?: undefined;
7
13
  } | {
8
- store: {
9
- definition: OpenAPIDefinition;
10
- options: RedocConfig;
11
- baseSlug: string;
12
- };
14
+ store: ApiDefinitionEmbedSharedData;
13
15
  error: null;
14
16
  baseSlug: string;
15
17
  };
@@ -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};