@redocly/realm 0.132.0 → 0.133.0-next.0

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 (76) hide show
  1. package/CHANGELOG.md +31 -4
  2. package/dist/cli/build/copy-env-files.js +1 -1
  3. package/dist/cli/develop.js +1 -1
  4. package/dist/cli/telemetry/index.js +1 -1
  5. package/dist/client/app/hooks/catalog/useFetchCatalogEntityRevisions.js +1 -1
  6. package/dist/constants/common.d.ts +2 -1
  7. package/dist/constants/common.js +1 -1
  8. package/dist/server/config/env-config.d.ts +157 -8
  9. package/dist/server/config/env-config.js +1 -1
  10. package/dist/server/config/env-schema.d.ts +148 -185
  11. package/dist/server/config/env-schema.js +1 -3
  12. package/dist/server/config/env-schemas/auth.d.ts +4 -4
  13. package/dist/server/config/env-schemas/auth.js +1 -1
  14. package/dist/server/config/env-schemas/catalog.d.ts +2 -2
  15. package/dist/server/config/env-schemas/catalog.js +1 -1
  16. package/dist/server/config/env-schemas/environment-detection.d.ts +13 -13
  17. package/dist/server/config/env-schemas/environment-detection.js +1 -1
  18. package/dist/server/config/env-schemas/feature-flags.d.ts +9 -6
  19. package/dist/server/config/env-schemas/feature-flags.js +1 -1
  20. package/dist/server/config/env-schemas/search.d.ts +1 -1
  21. package/dist/server/config/env-schemas/search.js +1 -1
  22. package/dist/server/config/env-schemas/server-config.d.ts +2 -2
  23. package/dist/server/config/env-schemas/server-config.js +1 -1
  24. package/dist/server/constants/entitlements.js +1 -1
  25. package/dist/server/esbuild/esbuild-logger.js +3 -3
  26. package/dist/server/esbuild/esbuild.js +2 -2
  27. package/dist/server/persistence/kv/repositories/kv-remote-repository.d.ts +2 -0
  28. package/dist/server/persistence/kv/repositories/kv-remote-repository.js +2 -2
  29. package/dist/server/persistence/kv/services/kv-service.js +1 -1
  30. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.js +1 -1
  31. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
  32. package/dist/server/plugins/catalog-entities/extensions/extractors/fs-entities-extractor.js +1 -1
  33. package/dist/server/plugins/config-parser/loaders/utils/read-and-validate-config.js +1 -1
  34. package/dist/server/plugins/default-theme/index.js +1 -1
  35. package/dist/server/plugins/enforce-login/index.js +1 -1
  36. package/dist/server/plugins/entitlements/utils/get-billed-catalog-build-pages-count.js +1 -1
  37. package/dist/server/plugins/lifecycle.js +1 -1
  38. package/dist/server/plugins/openapi-docs/search/get-ai-search-documents.js +26 -26
  39. package/dist/server/plugins/scorecards/plugin.js +1 -1
  40. package/dist/server/providers/database/base-repository.d.ts +1 -0
  41. package/dist/server/providers/database/base-repository.js +5 -1
  42. package/dist/server/providers/database/database-preconnect-service.js +1 -1
  43. package/dist/server/providers/database/pagination/utils/extract-equal-filter-clause-value.d.ts +6 -0
  44. package/dist/server/providers/database/pagination/utils/extract-equal-filter-clause-value.js +1 -0
  45. package/dist/server/providers/database/pagination/utils/index.d.ts +1 -0
  46. package/dist/server/providers/database/pagination/utils/index.js +1 -1
  47. package/dist/server/providers/database/utils/storage-limit-validator.d.ts +13 -0
  48. package/dist/server/providers/database/utils/storage-limit-validator.js +1 -0
  49. package/dist/server/store.js +1 -1
  50. package/dist/server/telemetry/index.js +1 -1
  51. package/dist/server/tools/notifiers/formatter.js +3 -3
  52. package/dist/server/tools/notifiers/helpers/colors.js +1 -1
  53. package/dist/server/utils/envs/env-boolean-string.d.ts +12 -0
  54. package/dist/server/utils/envs/env-boolean-string.js +1 -0
  55. package/dist/server/utils/envs/load-env-variables.js +1 -1
  56. package/dist/server/utils/is-catalog-entities-enabled.js +1 -1
  57. package/dist/server/utils/is-scorecards-enabled.js +1 -1
  58. package/dist/server/utils/lifecycle-hooks.js +1 -1
  59. package/dist/server/version.js +1 -1
  60. package/dist/server/web-server/routes/catalog/bff-catalog-revisions.js +1 -1
  61. package/dist/server/web-server/routes/dynamic-route.js +1 -1
  62. package/dist/server/web-server/routes/feedback.js +1 -1
  63. package/dist/server/web-server/routes/index.js +1 -1
  64. package/dist/server/web-server/routes/otel/otel.d.ts +2 -16
  65. package/dist/server/web-server/routes/otel/otel.js +1 -1
  66. package/dist/server/web-server/routes/otel/otlp.d.ts +4 -1
  67. package/dist/server/web-server/routes/otel/otlp.js +1 -1
  68. package/dist/server/web-server/routes/static-content.js +1 -1
  69. package/dist/server/web-server/utils/content-type.d.ts +2 -0
  70. package/dist/server/web-server/utils/content-type.js +1 -0
  71. package/dist/types/entitlements.d.ts +1 -0
  72. package/package.json +12 -12
  73. package/dist/server/config/env-schemas/test.d.ts +0 -22
  74. package/dist/server/config/env-schemas/test.js +0 -1
  75. package/dist/server/utils/envs/write-env-variable.d.ts +0 -18
  76. package/dist/server/utils/envs/write-env-variable.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @redocly/realm
2
2
 
3
+ ## 0.133.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 36c67eafc25: Fixed rendering of non-Latin characters by enforcing UTF-8 encoding.
8
+
9
+ ### Patch Changes
10
+
11
+ - 8a1e45e9493: Fixed security vulnerability `GHSA-39q2-94rc-95cp` by upgrading `dompurify` to version `3.4.0`.
12
+ - 27cc506931d: Updated `@redocly/openapi-core` to version `2.29.0`.
13
+ - 39f8473e10e: Updated `@redocly/openapi-core` to version `2.27.1`.
14
+ - db587e909d6: Fixed security vulnerability `CVE-2026-39356` by upgrading `drizzle-orm` to version `0.45.2`.
15
+ - a1bb760b292: Fixed an issue where the tooltips in API docs and Replay might partially render outside the viewport.
16
+ - b90d4351949: Fixed multiple moderate security vulnerabilities in `hono` dependency by upgrading it to version `4.12.14`.
17
+ - d1c6eadeb44: Enter prerelease mode.
18
+ - Updated dependencies [8a1e45e9493]
19
+ - Updated dependencies [36c67eafc25]
20
+ - Updated dependencies [27cc506931d]
21
+ - Updated dependencies [f2a18386e51]
22
+ - Updated dependencies [39f8473e10e]
23
+ - Updated dependencies [a1bb760b292]
24
+ - Updated dependencies [d1c6eadeb44]
25
+ - Updated dependencies [4002f20f63b]
26
+ - @redocly/openapi-docs@3.21.0-next.0
27
+ - @redocly/theme@0.65.0-next.0
28
+ - @redocly/realm-asyncapi-sdk@0.11.0-next.0
29
+ - @redocly/portal-plugin-mock-server@0.18.0-next.0
30
+ - @redocly/portal-legacy-ui@0.16.0-next.0
31
+ - @redocly/asyncapi-docs@1.10.0-next.0
32
+ - @redocly/graphql-docs@1.10.0-next.0
33
+
3
34
  ## 0.132.0
4
35
 
5
36
  ### Minor Changes
@@ -8,7 +39,6 @@
8
39
  - 07483ec059: Added RBAC filtering for Apigee API products in developer onboarding app creation.
9
40
  - e88064ce2d: Added support for Excalidraw and PlantUML diagrams.
10
41
  Improved dark mode for Mermaid diagrams.
11
- - e756f2aad5: Added a `palette` configuration option that applies one of built-in color palettes to the project.
12
42
  - ae3272861b: Added support for `x-badges` in OpenAPI and AsyncAPI parameters and schema properties.
13
43
  Badges can now be rendered before and after field names.
14
44
  - ce5a165177: Added support for `or` functions in RBAC conditions within Markdoc content.
@@ -129,7 +159,6 @@
129
159
  - 20b850b446a: Fixed an issue where an API path remained visible when all its endpoints were hidden by `x-rbac` access control.
130
160
  - 86a3b76a9b9: Fixed an issue where files with identical names but different extensions in the same folder resolved to a single URL, causing pages to be missing from the deployed project.
131
161
  - 9ee4d447abf: Fixed banner target priority to ensure that the most specific matching banner is displayed on a page.
132
- - 92c915d62d7: Added `palette` option to `products` configuration.
133
162
  - Updated dependencies [933422fcd9b]
134
163
  - Updated dependencies [8710b00b3e1]
135
164
  - Updated dependencies [e88064ce2d3]
@@ -146,11 +175,9 @@
146
175
 
147
176
  - c95cf214aae: Added validation for the `redirects` configuration option to detect dead and circular redirects.
148
177
  - 07483ec0596: Added RBAC filtering for Apigee API products in developer onboarding app creation.
149
- - e756f2aad58: Added a `palette` configuration option that applies one of built-in color palettes to the project.
150
178
 
151
179
  ### Patch Changes
152
180
 
153
- - e4e8c9f42d4: Updated legacy palette styles.
154
181
  - c336f96cb65: Updated `@redocly/openapi-core` to version `2.25.2`.
155
182
  - cd3d136f0c2: Fixed an issue where `json-schema` Markdoc tags produced empty output in LLM content by rendering resolved JSON examples as code blocks.
156
183
  - d419330f279: Fixed an issue where the build crashed during the search preparation step.
@@ -1 +1 @@
1
- import t from"node:path";import{copyFileSync as v,existsSync as s,mkdirSync as u}from"node:fs";import{envConfig as c}from"../../server/config/env-config.js";import{logger as l}from"../../server/tools/notifiers/logger.js";import{sanitizeBranchName as a}from"../../server/utils/envs/sanitize-branch-name.js";const F=n=>{const i=f();s(n.serverOutDir)||u(n.serverOutDir,{recursive:!0});const e=[];for(const o of i){const r=t.join(n.contentDir,o);if(!s(r))continue;const p=t.join(n.serverOutDir,o);v(r,p),e.push(o)}e.length>0&&l.info(`Env files included in bundle: ${e.map(()=>"%rp").join(", ")}`,...e)},f=()=>{const n=c.redoclyEnv,i=c.PUBLIC_REDOCLY_BRANCH_NAME,e=[".env"];switch(i&&e.push(`.env.branch.${a(i)}`),n){case"production":e.push(".env.production");break;case"preview":e.push(".env.preview");break;default:e.push(".env.development");break}return e};export{F as copyEnvFiles};
1
+ import t from"node:path";import{copyFileSync as v,existsSync as s,mkdirSync as u}from"node:fs";import{envConfig as c}from"../../server/config/env-config.js";import{logger as a}from"../../server/tools/notifiers/logger.js";import{sanitizeBranchName as l}from"../../server/utils/envs/sanitize-branch-name.js";const F=n=>{const i=f();s(n.serverOutDir)||u(n.serverOutDir,{recursive:!0});const e=[];for(const o of i){const r=t.join(n.contentDir,o);if(!s(r))continue;const p=t.join(n.serverOutDir,o);v(r,p),e.push(o)}e.length>0&&a.info(`Env files included in bundle: ${e.map(()=>"%rp").join(", ")}`,...e)},f=()=>{const n=c.REDOCLY_ENV,i=c.PUBLIC_REDOCLY_BRANCH_NAME,e=[".env"];switch(i&&e.push(`.env.branch.${l(i)}`),n){case"production":e.push(".env.production");break;case"preview":e.push(".env.preview");break;default:e.push(".env.development");break}return e};export{F as copyEnvFiles};
@@ -1 +1 @@
1
- import{logger as t}from"../server/tools/notifiers/logger.js";import{reporter as c}from"../server/tools/notifiers/reporter.js";import{green as v}from"../server/tools/notifiers/helpers/colors.js";import{envConfig as m}from"../server/config/env-config.js";import{resolveCache as w}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as p}from"../server/utils/index.js";import{createClientCompiler as C,createServerCompiler as h}from"../server/esbuild/esbuild.js";import{initPlugins as S,runPlugins as f,writeClientEntries as E}from"../server/plugins/lifecycle.js";import{startDevServer as R}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as b}from"../server/plugins/markdown/compiler.js";import{reportAllErrors as g}from"../server/utils/report-all-errors.js";import{copyMigrationsFolder as y}from"../server/providers/database/copy-migrations.js";import{listenStdin as L}from"./utils/listen-stdin.js";async function J(i,e){t.info("Starting project preview mode."),E(e),t.startTiming("initial-js"),await D(e),t.infoTime("initial-js","JavaScript compiled");const{pluginInstances:a,lifecycleContext:n}=await S({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:i["dev-login"]!==!1,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=n,y(e),await f(a,e,n,{failFast:!0});const d=async()=>{const r=performance.now();c.clearErrors(),await f(a,e,n),m.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await b(e,n):t.info("Skipping markdown validation step"),P().then(async()=>{await g(n);const l=p(e.getAllRoutes()),o=c.summary(` \u{1F440} Last change processed in ${v(Math.round(performance.now()-r)+"ms")}`,l);e.runListeners("errors-updated",void 0,o),e.runListeners("pages-updated",void 0,l),e.runListeners("routes-updated")})};m.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await b(e,n):t.info("Skipping markdown validation step"),await g(n);const s=p(e.getAllRoutes());c.summary(" \u{1F440} Watching for changes...",s),e.runListeners("pages-updated",void 0,s),n.fs.watch(async()=>{w.clear(),await d()}),t.verbose("Starting development server."),await R(e,n,{port:Number(i.port||4e3)}),L()}async function D(i){let e=!0,a=!0;const n=r=>{r==="client"?e=!0:a=!0,i.runListeners("build-started"),e!=a&&(i.startEsbuildRun(),t.startTiming("rebuild"))},d=async r=>{r==="client"?e=!1:a=!1,!(e||a)&&(i.finishEsbuildRun(),i.buildRevision++,t.infoTime("rebuild","JavaScript re-compiled"),await i.reloadMarkdocOptions(),i.markUserCodeReady(),i.runListeners("build-updated"),i.lifecycleContext&&i.buildRevision>1&&i.lifecycleContext.fs.emitCodeUpdated())},s=[new Promise((r,l)=>{const o={label:"client",buildStart(){t.verbose("Start compiling client code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Client compiled"),r(!0)},rebuildStart:()=>n("client"),rebuildEnd:()=>d("client")};C(i,i.outdir,"development",o).then(u=>u.watch()).catch(l)}),new Promise((r,l)=>{const o={label:"server",buildStart(){t.verbose("Start compiling server code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Server compiled"),r(!0)},rebuildStart:()=>n("server"),rebuildEnd:()=>d("server")};h(i,i.serverOutDir,"development",o).then(u=>u.watch()).catch(l)})];await Promise.all(s),await i.reloadMarkdocOptions()}function P(){return new Promise(i=>{setTimeout(i,0)})}export{J as develop};
1
+ import{logger as t}from"../server/tools/notifiers/logger.js";import{reporter as c}from"../server/tools/notifiers/reporter.js";import{green as v}from"../server/tools/notifiers/helpers/colors.js";import{envConfig as m}from"../server/config/env-config.js";import{resolveCache as w}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as p}from"../server/utils/index.js";import{createClientCompiler as C,createServerCompiler as h}from"../server/esbuild/esbuild.js";import{initPlugins as S,runPlugins as f,writeClientEntries as E}from"../server/plugins/lifecycle.js";import{startDevServer as R}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as b}from"../server/plugins/markdown/compiler.js";import{reportAllErrors as g}from"../server/utils/report-all-errors.js";import{copyMigrationsFolder as y}from"../server/providers/database/copy-migrations.js";import{listenStdin as L}from"./utils/listen-stdin.js";async function J(i,e){t.info("Starting project preview mode."),E(e),t.startTiming("initial-js"),await D(e),t.infoTime("initial-js","JavaScript compiled");const{pluginInstances:a,lifecycleContext:n}=await S({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:i["dev-login"]!==!1,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=n,y(e),await f(a,e,n,{failFast:!0});const d=async()=>{const r=performance.now();c.clearErrors(),await f(a,e,n),m.REDOCLY_EXP_DISABLE_MD_VALIDATION?t.info("Skipping markdown validation step"):await b(e,n),P().then(async()=>{await g(n);const l=p(e.getAllRoutes()),o=c.summary(` \u{1F440} Last change processed in ${v(Math.round(performance.now()-r)+"ms")}`,l);e.runListeners("errors-updated",void 0,o),e.runListeners("pages-updated",void 0,l),e.runListeners("routes-updated")})};m.REDOCLY_EXP_DISABLE_MD_VALIDATION?t.info("Skipping markdown validation step"):await b(e,n),await g(n);const s=p(e.getAllRoutes());c.summary(" \u{1F440} Watching for changes...",s),e.runListeners("pages-updated",void 0,s),n.fs.watch(async()=>{w.clear(),await d()}),t.verbose("Starting development server."),await R(e,n,{port:Number(i.port||4e3)}),L()}async function D(i){let e=!0,a=!0;const n=r=>{r==="client"?e=!0:a=!0,i.runListeners("build-started"),e!=a&&(i.startEsbuildRun(),t.startTiming("rebuild"))},d=async r=>{r==="client"?e=!1:a=!1,!(e||a)&&(i.finishEsbuildRun(),i.buildRevision++,t.infoTime("rebuild","JavaScript re-compiled"),await i.reloadMarkdocOptions(),i.markUserCodeReady(),i.runListeners("build-updated"),i.lifecycleContext&&i.buildRevision>1&&i.lifecycleContext.fs.emitCodeUpdated())},s=[new Promise((r,l)=>{const o={label:"client",buildStart(){t.verbose("Start compiling client code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Client compiled"),r(!0)},rebuildStart:()=>n("client"),rebuildEnd:()=>d("client")};C(i,i.outdir,"development",o).then(u=>u.watch()).catch(l)}),new Promise((r,l)=>{const o={label:"server",buildStart(){t.verbose("Start compiling server code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Server compiled"),r(!0)},rebuildStart:()=>n("server"),rebuildEnd:()=>d("server")};h(i,i.serverOutDir,"development",o).then(u=>u.watch()).catch(l)})];await Promise.all(s),await i.reloadMarkdocOptions()}function P(){return new Promise(i=>{setTimeout(i,0)})}export{J as develop};
@@ -1 +1 @@
1
- import{AsyncApiRealmCLI as c}from"@redocly/realm-asyncapi-sdk";import{ulid as l}from"ulid";import{TELEMETRY_ENABLED as i}from"../../server/constants/common.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{envConfig as r}from"../../server/config/env-config.js";import{PACKAGE_NAME as n}from"../../config/product-gates.js";class d extends c.Telemetry{#e=new Map;constructor(){super(),this.updateCloudEventData(()=>({organizationId:r.ORGANIZATION_ID||"",organizationSlug:r.ORGANIZATION_SLUG||"",projectId:r.PROJECT_ID||"",projectSlug:r.PROJECT_SLUG||"",origin:"realmCli",actor:{id:`ann_${l()}`,object:"user",uri:""},source:"cli",env:r.redoclyEnv}))}initialize(e,t,o){const a=t!==void 0?!(t&&i):!i;this.init({otel:{serviceName:"realm-cli",serviceVersion:`${n}@${e}`,collectorTraceUrl:r.OTEL_TRACES_URL||"https://otel.cloud.redocly.com/v1/traces",isProd:r.isProductionEnv,version:"1.0",tracerName:"cli-telemetry"},disabled:a,verbose:o}),s.registerShutdownCallback(this.#r.bind(this))}addTraceStepCallbacks(e,{error:t,end:o}){this.#e.set(e,{error:t,end:o})}removeTraceStepCallbacks(e){this.#e.delete(e)}async#r(e){for(const[,{error:t,end:o}]of this.#e)e&&t(e),o();this.#e.clear(),await this.forceFlush(),await this.shutdown()}}const m=new d,A=m.tracer;export{m as telemetry,A as telemetryTracer};
1
+ import{AsyncApiRealmCLI as c}from"@redocly/realm-asyncapi-sdk";import{ulid as l}from"ulid";import{TELEMETRY_ENABLED as i}from"../../server/constants/common.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{envConfig as r}from"../../server/config/env-config.js";import{PACKAGE_NAME as n}from"../../config/product-gates.js";class d extends c.Telemetry{#e=new Map;constructor(){super(),this.updateCloudEventData(()=>({organizationId:r.ORGANIZATION_ID||"",organizationSlug:r.ORGANIZATION_SLUG||"",projectId:r.PROJECT_ID||"",projectSlug:r.PROJECT_SLUG||"",origin:"realmCli",actor:{id:`ann_${l()}`,object:"user",uri:""},source:"cli",env:r.REDOCLY_ENV}))}initialize(e,t,o){const a=t!==void 0?!(t&&i):!i;this.init({otel:{serviceName:"realm-cli",serviceVersion:`${n}@${e}`,collectorTraceUrl:r.OTEL_TRACES_URL||"https://otel.cloud.redocly.com/v1/traces",isProd:r.isProductionEnv,version:"1.0",tracerName:"cli-telemetry"},disabled:a,verbose:o}),s.registerShutdownCallback(this.#r.bind(this))}addTraceStepCallbacks(e,{error:t,end:o}){this.#e.set(e,{error:t,end:o})}removeTraceStepCallbacks(e){this.#e.delete(e)}async#r(e){for(const[,{error:t,end:o}]of this.#e)e&&t(e),o();this.#e.clear(),await this.forceFlush(),await this.shutdown()}}const m=new d,A=m.tracer;export{m as telemetry,A as telemetryTracer};
@@ -1 +1 @@
1
- import{useQuery as s}from"@tanstack/react-query";import{useMemo as c}from"react";import{withPathPrefix as f}from"@redocly/theme/core/utils";function p({entityKey:o,version:t}){const r=s({queryFn:async()=>{const n=new URLSearchParams;t&&n.append("version",t);const e=new URL(f(`/bff/catalog-revisions/${o}`),window.location.origin);e.search=n.toString();const a=await fetch(e.toString());if(!a.ok)throw new Error(`Failed to fetch catalog entity revisions from ${e.pathname}`);return a.json()},queryKey:["bff/catalog-revisions",{entityKey:o,version:t}],refetchOnMount:!0}),i=c(()=>r.data?.items??[],[r.data?.items]);return{query:r,items:i}}export{p as useFetchCatalogEntityRevisions};
1
+ import{useQuery as a}from"@tanstack/react-query";import{useMemo as c}from"react";import{withPathPrefix as u}from"@redocly/theme/core/utils";function f(t){return t.length>=2&&t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`}function l({entityKey:t,version:e}){const r=a({queryFn:async()=>{const o=new URLSearchParams;o.append("filter",`catalogEntityKey:${f(t)}`),e&&o.append("version",e);const n=new URL(u("/bff/catalog-revisions"),window.location.origin);n.search=o.toString();const i=await fetch(n.toString());if(!i.ok)throw new Error(`Failed to fetch catalog entity revisions from ${n.pathname}`);return i.json()},queryKey:["bff/catalog-revisions",{entityKey:t,version:e}],refetchOnMount:!0}),s=c(()=>r.data?.items??[],[r.data?.items]);return{query:r,items:s}}export{l as useFetchCatalogEntityRevisions};
@@ -72,7 +72,7 @@ export declare const ServerRoutes: {
72
72
  readonly CATALOG_ENTITIES_RELATIONS: "/catalog-entities-relations/:entityRelationId?";
73
73
  readonly BFF_CATALOG_ENTITIES: "/bff/catalog-entities/:entityKey?";
74
74
  readonly BFF_CATALOG_RELATED_ENTITIES: "/bff/catalog-related-entities/:entityKey";
75
- readonly BFF_CATALOG_REVISIONS: "/bff/catalog-revisions/:entityKey";
75
+ readonly BFF_CATALOG_REVISIONS: "/bff/catalog-revisions";
76
76
  readonly MCP_OAUTH_AUTHORIZATION_SERVER: "/.well-known/oauth-authorization-server";
77
77
  readonly MCP_OAUTH_PROTECTED_RESOURCE: "/.well-known/oauth-protected-resource";
78
78
  readonly MCP_DYNAMIC_CLIENT_REGISTRATION: "/_mcp/register";
@@ -133,6 +133,7 @@ export declare const FEATURE: {
133
133
  readonly ssoDirect: "ssoDirect";
134
134
  readonly codeWalkthrough: "codeWalkthrough";
135
135
  readonly aiSearchLimit: "aiSearchLimit";
136
+ readonly kvStorageLimit: "kvStorageLimit";
136
137
  readonly mcp: "mcp";
137
138
  readonly banner: "banner";
138
139
  };
@@ -1 +1 @@
1
- const E="openapi_docs",n="asyncapi_docs",A="graphql_docs",T="/_spec-gql",O="markdoc",p="tags",i="*",L={"*":"read"},C=["openid","email"],R=1440*60,I="anonymous",l="authenticated",S="**",d="Reunite",N="translations.yaml",u="redocly.yaml",P="@redocly/theme",D="@theme",h="/app-data.json",x="/eject-component";var e;(function(t){t.BUILD="build",t.DEVELOP="develop",t.PREPARE="prepare"})(e||(e={}));var a;(function(t){t.RATING="rating",t.SENTIMENT="sentiment",t.COMMENT="comment",t.MOOD="mood",t.PROBLEM="problem",t.SCALE="scale"})(a||(a={}));const o="entityKey",_="entityId",c="entityRelationId",g={CORS_PROXY:"/_api/cors",INFO:"/_info",EJECT_COMPONENT:"/eject-component/:componentName",SHARED_PAGE_DATA:"/page-data/shared/*",PAGE_DATA:"/page-data/*",APP_DATA:"/app-data.json",AUTHORIZATION:"/authorize",OIDC_CALLBACK:"/_auth/oidc",SAML_CALLBACK:"/_auth/saml2",REDOCLY_CALLBACK:"/_auth/redocly",REPLAY_OAUTH2_CALLBACK:"/_auth/replay-oauth2",REDOCLY_LOGIN_CALLBACK:"/_auth/redocly/redocly-login",REDOCLY_TOKEN_LOGIN:"/_auth/redocly-token-login",SEARCH:"/_search",SEARCH_FACETS:"/_search-facets",SEMANTIC_SEARCH:"/_semantic-search",LOGOUT:"/logout",POST_LOGOUT:"/post-logout",LOGIN:"/login",IDP_LOGIN:"/_auth/idp-login",INVITE:"/invite/:code",RESOLVE_ROUTE_BY_PATH:"/resolve-route-by-path",RESOLVE_ROUTES_BY_PATHS:"/resolve-routes-by-paths",RESOLVE_ROUTE_BY_SLUG:"/resolve-route-by-slug",GET_ROUTES_BY_LINE:"/get-routes-by-line",FEEDBACK:"/feedback",TELEMETRY:"/_events",OTEL_TRACES:"/_otel/v1/traces",HEALTH:"/_health",ASK_AI:"/_ask-ai",CATALOG_ENTITIES:`/catalog-entities/:${_}?`,CATALOG_ENTITIES_RELATIONS:`/catalog-entities-relations/:${c}?`,BFF_CATALOG_ENTITIES:`/bff/catalog-entities/:${o}?`,BFF_CATALOG_RELATED_ENTITIES:`/bff/catalog-related-entities/:${o}`,BFF_CATALOG_REVISIONS:`/bff/catalog-revisions/:${o}`,MCP_OAUTH_AUTHORIZATION_SERVER:"/.well-known/oauth-authorization-server",MCP_OAUTH_PROTECTED_RESOURCE:"/.well-known/oauth-protected-resource",MCP_DYNAMIC_CLIENT_REGISTRATION:"/_mcp/register",MCP_AUTHORIZATION:"/_mcp/oauth2/auth",MCP_TOKEN_PORTAL:"/_mcp/oauth2/token-portal",MCP_CALLBACK:"/_mcp/oauth/callback",SCORECARDS:"/scorecards"};var r;(function(t){t.AI_SEARCH="aiSearch"})(r||(r={}));const U="/login",m="/invite",M={AUTH0_PASS:"/auth/auth0-pass"},b={NotExist:"ENOENT"},G="default_locale",H="sidebar-",F="PUBLIC_",y="branch.",v=["BROKEN_LINK","MARKDOC","RESOLVE"],B=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","palette","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],s="redocly_category",k="redocly_product",f="redocly_version",K="redocly_teams",Y=s,V={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",mcp:"mcp",banner:"banner"};export{n as ASYNC_API_DOCS_TEMPLATE_ID,y as BRANCH_ENV_PREFIX,_ as CATALOG_ENTITY_ID,o as CATALOG_ENTITY_KEY,c as CATALOG_ENTITY_RELATION_ID,u as CONFIG_FILE_NAME,O as CUSTOM_MARKDOC_OPTIONS_PATH,p as CUSTOM_MARKDOC_TAGS_PATH,I as DEFAULT_ANONYMOUS_VISITOR_TEAM,l as DEFAULT_AUTHENTICATED_TEAM,R as DEFAULT_COOKIE_EXPIRATION,G as DEFAULT_LOCALE_PLACEHOLDER,S as DEFAULT_RBAC_SCOPE,d as DEFAULT_SSO_IDP_TITLE,P as DEFAULT_THEME_NAME,U as DEV_LOGIN_SLUG,x as EJECT_COMPONENT_URL,M as ExternalRoutes,V as FEATURE,a as FEEDBACK_TYPES,b as FsErrors,h as GLOBAL_DATA_URL,T as GRAPHQL_SPEC_SLUG,A as GRAPHQL_TEMPLATE_ID,m as INVITE_SLUG,v as MARKDOC_ERROR_TYPES,E as OPENAPI_DOCS_TEMPLATE_ID,F as PUBLIC_ENV_PREFIX,L as PUBLIC_RBAC_SCOPE_ITEM,i as RBAC_ALL_OTHER_TEAMS,C as REQUIRED_OIDC_SCOPES,r as RbacFeatures,s as SEARCH_CATEGORY_FIELD,Y as SEARCH_GROUP_FACET_FIELD,k as SEARCH_PRODUCT_FIELD,K as SEARCH_RBAC_FIELD,f as SEARCH_VERSION_FIELD,H as SIDEBAR_PREFIX,g as ServerRoutes,N as TRANSLATIONS_FILE_NAME,B as UI_ACCESSIBLE_CONFIG_PROPS,D as USER_THEME_ALIAS,e as cliCommandNames};
1
+ const E="openapi_docs",n="asyncapi_docs",A="graphql_docs",T="/_spec-gql",i="markdoc",O="tags",p="*",L={"*":"read"},C=["openid","email"],R=1440*60,I="anonymous",l="authenticated",S="**",d="Reunite",N="translations.yaml",u="redocly.yaml",P="@redocly/theme",D="@theme",h="/app-data.json",g="/eject-component";var o;(function(t){t.BUILD="build",t.DEVELOP="develop",t.PREPARE="prepare"})(o||(o={}));var e;(function(t){t.RATING="rating",t.SENTIMENT="sentiment",t.COMMENT="comment",t.MOOD="mood",t.PROBLEM="problem",t.SCALE="scale"})(e||(e={}));const a="entityKey",_="entityId",c="entityRelationId",x={CORS_PROXY:"/_api/cors",INFO:"/_info",EJECT_COMPONENT:"/eject-component/:componentName",SHARED_PAGE_DATA:"/page-data/shared/*",PAGE_DATA:"/page-data/*",APP_DATA:"/app-data.json",AUTHORIZATION:"/authorize",OIDC_CALLBACK:"/_auth/oidc",SAML_CALLBACK:"/_auth/saml2",REDOCLY_CALLBACK:"/_auth/redocly",REPLAY_OAUTH2_CALLBACK:"/_auth/replay-oauth2",REDOCLY_LOGIN_CALLBACK:"/_auth/redocly/redocly-login",REDOCLY_TOKEN_LOGIN:"/_auth/redocly-token-login",SEARCH:"/_search",SEARCH_FACETS:"/_search-facets",SEMANTIC_SEARCH:"/_semantic-search",LOGOUT:"/logout",POST_LOGOUT:"/post-logout",LOGIN:"/login",IDP_LOGIN:"/_auth/idp-login",INVITE:"/invite/:code",RESOLVE_ROUTE_BY_PATH:"/resolve-route-by-path",RESOLVE_ROUTES_BY_PATHS:"/resolve-routes-by-paths",RESOLVE_ROUTE_BY_SLUG:"/resolve-route-by-slug",GET_ROUTES_BY_LINE:"/get-routes-by-line",FEEDBACK:"/feedback",TELEMETRY:"/_events",OTEL_TRACES:"/_otel/v1/traces",HEALTH:"/_health",ASK_AI:"/_ask-ai",CATALOG_ENTITIES:`/catalog-entities/:${_}?`,CATALOG_ENTITIES_RELATIONS:`/catalog-entities-relations/:${c}?`,BFF_CATALOG_ENTITIES:`/bff/catalog-entities/:${a}?`,BFF_CATALOG_RELATED_ENTITIES:`/bff/catalog-related-entities/:${a}`,BFF_CATALOG_REVISIONS:"/bff/catalog-revisions",MCP_OAUTH_AUTHORIZATION_SERVER:"/.well-known/oauth-authorization-server",MCP_OAUTH_PROTECTED_RESOURCE:"/.well-known/oauth-protected-resource",MCP_DYNAMIC_CLIENT_REGISTRATION:"/_mcp/register",MCP_AUTHORIZATION:"/_mcp/oauth2/auth",MCP_TOKEN_PORTAL:"/_mcp/oauth2/token-portal",MCP_CALLBACK:"/_mcp/oauth/callback",SCORECARDS:"/scorecards"};var r;(function(t){t.AI_SEARCH="aiSearch"})(r||(r={}));const m="/login",U="/invite",M={AUTH0_PASS:"/auth/auth0-pass"},b={NotExist:"ENOENT"},G="default_locale",H="sidebar-",F="PUBLIC_",y="branch.",v=["BROKEN_LINK","MARKDOC","RESOLVE"],B=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","palette","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],s="redocly_category",k="redocly_product",f="redocly_version",K="redocly_teams",Y=s,V={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",kvStorageLimit:"kvStorageLimit",mcp:"mcp",banner:"banner"};export{n as ASYNC_API_DOCS_TEMPLATE_ID,y as BRANCH_ENV_PREFIX,_ as CATALOG_ENTITY_ID,a as CATALOG_ENTITY_KEY,c as CATALOG_ENTITY_RELATION_ID,u as CONFIG_FILE_NAME,i as CUSTOM_MARKDOC_OPTIONS_PATH,O as CUSTOM_MARKDOC_TAGS_PATH,I as DEFAULT_ANONYMOUS_VISITOR_TEAM,l as DEFAULT_AUTHENTICATED_TEAM,R as DEFAULT_COOKIE_EXPIRATION,G as DEFAULT_LOCALE_PLACEHOLDER,S as DEFAULT_RBAC_SCOPE,d as DEFAULT_SSO_IDP_TITLE,P as DEFAULT_THEME_NAME,m as DEV_LOGIN_SLUG,g as EJECT_COMPONENT_URL,M as ExternalRoutes,V as FEATURE,e as FEEDBACK_TYPES,b as FsErrors,h as GLOBAL_DATA_URL,T as GRAPHQL_SPEC_SLUG,A as GRAPHQL_TEMPLATE_ID,U as INVITE_SLUG,v as MARKDOC_ERROR_TYPES,E as OPENAPI_DOCS_TEMPLATE_ID,F as PUBLIC_ENV_PREFIX,L as PUBLIC_RBAC_SCOPE_ITEM,p as RBAC_ALL_OTHER_TEAMS,C as REQUIRED_OIDC_SCOPES,r as RbacFeatures,s as SEARCH_CATEGORY_FIELD,Y as SEARCH_GROUP_FACET_FIELD,k as SEARCH_PRODUCT_FIELD,K as SEARCH_RBAC_FIELD,f as SEARCH_VERSION_FIELD,H as SIDEBAR_PREFIX,x as ServerRoutes,N as TRANSLATIONS_FILE_NAME,B as UI_ACCESSIBLE_CONFIG_PROPS,D as USER_THEME_ALIAS,o as cliCommandNames};
@@ -1,18 +1,167 @@
1
1
  import type { EnvConfig } from './env-schema.js';
2
2
  export type { EnvConfig };
3
- export type RedoclyEnv = 'production' | 'preview' | 'development';
4
- export type RedoclyExecutionMode = 'build' | 'develop' | 'runtime';
5
- export type EnvConfigDerived = {
6
- redoclyEnv: RedoclyEnv;
7
- executionMode: RedoclyExecutionMode;
3
+ declare function loadEnvConfig(): {
8
4
  isProductionEnv: boolean;
9
5
  isPreviewEnv: boolean;
10
6
  isReunite: boolean;
11
7
  isBuildMode: boolean;
12
8
  isDevelopMode: boolean;
13
9
  isRuntimeMode: boolean;
14
- logFormat: string | undefined;
10
+ REDOCLY_EXECUTION_MODE: "build" | "develop" | "runtime";
11
+ REDOCLY_ENV: "development" | "production" | "preview";
12
+ SEARCH_DEV_DEBUG: boolean;
13
+ NODE_ENV?: "development" | "production" | undefined;
14
+ REDOCLY_INTERNAL_DEV?: boolean | undefined;
15
+ CI?: boolean | undefined;
16
+ PORT?: number | undefined;
17
+ REDOCLY_LOG_FORMAT?: string | undefined;
18
+ REDOCLY_LOG_LEVEL?: string | undefined;
19
+ TERM?: string | undefined;
20
+ INSPECT_MODE?: string | undefined;
21
+ REDOCLY_PREFIX_PATHS?: string | undefined;
22
+ REDOCLY_CONTENT_DIR?: string | undefined;
23
+ REDOCLY_PORTAL_VERSION?: string | undefined;
24
+ REDOCLY_TELEMETRY?: string | undefined;
25
+ REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
26
+ TELEMETRY_DEV_DEBUG?: boolean | undefined;
27
+ WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
28
+ REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
29
+ REDOCLY_METADATA_OUTPUT_FOLDER?: string | undefined;
30
+ ORGANIZATION_ID?: string | undefined;
31
+ ORGANIZATION_SLUG?: string | undefined;
32
+ ORG_SLUG?: string | undefined;
33
+ PROJECT_ID?: string | undefined;
34
+ PROJECT_SLUG?: string | undefined;
35
+ PROJECT_URL?: string | undefined;
36
+ PROJECT_BUILD_ID?: string | undefined;
37
+ PUBLIC_REDOCLY_BRANCH_NAME?: string | undefined;
38
+ JWT_SECRET_KEY?: string | undefined;
39
+ AUTH_URL?: string | undefined;
40
+ BH_API_URL?: string | undefined;
41
+ ENTITLEMENTS_JWKS_CDN_URL?: string | undefined;
42
+ OAUTH_CLIENT_ID?: string | undefined;
43
+ OAUTH_CLIENT_SECRET?: string | undefined;
44
+ OIDC_CLIENT_ID?: string | undefined;
45
+ OIDC_CLIENT_SECRET?: string | undefined;
46
+ OIDC_ISSUER_URL?: string | undefined;
47
+ LOCALHOST_LOGIN?: boolean | undefined;
48
+ REDOCLY_OAUTH_USE_INTROSPECT?: string | undefined;
49
+ REDOCLY_ENFORCE_LOGIN?: boolean | undefined;
50
+ REDOCLY_ENFORCE_RESIDENCY?: string | undefined;
51
+ REDOCLY_SSR_RENDER_MODE?: "main" | "worker" | undefined;
52
+ REDOCLY_SSR_WORKERS_MIN?: number | undefined;
53
+ REDOCLY_SSR_WORKERS_MAX?: number | undefined;
54
+ NEW_CATALOG_ENABLED?: boolean | undefined;
55
+ NEW_SCORECARDS_ENABLED?: boolean | undefined;
56
+ ENABLE_COMMENTS?: string | undefined;
57
+ REDOCLY_EXP_DISABLE_MD_VALIDATION?: boolean | undefined;
58
+ ENABLE_SOURCE_MAPS?: boolean | undefined;
59
+ PLAN_GATES?: string | undefined;
60
+ SEARCH_DEV_REINIT?: string | undefined;
61
+ TYPESENSE_API_URL?: string | undefined;
62
+ TYPESENSE_API_KEY?: string | undefined;
63
+ MAIN_API_URL?: string | undefined;
64
+ SERVER_EDITOR_APP_URL?: string | undefined;
65
+ REDOCLY_PUBLIC_URL?: string | undefined;
66
+ REDOCLY_DIAGRAM_MICROSERVICE_URL?: string | undefined;
67
+ REDOCLY_CORS_ORIGINS?: string | undefined;
68
+ SQLD_REMOTE_DATABASE_URL?: string | undefined;
69
+ SQLD_REMOTE_DATABASE_AUTH_TOKEN?: string | undefined;
70
+ FORCE_CATALOG_CACHE_REVALIDATE?: boolean | undefined;
71
+ SCORECARDS_POLLING_INTERVAL_MS?: string | undefined;
72
+ OTEL_TRACES_URL?: string | undefined;
73
+ REQUEST_ID?: string | undefined;
74
+ SITE_URL?: string | undefined;
15
75
  };
16
- export type EnvConfigWithDerived = EnvConfig & EnvConfigDerived;
17
- export declare const envConfig: EnvConfigWithDerived;
76
+ export type EnvConfigWithDerived = ReturnType<typeof loadEnvConfig> & {
77
+ [K: string]: never;
78
+ };
79
+ export declare const envConfig: {
80
+ isProductionEnv: boolean;
81
+ isPreviewEnv: boolean;
82
+ isReunite: boolean;
83
+ isBuildMode: boolean;
84
+ isDevelopMode: boolean;
85
+ isRuntimeMode: boolean;
86
+ REDOCLY_EXECUTION_MODE: "build" | "develop" | "runtime";
87
+ REDOCLY_ENV: "development" | "production" | "preview";
88
+ SEARCH_DEV_DEBUG: boolean;
89
+ NODE_ENV?: "development" | "production" | undefined;
90
+ REDOCLY_INTERNAL_DEV?: boolean | undefined;
91
+ CI?: boolean | undefined;
92
+ PORT?: number | undefined;
93
+ REDOCLY_LOG_FORMAT?: string | undefined;
94
+ REDOCLY_LOG_LEVEL?: string | undefined;
95
+ TERM?: string | undefined;
96
+ INSPECT_MODE?: string | undefined;
97
+ REDOCLY_PREFIX_PATHS?: string | undefined;
98
+ REDOCLY_CONTENT_DIR?: string | undefined;
99
+ REDOCLY_PORTAL_VERSION?: string | undefined;
100
+ REDOCLY_TELEMETRY?: string | undefined;
101
+ REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
102
+ TELEMETRY_DEV_DEBUG?: boolean | undefined;
103
+ WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
104
+ REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
105
+ REDOCLY_METADATA_OUTPUT_FOLDER?: string | undefined;
106
+ ORGANIZATION_ID?: string | undefined;
107
+ ORGANIZATION_SLUG?: string | undefined;
108
+ ORG_SLUG?: string | undefined;
109
+ PROJECT_ID?: string | undefined;
110
+ PROJECT_SLUG?: string | undefined;
111
+ PROJECT_URL?: string | undefined;
112
+ PROJECT_BUILD_ID?: string | undefined;
113
+ PUBLIC_REDOCLY_BRANCH_NAME?: string | undefined;
114
+ JWT_SECRET_KEY?: string | undefined;
115
+ AUTH_URL?: string | undefined;
116
+ BH_API_URL?: string | undefined;
117
+ ENTITLEMENTS_JWKS_CDN_URL?: string | undefined;
118
+ OAUTH_CLIENT_ID?: string | undefined;
119
+ OAUTH_CLIENT_SECRET?: string | undefined;
120
+ OIDC_CLIENT_ID?: string | undefined;
121
+ OIDC_CLIENT_SECRET?: string | undefined;
122
+ OIDC_ISSUER_URL?: string | undefined;
123
+ LOCALHOST_LOGIN?: boolean | undefined;
124
+ REDOCLY_OAUTH_USE_INTROSPECT?: string | undefined;
125
+ REDOCLY_ENFORCE_LOGIN?: boolean | undefined;
126
+ REDOCLY_ENFORCE_RESIDENCY?: string | undefined;
127
+ REDOCLY_SSR_RENDER_MODE?: "main" | "worker" | undefined;
128
+ REDOCLY_SSR_WORKERS_MIN?: number | undefined;
129
+ REDOCLY_SSR_WORKERS_MAX?: number | undefined;
130
+ NEW_CATALOG_ENABLED?: boolean | undefined;
131
+ NEW_SCORECARDS_ENABLED?: boolean | undefined;
132
+ ENABLE_COMMENTS?: string | undefined;
133
+ REDOCLY_EXP_DISABLE_MD_VALIDATION?: boolean | undefined;
134
+ ENABLE_SOURCE_MAPS?: boolean | undefined;
135
+ PLAN_GATES?: string | undefined;
136
+ SEARCH_DEV_REINIT?: string | undefined;
137
+ TYPESENSE_API_URL?: string | undefined;
138
+ TYPESENSE_API_KEY?: string | undefined;
139
+ MAIN_API_URL?: string | undefined;
140
+ SERVER_EDITOR_APP_URL?: string | undefined;
141
+ REDOCLY_PUBLIC_URL?: string | undefined;
142
+ REDOCLY_DIAGRAM_MICROSERVICE_URL?: string | undefined;
143
+ REDOCLY_CORS_ORIGINS?: string | undefined;
144
+ SQLD_REMOTE_DATABASE_URL?: string | undefined;
145
+ SQLD_REMOTE_DATABASE_AUTH_TOKEN?: string | undefined;
146
+ FORCE_CATALOG_CACHE_REVALIDATE?: boolean | undefined;
147
+ SCORECARDS_POLLING_INTERVAL_MS?: string | undefined;
148
+ OTEL_TRACES_URL?: string | undefined;
149
+ REQUEST_ID?: string | undefined;
150
+ SITE_URL?: string | undefined;
151
+ };
152
+ /**
153
+ * Re-parses environment variables from `process.env` into {@link envConfig}.
154
+ * Call after loading `.env` files (e.g. from dotenv) or mutating `process.env` so reads stay in sync.
155
+ * Replaces the object contents entirely (no merging with stale keys).
156
+ */
157
+ export declare function reloadEnvConfig(): void;
158
+ /**
159
+ * Sets one or more environment variables on `process.env` and reloads {@link envConfig}.
160
+ *
161
+ * @example
162
+ * setEnv('MY_VAR', 'value');
163
+ * setEnv({ MY_VAR: 'value', OTHER_VAR: 'other' });
164
+ */
165
+ export declare function setEnv(key: string, value: string | undefined): void;
166
+ export declare function setEnv(entries: Record<string, string | undefined>): void;
18
167
  //# sourceMappingURL=env-config.d.ts.map
@@ -1 +1 @@
1
- import{readEnvVariable as c}from"../utils/envs/read-env-variable.js";import{envSchema as s}from"./env-schema.js";function t(){const n=Object.fromEntries(Object.keys(process.env).map(e=>[e,c(e)]));return n.REDOCLY_PORTAL_VERSION=process.env.REDOCLY_PORTAL_VERSION,s.parse(n)}function o(){return t().REDOCLY_ENV??"development"}function i(){const n=process.env.REDOCLY_EXECUTION_MODE;return n==="build"||n==="develop"||n==="runtime"?n:"develop"}function v(){const e=t().REDOCLY_INTERNAL_DEV;return e==="true"||e==="1"}function d(){return t().REDOCLY_LOG_FORMAT}function a(n){switch(n){case"logFormat":return d();case"redoclyEnv":return o();case"executionMode":return i();case"isProductionEnv":return o()==="production";case"isPreviewEnv":return o()==="preview";case"isReunite":{const e=o(),r=v(),u=t().REDOCLY_ORG_ID;return e==="production"||e==="preview"||e==="development"&&!r&&!!u}case"isBuildMode":return i()==="build";case"isDevelopMode":return i()==="develop";case"isRuntimeMode":return i()==="runtime";default:return n}}const E=new Set(["logFormat","redoclyEnv","executionMode","isProductionEnv","isPreviewEnv","isReunite","isBuildMode","isDevelopMode","isRuntimeMode"]),R=Object.freeze(new Proxy({},{get(n,e){if(typeof e!="string")return;const r=e;return E.has(r)?a(r):t()[e]}}));export{R as envConfig};
1
+ import{readEnvVariable as i}from"../utils/envs/read-env-variable.js";import{envSchema as r}from"./env-schema.js";function O(){const o=Object.fromEntries(Object.keys(process.env).map(n=>[n,i(n)]));o.REDOCLY_EXECUTION_MODE=process.env.REDOCLY_EXECUTION_MODE,o.REDOCLY_INTERNAL_DEV=process.env.REDOCLY_INTERNAL_DEV,o.REDOCLY_PORTAL_VERSION=process.env.REDOCLY_PORTAL_VERSION;const e=r.parse(o);return{...e,isProductionEnv:e.REDOCLY_ENV==="production",isPreviewEnv:e.REDOCLY_ENV==="preview",isReunite:["production","preview"].includes(e.REDOCLY_ENV)||e.REDOCLY_ENV==="development"&&!e.REDOCLY_INTERNAL_DEV&&!!e.ORGANIZATION_ID,isBuildMode:e.REDOCLY_EXECUTION_MODE==="build",isDevelopMode:e.REDOCLY_EXECUTION_MODE==="develop",isRuntimeMode:e.REDOCLY_EXECUTION_MODE==="runtime"}}const E=O();function c(){const o=O();for(const e of Object.keys(E))delete E[e];Object.assign(E,o)}function R(o,e){const n=typeof o=="string"?{[o]:e}:o;for(const[s,t]of Object.entries(n))t==null?delete process.env[s]:process.env[s]=t;c()}export{E as envConfig,c as reloadEnvConfig,R as setEnv};