@redocly/redoc 0.139.4 → 0.140.0-next.10

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 (216) hide show
  1. package/CHANGELOG.md +401 -201
  2. package/dist/api-schemas/mcp-fetch-count.d.ts +2 -18
  3. package/dist/api-schemas/otel-traces.d.ts +7 -1345
  4. package/dist/api-schemas/otel-traces.js +1 -1
  5. package/dist/api-schemas/search-facets.d.ts +3 -31
  6. package/dist/api-schemas/search-facets.js +1 -1
  7. package/dist/api-schemas/search.d.ts +7 -52
  8. package/dist/api-schemas/search.js +1 -1
  9. package/dist/cli/eject/resolveEjectParams.js +1 -1
  10. package/dist/cli/generate/get-schema-template.js +1 -1
  11. package/dist/client/app/hooks/markdown/useMarkdocRenderer.js +1 -1
  12. package/dist/client/app/hooks/markdown/useMarkdownText.js +1 -1
  13. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.d.ts +2 -0
  14. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.js +1 -1
  15. package/dist/client/app/markdoc/custom-components/openapi/use-markdown-adapter.d.ts +1 -33
  16. package/dist/client/app/useGlobalData.d.ts +1 -1
  17. package/dist/client/providers/post-message/use-post-message.d.ts +1 -1
  18. package/dist/compiled/@redocly/pii/index.mjs +1 -0
  19. package/dist/compiled/@redocly/pii/package.json +1 -0
  20. package/dist/compiled/svgo/svgo-node.js +1 -1
  21. package/dist/constants/l10n/langs/ar.js +1 -1
  22. package/dist/constants/l10n/langs/de.js +1 -1
  23. package/dist/constants/l10n/langs/en.js +1 -1
  24. package/dist/constants/l10n/langs/es.js +1 -1
  25. package/dist/constants/l10n/langs/fr.js +1 -1
  26. package/dist/constants/l10n/langs/hi.js +1 -1
  27. package/dist/constants/l10n/langs/it.js +1 -1
  28. package/dist/constants/l10n/langs/ja.js +1 -1
  29. package/dist/constants/l10n/langs/ko.js +1 -1
  30. package/dist/constants/l10n/langs/pl.js +1 -1
  31. package/dist/constants/l10n/langs/pt-BR.js +1 -1
  32. package/dist/constants/l10n/langs/pt.js +1 -1
  33. package/dist/constants/l10n/langs/ru.js +1 -1
  34. package/dist/constants/l10n/langs/uk.js +1 -1
  35. package/dist/constants/l10n/langs/zh.js +1 -1
  36. package/dist/markdoc/attributes/definition-path.d.ts +1 -1
  37. package/dist/markdoc/attributes/json-example-ref.d.ts +1 -1
  38. package/dist/markdoc/attributes/json-schema-ref.d.ts +1 -1
  39. package/dist/markdoc/attributes/parsed-yaml.d.ts +1 -1
  40. package/dist/markdoc/attributes/raw-content.d.ts +1 -1
  41. package/dist/markdoc/attributes/sample-from-json-schema.d.ts +1 -1
  42. package/dist/markdoc/helpers/extract-rbac-from-condition-node.d.ts +1 -1
  43. package/dist/markdoc/helpers/get-inner-text.d.ts +1 -1
  44. package/dist/markdoc/helpers/get-node-attribute.d.ts +1 -1
  45. package/dist/markdoc/helpers/get-variable.d.ts +1 -1
  46. package/dist/markdoc/helpers/guards/is-conditional-node.d.ts +1 -1
  47. package/dist/markdoc/helpers/guards/is-function.d.ts +1 -1
  48. package/dist/markdoc/helpers/guards/is-node.d.ts +1 -1
  49. package/dist/markdoc/helpers/guards/is-prompt-node.d.ts +1 -1
  50. package/dist/markdoc/helpers/guards/is-tag.d.ts +1 -1
  51. package/dist/markdoc/helpers/guards/is-variable.d.ts +1 -1
  52. package/dist/markdoc/helpers/parse-partials.d.ts +1 -1
  53. package/dist/markdoc/helpers/parse-partials.js +1 -1
  54. package/dist/markdoc/helpers/remove-markdoc-tags.js +1 -1
  55. package/dist/markdoc/helpers/set-node-attribute-value.d.ts +1 -1
  56. package/dist/markdoc/nodes/fence/index.d.ts +1 -1
  57. package/dist/markdoc/nodes/fence/index.js +1 -1
  58. package/dist/markdoc/nodes/gfm-list-item.d.ts +1 -1
  59. package/dist/markdoc/nodes/gfm-list-item.js +1 -1
  60. package/dist/markdoc/nodes/heading.d.ts +1 -1
  61. package/dist/markdoc/nodes/heading.js +1 -1
  62. package/dist/markdoc/nodes/index.d.ts +6 -165
  63. package/dist/markdoc/nodes/index.js +1 -1
  64. package/dist/markdoc/nodes/table.d.ts +1 -1
  65. package/dist/markdoc/nodes/table.js +1 -1
  66. package/dist/markdoc/nodes/text.d.ts +1 -1
  67. package/dist/markdoc/tags/json-example.js +1 -1
  68. package/dist/markdoc/tags/openapi-code-sample.js +1 -1
  69. package/dist/server/config/env-config.d.ts +26 -24
  70. package/dist/server/config/env-schema.d.ts +87 -326
  71. package/dist/server/config/env-schemas/api-urls.d.ts +2 -14
  72. package/dist/server/config/env-schemas/auth.d.ts +10 -32
  73. package/dist/server/config/env-schemas/catalog.d.ts +6 -9
  74. package/dist/server/config/env-schemas/database.d.ts +2 -8
  75. package/dist/server/config/env-schemas/environment-detection.d.ts +20 -18
  76. package/dist/server/config/env-schemas/feature-flags.d.ts +29 -33
  77. package/dist/server/config/env-schemas/feature-flags.js +1 -1
  78. package/dist/server/config/env-schemas/organization-project.d.ts +3 -21
  79. package/dist/server/config/env-schemas/scorecards.d.ts +2 -6
  80. package/dist/server/config/env-schemas/search.d.ts +9 -15
  81. package/dist/server/config/env-schemas/server-config.d.ts +6 -31
  82. package/dist/server/config/env-schemas/site.d.ts +1 -5
  83. package/dist/server/config/env-schemas/ssr.d.ts +7 -12
  84. package/dist/server/config/env-schemas/telemetry.d.ts +1 -7
  85. package/dist/server/constants/common.d.ts +3 -0
  86. package/dist/server/constants/common.js +1 -1
  87. package/dist/server/esbuild/plugins/dependency-resolver.js +1 -1
  88. package/dist/server/esbuild/plugins/themes-resolver.js +3 -3
  89. package/dist/server/external-plugins/resolve-external-plugins.js +1 -1
  90. package/dist/server/plugins/api-docs/definition-access.d.ts +22 -0
  91. package/dist/server/plugins/api-docs/definition-access.js +1 -0
  92. package/dist/server/plugins/api-docs/index.js +1 -1
  93. package/dist/server/plugins/api-docs/loader.d.ts +1 -1
  94. package/dist/server/plugins/api-docs/options.js +1 -1
  95. package/dist/server/plugins/api-docs/spec-download.api.js +1 -1
  96. package/dist/server/plugins/config-parser/index.js +1 -1
  97. package/dist/server/plugins/config-parser/loaders/utils/read-and-validate-config.js +1 -1
  98. package/dist/server/plugins/dev-onboarding/api/middlewares/auth.d.ts +2 -4
  99. package/dist/server/plugins/dev-onboarding/api/middlewares/integrations.d.ts +2 -4
  100. package/dist/server/plugins/markdown/attribute-resolvers/code-walkthrough/filesets-resolver.d.ts +1 -1
  101. package/dist/server/plugins/markdown/attribute-resolvers/helpers/load-openapi-bundle.d.ts +1 -1
  102. package/dist/server/plugins/markdown/attribute-resolvers/index.d.ts +1 -1
  103. package/dist/server/plugins/markdown/attribute-resolvers/resolve-code-snippet-from-file.d.ts +1 -1
  104. package/dist/server/plugins/markdown/attribute-resolvers/resolve-diagram-from-file.d.ts +1 -1
  105. package/dist/server/plugins/markdown/attribute-resolvers/resolve-html-href.d.ts +1 -1
  106. package/dist/server/plugins/markdown/attribute-resolvers/resolve-html-source-attribute.d.ts +1 -1
  107. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-gallery.d.ts +1 -1
  108. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-src-set.d.ts +1 -1
  109. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-src.d.ts +1 -1
  110. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.d.ts +1 -1
  111. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-schema-ref.d.ts +1 -1
  112. package/dist/server/plugins/markdown/attribute-resolvers/resolve-link.d.ts +1 -1
  113. package/dist/server/plugins/markdown/attribute-resolvers/resolve-native-md-link.d.ts +1 -1
  114. package/dist/server/plugins/markdown/attribute-resolvers/resolve-nav-links.d.ts +1 -1
  115. package/dist/server/plugins/markdown/attribute-resolvers/resolve-open-api-ref.d.ts +1 -1
  116. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.d.ts +1 -1
  117. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.js +1 -1
  118. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-response-samples.d.ts +1 -1
  119. package/dist/server/plugins/markdown/attribute-resolvers/resolve-parsed-yaml.d.ts +1 -1
  120. package/dist/server/plugins/markdown/attribute-resolvers/resolve-raw-content.d.ts +1 -1
  121. package/dist/server/plugins/markdown/attribute-resolvers/resolve-relative-or-cdn-icon.d.ts +1 -1
  122. package/dist/server/plugins/markdown/attribute-resolvers/resolve-relative-path.d.ts +1 -1
  123. package/dist/server/plugins/markdown/attribute-resolvers/resolve-sample-from-json-schema.d.ts +1 -1
  124. package/dist/server/plugins/markdown/attribute-resolvers/resolve-svg-content.d.ts +1 -1
  125. package/dist/server/plugins/markdown/attribute-resolvers/resolve-tag-raw-content.d.ts +1 -1
  126. package/dist/server/plugins/markdown/attribute-resolvers/resolve-tag-raw-content.js +2 -2
  127. package/dist/server/plugins/markdown/attribute-resolvers/utils.d.ts +1 -1
  128. package/dist/server/plugins/markdown/compiler.d.ts +1 -1
  129. package/dist/server/plugins/markdown/compiler.js +1 -1
  130. package/dist/server/plugins/markdown/errors.d.ts +1 -1
  131. package/dist/server/plugins/markdown/get-server-props.js +1 -1
  132. package/dist/server/plugins/markdown/html/normalize-html-headings.d.ts +1 -1
  133. package/dist/server/plugins/markdown/html/normalize-html-headings.js +1 -1
  134. package/dist/server/plugins/markdown/markdoc/functions/concat.d.ts +1 -1
  135. package/dist/server/plugins/markdown/markdoc/markdoc-options.d.ts +5 -165
  136. package/dist/server/plugins/markdown/markdoc/markdoc-options.js +1 -1
  137. package/dist/server/plugins/markdown/markdoc/partials.d.ts +1 -1
  138. package/dist/server/plugins/markdown/markdoc/plugins/headings.d.ts +1 -1
  139. package/dist/server/plugins/markdown/markdoc/plugins/utils.d.ts +1 -1
  140. package/dist/server/plugins/markdown/markdoc/reparse-example-fences.d.ts +1 -1
  141. package/dist/server/plugins/markdown/markdoc/reparse-example-fences.js +1 -1
  142. package/dist/server/plugins/markdown/runtime-transform.d.ts +2 -2
  143. package/dist/server/plugins/markdown/runtime-transform.js +1 -1
  144. package/dist/server/plugins/markdown/search/get-ai-search-documents.js +1 -1
  145. package/dist/server/plugins/markdown/search/nodes/section-node.d.ts +1 -1
  146. package/dist/server/plugins/markdown/search/search-resolver.js +1 -1
  147. package/dist/server/plugins/markdown/search/to-markdown.d.ts +1 -1
  148. package/dist/server/plugins/markdown/search/walk-sections.d.ts +1 -1
  149. package/dist/server/plugins/markdown/search/walk-sections.js +1 -1
  150. package/dist/server/plugins/markdown/utils/stringify-tag-children-objects.d.ts +1 -1
  151. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/get-graphql-type-list.js +1 -1
  152. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/list-graphql-apis.js +1 -1
  153. package/dist/server/plugins/mcp/docs-mcp/tools/graphql/types.d.ts +4 -4
  154. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/list-apis.js +1 -1
  155. package/dist/server/plugins/mcp/docs-mcp/tools/openapi/types.d.ts +2 -2
  156. package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
  157. package/dist/server/plugins/mcp/handlers/errors.d.ts +0 -5
  158. package/dist/server/plugins/mcp/handlers/errors.js +1 -1
  159. package/dist/server/plugins/mcp/handlers/mcp-credentials-handler.js +1 -1
  160. package/dist/server/plugins/mcp/servers/mcp-server.js +2 -2
  161. package/dist/server/plugins/scorecard-classic/compute-scorecard.d.ts +2 -2
  162. package/dist/server/plugins/scorecard-classic/compute-scorecard.js +1 -1
  163. package/dist/server/plugins/scorecard-classic/index.js +1 -1
  164. package/dist/server/plugins/scorecard-classic/shared-utils.js +1 -1
  165. package/dist/server/plugins/scorecard-classic/template/Grid/GridHeader.js +3 -3
  166. package/dist/server/plugins/scorecard-classic/template/views.js +1 -1
  167. package/dist/server/plugins/search/engines/typesense/index.js +1 -1
  168. package/dist/server/store.d.ts +1 -1
  169. package/dist/server/store.js +1 -1
  170. package/dist/server/tools/notifiers/formatter.js +3 -3
  171. package/dist/server/tools/notifiers/helpers/colors.d.ts +1 -1
  172. package/dist/server/types/plugins/common.d.ts +1 -1
  173. package/dist/server/utils/codeframes/codeframes.d.ts +1 -1
  174. package/dist/server/utils/codeframes/yaml-ast.d.ts +1 -1
  175. package/dist/server/utils/decode-request-path.d.ts +2 -0
  176. package/dist/server/utils/decode-request-path.js +1 -0
  177. package/dist/server/utils/envs/env-boolean-string.d.ts +9 -3
  178. package/dist/server/utils/envs/load-env-variables.js +1 -1
  179. package/dist/server/utils/errors.d.ts +3 -0
  180. package/dist/server/utils/errors.js +1 -1
  181. package/dist/server/utils/llmstxt/resolve-llms-txt-md.js +1 -1
  182. package/dist/server/utils/rbac-expand.js +1 -1
  183. package/dist/server/utils/rbac.d.ts +5 -1
  184. package/dist/server/utils/rbac.js +1 -1
  185. package/dist/server/utils/report-all-errors.js +1 -1
  186. package/dist/server/web-server/auth.d.ts +2 -0
  187. package/dist/server/web-server/auth.js +2 -2
  188. package/dist/server/web-server/middleware/jsonValidatorMiddleware.d.ts +5 -325
  189. package/dist/server/web-server/routes/auth.js +1 -1
  190. package/dist/server/web-server/routes/dynamic-route.js +1 -1
  191. package/dist/server/web-server/routes/error.js +1 -1
  192. package/dist/server/web-server/routes/feedback.d.ts +2 -8
  193. package/dist/server/web-server/routes/helpers/process-redirects.js +1 -1
  194. package/dist/server/web-server/routes/mcp-routes/mcp-consent-page.d.ts +2 -2
  195. package/dist/server/web-server/routes/mcp-routes/mcp-consent-page.js +18 -18
  196. package/dist/server/web-server/routes/mcp-routes/mcp-oauth.js +1 -1
  197. package/dist/server/web-server/utils/ssrf-safe-lookup.d.ts +2 -1
  198. package/dist/server/web-server/utils/ssrf-safe-lookup.js +1 -1
  199. package/dist/server/web-server/utils.d.ts +1 -3
  200. package/dist/types/errors.d.ts +1 -1
  201. package/dist/types/markdoc.d.ts +1 -1
  202. package/package.json +12 -12
  203. package/dist/server/plugins/markdown/html/html-jsx-attribute-mapping.d.ts +0 -6
  204. package/dist/server/plugins/markdown/html/html-jsx-attribute-mapping.js +0 -1
  205. package/dist/server/plugins/markdown/html/process-html-tokens.d.ts +0 -2
  206. package/dist/server/plugins/markdown/html/process-html-tokens.js +0 -1
  207. package/dist/server/plugins/markdown/source.d.ts +0 -4
  208. package/dist/server/plugins/markdown/source.js +0 -1
  209. package/dist/server/tools/notifiers/helpers/privacy/mask-email.d.ts +0 -25
  210. package/dist/server/tools/notifiers/helpers/privacy/mask-email.js +0 -1
  211. package/dist/server/tools/notifiers/helpers/privacy/mask-subject.d.ts +0 -13
  212. package/dist/server/tools/notifiers/helpers/privacy/mask-subject.js +0 -1
  213. package/dist/server/tools/notifiers/helpers/privacy/remove-pii-from-url.d.ts +0 -25
  214. package/dist/server/tools/notifiers/helpers/privacy/remove-pii-from-url.js +0 -1
  215. package/dist/server/tools/notifiers/helpers/privacy/remove-pii.d.ts +0 -36
  216. package/dist/server/tools/notifiers/helpers/privacy/remove-pii.js +0 -1
@@ -12,37 +12,15 @@ export declare const authSchema: z.ZodObject<{
12
12
  OIDC_CLIENT_ID: z.ZodOptional<z.ZodString>;
13
13
  OIDC_CLIENT_SECRET: z.ZodOptional<z.ZodString>;
14
14
  OIDC_ISSUER_URL: z.ZodOptional<z.ZodString>;
15
- LOCALHOST_LOGIN: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
15
+ LOCALHOST_LOGIN: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
16
+ false: "false";
17
+ true: "true";
18
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
16
19
  REDOCLY_OAUTH_USE_INTROSPECT: z.ZodOptional<z.ZodString>;
17
- REDOCLY_ENFORCE_LOGIN: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
18
- REDOCLY_ENFORCE_RESIDENCY: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
19
- }, "strip", z.ZodTypeAny, {
20
- JWT_SECRET_KEY?: string | undefined;
21
- AUTH_URL?: string | undefined;
22
- BH_API_URL?: string | undefined;
23
- ENTITLEMENTS_JWKS_CDN_URL?: string | undefined;
24
- OAUTH_CLIENT_ID?: string | undefined;
25
- OAUTH_CLIENT_SECRET?: string | undefined;
26
- OIDC_CLIENT_ID?: string | undefined;
27
- OIDC_CLIENT_SECRET?: string | undefined;
28
- OIDC_ISSUER_URL?: string | undefined;
29
- LOCALHOST_LOGIN?: boolean | undefined;
30
- REDOCLY_OAUTH_USE_INTROSPECT?: string | undefined;
31
- REDOCLY_ENFORCE_LOGIN?: boolean | undefined;
32
- REDOCLY_ENFORCE_RESIDENCY?: string | undefined;
33
- }, {
34
- JWT_SECRET_KEY?: string | undefined;
35
- AUTH_URL?: string | undefined;
36
- BH_API_URL?: string | undefined;
37
- ENTITLEMENTS_JWKS_CDN_URL?: string | undefined;
38
- OAUTH_CLIENT_ID?: string | undefined;
39
- OAUTH_CLIENT_SECRET?: string | undefined;
40
- OIDC_CLIENT_ID?: string | undefined;
41
- OIDC_CLIENT_SECRET?: string | undefined;
42
- OIDC_ISSUER_URL?: string | undefined;
43
- LOCALHOST_LOGIN?: "false" | "true" | undefined;
44
- REDOCLY_OAUTH_USE_INTROSPECT?: string | undefined;
45
- REDOCLY_ENFORCE_LOGIN?: "false" | "true" | undefined;
46
- REDOCLY_ENFORCE_RESIDENCY?: string | undefined;
47
- }>;
20
+ REDOCLY_ENFORCE_LOGIN: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
21
+ false: "false";
22
+ true: "true";
23
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
24
+ REDOCLY_ENFORCE_RESIDENCY: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>>;
25
+ }, z.core.$strip>;
48
26
  //# sourceMappingURL=auth.d.ts.map
@@ -3,13 +3,10 @@ import { z } from 'zod';
3
3
  * Schema for catalog configuration variables.
4
4
  */
5
5
  export declare const catalogSchema: z.ZodObject<{
6
- FORCE_CATALOG_CACHE_REVALIDATE: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
7
- CATALOG_MAX_REVISIONS: z.ZodOptional<z.ZodNumber>;
8
- }, "strip", z.ZodTypeAny, {
9
- FORCE_CATALOG_CACHE_REVALIDATE?: boolean | undefined;
10
- CATALOG_MAX_REVISIONS?: number | undefined;
11
- }, {
12
- FORCE_CATALOG_CACHE_REVALIDATE?: "false" | "true" | undefined;
13
- CATALOG_MAX_REVISIONS?: number | undefined;
14
- }>;
6
+ FORCE_CATALOG_CACHE_REVALIDATE: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
7
+ false: "false";
8
+ true: "true";
9
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
10
+ CATALOG_MAX_REVISIONS: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
11
+ }, z.core.$strip>;
15
12
  //# sourceMappingURL=catalog.d.ts.map
@@ -3,13 +3,7 @@ import { z } from 'zod';
3
3
  * Schema for database configuration variables.
4
4
  */
5
5
  export declare const databaseSchema: z.ZodObject<{
6
- SQLD_REMOTE_DATABASE_URL: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"NO_SQLD_DEPLOYMENT_YET">]>>;
6
+ SQLD_REMOTE_DATABASE_URL: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"NO_SQLD_DEPLOYMENT_YET">]>>;
7
7
  SQLD_REMOTE_DATABASE_AUTH_TOKEN: z.ZodOptional<z.ZodString>;
8
- }, "strip", z.ZodTypeAny, {
9
- SQLD_REMOTE_DATABASE_URL?: string | undefined;
10
- SQLD_REMOTE_DATABASE_AUTH_TOKEN?: string | undefined;
11
- }, {
12
- SQLD_REMOTE_DATABASE_URL?: string | undefined;
13
- SQLD_REMOTE_DATABASE_AUTH_TOKEN?: string | undefined;
14
- }>;
8
+ }, z.core.$strip>;
15
9
  //# sourceMappingURL=database.d.ts.map
@@ -3,22 +3,24 @@ import { z } from 'zod';
3
3
  * Schema for environment detection variables.
4
4
  */
5
5
  export declare const environmentDetectionSchema: z.ZodObject<{
6
- NODE_ENV: z.ZodOptional<z.ZodEnum<["development", "production"]>>;
7
- REDOCLY_ENV: z.ZodDefault<z.ZodEnum<["production", "preview", "development"]>>;
8
- REDOCLY_EXECUTION_MODE: z.ZodDefault<z.ZodEnum<["build", "develop", "runtime"]>>;
9
- REDOCLY_INTERNAL_DEV: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
10
- CI: z.ZodEffects<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"true">, z.ZodLiteral<"false">, z.ZodLiteral<"1">]>>, boolean | undefined, "1" | "false" | "true" | undefined>;
11
- }, "strict", z.ZodTypeAny, {
12
- NODE_ENV?: "development" | "production" | undefined;
13
- REDOCLY_ENV: "development" | "preview" | "production";
14
- REDOCLY_EXECUTION_MODE: "build" | "develop" | "runtime";
15
- REDOCLY_INTERNAL_DEV?: boolean | undefined;
16
- CI?: boolean | undefined;
17
- }, {
18
- NODE_ENV?: "development" | "production" | undefined;
19
- REDOCLY_ENV?: "development" | "preview" | "production" | undefined;
20
- REDOCLY_EXECUTION_MODE?: "build" | "develop" | "runtime" | undefined;
21
- REDOCLY_INTERNAL_DEV?: "false" | "true" | undefined;
22
- CI?: "1" | "false" | "true" | undefined;
23
- }>;
6
+ NODE_ENV: z.ZodOptional<z.ZodEnum<{
7
+ development: "development";
8
+ production: "production";
9
+ }>>;
10
+ REDOCLY_ENV: z.ZodDefault<z.ZodEnum<{
11
+ development: "development";
12
+ preview: "preview";
13
+ production: "production";
14
+ }>>;
15
+ REDOCLY_EXECUTION_MODE: z.ZodDefault<z.ZodEnum<{
16
+ build: "build";
17
+ develop: "develop";
18
+ runtime: "runtime";
19
+ }>>;
20
+ REDOCLY_INTERNAL_DEV: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
21
+ false: "false";
22
+ true: "true";
23
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
24
+ CI: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"true">, z.ZodLiteral<"false">, z.ZodLiteral<"1">]>>, z.ZodTransform<boolean | undefined, "1" | "false" | "true" | undefined>>;
25
+ }, z.core.$strict>;
24
26
  //# sourceMappingURL=environment-detection.d.ts.map
@@ -3,41 +3,37 @@ import { z } from 'zod';
3
3
  * Schema for feature flags.
4
4
  */
5
5
  export declare const featureFlagsSchema: z.ZodObject<{
6
- NEW_CATALOG_ENABLED: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
7
- NEW_SCORECARDS_ENABLED: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
6
+ NEW_CATALOG_ENABLED: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
7
+ false: "false";
8
+ true: "true";
9
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
10
+ NEW_SCORECARDS_ENABLED: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
11
+ false: "false";
12
+ true: "true";
13
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
8
14
  ENABLE_COMMENTS: z.ZodOptional<z.ZodString>;
9
- REDOCLY_EXP_DISABLE_MD_VALIDATION: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
10
- ENABLE_SOURCE_MAPS: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
15
+ REDOCLY_EXP_DISABLE_MD_VALIDATION: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
16
+ false: "false";
17
+ true: "true";
18
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
19
+ ENABLE_SOURCE_MAPS: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
20
+ false: "false";
21
+ true: "true";
22
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
11
23
  PLAN_GATES: z.ZodOptional<z.ZodString>;
12
- /** Experimental: append agent feedback instructions to llms.txt Markdown chunks. */
13
- REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
14
- /** Optional URL for the agent feedback footer; defaults to `{seo.siteUrl|REDOCLY_PUBLIC_URL}/api/agent-feedback`, or `/api/agent-feedback` on the same origin. */
24
+ REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
25
+ false: "false";
26
+ true: "true";
27
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
15
28
  REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_URL: z.ZodOptional<z.ZodString>;
16
- /** (Optional) API endpoint for the agent feedback endpoint;**/
17
29
  REDOCLY_EXP_LLMSTXT_AGENT_ENDPOINT: z.ZodOptional<z.ZodString>;
18
- /** Experimental: enables the GraphQL request body in Try It and embedded Replay, and shows Try it on GraphQL operation pages. */
19
- REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
20
- }, "strip", z.ZodTypeAny, {
21
- NEW_CATALOG_ENABLED?: boolean | undefined;
22
- NEW_SCORECARDS_ENABLED?: boolean | undefined;
23
- ENABLE_COMMENTS?: string | undefined;
24
- REDOCLY_EXP_DISABLE_MD_VALIDATION?: boolean | undefined;
25
- ENABLE_SOURCE_MAPS?: boolean | undefined;
26
- PLAN_GATES?: string | undefined;
27
- REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED?: boolean | undefined;
28
- REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_URL?: string | undefined;
29
- REDOCLY_EXP_LLMSTXT_AGENT_ENDPOINT?: string | undefined;
30
- REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED?: boolean | undefined;
31
- }, {
32
- NEW_CATALOG_ENABLED?: "false" | "true" | undefined;
33
- NEW_SCORECARDS_ENABLED?: "false" | "true" | undefined;
34
- ENABLE_COMMENTS?: string | undefined;
35
- REDOCLY_EXP_DISABLE_MD_VALIDATION?: "false" | "true" | undefined;
36
- ENABLE_SOURCE_MAPS?: "false" | "true" | undefined;
37
- PLAN_GATES?: string | undefined;
38
- REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED?: "false" | "true" | undefined;
39
- REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_URL?: string | undefined;
40
- REDOCLY_EXP_LLMSTXT_AGENT_ENDPOINT?: string | undefined;
41
- REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED?: "false" | "true" | undefined;
42
- }>;
30
+ REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
31
+ false: "false";
32
+ true: "true";
33
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
34
+ REDOCLY_EXP_REPLAY_ASYNCAPI_ENABLED: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
35
+ false: "false";
36
+ true: "true";
37
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
38
+ }, z.core.$strip>;
43
39
  //# sourceMappingURL=feature-flags.d.ts.map
@@ -1 +1 @@
1
- import{z as _}from"zod";import{envBooleanStringOptional as E}from"../../utils/envs/env-boolean-string.js";const o=_.object({NEW_CATALOG_ENABLED:E(),NEW_SCORECARDS_ENABLED:E(),ENABLE_COMMENTS:_.string().optional(),REDOCLY_EXP_DISABLE_MD_VALIDATION:E(),ENABLE_SOURCE_MAPS:E(),PLAN_GATES:_.string().optional(),REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED:E(),REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_URL:_.string().optional(),REDOCLY_EXP_LLMSTXT_AGENT_ENDPOINT:_.string().optional(),REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED:E()});export{o as featureFlagsSchema};
1
+ import{z as _}from"zod";import{envBooleanStringOptional as E}from"../../utils/envs/env-boolean-string.js";const o=_.object({NEW_CATALOG_ENABLED:E(),NEW_SCORECARDS_ENABLED:E(),ENABLE_COMMENTS:_.string().optional(),REDOCLY_EXP_DISABLE_MD_VALIDATION:E(),ENABLE_SOURCE_MAPS:E(),PLAN_GATES:_.string().optional(),REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_ENABLED:E(),REDOCLY_EXP_LLMSTXT_AGENT_FEEDBACK_URL:_.string().optional(),REDOCLY_EXP_LLMSTXT_AGENT_ENDPOINT:_.string().optional(),REDOCLY_EXP_REPLAY_GRAPHQL_ENABLED:E(),REDOCLY_EXP_REPLAY_ASYNCAPI_ENABLED:E()});export{o as featureFlagsSchema};
@@ -1,30 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  export declare const organizationProjectSchema: z.ZodObject<{
3
- ORGANIZATION_ID: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
3
+ ORGANIZATION_ID: z.ZodOptional<z.ZodString>;
4
4
  ORGANIZATION_SLUG: z.ZodOptional<z.ZodString>;
5
5
  ORG_SLUG: z.ZodOptional<z.ZodString>;
6
- PROJECT_ID: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
6
+ PROJECT_ID: z.ZodOptional<z.ZodString>;
7
7
  PROJECT_SLUG: z.ZodOptional<z.ZodString>;
8
8
  PROJECT_URL: z.ZodOptional<z.ZodString>;
9
9
  PROJECT_BUILD_ID: z.ZodOptional<z.ZodString>;
10
10
  PUBLIC_REDOCLY_BRANCH_NAME: z.ZodOptional<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- ORGANIZATION_ID?: string | undefined;
13
- ORGANIZATION_SLUG?: string | undefined;
14
- ORG_SLUG?: string | undefined;
15
- PROJECT_ID?: string | undefined;
16
- PROJECT_SLUG?: string | undefined;
17
- PROJECT_URL?: string | undefined;
18
- PROJECT_BUILD_ID?: string | undefined;
19
- PUBLIC_REDOCLY_BRANCH_NAME?: string | undefined;
20
- }, {
21
- ORGANIZATION_ID?: string | undefined;
22
- ORGANIZATION_SLUG?: string | undefined;
23
- ORG_SLUG?: string | undefined;
24
- PROJECT_ID?: string | undefined;
25
- PROJECT_SLUG?: string | undefined;
26
- PROJECT_URL?: string | undefined;
27
- PROJECT_BUILD_ID?: string | undefined;
28
- PUBLIC_REDOCLY_BRANCH_NAME?: string | undefined;
29
- }>;
11
+ }, z.core.$strip>;
30
12
  //# sourceMappingURL=organization-project.d.ts.map
@@ -3,10 +3,6 @@ import { z } from 'zod';
3
3
  * Schema for scorecards configuration variables.
4
4
  */
5
5
  export declare const scorecardsSchema: z.ZodObject<{
6
- SCORECARDS_POLLING_INTERVAL_MS: z.ZodOptional<z.ZodString>;
7
- }, "strip", z.ZodTypeAny, {
8
- SCORECARDS_POLLING_INTERVAL_MS?: string | undefined;
9
- }, {
10
- SCORECARDS_POLLING_INTERVAL_MS?: string | undefined;
11
- }>;
6
+ SCORECARDS_POLLING_INTERVAL_MS: z.ZodOptional<z.ZodCoercedString<unknown>>;
7
+ }, z.core.$strip>;
12
8
  //# sourceMappingURL=scorecards.d.ts.map
@@ -4,21 +4,15 @@ import { z } from 'zod';
4
4
  */
5
5
  export declare const searchSchema: z.ZodObject<{
6
6
  SEARCH_DEV_REINIT: z.ZodOptional<z.ZodString>;
7
- SEARCH_DEV_DEBUG: z.ZodEffects<z.ZodDefault<z.ZodEnum<["true", "false"]>>, boolean, "false" | "true" | undefined>;
8
- REDOCLY_SKIP_TYPESENSE_INDEXING: z.ZodEffects<z.ZodDefault<z.ZodEnum<["true", "false"]>>, boolean, "false" | "true" | undefined>;
7
+ SEARCH_DEV_DEBUG: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
8
+ false: "false";
9
+ true: "true";
10
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
11
+ REDOCLY_SKIP_TYPESENSE_INDEXING: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
12
+ false: "false";
13
+ true: "true";
14
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
9
15
  TYPESENSE_API_URL: z.ZodOptional<z.ZodString>;
10
16
  TYPESENSE_API_KEY: z.ZodOptional<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- SEARCH_DEV_REINIT?: string | undefined;
13
- SEARCH_DEV_DEBUG: boolean;
14
- REDOCLY_SKIP_TYPESENSE_INDEXING: boolean;
15
- TYPESENSE_API_URL?: string | undefined;
16
- TYPESENSE_API_KEY?: string | undefined;
17
- }, {
18
- SEARCH_DEV_REINIT?: string | undefined;
19
- SEARCH_DEV_DEBUG?: "false" | "true" | undefined;
20
- REDOCLY_SKIP_TYPESENSE_INDEXING?: "false" | "true" | undefined;
21
- TYPESENSE_API_URL?: string | undefined;
22
- TYPESENSE_API_KEY?: string | undefined;
23
- }>;
17
+ }, z.core.$strip>;
24
18
  //# sourceMappingURL=search.d.ts.map
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  * Schema for server configuration variables.
4
4
  */
5
5
  export declare const serverConfigSchema: z.ZodObject<{
6
- PORT: z.ZodOptional<z.ZodNumber>;
6
+ PORT: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
7
7
  REDOCLY_LOG_FORMAT: z.ZodOptional<z.ZodString>;
8
8
  REDOCLY_LOG_LEVEL: z.ZodOptional<z.ZodString>;
9
9
  TERM: z.ZodOptional<z.ZodString>;
@@ -12,37 +12,12 @@ export declare const serverConfigSchema: z.ZodObject<{
12
12
  REDOCLY_CONTENT_DIR: z.ZodOptional<z.ZodString>;
13
13
  REDOCLY_PORTAL_VERSION: z.ZodOptional<z.ZodString>;
14
14
  REDOCLY_TELEMETRY: z.ZodOptional<z.ZodString>;
15
- TELEMETRY_DEV_DEBUG: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
15
+ TELEMETRY_DEV_DEBUG: z.ZodPipe<z.ZodOptional<z.ZodEnum<{
16
+ false: "false";
17
+ true: "true";
18
+ }>>, z.ZodTransform<boolean | undefined, "false" | "true" | undefined>>;
16
19
  WEB_SERVER_IDLE_TIMEOUT: z.ZodOptional<z.ZodString>;
17
20
  REDOCLY_PROBLEMS_OUTPUT_FILE: z.ZodOptional<z.ZodString>;
18
21
  REDOCLY_METADATA_OUTPUT_FOLDER: z.ZodOptional<z.ZodString>;
19
- }, "strip", z.ZodTypeAny, {
20
- PORT?: number | undefined;
21
- REDOCLY_LOG_FORMAT?: string | undefined;
22
- REDOCLY_LOG_LEVEL?: string | undefined;
23
- TERM?: string | undefined;
24
- INSPECT_MODE?: string | undefined;
25
- REDOCLY_PREFIX_PATHS?: string | undefined;
26
- REDOCLY_CONTENT_DIR?: string | undefined;
27
- REDOCLY_PORTAL_VERSION?: string | undefined;
28
- REDOCLY_TELEMETRY?: string | undefined;
29
- TELEMETRY_DEV_DEBUG?: boolean | undefined;
30
- WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
31
- REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
32
- REDOCLY_METADATA_OUTPUT_FOLDER?: string | undefined;
33
- }, {
34
- PORT?: number | undefined;
35
- REDOCLY_LOG_FORMAT?: string | undefined;
36
- REDOCLY_LOG_LEVEL?: string | undefined;
37
- TERM?: string | undefined;
38
- INSPECT_MODE?: string | undefined;
39
- REDOCLY_PREFIX_PATHS?: string | undefined;
40
- REDOCLY_CONTENT_DIR?: string | undefined;
41
- REDOCLY_PORTAL_VERSION?: string | undefined;
42
- REDOCLY_TELEMETRY?: string | undefined;
43
- TELEMETRY_DEV_DEBUG?: "false" | "true" | undefined;
44
- WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
45
- REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
46
- REDOCLY_METADATA_OUTPUT_FOLDER?: string | undefined;
47
- }>;
22
+ }, z.core.$strip>;
48
23
  //# sourceMappingURL=server-config.d.ts.map
@@ -4,9 +4,5 @@ import { z } from 'zod';
4
4
  */
5
5
  export declare const siteSchema: z.ZodObject<{
6
6
  SITE_URL: z.ZodOptional<z.ZodString>;
7
- }, "strip", z.ZodTypeAny, {
8
- SITE_URL?: string | undefined;
9
- }, {
10
- SITE_URL?: string | undefined;
11
- }>;
7
+ }, z.core.$strip>;
12
8
  //# sourceMappingURL=site.d.ts.map
@@ -3,16 +3,11 @@ import { z } from 'zod';
3
3
  * Schema for SSR (Server-Side Rendering) configuration variables.
4
4
  */
5
5
  export declare const ssrSchema: z.ZodObject<{
6
- REDOCLY_SSR_RENDER_MODE: z.ZodOptional<z.ZodEnum<["worker", "main"]>>;
7
- REDOCLY_SSR_WORKERS_MIN: z.ZodOptional<z.ZodNumber>;
8
- REDOCLY_SSR_WORKERS_MAX: z.ZodOptional<z.ZodNumber>;
9
- }, "strip", z.ZodTypeAny, {
10
- REDOCLY_SSR_RENDER_MODE?: "main" | "worker" | undefined;
11
- REDOCLY_SSR_WORKERS_MIN?: number | undefined;
12
- REDOCLY_SSR_WORKERS_MAX?: number | undefined;
13
- }, {
14
- REDOCLY_SSR_RENDER_MODE?: "main" | "worker" | undefined;
15
- REDOCLY_SSR_WORKERS_MIN?: number | undefined;
16
- REDOCLY_SSR_WORKERS_MAX?: number | undefined;
17
- }>;
6
+ REDOCLY_SSR_RENDER_MODE: z.ZodOptional<z.ZodEnum<{
7
+ main: "main";
8
+ worker: "worker";
9
+ }>>;
10
+ REDOCLY_SSR_WORKERS_MIN: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
11
+ REDOCLY_SSR_WORKERS_MAX: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
12
+ }, z.core.$strip>;
18
13
  //# sourceMappingURL=ssr.d.ts.map
@@ -5,11 +5,5 @@ import { z } from 'zod';
5
5
  export declare const telemetrySchema: z.ZodObject<{
6
6
  OTEL_TRACES_URL: z.ZodOptional<z.ZodString>;
7
7
  REQUEST_ID: z.ZodOptional<z.ZodString>;
8
- }, "strip", z.ZodTypeAny, {
9
- OTEL_TRACES_URL?: string | undefined;
10
- REQUEST_ID?: string | undefined;
11
- }, {
12
- OTEL_TRACES_URL?: string | undefined;
13
- REQUEST_ID?: string | undefined;
14
- }>;
8
+ }, z.core.$strip>;
15
9
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1,4 +1,6 @@
1
1
  export declare const RUNTIME_RESOURCES_DIR = "runtime";
2
+ export declare const SCORECARD_CLASSIC_FOLDER = "_scorecard";
3
+ export declare const PAGE_DATA_FOLDER = "page-data";
2
4
  export declare const PUBLIC_ASSETS_FOLDER = "/assets";
3
5
  export declare const DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER = "/_spec";
4
6
  export declare const PUBLIC_API_DEFINITIONS_FOLDER = "/_bundle";
@@ -17,6 +19,7 @@ export declare const JWT_SECRET_KEY: string;
17
19
  export declare const MAX_AUTH_TOKEN_COOKIE_BYTES: number;
18
20
  export declare const MCP_ACCESS_TOKEN_TTL_SEC: number;
19
21
  export declare const MCP_REFRESH_SESSION_LIFETIME_SEC: number;
22
+ export declare const MCP_CLAIMS_ONLY_SESSION_LIFETIME_SEC: number;
20
23
  export declare const I18N_DIR_NAME = "@i18n";
21
24
  export declare const L10N_DIR_NAME = "@l10n";
22
25
  export declare const RESERVED_DIR_NAMES: string[];
@@ -1 +1 @@
1
- import{ServerRoutes as n}from"../../constants/api.js";import{USER_THEME_ALIAS as A}from"../../constants/common.js";import{envConfig as _}from"../config/env-config.js";const N="runtime",x="/assets",a="/_spec",U="/_bundle",M="static",l="static-data",P="redocly:::linkOriginal",i="@",m="default",F=new RegExp("((?!@i18n\\/|@l10n\\/)\\/?@.*?(?=\\/))","g"),K="@redocly/theme/plugin.js",H="styles.css",Y=["@theme/plugin.js","@theme/plugin.cjs","@theme/plugin.mjs"],I="test_secret_key",B=_.JWT_SECRET_KEY||I,S=4096,L=196,d=S-L,u=3600,G=1440*60,c="@i18n",r="@l10n",g=[A,c,r,"@api","@mcp"],W="https://redocly.com/auth/aud",h="catalog.json",k="scorecard.json",J="page-count.json",f="sitemap.xml",w="llms.txt",o=_.PROJECT_ID,X=_.PROJECT_SLUG,R=_.ORGANIZATION_ID,j=_.ORG_SLUG,t=_.BH_API_URL,E=t&&R&&o?`${t}/orgs/${R}/projects/${o}`:void 0,p=t?`${t}/entitlements/.well-known/jwks`:"https://app.cloud.redocly.com/api/entitlements/.well-known/jwks",V=_.ENTITLEMENTS_JWKS_CDN_URL||p,$=E?`${E}/feedback`:"",v=E?`${E}/ai-agentic-conversations`:"",y=E?`${E}/ai-assistant-escalations`:"",b=E?`${E}/ai-assistant-feedback`:"",Z=E?`${E}/semantic-search`:"",q="no-store",z=365*24*60*60,Q="X-Redocly-Cache-Control",__="no-cache",E_="public, s-maxage=86400, max-age=10, must-revalidate",t_=_.AUTH_URL,o_="Developer Documentation",e=_.REDOCLY_SSR_RENDER_MODE==="worker"?"worker":"main",R_=e==="main"?0:_.REDOCLY_SSR_WORKERS_MIN!=null?Number(_.REDOCLY_SSR_WORKERS_MIN):2,e_=e==="main"?1:_.REDOCLY_SSR_WORKERS_MAX!=null?Number(_.REDOCLY_SSR_WORKERS_MAX):5,T_="-----BEGIN CERTIFICATE-----",s_="-----END CERTIFICATE-----",n_=!_.isDevelopMode&&_.REDOCLY_TELEMETRY!=="off"||_.REDOCLY_TELEMETRY==="on",A_="http://localhost:4318/v1/traces",I_=[n.HEALTH],T=_.SERVER_EDITOR_APP_URL||"http://127.0.0.1:3000",S_=_.REDOCLY_CORS_ORIGINS?_.REDOCLY_CORS_ORIGINS.split(",").map(s=>s.trim()).filter(Boolean).concat(T):[T],L_="markdown/partials",c_="markdown/partials-deps";export{y as AI_ASSISTANT_ESCALATIONS_API_URL,b as AI_ASSISTANT_FEEDBACK_API_URL,S_ as ALLOWED_CORS_ORIGINS,W as ALTERNATIVE_AUD_CLAIM_NAME,v as ASK_AI_API_URL,t_ as AUTH_URL,T_ as BEGIN_CERTIFICATE_DELIMITER,E as BH_API_PROJECTS_URL,q as CACHE_CONTROL_NO_STORE_HEADER_VALUE,__ as CACHE_CONTROL_PUBLIC_HTML,h as CATALOG_OUTPUT_FILE_NAME,z as DEFAULT_IMMUTABLE_CACHE_MAX_AGE,Y as DEFAULT_PROJECT_PLUGIN_PATHS,K as DEFAULT_THEME_PLUGIN_PATH,o_ as DEFAULT_TITLE,m as DEFAULT_VERSION_NAME,a as DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER,s_ as END_CERTIFICATE_DELIMITER,V as ENTITLEMENTS_JWKS_URL,I as FALLBACK_JWT_SECRET_KEY,$ as FEEDBACK_API_URL,c as I18N_DIR_NAME,B as JWT_SECRET_KEY,r as L10N_DIR_NAME,P as LINK_ORIGINAL_ATTR_NAME,w as LLMS_TXT_FILE_NAME,L_ as MARKDOC_PARTIALS_DATA_KEY,c_ as MARKDOC_PARTIALS_DEPS_KEY,d as MAX_AUTH_TOKEN_COOKIE_BYTES,u as MCP_ACCESS_TOKEN_TTL_SEC,G as MCP_REFRESH_SESSION_LIFETIME_SEC,R as ORG_ID,j as ORG_SLUG,I_ as OTEL_EXCLUDED_ROUTES,A_ as OTEL_TRACES_DEV_URL,J as PAGE_COUNT_OUTPUT_FILE_NAME,o as PROJECT_ID,X as PROJECT_SLUG,U as PUBLIC_API_DEFINITIONS_FOLDER,x as PUBLIC_ASSETS_FOLDER,M as PUBLIC_STATIC_FOLDER,g as RESERVED_DIR_NAMES,N as RUNTIME_RESOURCES_DIR,k as SCORECARD_OUTPUT_FILE_NAME,Z as SEMANTIC_SEARCH_API_URL,T as SERVER_EDITOR_APP_URL,f as SITEMAP_FILE_NAME,e as SSR_RENDER_MODE,e_ as SSR_WORKERS_MAX,R_ as SSR_WORKERS_MIN,l as STATIC_DATA_FOLDER,H as STYLES_FILE,n_ as TELEMETRY_ENABLED,F as VERSIONED_FOLDER_REGEXP_MATCH,i as VERSION_SEPARATOR,Q as X_REDOCLY_CACHE_CONTROL_HEADER,E_ as X_REDOCLY_CACHE_CONTROL_PUBLIC_HTML};
1
+ import{ServerRoutes as n}from"../../constants/api.js";import{USER_THEME_ALIAS as A}from"../../constants/common.js";import{envConfig as _}from"../config/env-config.js";const N="runtime",x="_scorecard",a="page-data",M="/assets",U="/_spec",P="/_bundle",l="static",i="static-data",m="redocly:::linkOriginal",F="@",K="default",H=new RegExp("((?!@i18n\\/|@l10n\\/)\\/?@.*?(?=\\/))","g"),Y="@redocly/theme/plugin.js",d="styles.css",B=["@theme/plugin.js","@theme/plugin.cjs","@theme/plugin.mjs"],I="test_secret_key",G=_.JWT_SECRET_KEY||I,S=4096,L=196,u=S-L,g=3600,W=720*60*60,h=1440*60,c="@i18n",r="@l10n",k=[A,c,r,"@api","@mcp"],J="https://redocly.com/auth/aud",f="catalog.json",w="scorecard.json",X="page-count.json",j="sitemap.xml",V="llms.txt",o=_.PROJECT_ID,$=_.PROJECT_SLUG,R=_.ORGANIZATION_ID,v=_.ORG_SLUG,t=_.BH_API_URL,E=t&&R&&o?`${t}/orgs/${R}/projects/${o}`:void 0,C=t?`${t}/entitlements/.well-known/jwks`:"https://app.cloud.redocly.com/api/entitlements/.well-known/jwks",y=_.ENTITLEMENTS_JWKS_CDN_URL||C,b=E?`${E}/feedback`:"",Z=E?`${E}/ai-agentic-conversations`:"",q=E?`${E}/ai-assistant-escalations`:"",z=E?`${E}/ai-assistant-feedback`:"",Q=E?`${E}/semantic-search`:"",__="no-store",E_=365*24*60*60,t_="X-Redocly-Cache-Control",o_="no-cache",R_="public, s-maxage=86400, max-age=10, must-revalidate",e_=_.AUTH_URL,s_="Developer Documentation",e=_.REDOCLY_SSR_RENDER_MODE==="worker"?"worker":"main",T_=e==="main"?0:_.REDOCLY_SSR_WORKERS_MIN!=null?Number(_.REDOCLY_SSR_WORKERS_MIN):2,n_=e==="main"?1:_.REDOCLY_SSR_WORKERS_MAX!=null?Number(_.REDOCLY_SSR_WORKERS_MAX):5,A_="-----BEGIN CERTIFICATE-----",I_="-----END CERTIFICATE-----",S_=!_.isDevelopMode&&_.REDOCLY_TELEMETRY!=="off"||_.REDOCLY_TELEMETRY==="on",L_="http://localhost:4318/v1/traces",c_=[n.HEALTH],s=_.SERVER_EDITOR_APP_URL||"http://127.0.0.1:3000",r_=_.REDOCLY_CORS_ORIGINS?_.REDOCLY_CORS_ORIGINS.split(",").map(T=>T.trim()).filter(Boolean).concat(s):[s],C_="markdown/partials",O_="markdown/partials-deps";export{q as AI_ASSISTANT_ESCALATIONS_API_URL,z as AI_ASSISTANT_FEEDBACK_API_URL,r_ as ALLOWED_CORS_ORIGINS,J as ALTERNATIVE_AUD_CLAIM_NAME,Z as ASK_AI_API_URL,e_ as AUTH_URL,A_ as BEGIN_CERTIFICATE_DELIMITER,E as BH_API_PROJECTS_URL,__ as CACHE_CONTROL_NO_STORE_HEADER_VALUE,o_ as CACHE_CONTROL_PUBLIC_HTML,f as CATALOG_OUTPUT_FILE_NAME,E_ as DEFAULT_IMMUTABLE_CACHE_MAX_AGE,B as DEFAULT_PROJECT_PLUGIN_PATHS,Y as DEFAULT_THEME_PLUGIN_PATH,s_ as DEFAULT_TITLE,K as DEFAULT_VERSION_NAME,U as DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER,I_ as END_CERTIFICATE_DELIMITER,y as ENTITLEMENTS_JWKS_URL,I as FALLBACK_JWT_SECRET_KEY,b as FEEDBACK_API_URL,c as I18N_DIR_NAME,G as JWT_SECRET_KEY,r as L10N_DIR_NAME,m as LINK_ORIGINAL_ATTR_NAME,V as LLMS_TXT_FILE_NAME,C_ as MARKDOC_PARTIALS_DATA_KEY,O_ as MARKDOC_PARTIALS_DEPS_KEY,u as MAX_AUTH_TOKEN_COOKIE_BYTES,g as MCP_ACCESS_TOKEN_TTL_SEC,h as MCP_CLAIMS_ONLY_SESSION_LIFETIME_SEC,W as MCP_REFRESH_SESSION_LIFETIME_SEC,R as ORG_ID,v as ORG_SLUG,c_ as OTEL_EXCLUDED_ROUTES,L_ as OTEL_TRACES_DEV_URL,X as PAGE_COUNT_OUTPUT_FILE_NAME,a as PAGE_DATA_FOLDER,o as PROJECT_ID,$ as PROJECT_SLUG,P as PUBLIC_API_DEFINITIONS_FOLDER,M as PUBLIC_ASSETS_FOLDER,l as PUBLIC_STATIC_FOLDER,k as RESERVED_DIR_NAMES,N as RUNTIME_RESOURCES_DIR,x as SCORECARD_CLASSIC_FOLDER,w as SCORECARD_OUTPUT_FILE_NAME,Q as SEMANTIC_SEARCH_API_URL,s as SERVER_EDITOR_APP_URL,j as SITEMAP_FILE_NAME,e as SSR_RENDER_MODE,n_ as SSR_WORKERS_MAX,T_ as SSR_WORKERS_MIN,i as STATIC_DATA_FOLDER,d as STYLES_FILE,S_ as TELEMETRY_ENABLED,H as VERSIONED_FOLDER_REGEXP_MATCH,F as VERSION_SEPARATOR,t_ as X_REDOCLY_CACHE_CONTROL_HEADER,R_ as X_REDOCLY_CACHE_CONTROL_PUBLIC_HTML};
@@ -1 +1 @@
1
- import{generatePortalResolverDir as a}from"./codegen/generate-resolver-dir.js";const d=()=>{const t={},l=a(),p=["react","styled-components"];return{name:"dependency-resolver",setup(n){for(const c of p){const i=r(c);n.onResolve({filter:i,namespace:"file"},async e=>{if(e.resolveDir==="")return;if(t[e.path]!==void 0)return t[e.path];const o=!!n.initialOptions.external?.some(s=>r(s).test(e.path));return o?(t[e.path]=Promise.resolve({path:e.path,external:o}),t[e.path]):(t[e.path]=n.resolve(e.path,{kind:e.kind,resolveDir:l}),t[e.path])})}}}};function r(t){return new RegExp(`^${t}(/|$)`)}export{d as DependencyResolver};
1
+ import{generatePortalResolverDir as u}from"./codegen/generate-resolver-dir.js";const l={"@markdoc/markdoc":"@redocly/markdoc"},v=()=>{const t={},a=u(),i=["react","styled-components",...Object.keys(l)];return{name:"dependency-resolver",setup(n){for(const o of i){const p=s(o),m=l[o]??o;n.onResolve({filter:p,namespace:"file"},async e=>{if(e.resolveDir==="")return;if(t[e.path]!==void 0)return t[e.path];const r=m+e.path.slice(o.length),c=!!n.initialOptions.external?.some(d=>s(d).test(r));return c?(t[e.path]=Promise.resolve({path:r,external:c}),t[e.path]):(t[e.path]=n.resolve(r,{kind:e.kind,resolveDir:a}),t[e.path])})}}}};function s(t){return new RegExp(`^${t}(/|$)`)}export{v as DependencyResolver};
@@ -1,4 +1,4 @@
1
- import*as c from"node:path";import{CONFIG_FILE_NAME as x,DEFAULT_THEME_NAME as $,USER_THEME_ALIAS as y}from"../../../constants/common.js";import{isDefined as g}from"../../../utils/guards/is-defined.js";import{slash as D}from"../../../utils/path/slash.js";import{resolveExternalPlugins as p}from"../../external-plugins/resolve-external-plugins.js";import{generateMarkdocComponentsEntry as L,generateMarkdocSchemasEntry as M}from"./codegen/index.js";const d=new Map,S=(a,o)=>{const h=c.resolve(o,y),i=c.resolve(o,x),k=["components","core","layouts","markdoc","icons","config","ext"],R="@redocly\\/theme\\/",w=k.map(s=>`${R}${s}`).join("|"),E=new RegExp(`^(@redocly/theme$|${w})`);return{name:"esbuild-redocly-custom-themes-resolver",setup:s=>{s.onResolve({filter:/@redocly-markdoc\/schema/},async e=>{const r=(await p(o,a.config.plugins)).flatMap(n=>n.markdoc?.schemaFile).filter(g);return{namespace:"markdoc-schema-ns",path:e.path,watchFiles:[...r,i],watchDirs:[c.resolve(h,"markdoc")],pluginData:{schemaFiles:r}}}),s.onLoad({filter:/@redocly-markdoc\/schema/,namespace:"markdoc-schema-ns"},({pluginData:e})=>({contents:M(e),resolveDir:"/",loader:"ts"})),s.onResolve({filter:/@redocly-markdoc\/components/},async e=>{const r=[...(await p(o,a.config.plugins)).map(n=>n.markdoc?.componentsFile).filter(g)];return{namespace:"markdoc-schema-ns",path:e.path,watchFiles:[...r,i],pluginData:{componentsFiles:r},watchDirs:[c.resolve(h,"markdoc")]}}),s.onLoad({filter:/@redocly-markdoc\/components/,namespace:"markdoc-schema-ns"},({pluginData:e})=>({contents:L(e),resolveDir:"/",loader:"ts"})),s.onResolve({filter:/@styles/},async e=>{const r=(await p(o,a.config.plugins)).map(n=>n.stylesFile).filter(Boolean);return{namespace:"user-styles-ns",path:e.path,watchFiles:[...r,i],pluginData:{styleFiles:r},watchDirs:[h]}}),s.onLoad({filter:/@styles/,namespace:"user-styles-ns"},async({pluginData:e})=>{const{styleFiles:t}=e;return{contents:t.map(n=>`@import url("${D(c.relative(o,n))}");`).join(`
2
- `),loader:"css",resolveDir:o}}),s.onResolve({filter:/(^|\/)styles\.css$/},async({path:e,...t})=>{if(t.pluginData==="missing-styles-ns")return;const r=await s.resolve(e,{...t,pluginData:"missing-styles-ns"});return r.errors.length&&r.errors.some(n=>n.text.match(/^Could not resolve .*?\bstyles.css\b/))?{namespace:"missing-styles-ns",path:e}:r}),s.onLoad({filter:/(^|\/)styles\.css$/,namespace:"missing-styles-ns"},async()=>({contents:"",loader:"css"})),s.onResolve({filter:/^react-router-dom$/},()=>({namespace:"react-router-dom-ns",path:"react-router-dom"})),s.onLoad({filter:/^react-router-dom$/,namespace:"react-router-dom-ns"},async()=>{const e=await s.resolve("@redocly/theme/package.json",{resolveDir:o,kind:"require-resolve"});return{contents:`import * as ReactRouter from 'react-router';
1
+ import*as m from"node:path";import{CONFIG_FILE_NAME as D,DEFAULT_THEME_NAME as g,USER_THEME_ALIAS as d}from"../../../constants/common.js";import{isDefined as k}from"../../../utils/guards/is-defined.js";import{slash as $}from"../../../utils/path/slash.js";import{resolveExternalPlugins as i}from"../../external-plugins/resolve-external-plugins.js";import{generateMarkdocComponentsEntry as L,generateMarkdocSchemasEntry as M}from"./codegen/index.js";const y=new Map,S=(a,n)=>{const h=m.resolve(n,d),p=m.resolve(n,D),R=["components","core","layouts","markdoc","icons","config","ext"],w="@redocly\\/theme\\/",E=R.map(t=>`${w}${t}`).join("|"),F=new RegExp(`^(@redocly/theme$|${E})`);return{name:"esbuild-redocly-custom-themes-resolver",setup:t=>{t.onResolve({filter:/@redocly-markdoc\/schema/},async e=>{const s=(await i(n,a.config.plugins)).flatMap(r=>r.markdoc?.schemaFile).filter(k);return{namespace:"markdoc-schema-ns",path:e.path,watchFiles:[...s,p],watchDirs:[m.resolve(h,"markdoc")],pluginData:{schemaFiles:s}}}),t.onLoad({filter:/@redocly-markdoc\/schema/,namespace:"markdoc-schema-ns"},({pluginData:e})=>({contents:M(e),resolveDir:"/",loader:"ts"})),t.onResolve({filter:/@redocly-markdoc\/components/},async e=>{const s=[...(await i(n,a.config.plugins)).map(r=>r.markdoc?.componentsFile).filter(k)];return{namespace:"markdoc-schema-ns",path:e.path,watchFiles:[...s,p],pluginData:{componentsFiles:s},watchDirs:[m.resolve(h,"markdoc")]}}),t.onLoad({filter:/@redocly-markdoc\/components/,namespace:"markdoc-schema-ns"},({pluginData:e})=>({contents:L(e),resolveDir:"/",loader:"ts"})),t.onResolve({filter:/@styles/},async e=>{const s=(await i(n,a.config.plugins)).map(r=>r.stylesFile).filter(Boolean);return{namespace:"user-styles-ns",path:e.path,watchFiles:[...s,p],pluginData:{styleFiles:s},watchDirs:[h]}}),t.onLoad({filter:/@styles/,namespace:"user-styles-ns"},async({pluginData:e})=>{const{styleFiles:o}=e;return{contents:o.map(r=>`@import url("${$(m.relative(n,r))}");`).join(`
2
+ `),loader:"css",resolveDir:n}}),t.onResolve({filter:/(^|\/)styles\.css$/},async({path:e,...o})=>{if(o.pluginData==="missing-styles-ns")return;const s=await t.resolve(e,{...o,pluginData:"missing-styles-ns"});return s.errors.length&&s.errors.some(r=>r.text.match(/^Could not resolve .*?\bstyles.css\b/))?{namespace:"missing-styles-ns",path:e}:s}),t.onLoad({filter:/(^|\/)styles\.css$/,namespace:"missing-styles-ns"},async()=>({contents:"",loader:"css"})),t.onResolve({filter:/^react-router-dom$/},()=>({namespace:"react-router-dom-ns",path:"react-router-dom"})),t.onLoad({filter:/^react-router-dom$/,namespace:"react-router-dom-ns"},async()=>{const o=(await i(n,a.config.plugins)).find(({name:c})=>c===g),s=await t.resolve("@redocly/theme/package.json",{resolveDir:o?.pluginDirAbsolutePath??n,kind:"require-resolve"});return{contents:`import * as ReactRouter from 'react-router';
3
3
  export const useLocation = ReactRouter.useLocation;
4
- export const useInRouterContext = ReactRouter.useInRouterContext;`,loader:"js",resolveDir:e.errors.length?o:c.dirname(e.path)}}),s.onResolve({filter:E},async e=>{if(e.resolveDir==="")return;const t=`${e.path}:${e.importer}`;if(d.has(t))return d.get(t);const{path:r,...n}=e,l=await p(o,a.config.plugins),u=e.path.replace($,"")||"index";for(let m=l.length-1;m>=0;m--){const F=l[m].isNpmPackage?[c.join(l[m].name,"src",u),{...n,resolveDir:o}]:[`./${u}`,{...n,resolveDir:l[m].pluginDirAbsolutePath}],f=C(await s.resolve(...F));if("path"in f&&f.path!==e.importer){const v={...f,watchFiles:[i,c.join(o,y,u+".tsx")]};return l[m].name===y||d.set(t,v),v}}})}}};function C(a){return a.errors.length?{errors:a.errors}:a}export{S as ThemesResolver,d as resolveCache};
4
+ export const useInRouterContext = ReactRouter.useInRouterContext;`,loader:"js",resolveDir:s.errors.length?n:m.dirname(s.path)}}),t.onResolve({filter:F},async e=>{if(e.resolveDir==="")return;const o=`${e.path}:${e.importer}`;if(y.has(o))return y.get(o);const{path:s,...r}=e,c=await i(n,a.config.plugins),u=e.path.replace(g,"")||"index";for(let l=c.length-1;l>=0;l--){const x=c[l].isNpmPackage?[m.join(c[l].name,"src",u),{...r,resolveDir:c[l].pluginDirAbsolutePath}]:[`./${u}`,{...r,resolveDir:c[l].pluginDirAbsolutePath}],f=T(await t.resolve(...x));if("path"in f&&f.path!==e.importer){const v={...f,watchFiles:[p,m.join(n,d,u+".tsx")]};return c[l].name===d||y.set(o,v),v}}})}}};function T(a){return a.errors.length?{errors:a.errors}:a}export{S as ThemesResolver,y as resolveCache};
@@ -1 +1 @@
1
- import{existsSync as f}from"node:fs";import n from"node:path";import{resolvePlugins as g}from"@redocly/openapi-core";import{DEFAULT_PROJECT_PLUGIN_PATHS as m,DEFAULT_THEME_PLUGIN_PATH as d,STYLES_FILE as p}from"../constants/common.js";import{GATED_PLUGINS as P}from"../constants/entitlements.js";import{isDefined as y}from"../../utils/guards/is-defined.js";import{reporter as E}from"../tools/notifiers/reporter.js";import{sha as F}from"../utils/crypto/sha.js";import{resolveModule as C}from"./resolve-module.js";import{EntitlementsProvider as D}from"../entitlements/entitlements-provider.js";const u={sha:"",value:Promise.resolve({resolvedPlugins:[],errors:[]})};async function M(e,t=[]){const r=F(JSON.stringify(t));if(u.sha!==r){u.sha=r;const s=j(e,t),l=await g(s,e)||[];if(!s.some(i=>m.includes(i))){const i=m[0],a=n.join(e,i);l.push({id:"",absolutePath:a,path:i})}u.value=Promise.all(l.map(i=>A(i))).then(i=>{const a=i.filter(y),h=a.filter(c=>c?.type&&["error","warning"].includes(c.type)),v=a.filter(c=>c.type==="resolvedPlugin");return{errors:h,resolvedPlugins:v}})}const o=await u.value;if(o.errors.length)for(let s=0;s<o.errors.length;s++)await E.panicOnBuildContentError(o.errors[s].error);return o.resolvedPlugins}function j(e,t=[]){const r=[...t];for(const o of m)!r.includes(o)&&f(n.join(e,o))&&r.push(o);return r.includes(d)||r.unshift(d),r}async function A(e){if(!e.absolutePath||!e.path)return{type:"error",error:`Plugin with path "${e}" not found`};const t=n.dirname(e.absolutePath),{lifecyclePlugin:r,config:o}=L(e);return{name:n.dirname(e.path),type:"resolvedPlugin",isNpmPackage:I(e.path),pluginDirAbsolutePath:t,lifecyclePlugin:r,config:o,stylesFile:n.resolve(t,p),markdoc:S(t)}}function I(e){const t=n.dirname(e);return C(n.join(t,"package.json"))!=null}function L(e){const t=D.instance(),r=e.path||"",o=!t.canAccessFeature("customPlugins")&&!P.includes(r),s=e.requiredEntitlements&&P.includes(r)&&!e.requiredEntitlements.every(l=>t.canAccessFeature(l));return o||s?{lifecyclePlugin:{id:e.id},config:{}}:{lifecyclePlugin:{id:e.id,processContent:e.processContent,afterRoutesCreated:e.afterRoutesCreated,loaders:e.loaders,requiredEntitlements:e.requiredEntitlements},config:{schema:e.redoclyConfigSchema,ejectIgnore:e.ejectIgnore}}}function S(e){const t=n.resolve(e,"markdoc"),r=n.join(t,"schema.ts");if(!f(r))return null;const o=n.join(t,"components.tsx");return{schemaFile:r,componentsFile:f(o)?o:void 0}}export{M as resolveExternalPlugins};
1
+ import{existsSync as m,readFileSync as F}from"node:fs";import{createRequire as k}from"node:module";import s from"node:path";import{resolvePlugins as A}from"@redocly/openapi-core";import{DEFAULT_PROJECT_PLUGIN_PATHS as d,DEFAULT_THEME_PLUGIN_PATH as c,STYLES_FILE as S}from"../constants/common.js";import{GATED_PLUGINS as v}from"../constants/entitlements.js";import{DEFAULT_THEME_NAME as h}from"../../constants/common.js";import{isDefined as _}from"../../utils/guards/is-defined.js";import{isPlainObject as g}from"../../utils/guards/is-plain-object.js";import{logger as C}from"../tools/notifiers/logger.js";import{reporter as L}from"../tools/notifiers/reporter.js";import{sha as w}from"../utils/crypto/sha.js";import{resolveModule as P}from"./resolve-module.js";import{EntitlementsProvider as I}from"../entitlements/entitlements-provider.js";const f={sha:"",value:Promise.resolve({resolvedPlugins:[],errors:[]})};async function ee(e,r=[]){const n=w(JSON.stringify(r));if(f.sha!==n){f.sha=n;const o=M(e),a=N(e,r,o),p=await A(a,e)||[];if(!a.some(i=>d.includes(i))){const i=d[0],l=s.join(e,i);p.push({id:"",absolutePath:l,path:i})}f.value=Promise.all(p.map(i=>b(i,i.path===o?c:i.path))).then(i=>{const l=i.filter(_),j=l.filter(u=>u?.type&&["error","warning"].includes(u.type)),D=l.filter(u=>u.type==="resolvedPlugin");return{errors:j,resolvedPlugins:D}})}const t=await f.value;if(t.errors.length)for(let o=0;o<t.errors.length;o++)await L.panicOnBuildContentError(t.errors[o].error);return t.resolvedPlugins}function M(e){const r=s.resolve(e,"package.json");if(!y(s.dirname(r)))return P(c)??c;const n=E(o=>k(r).resolve(o)),t=E(P);return n&&t&&n!==t&&C.warn("The project declares %s %s, and Realm uses it instead of the %s it was built with.",h,n,t),c}function y(e){const r=T(s.join(e,"package.json")),n=[r?.dependencies,r?.devDependencies].some(o=>g(o)&&h in o),t=s.dirname(e);return n||t!==e&&y(t)}function E(e){try{const r=e(`${h}/package.json`),n=r&&T(r)?.version;return typeof n=="string"?n:void 0}catch{return}}function T(e){try{const r=JSON.parse(F(e,"utf8"));return g(r)?r:void 0}catch{return}}function N(e,r=[],n){const t=[...r];for(const o of d)!t.includes(o)&&m(s.join(e,o))&&t.push(o);return t.includes(c)||t.unshift(n),t}async function b(e,r){if(!e.absolutePath||!r)return{type:"error",error:`Plugin with path "${e}" not found`};const n=s.dirname(e.absolutePath),{lifecyclePlugin:t,config:o}=R(e,r);return{name:s.dirname(r),type:"resolvedPlugin",isNpmPackage:O(r),pluginDirAbsolutePath:n,lifecyclePlugin:t,config:o,stylesFile:s.resolve(n,S),markdoc:U(n)}}function O(e){const r=s.dirname(e);return P(s.join(r,"package.json"))!=null}function R(e,r){const n=I.instance(),t=!n.canAccessFeature("customPlugins")&&!v.includes(r),o=e.requiredEntitlements&&v.includes(r)&&!e.requiredEntitlements.every(a=>n.canAccessFeature(a));return t||o?{lifecyclePlugin:{id:e.id},config:{}}:{lifecyclePlugin:{id:e.id,processContent:e.processContent,afterRoutesCreated:e.afterRoutesCreated,loaders:e.loaders,requiredEntitlements:e.requiredEntitlements},config:{schema:e.redoclyConfigSchema,ejectIgnore:e.ejectIgnore}}}function U(e){const r=s.resolve(e,"markdoc"),n=s.join(r,"schema.ts");if(!m(n))return null;const t=s.join(r,"components.tsx");return{schemaFile:n,componentsFile:m(t)?t:void 0}}export{ee as resolveExternalPlugins};
@@ -0,0 +1,22 @@
1
+ import type { RbacScopeItems } from '@redocly/config';
2
+ import type { BundledApiDefinition } from './loader.js';
3
+ /** What the download route needs to apply the API page's access rule to one definition. */
4
+ export type ApiDefinitionAccess = {
5
+ /** Content-relative source file (`customOutputRelativeFile || relativePath`). */
6
+ sourcePath: string;
7
+ /** The API's base page slug, e.g. `/apis/internal`. */
8
+ slug: string;
9
+ /** `apis.<name>.rbac`; replaces the content rule when present. */
10
+ rbac?: RbacScopeItems;
11
+ };
12
+ /**
13
+ * The key of the definition that a download of `stem` on the GraphQL route (`/_spec-gql`) or
14
+ * on a bundle route (`/_bundle`, `/_spec`) describes; `stem` is the request path after the
15
+ * route prefix without its extension (`apis/museum` for `apis/museum.yaml`), so one bundle
16
+ * answers under `.json`, `.yaml` and `.yml`. A schema and a bundle of one stem have distinct keys.
17
+ */
18
+ export declare function requestDefinitionAccessKey(isGraphql: boolean, stem: string): string;
19
+ /** The key of `definition` in the access map; undefined for one under the public static folder. */
20
+ export declare function definitionAccessKey(definition: Pick<BundledApiDefinition, 'relativePath' | 'type'>): string | undefined;
21
+ export declare function describeDefinitionAccess(definition: BundledApiDefinition, basePath: string): ApiDefinitionAccess;
22
+ //# sourceMappingURL=definition-access.d.ts.map
@@ -0,0 +1 @@
1
+ import{PUBLIC_STATIC_FOLDER as o}from"../../constants/common.js";import{removeTrailingSlash as i}from"../../../utils/url/remove-trailing-slash.js";import{resolveConfigRbac as n}from"./utils/resolve-config-rbac.js";import{replaceFileExtension as c}from"./utils/replace-file-extension.js";function s(e,r){return`${e?"graphql":"bundle"}:${r}`}function f(e){if(!e.relativePath.startsWith(o+"/"))return s(e.type==="graphql",c(e.relativePath,""))}function m(e,r){const t=n(e.config);return{sourcePath:e.customOutputRelativeFile||e.relativePath,slug:i(r),...t===void 0?{}:{rbac:t}}}export{f as definitionAccessKey,m as describeDefinitionAccess,s as requestDefinitionAccessKey};
@@ -1 +1 @@
1
- import{REDOCLY_ROUTE_RBAC as C,REDOCLY_TEAMS_RBAC as A}from"@redocly/config";import{mcpTagSchemas as ot,schemaDefinitionTag as rt,markdocParser as U}from"@redocly/api-docs";import{withPathPrefix as $}from"@redocly/theme/core/utils";import{API_DOCS_TEMPLATE_ID as j,GRAPHQL_SPEC_SLUG as at,PUBLIC_RBAC_SCOPE_ITEM as N}from"../../../constants/common.js";import{DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER as st,PUBLIC_API_DEFINITIONS_FOLDER as it}from"../../constants/common.js";import{API_DOCS_SHARED_DATA_PREFIX as E}from"../../constants/plugins/api-docs.js";import{fromCurrentDir as nt}from"../../utils/paths.js";import{normalizeRouteSlug as ct}from"../../../utils/path/normalize-route-slug.js";import{removeTrailingSlash as pt}from"../../../utils/url/remove-trailing-slash.js";import{isTranslationFallback as ut}from"../../fs/utils/is-translation-fallback.js";import{createSlugify as lt}from"../create-slugify.js";import{apiDocLoader as dt,apiDocsLoader as mt}from"./loader.js";import{getTemplatePath as V}from"./get-template-path.js";import{storeDefinitionBundles as ft}from"./store-definition-bundles.js";import{telemetryTraceStep as gt}from"../../../cli/telemetry/helpers/trace-step.js";import{searchResolver as ht}from"./search/search-resolver.js";import{getAiDocumentsStore as Dt}from"./search/get-ai-search-documents.js";import{getApiConfigByPath as St}from"../get-api-config.js";import{getRouteSlugsForPath as Pt}from"../utils.js";import{collectItemRoutes as yt}from"./utils/collect-item-routes.js";import{isChunkCurrent as It}from"./utils/decorators.js";import{applyNavItemToRoot as At}from"./utils/apply-nav-item-to-root.js";import{buildRoutesMapping as vt}from"./utils/build-routes-mapping.js";import{buildItemPositions as bt}from"./utils/build-item-positions.js";import{resolveApiDocTitle as Rt}from"./utils/resolve-api-doc-title.js";import{resolveConfigRbac as W}from"./utils/resolve-config-rbac.js";import{relativePathToBaseSlug as _t}from"./utils/relative-path-to-base-slug.js";import{normalizeApiVersion as Ct}from"./utils/normalize-api-version.js";import{importApiDocsBuilder as Q}from"./import-api-docs-builder.js";import{envConfig as G}from"../../config/env-config.js";import{logger as Tt}from"../../tools/notifiers/logger.js";const k="openapi-spec-download",wt={asyncapi:"AsyncAPI Docs",graphql:"GraphQL Docs",openapi:"OpenAPI Docs"};async function de(){let e=[],r=new Map;const s=new WeakMap;let n=new Set,m={};function O(o,D,v){const y=s.get(o)??new Map;s.set(o,y);const S=D??"";return y.get(S)===v?!1:(y.set(S,v),!0)}return{id:"api-docs",requiredEntitlements:["openapi","asyncapi","graphql"],loaders:{"api-doc":dt,"api-docs":mt},processContent:async(o,D)=>{await gt("com.redocly.build.plugin.apiDocs",async()=>{o.createRequestHandler(k,nt(import.meta.url,"./spec-download.api.js")),o.addApiRoute({slug:it+"/*",requestHandlerId:k,httpMethod:"all",[A]:N,getStaticData:async()=>({props:{}})}),o.addApiRoute({slug:st+"/*",requestHandlerId:k,httpMethod:"all",[A]:N,getStaticData:async()=>({props:{}})}),o.addApiRoute({slug:at+"/*",requestHandlerId:k,httpMethod:"all",[A]:N,getStaticData:async()=>({props:{}})});const v=o.createTemplate(j,V("../../../client/templates/api-docs/template.js")),y=o.registerServerPropsGetter(j,V("./get-server-props.js")),S=await D.getConfig();r=new Map,m={};const I=await o.loadApiDocuments(D);ft(I,o.outdir);const T=!!S.plugins?.some(t=>typeof t=="string"&&t.startsWith("@redocly/portal-plugin-async-api/"));T&&I.some(t=>t.type==="asyncapi")&&Tt.warn("The plugin '@redocly/portal-plugin-async-api' is deprecated. Please remove it from your config to use built-in AsyncAPI docs.");const c=T?I.filter(t=>t.type!=="asyncapi"):I;e=c.map(({markdocChunks:t,relativePath:P,isVirtual:p,customOutputRelativeFile:a,realRelativePath:h})=>({chunks:t??[],relativePath:P,realRelativePath:h,isVirtual:a!=null||p}));const{buildItems:i}=await Q(o.serverOutDir),f=(await D.cache.load("content-slugs","content-slugs")).data,g=lt(f),F=t=>ct(g(t));for(const t of c){const P=t.customOutputRelativeFile||t.relativePath,p=F(P);Ot(t,p);const{items:a,store:h}=await i({type:t.type,document:t.document,options:t.options,basePath:p,markdownParser:U}),b=`${E}${t.relativePath}`,M=G.isDevelopMode?t.relativePath:void 0,u=Mt(t.document),R=u?.["x-metadata"],_=t.isVirtual?void 0:R?.apiId,L={document:t,basePath:p,sourcePath:M,apiId:_,build:{items:a,store:h}};await o.createSharedData(b,z(L,a,h));const Y=W(t.config),B=!!t.options.excludeFromSearch,X=t.type==="openapi",J=yt(a,Y),Z=ut(t),d=J.map(l=>{const x=l.metadata?.seo,w={fsPath:P,templateId:v,sharedData:[{key:"apiDocsStore",id:b}],serverPropsGetterIds:[y],excludeFromSearch:B,getStaticData:kt(l.label,x,Z),[A]:l[A]};return Object.assign(w,Ft(l.link,p)),X&&l.httpVerb&&(w.httpVerb=l.httpVerb,w.metadata={subType:"openapi-operation"}),w});if(!d.length)continue;const H=Rt(u,t.type,a),tt=Ct(u?.version),q={type:t.type,title:H,version:tt,description:typeof u?.description=="string"?u.description:void 0,summary:typeof u?.summary=="string"?u.summary:void 0,...u?.["x-metadata"]&&typeof u["x-metadata"]=="object"?u["x-metadata"]:{}};d[0]={...d[0],metadata:q,hasClientRoutes:!0,getSidebar:(l,x)=>At(K(a),p,x),getNavText:()=>H??wt[t.type]??"API Docs",getSearchDocuments:ht(a,q,o.getSearchFacets,o.setSearchFacets,B,h,t.document),getAiDocumentsStore:Dt({getBuild:()=>L.build,metadata:q,document:t.document,specType:t.type,excludeFromSearch:B,basePath:p,getSearchFacets:o.getSearchFacets,markdocTags:{...ot,schemaDefinition:rt}})};const et=d[0];d[0]=d[d.length-1],d[d.length-1]=et;for(const l of d)o.addRoute(l);if(_){const l=St(t.config?.apis,t.realRelativePath);m[_]={[A]:l.rbac,[C]:{fsPath:P}}}r.set(b,L)}})},afterRoutesCreated:async(o,D)=>{const{buildItems:v,simplifyAstStructure:y}=await Q(o.serverOutDir),S=new Set,I=new Set;for(const{chunks:c,relativePath:i,isVirtual:f}of e){const g=`${E}${i}`,F=Pt(o.getAllRoutes(),i);for(const{node:t,markdown:P,pointer:p,key:a,relativePath:h}of c){const{ast:b,compoundHash:M}=await o.parseMarkdoc({input:{content:P,relativePath:h,isVirtual:f},resource:p,context:D,deps:{sharedDataIds:[`${E}${h}`],routeSlugs:F}});if(S.add(p),!(a==="graphql-docs"?t?.description?.value!==void 0:!!a&&It(t,a,P))||!O(t,a,M))continue;I.add(g);const R=y(b);if(a==="graphql-docs"){t.description&&(t.description.value=R);const _=`${E}${h}`;Et(r.get(_),R)}else a&&(t[a]=R)}}const T=n.difference(S);for(const c of T)D.cache.delete(c);n=S,Object.entries(m).forEach(([c,i])=>{const f=i[C]?.fsPath;if(!f)return;const g=o.getRouteByFsPath(f)?.baseSlug;m[c]={...i,[C]:{...i[C],slug:g},slug:g}}),o.setGlobalData({apiProducts:m});for(const[c,i]of r){if(!I.has(c))continue;const{items:f,store:g}=await v({type:i.document.type,document:i.document.document,options:i.document.options,basePath:i.basePath,markdownParser:U});i.build={items:f,store:g},await o.createSharedData(c,z(i,f,g))}}}}function z({document:e,basePath:r,sourcePath:s,apiId:n},m,O){return{[A]:W(e.config),[C]:{slug:pt(r),fsPath:e.customOutputRelativeFile||e.relativePath},items:m,store:O,options:e.options,baseSlug:r,routesMapping:G.isDevelopMode?vt(m,r):{},graphqlPositions:G.isDevelopMode&&e.type==="graphql"?bt(m,r):void 0,sourcePath:s,apiId:n}}function Et(e,r){e?.document.type!=="graphql"||!e.document.options||(e.document.options.info={...e.document.options.info||{},description:r})}function kt(e,r,s){return async function(n){return{...s?{isTranslationFallback:!0}:{},props:{settings:{baseUrlPath:$(n.baseSlug)},disableAutoScroll:!0,seo:{title:e,...r}}}}}function Ot(e,r){const s=e.options?.mockServer,n=$(`/_mock${_t(e.relativePath)}`);s?.url===n&&(e.options={...e.options,mockServer:{...s,url:$(`/_mock${r}`)}})}function Ft(e,r){if(e===r)return{};const s=r==="/"?"/":`${r}/`;if(e.startsWith(s)){const n=e.slice(s.length);return n?{slugSuffix:n}:{}}return{slug:e}}function Mt(e){if(e&&typeof e=="object"&&"info"in e)return e.info}function K(e){return e.map(({content:r,items:s,...n})=>({...n,...s&&{items:K(s)}}))}export{de as apiDocsPlugin,Ft as toRouteSlugFields};
1
+ import{REDOCLY_ROUTE_RBAC as T,REDOCLY_TEAMS_RBAC as v}from"@redocly/config";import{mcpTagSchemas as rt,schemaDefinitionTag as at,markdocParser as U}from"@redocly/api-docs";import{withPathPrefix as $}from"@redocly/theme/core/utils";import{API_DOCS_TEMPLATE_ID as j,GRAPHQL_SPEC_SLUG as st,PUBLIC_RBAC_SCOPE_ITEM as N}from"../../../constants/common.js";import{DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER as it,PUBLIC_API_DEFINITIONS_FOLDER as nt}from"../../constants/common.js";import{API_DOCS_SHARED_DATA_PREFIX as O}from"../../constants/plugins/api-docs.js";import{fromCurrentDir as ct}from"../../utils/paths.js";import{normalizeRouteSlug as pt}from"../../../utils/path/normalize-route-slug.js";import{removeTrailingSlash as ut}from"../../../utils/url/remove-trailing-slash.js";import{isTranslationFallback as lt}from"../../fs/utils/is-translation-fallback.js";import{createSlugify as dt}from"../create-slugify.js";import{apiDocLoader as mt,apiDocsLoader as ft}from"./loader.js";import{getTemplatePath as V}from"./get-template-path.js";import{storeDefinitionBundles as gt}from"./store-definition-bundles.js";import{definitionAccessKey as ht,describeDefinitionAccess as Dt}from"./definition-access.js";import{telemetryTraceStep as St}from"../../../cli/telemetry/helpers/trace-step.js";import{searchResolver as Pt}from"./search/search-resolver.js";import{getAiDocumentsStore as yt}from"./search/get-ai-search-documents.js";import{getApiConfigByPath as At}from"../get-api-config.js";import{getRouteSlugsForPath as It}from"../utils.js";import{collectItemRoutes as vt}from"./utils/collect-item-routes.js";import{isChunkCurrent as bt}from"./utils/decorators.js";import{applyNavItemToRoot as Rt}from"./utils/apply-nav-item-to-root.js";import{buildRoutesMapping as _t}from"./utils/build-routes-mapping.js";import{buildItemPositions as Ct}from"./utils/build-item-positions.js";import{resolveApiDocTitle as Tt}from"./utils/resolve-api-doc-title.js";import{resolveConfigRbac as K}from"./utils/resolve-config-rbac.js";import{relativePathToBaseSlug as wt}from"./utils/relative-path-to-base-slug.js";import{normalizeApiVersion as Et}from"./utils/normalize-api-version.js";import{importApiDocsBuilder as W}from"./import-api-docs-builder.js";import{envConfig as G}from"../../config/env-config.js";import{logger as kt}from"../../tools/notifiers/logger.js";const F="openapi-spec-download",Ot={asyncapi:"AsyncAPI Docs",graphql:"GraphQL Docs",openapi:"OpenAPI Docs"};async function he(){let e=[],r=new Map;const s=new WeakMap;let n=new Set,f={},A={};function Y(o,S,b){const I=s.get(o)??new Map;s.set(o,I);const P=S??"";return I.get(P)===b?!1:(I.set(P,b),!0)}return{id:"api-docs",requiredEntitlements:["openapi","asyncapi","graphql"],loaders:{"api-doc":mt,"api-docs":ft},processContent:async(o,S)=>{await St("com.redocly.build.plugin.apiDocs",async()=>{o.createRequestHandler(F,ct(import.meta.url,"./spec-download.api.js")),o.addApiRoute({slug:nt+"/*",requestHandlerId:F,httpMethod:"all",[v]:N,getStaticData:async()=>({props:{definitionAccess:A}})}),o.addApiRoute({slug:it+"/*",requestHandlerId:F,httpMethod:"all",[v]:N,getStaticData:async()=>({props:{definitionAccess:A}})}),o.addApiRoute({slug:st+"/*",requestHandlerId:F,httpMethod:"all",[v]:N,getStaticData:async()=>({props:{definitionAccess:A}})});const b=o.createTemplate(j,V("../../../client/templates/api-docs/template.js")),I=o.registerServerPropsGetter(j,V("./get-server-props.js")),P=await S.getConfig();r=new Map,f={};const y=await o.loadApiDocuments(S);gt(y,o.outdir),A={};const w=!!P.plugins?.some(t=>typeof t=="string"&&t.startsWith("@redocly/portal-plugin-async-api/"));w&&y.some(t=>t.type==="asyncapi")&&kt.warn("The plugin '@redocly/portal-plugin-async-api' is deprecated. Please remove it from your config to use built-in AsyncAPI docs.");const p=w?y.filter(t=>t.type!=="asyncapi"):y;e=p.map(({markdocChunks:t,relativePath:u,isVirtual:c,customOutputRelativeFile:a,realRelativePath:D})=>({chunks:t??[],relativePath:u,realRelativePath:D,isVirtual:a!=null||c}));const{buildItems:i}=await W(o.serverOutDir),g=(await S.cache.load("content-slugs","content-slugs")).data,h=dt(g),E=t=>pt(h(t));for(const t of y){const u=ht(t);if(u===void 0)continue;const c=E(t.customOutputRelativeFile||t.relativePath);A[u]=Dt(t,c)}for(const t of p){const u=t.customOutputRelativeFile||t.relativePath,c=E(u);Lt(t,c);const{items:a,store:D}=await i({type:t.type,document:t.document,options:t.options,basePath:c,markdownParser:U}),R=`${O}${t.relativePath}`,M=G.isDevelopMode?t.relativePath:void 0,l=qt(t.document),_=l?.["x-metadata"],C=t.isVirtual?void 0:_?.apiId,L={document:t,basePath:c,sourcePath:M,apiId:C,build:{items:a,store:D}};await o.createSharedData(R,Q(L,a,D));const X=K(t.config),B=!!t.options.excludeFromSearch,J=t.type==="openapi",Z=vt(a,X),tt=lt(t),m=Z.map(d=>{const x=d.metadata?.seo,k={fsPath:u,templateId:b,sharedData:[{key:"apiDocsStore",id:R}],serverPropsGetterIds:[I],excludeFromSearch:B,getStaticData:Mt(d.label,x,tt),[v]:d[v]};return Object.assign(k,Bt(d.link,c)),J&&d.httpVerb&&(k.httpVerb=d.httpVerb,k.metadata={subType:"openapi-operation"}),k});if(!m.length)continue;const H=Tt(l,t.type,a),et=Et(l?.version),q={type:t.type,title:H,version:et,description:typeof l?.description=="string"?l.description:void 0,summary:typeof l?.summary=="string"?l.summary:void 0,...l?.["x-metadata"]&&typeof l["x-metadata"]=="object"?l["x-metadata"]:{}};m[0]={...m[0],metadata:q,hasClientRoutes:!0,getSidebar:(d,x)=>Rt(z(a),c,x),getNavText:()=>H??Ot[t.type]??"API Docs",getSearchDocuments:Pt(a,q,o.getSearchFacets,o.setSearchFacets,B,D,t.document),getAiDocumentsStore:yt({getBuild:()=>L.build,metadata:q,document:t.document,specType:t.type,excludeFromSearch:B,basePath:c,getSearchFacets:o.getSearchFacets,markdocTags:{...rt,schemaDefinition:at}})};const ot=m[0];m[0]=m[m.length-1],m[m.length-1]=ot;for(const d of m)o.addRoute(d);if(C){const d=At(t.config?.apis,t.realRelativePath);f[C]={[v]:d.rbac,[T]:{fsPath:u}}}r.set(R,L)}})},afterRoutesCreated:async(o,S)=>{const{buildItems:b,simplifyAstStructure:I}=await W(o.serverOutDir),P=new Set,y=new Set;for(const{chunks:p,relativePath:i,isVirtual:g}of e){const h=`${O}${i}`,E=It(o.getAllRoutes(),i);for(const{node:t,markdown:u,pointer:c,key:a,relativePath:D}of p){const{ast:R,compoundHash:M}=await o.parseMarkdoc({input:{content:u,relativePath:D,isVirtual:g},resource:c,context:S,deps:{sharedDataIds:[`${O}${D}`],routeSlugs:E}});if(P.add(c),!(a==="graphql-docs"?t?.description?.value!==void 0:!!a&&bt(t,a,u))||!Y(t,a,M))continue;y.add(h);const _=I(R);if(a==="graphql-docs"){t.description&&(t.description.value=_);const C=`${O}${D}`;Ft(r.get(C),_)}else a&&(t[a]=_)}}const w=n.difference(P);for(const p of w)S.cache.delete(p);n=P,Object.entries(f).forEach(([p,i])=>{const g=i[T]?.fsPath;if(!g)return;const h=o.getRouteByFsPath(g)?.baseSlug;f[p]={...i,[T]:{...i[T],slug:h},slug:h}}),o.setGlobalData({apiProducts:f});for(const[p,i]of r){if(!y.has(p))continue;const{items:g,store:h}=await b({type:i.document.type,document:i.document.document,options:i.document.options,basePath:i.basePath,markdownParser:U});i.build={items:g,store:h},await o.createSharedData(p,Q(i,g,h))}}}}function Q({document:e,basePath:r,sourcePath:s,apiId:n},f,A){return{[v]:K(e.config),[T]:{slug:ut(r),fsPath:e.customOutputRelativeFile||e.relativePath},items:f,store:A,options:e.options,baseSlug:r,routesMapping:G.isDevelopMode?_t(f,r):{},graphqlPositions:G.isDevelopMode&&e.type==="graphql"?Ct(f,r):void 0,sourcePath:s,apiId:n}}function Ft(e,r){e?.document.type!=="graphql"||!e.document.options||(e.document.options.info={...e.document.options.info||{},description:r})}function Mt(e,r,s){return async function(n){return{...s?{isTranslationFallback:!0}:{},props:{settings:{baseUrlPath:$(n.baseSlug)},disableAutoScroll:!0,seo:{title:e,...r}}}}}function Lt(e,r){const s=e.options?.mockServer,n=$(`/_mock${wt(e.relativePath)}`);s?.url===n&&(e.options={...e.options,mockServer:{...s,url:$(`/_mock${r}`)}})}function Bt(e,r){if(e===r)return{};const s=r==="/"?"/":`${r}/`;if(e.startsWith(s)){const n=e.slice(s.length);return n?{slugSuffix:n}:{}}return{slug:e}}function qt(e){if(e&&typeof e=="object"&&"info"in e)return e.info}function z(e){return e.map(({content:r,items:s,...n})=>({...n,...s&&{items:z(s)}}))}export{he as apiDocsPlugin,Bt as toRouteSlugFields};
@@ -1,6 +1,6 @@
1
1
  import { type ASTNode, type DocumentNode } from 'graphql';
2
2
  import type { OpenAPIDefinition, AsyncApiDefinition, ApiSpecType, RawApiDocsOptions } from '@redocly/api-docs';
3
- import type { Node as MarkdocNode } from '@markdoc/markdoc';
3
+ import type { Node as MarkdocNode } from '@redocly/markdoc';
4
4
  import type { LifecycleContext } from '../../types';
5
5
  import type { RedoclyConfig } from '@redocly/config';
6
6
  export type MarkdocChunk = {