@redocly/redoc-reef 0.135.0-next.2 → 0.135.0-next.4

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 (69) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/api-schemas/search-facets.d.ts +41 -0
  3. package/dist/api-schemas/search-facets.js +1 -0
  4. package/dist/api-schemas/search.d.ts +66 -0
  5. package/dist/api-schemas/search.js +1 -0
  6. package/dist/client/app/Feedback/useSubmitFeedback.js +1 -1
  7. package/dist/client/app/UserMenu/useUserMenu.js +1 -1
  8. package/dist/client/app/pages/DevLogin/DevLogin.js +1 -1
  9. package/dist/client/app/pages/Invite/Invite.js +1 -1
  10. package/dist/client/app/search/useAiSearch.js +1 -1
  11. package/dist/client/app/search/useFacets.js +1 -1
  12. package/dist/client/app/search/useSearch.js +1 -1
  13. package/dist/client/app/utils/resolveRouteBySlug.js +1 -1
  14. package/dist/client/browser-entry.js +2 -2
  15. package/dist/client/providers/post-message/PostMessageProvider.js +1 -1
  16. package/dist/client/templates/asyncapi-docs/template.js +1 -1
  17. package/dist/client/templates/openapi-docs/helpers.js +2 -2
  18. package/dist/client/templates/openapi-docs/template.js +1 -1
  19. package/dist/client/types/post-message.d.ts +4 -0
  20. package/dist/constants/api.d.ts +49 -0
  21. package/dist/constants/api.js +1 -0
  22. package/dist/constants/common.d.ts +0 -48
  23. package/dist/constants/common.js +1 -1
  24. package/dist/server/config/env-config.d.ts +0 -2
  25. package/dist/server/config/env-schema.d.ts +0 -5
  26. package/dist/server/config/env-schemas/server-config.d.ts +0 -3
  27. package/dist/server/config/env-schemas/server-config.js +1 -1
  28. package/dist/server/constants/common.d.ts +0 -1
  29. package/dist/server/constants/common.js +1 -1
  30. package/dist/server/plugins/graphql-docs/template/GraphQLDocs.js +1 -1
  31. package/dist/server/plugins/markdown/attribute-resolvers/index.js +1 -1
  32. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-gallery.d.ts +4 -0
  33. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-gallery.js +1 -0
  34. package/dist/server/plugins/mcp/auth/auth-handlers.js +1 -1
  35. package/dist/server/plugins/mcp/docs-mcp/tools/core/search.js +1 -1
  36. package/dist/server/plugins/search/engines/flexsearch/index.d.ts +3 -3
  37. package/dist/server/plugins/search/engines/flexsearch/index.js +1 -1
  38. package/dist/server/plugins/search/engines/search-engine.d.ts +3 -3
  39. package/dist/server/plugins/search/engines/search-engine.js +1 -1
  40. package/dist/server/plugins/search/engines/typesense/index.d.ts +3 -3
  41. package/dist/server/plugins/search/engines/typesense/index.js +1 -1
  42. package/dist/server/plugins/sitemap/index.js +1 -1
  43. package/dist/server/types/plugins/search.d.ts +2 -2
  44. package/dist/server/types/web-server.d.ts +8 -0
  45. package/dist/server/utils/rbac.js +1 -1
  46. package/dist/server/web-server/auth.js +3 -3
  47. package/dist/server/web-server/dev-server.js +1 -1
  48. package/dist/server/web-server/middleware/jsonValidatorMiddleware.d.ts +336 -0
  49. package/dist/server/web-server/middleware/jsonValidatorMiddleware.js +1 -0
  50. package/dist/server/web-server/routes/auth.d.ts +1 -1
  51. package/dist/server/web-server/routes/auth.js +1 -1
  52. package/dist/server/web-server/routes/catalog/bff-catalog-related-entities.js +1 -1
  53. package/dist/server/web-server/routes/catalog/bff-catalog.js +1 -1
  54. package/dist/server/web-server/routes/catalog/catalog-relations.js +1 -1
  55. package/dist/server/web-server/routes/catalog/catalog.js +1 -1
  56. package/dist/server/web-server/routes/cors-proxy.js +1 -1
  57. package/dist/server/web-server/routes/index.js +1 -1
  58. package/dist/server/web-server/routes/mcp-routes/mcp-oauth.js +1 -1
  59. package/dist/server/web-server/routes/mcp-routes/mcp-routes.js +1 -1
  60. package/dist/server/web-server/routes/page-data.js +1 -1
  61. package/dist/server/web-server/routes/search.d.ts +5 -3
  62. package/dist/server/web-server/routes/search.js +1 -1
  63. package/dist/types/api.d.ts +15 -0
  64. package/dist/types/index.d.ts +1 -1
  65. package/dist/utils/auth/build-login-url.js +1 -1
  66. package/dist/utils/auth/is-auth-route-path.js +1 -1
  67. package/package.json +17 -16
  68. package/dist/types/search.d.ts +0 -29
  69. /package/dist/types/{search.js → api.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @redocly/redoc-reef
2
2
 
3
+ ## 0.135.0-next.4
4
+
5
+ ### Minor Changes
6
+
7
+ - ed259391abf: Updated the `img` Markdoc tag with `framed`, `caption`, and `images` properties.
8
+
9
+ ### Patch Changes
10
+
11
+ - 5013e21e4be: Fixed security vulnerability `CVE-2026-54285` by upgrading `@opentelemetry/exporter-trace-otlp-http` to version `0.219.0`.
12
+ - 3bbb4a5933e: Fixed security vulnerabilities `CVE-2026-54286`, `CVE-2026-54287`, `CVE-2026-54288`, `CVE-2026-54289`, and `CVE-2026-54290` by upgrading `hono` to version `4.12.25`.
13
+ - Updated dependencies [5013e21e4be]
14
+ - Updated dependencies [ed259391abf]
15
+ - @redocly/realm-asyncapi-sdk@0.13.0-next.2
16
+ - @redocly/theme@0.67.0-next.3
17
+ - @redocly/portal-plugin-mock-server@0.20.0-next.4
18
+ - @redocly/asyncapi-docs@1.12.0-next.4
19
+ - @redocly/graphql-docs@1.12.0-next.4
20
+ - @redocly/openapi-docs@3.23.0-next.4
21
+
22
+ ## 0.135.0-next.3
23
+
24
+ ### Patch Changes
25
+
26
+ - 3f9e1e20c7e: Fixed security vulnerability `CVE-2026-53550` by upgrading `js-yaml` to version `4.2.0`.
27
+ - 0ec04ec7f0c: Fixed security vulnerability `CVE-2026-54285` by upgrading `@opentelemetry/core` to version `2.8.0`.
28
+ - 6176c7a2a3b: Fixed security vulnerabilities `GHSA-gvmj-g25r-r7wr`, `CVE-2026-49978`, `GHSA-x4vx-rjvf-j5p4`, `GHSA-vxr8-fq34-vvx9`, `CVE-2026-49459`, `CVE-2026-49458`, `GHSA-76mc-f452-cxcm` by upgrading `dompurify` to version `3.4.10`.
29
+ - Updated dependencies [46970189d84]
30
+ - Updated dependencies [0ec04ec7f0c]
31
+ - Updated dependencies [6176c7a2a3b]
32
+ - @redocly/theme@0.67.0-next.2
33
+ - @redocly/openapi-docs@3.23.0-next.3
34
+ - @redocly/realm-asyncapi-sdk@0.13.0-next.1
35
+ - @redocly/asyncapi-docs@1.12.0-next.3
36
+ - @redocly/graphql-docs@1.12.0-next.3
37
+ - @redocly/portal-plugin-mock-server@0.20.0-next.3
38
+
3
39
  ## 0.135.0-next.2
4
40
 
5
41
  ### Patch Changes
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ export declare const searchFacetsRequestSchema: z.ZodObject<{
3
+ locale: z.ZodString;
4
+ field: z.ZodOptional<z.ZodString>;
5
+ query: z.ZodOptional<z.ZodString>;
6
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
7
+ field: z.ZodString;
8
+ values: z.ZodArray<z.ZodString, "many">;
9
+ isQuickFilter: z.ZodOptional<z.ZodBoolean>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ field: string;
12
+ values: string[];
13
+ isQuickFilter?: boolean | undefined;
14
+ }, {
15
+ field: string;
16
+ values: string[];
17
+ isQuickFilter?: boolean | undefined;
18
+ }>, "many">>;
19
+ facetQuery: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ locale: string;
22
+ field?: string | undefined;
23
+ query?: string | undefined;
24
+ filter?: {
25
+ field: string;
26
+ values: string[];
27
+ isQuickFilter?: boolean | undefined;
28
+ }[] | undefined;
29
+ facetQuery?: string | undefined;
30
+ }, {
31
+ locale: string;
32
+ field?: string | undefined;
33
+ query?: string | undefined;
34
+ filter?: {
35
+ field: string;
36
+ values: string[];
37
+ isQuickFilter?: boolean | undefined;
38
+ }[] | undefined;
39
+ facetQuery?: string | undefined;
40
+ }>;
41
+ //# sourceMappingURL=search-facets.d.ts.map
@@ -0,0 +1 @@
1
+ import{z as t}from"zod";import{searchFilterItemSchema as a}from"./search.js";const o=t.object({locale:t.string().max(100),field:t.string().max(100).optional(),query:t.string().max(500).optional(),filter:t.array(a).max(50).optional(),facetQuery:t.string().max(500).optional()});export{o as searchFacetsRequestSchema};
@@ -0,0 +1,66 @@
1
+ import { z } from 'zod';
2
+ export declare const searchFilterItemSchema: z.ZodObject<{
3
+ field: z.ZodString;
4
+ values: z.ZodArray<z.ZodString, "many">;
5
+ isQuickFilter: z.ZodOptional<z.ZodBoolean>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ field: string;
8
+ values: string[];
9
+ isQuickFilter?: boolean | undefined;
10
+ }, {
11
+ field: string;
12
+ values: string[];
13
+ isQuickFilter?: boolean | undefined;
14
+ }>;
15
+ export declare const searchRequestSchema: z.ZodObject<{
16
+ query: z.ZodString;
17
+ locale: z.ZodString;
18
+ filter: z.ZodOptional<z.ZodArray<z.ZodObject<{
19
+ field: z.ZodString;
20
+ values: z.ZodArray<z.ZodString, "many">;
21
+ isQuickFilter: z.ZodOptional<z.ZodBoolean>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ field: string;
24
+ values: string[];
25
+ isQuickFilter?: boolean | undefined;
26
+ }, {
27
+ field: string;
28
+ values: string[];
29
+ isQuickFilter?: boolean | undefined;
30
+ }>, "many">>;
31
+ loadMore: z.ZodOptional<z.ZodObject<{
32
+ groupKey: z.ZodString;
33
+ offset: z.ZodNumber;
34
+ }, "strip", z.ZodTypeAny, {
35
+ groupKey: string;
36
+ offset: number;
37
+ }, {
38
+ groupKey: string;
39
+ offset: number;
40
+ }>>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ query: string;
43
+ locale: string;
44
+ filter?: {
45
+ field: string;
46
+ values: string[];
47
+ isQuickFilter?: boolean | undefined;
48
+ }[] | undefined;
49
+ loadMore?: {
50
+ groupKey: string;
51
+ offset: number;
52
+ } | undefined;
53
+ }, {
54
+ query: string;
55
+ locale: string;
56
+ filter?: {
57
+ field: string;
58
+ values: string[];
59
+ isQuickFilter?: boolean | undefined;
60
+ }[] | undefined;
61
+ loadMore?: {
62
+ groupKey: string;
63
+ offset: number;
64
+ } | undefined;
65
+ }>;
66
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";const t=e.object({field:e.string().max(100),values:e.array(e.string().max(200)).max(100),isQuickFilter:e.boolean().optional()}),o=e.object({query:e.string().max(500),locale:e.string().max(100),filter:e.array(t).max(50).optional(),loadMore:e.object({groupKey:e.string().max(200),offset:e.number().int().nonnegative()}).optional()});export{t as searchFilterItemSchema,o as searchRequestSchema};
@@ -1 +1 @@
1
- import{useCallback as f}from"react";import{withPathPrefix as b,combineUrls as u}from"@redocly/theme/core/utils";import{ServerRoutes as l}from"../../../constants/common";import{usePageData as P}from"../../providers/hooks";import{usePageSharedData as g}from"../../providers/page-data/hooks";function O(){const{basePath:o}=g("openAPIDocsStore")||{},e=P()?.templateId==="openapi_docs";return{submitFeedback:f(async({type:i,values:r,path:n,location:s,lang:c})=>{const m=u(window.location.origin,e?o:"",n),a={};for(const[d,t]of Object.entries(r))a[d]=typeof t=="string"?t.trim():t;const p={location:s?.trim(),lang:c?.trim(),component:i,...a,path:m};await fetch(b(l.FEEDBACK),{method:"POST",body:JSON.stringify(p)})},[o,e])}}export{O as useSubmitFeedback};
1
+ import{useCallback as f}from"react";import{withPathPrefix as b,combineUrls as u}from"@redocly/theme/core/utils";import{ServerRoutes as l}from"../../../constants/api";import{usePageData as P}from"../../providers/hooks";import{usePageSharedData as g}from"../../providers/page-data/hooks";function O(){const{basePath:o}=g("openAPIDocsStore")||{},e=P()?.templateId==="openapi_docs";return{submitFeedback:f(async({type:i,values:r,path:n,location:s,lang:c})=>{const m=u(window.location.origin,e?o:"",n),a={};for(const[d,t]of Object.entries(r))a[d]=typeof t=="string"?t.trim():t;const p={location:s?.trim(),lang:c?.trim(),component:i,...a,path:m};await fetch(b(l.FEEDBACK),{method:"POST",body:JSON.stringify(p)})},[o,e])}}export{O as useSubmitFeedback};
@@ -1 +1 @@
1
- import{withPathPrefix as t}from"@redocly/theme/core/utils";import{ServerRoutes as e}from"../../../constants/common";import{usePageData as r}from"../hooks/usePageData";import{useLoginUrl as a}from"../hooks/useLoginUrl";async function n(){try{await fetch(t(e.LOGOUT),{method:"POST"})}catch(o){console.error(o)}}function f(){const{userData:o}=r("userData")||{};return{loginUrl:a(),userData:o,handleLogout:async()=>{await n(),window.location.replace(t(e.LOGOUT))}}}export{f as useUserMenu};
1
+ import{withPathPrefix as t}from"@redocly/theme/core/utils";import{ServerRoutes as e}from"../../../constants/api";import{usePageData as r}from"../hooks/usePageData";import{useLoginUrl as a}from"../hooks/useLoginUrl";async function n(){try{await fetch(t(e.LOGOUT),{method:"POST"})}catch(o){console.error(o)}}function f(){const{userData:o}=r("userData")||{};return{loginUrl:a(),userData:o,handleLogout:async()=>{await n(),window.location.replace(t(e.LOGOUT))}}}export{f as useUserMenu};
@@ -1 +1 @@
1
- import t,{useEffect as g,useState as s}from"react";import{useNavigate as h}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{H3 as S}from"@redocly/theme/components/Typography/H3";import{H4 as v}from"@redocly/theme/components/Typography/H4";import{Admonition as w}from"@redocly/theme/components/Admonition/Admonition";import{getPathnameForLocale as E,withPathPrefix as P}from"@redocly/theme/core/utils";import{ServerRoutes as L}from"../../../../constants/common";import{telemetry as b}from"../../telemetry/index.js";import{buildLoginUrl as k}from"../../../../utils/auth/build-login-url";import{usePageProps as O}from"../../../providers/page-data/hooks";import{Wrapper as T,HeadingSection as C}from"./styled";import{DevLoginForm as R}from"./DevLoginForm";import{useL10nConfig as F}from"../../hooks";async function x(r){try{const{status:o}=await fetch(P(L.AUTHORIZATION),{method:"POST",body:JSON.stringify(r)});return o}catch(o){console.error(o)}}function G(){const{defaultLocale:r,locales:o,currentLocale:c}=F(),l=h(),[a,d]=s({values:{teams:[],email:"example@example.com"}}),[n,u]=s();g(()=>{const e=new URLSearchParams(window.location.search);u(e.get("redirectTo")||void 0)},[]);const i=O(),m=i?.authIdps,p=(i.rbac?.teams||[]).filter(e=>e!=="*"),f=async()=>{await x(a.values)===200&&(l(n||"/"),window.location.reload())};return t.createElement(T,null,t.createElement(C,null,t.createElement(S,{"data-cy":"login-title"},"Dev-mode login"),t.createElement(w,{type:"warning",name:"This is dev mode login simulator."},"Any email works and password is not checked.")),t.createElement(t.Fragment,null,t.createElement(R,{teams:p,formState:a,setFormState:d,onSubmit:f}),Object.keys(m||{}).length>0&&t.createElement(v,null,"Use SSO:"),Object.values(m||{}).map(e=>t.createElement("div",{key:e.idpId},t.createElement(y,{fullWidth:!0,size:"large","data-cy":"idp-login",to:k(e.idpId,E("",r,c,o),n),onClick:()=>b.sendLoginProviderButtonClickedMessage([{object:"button",provider:e.type}])},e.title||e.type)))))}export{G as default};
1
+ import t,{useEffect as g,useState as s}from"react";import{useNavigate as h}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{H3 as S}from"@redocly/theme/components/Typography/H3";import{H4 as v}from"@redocly/theme/components/Typography/H4";import{Admonition as w}from"@redocly/theme/components/Admonition/Admonition";import{getPathnameForLocale as E,withPathPrefix as P}from"@redocly/theme/core/utils";import{ServerRoutes as L}from"../../../../constants/api";import{telemetry as b}from"../../telemetry/index.js";import{buildLoginUrl as k}from"../../../../utils/auth/build-login-url";import{usePageProps as O}from"../../../providers/page-data/hooks";import{Wrapper as T,HeadingSection as C}from"./styled";import{DevLoginForm as R}from"./DevLoginForm";import{useL10nConfig as F}from"../../hooks";async function x(r){try{const{status:o}=await fetch(P(L.AUTHORIZATION),{method:"POST",body:JSON.stringify(r)});return o}catch(o){console.error(o)}}function G(){const{defaultLocale:r,locales:o,currentLocale:c}=F(),l=h(),[a,d]=s({values:{teams:[],email:"example@example.com"}}),[n,u]=s();g(()=>{const e=new URLSearchParams(window.location.search);u(e.get("redirectTo")||void 0)},[]);const i=O(),m=i?.authIdps,p=(i.rbac?.teams||[]).filter(e=>e!=="*"),f=async()=>{await x(a.values)===200&&(l(n||"/"),window.location.reload())};return t.createElement(T,null,t.createElement(C,null,t.createElement(S,{"data-cy":"login-title"},"Dev-mode login"),t.createElement(w,{type:"warning",name:"This is dev mode login simulator."},"Any email works and password is not checked.")),t.createElement(t.Fragment,null,t.createElement(R,{teams:p,formState:a,setFormState:d,onSubmit:f}),Object.keys(m||{}).length>0&&t.createElement(v,null,"Use SSO:"),Object.values(m||{}).map(e=>t.createElement("div",{key:e.idpId},t.createElement(y,{fullWidth:!0,size:"large","data-cy":"idp-login",to:k(e.idpId,E("",r,c,o),n),onClick:()=>b.sendLoginProviderButtonClickedMessage([{object:"button",provider:e.type}])},e.title||e.type)))))}export{G as default};
@@ -1,4 +1,4 @@
1
- import e,{useState as m}from"react";import s from"styled-components";import{Button as d}from"@redocly/theme/components/Button/Button";import{H3 as p}from"@redocly/theme/components/Typography/H3";import{ServerRoutes as u}from"../../../../constants/common";import{withPathPrefix as f}from"@redocly/theme/core/utils";function g(){const t=new URLSearchParams(window.location.search);return{code:t.get("code")||"",org:t.get("org")||"",invitedBy:t.get("invitedBy")||""}}function P(){const{code:t,org:a,invitedBy:i}=g(),[o,l]=m(t),c=async r=>{if(r.preventDefault(),!o)return;const n=new URL(f(u.IDP_LOGIN),window.location.href);n.searchParams.set("inviteCode",o),n.searchParams.set("redirectTo","/"),window.location.href=n.toString()};return e.createElement(v,null,e.createElement(p,null,"Join ",a||"Redocly"),e.createElement("form",{onSubmit:c},e.createElement("div",{className:"form-content"},!t&&e.createElement(e.Fragment,null,e.createElement("span",{className:"label"},"Enter your invite code"),e.createElement("input",{type:"text",value:o,onChange:r=>l(r.target.value),placeholder:"Invite code",autoFocus:!0})),i&&e.createElement("div",{className:"invite-info"},e.createElement("strong",null,i)," has invited you to join"),e.createElement(d,{fullWidth:!0,size:"large",variant:"primary",type:"submit",disabled:!o},"Accept invite"))))}const v=s.div`
1
+ import e,{useState as m}from"react";import s from"styled-components";import{Button as d}from"@redocly/theme/components/Button/Button";import{H3 as p}from"@redocly/theme/components/Typography/H3";import{ServerRoutes as u}from"../../../../constants/api";import{withPathPrefix as f}from"@redocly/theme/core/utils";function g(){const t=new URLSearchParams(window.location.search);return{code:t.get("code")||"",org:t.get("org")||"",invitedBy:t.get("invitedBy")||""}}function P(){const{code:t,org:a,invitedBy:i}=g(),[o,l]=m(t),c=async r=>{if(r.preventDefault(),!o)return;const n=new URL(f(u.IDP_LOGIN),window.location.href);n.searchParams.set("inviteCode",o),n.searchParams.set("redirectTo","/"),window.location.href=n.toString()};return e.createElement(v,null,e.createElement(p,null,"Join ",a||"Redocly"),e.createElement("form",{onSubmit:c},e.createElement("div",{className:"form-content"},!t&&e.createElement(e.Fragment,null,e.createElement("span",{className:"label"},"Enter your invite code"),e.createElement("input",{type:"text",value:o,onChange:r=>l(r.target.value),placeholder:"Invite code",autoFocus:!0})),i&&e.createElement("div",{className:"invite-info"},e.createElement("strong",null,i)," has invited you to join"),e.createElement(d,{fullWidth:!0,size:"large",variant:"primary",type:"submit",disabled:!o},"Accept invite"))))}const v=s.div`
2
2
  font-family: var(--font-family-base);
3
3
  display: flex;
4
4
  justify-content: center;
@@ -1 +1 @@
1
- import{useCallback as E,useEffect as Q,useMemo as J,useRef as m,useState as y}from"react";import{AiSearchError as d}from"@redocly/theme/core/constants";import{withPathPrefix as N,splitContentByToolCalls as V}from"@redocly/theme/core/utils";import{ServerRoutes as j}from"../../../constants/common";import{useSearchSession as B}from"@redocly/theme/core/contexts";import{AI_SEARCH_REQUEST_HEADERS as D,HTTP_ERROR_MAP as G}from"../../constants";import{useI18nConfig as K,usePageVersions as L}from"../hooks";import{telemetry as U}from"../telemetry/index.js";import{streamSSEMessages as $}from"./sse-parser";import{handleSSEMessage as z}from"./message-handlers";function or(u){const{searchSessionId:p}=B(),[r,t]=y({status:"idle"}),[P,g]=y([]),[S,b]=y([]),o=m(null),a=m(""),n=m(""),i=m([]),{currentLocale:C}=K(),{versions:_=[]}=L()||{},l=_.find(e=>e?.active),f=E(()=>{t({status:"idle",response:""}),b([]),a.current="",n.current="",i.current=[]},[]),w=E(()=>{o.current?.abort(),o.current=null,f(),g([])},[f]);Q(()=>()=>{o.current?.abort()},[]);const O=E(async(e,q)=>{if(!e)return;o.current?.abort();const h=new AbortController;o.current=h,f(),t({status:"loading",question:e,response:"",resources:[]});try{const c=await fetch(N(j.ASK_AI),{method:"POST",headers:D,body:JSON.stringify({text:e,history:q||[],locale:C,product:u?.product,filter:u?.filter,version:l&&{folder:l.folderId,label:l.label},searchSessionId:p}),signal:h.signal});if(!c.ok){t({status:"error",question:e,error:G[c.status]??d.HttpRequestFailed});return}const A=c.body;if(!A){t({status:"error",question:e,error:d.HttpRequestFailed});return}let I=!1;for await(const s of $(A,h.signal)){const F={messageId:a.current,resources:i.current,accumulatedResponse:n.current,setConversation:g,setState:t,setToolCalls:b},{messageId:v,resources:H,accumulatedResponse:M}=z(s,F);v&&(a.current=v),H&&(i.current=H),M&&(n.current=M),s.type==="error"&&(I=!0)}if(o.current=null,t(s=>s.status==="error"?s:n.current?{status:"success",question:e,response:n.current,resources:i.current}:{status:"error",question:e,error:d.EmptyResponse}),!I&&n.current&&e.trim()&&a.current){const s=a.current;U.sendSearchAIQueryMessage([{id:s,object:"aiSearchMessage",uri:`urn:redocly:realm:ui:aiSearchMessage:${s}`,question:e,answer:n.current,resources:JSON.stringify(i.current),searchSessionId:p,messageId:s,source:"realm",...u?.product&&{product:u.product}}])}}catch(c){if(c instanceof Error&&c.name==="AbortError")return;o.current=null,t({status:"error",question:e,error:d.HttpRequestFailed})}},[f,u?.product,C,u?.filter,l,p]),R=r.status==="loading"||r.status==="success"||r.status==="idle"?r.response:void 0,k=J(()=>V(R,S),[R,S]);return{askQuestion:O,isGeneratingResponse:r.status==="loading",response:R,resources:r.status==="loading"||r.status==="success"?r.resources:[],question:r.status!=="idle"?r.question:"",error:r.status==="error"?r.error:null,clearConversation:w,conversation:P,setConversation:g,toolCalls:S,contentSegments:k}}export{or as useAiSearch};
1
+ import{useCallback as E,useEffect as Q,useMemo as J,useRef as m,useState as y}from"react";import{AiSearchError as d}from"@redocly/theme/core/constants";import{withPathPrefix as N,splitContentByToolCalls as V}from"@redocly/theme/core/utils";import{ServerRoutes as j}from"../../../constants/api";import{useSearchSession as B}from"@redocly/theme/core/contexts";import{AI_SEARCH_REQUEST_HEADERS as D,HTTP_ERROR_MAP as G}from"../../constants";import{useI18nConfig as K,usePageVersions as L}from"../hooks";import{telemetry as U}from"../telemetry/index.js";import{streamSSEMessages as $}from"./sse-parser";import{handleSSEMessage as z}from"./message-handlers";function or(u){const{searchSessionId:p}=B(),[r,t]=y({status:"idle"}),[P,g]=y([]),[S,b]=y([]),o=m(null),a=m(""),n=m(""),i=m([]),{currentLocale:C}=K(),{versions:_=[]}=L()||{},l=_.find(e=>e?.active),f=E(()=>{t({status:"idle",response:""}),b([]),a.current="",n.current="",i.current=[]},[]),w=E(()=>{o.current?.abort(),o.current=null,f(),g([])},[f]);Q(()=>()=>{o.current?.abort()},[]);const O=E(async(e,q)=>{if(!e)return;o.current?.abort();const h=new AbortController;o.current=h,f(),t({status:"loading",question:e,response:"",resources:[]});try{const c=await fetch(N(j.ASK_AI),{method:"POST",headers:D,body:JSON.stringify({text:e,history:q||[],locale:C,product:u?.product,filter:u?.filter,version:l&&{folder:l.folderId,label:l.label},searchSessionId:p}),signal:h.signal});if(!c.ok){t({status:"error",question:e,error:G[c.status]??d.HttpRequestFailed});return}const A=c.body;if(!A){t({status:"error",question:e,error:d.HttpRequestFailed});return}let I=!1;for await(const s of $(A,h.signal)){const F={messageId:a.current,resources:i.current,accumulatedResponse:n.current,setConversation:g,setState:t,setToolCalls:b},{messageId:v,resources:H,accumulatedResponse:M}=z(s,F);v&&(a.current=v),H&&(i.current=H),M&&(n.current=M),s.type==="error"&&(I=!0)}if(o.current=null,t(s=>s.status==="error"?s:n.current?{status:"success",question:e,response:n.current,resources:i.current}:{status:"error",question:e,error:d.EmptyResponse}),!I&&n.current&&e.trim()&&a.current){const s=a.current;U.sendSearchAIQueryMessage([{id:s,object:"aiSearchMessage",uri:`urn:redocly:realm:ui:aiSearchMessage:${s}`,question:e,answer:n.current,resources:JSON.stringify(i.current),searchSessionId:p,messageId:s,source:"realm",...u?.product&&{product:u.product}}])}}catch(c){if(c instanceof Error&&c.name==="AbortError")return;o.current=null,t({status:"error",question:e,error:d.HttpRequestFailed})}},[f,u?.product,C,u?.filter,l,p]),R=r.status==="loading"||r.status==="success"||r.status==="idle"?r.response:void 0,k=J(()=>V(R,S),[R,S]);return{askQuestion:O,isGeneratingResponse:r.status==="loading",response:R,resources:r.status==="loading"||r.status==="success"?r.resources:[],question:r.status!=="idle"?r.question:"",error:r.status==="error"?r.error:null,clearConversation:w,conversation:P,setConversation:g,toolCalls:S,contentSegments:k}}export{or as useAiSearch};
@@ -1 +1 @@
1
- import{useCallback as y,useEffect as u,useState as n}from"react";import{withPathPrefix as S}from"@redocly/theme/core/utils";import{ServerRoutes as d}from"../../../constants/common";import{useI18nConfig as b}from"../hooks";function h(e){const[o,c]=n([]),[s,a]=n(null),[t,r]=n(null),[p,i]=n(!1),{currentLocale:f}=b();u(()=>{i(!0),m()},[t]);const m=y(async()=>{if(e&&t===null){i(!1);return}let l={locale:f,field:e};t&&(l={...l,...t});const F=await(await fetch(S(d.SEARCH_FACETS),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l)})).json();e?a(F):c(F),i(!1)},[f,t,e]);return{initialFacets:o,searchFacets:s,isFacetsLoading:p,setSearchFacetQuery:r}}function E(e){const[o,c]=n(null),{searchFacets:s,setSearchFacetQuery:a}=h(e);return u(()=>{const t=s?s.find(r=>r.field===e)??null:null;c(t)},[s,e]),{searchFacet:o,setSearchFacet:c,setSearchFacetQuery:a}}const L=e=>{const[o,c]=n([]),{initialFacets:s}=h();return u(()=>{if(e&&Object.keys(e).length){const a=[];for(const t of s)a.push({...t,values:e[t.field]?.map(r=>({...r,isCounterVisible:!0}))||[]});c(a)}else c(s)},[s,e]),{facets:o}};export{E as useFacetQuery,L as useFacets};
1
+ import{useCallback as y,useEffect as u,useState as n}from"react";import{withPathPrefix as S}from"@redocly/theme/core/utils";import{ServerRoutes as d}from"../../../constants/api";import{useI18nConfig as b}from"../hooks";function h(e){const[o,c]=n([]),[s,a]=n(null),[t,r]=n(null),[p,i]=n(!1),{currentLocale:f}=b();u(()=>{i(!0),m()},[t]);const m=y(async()=>{if(e&&t===null){i(!1);return}let l={locale:f,field:e};t&&(l={...l,...t});const F=await(await fetch(S(d.SEARCH_FACETS),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l)})).json();e?a(F):c(F),i(!1)},[f,t,e]);return{initialFacets:o,searchFacets:s,isFacetsLoading:p,setSearchFacetQuery:r}}function E(e){const[o,c]=n(null),{searchFacets:s,setSearchFacetQuery:a}=h(e);return u(()=>{const t=s?s.find(r=>r.field===e)??null:null;c(t)},[s,e]),{searchFacet:o,setSearchFacet:c,setSearchFacetQuery:a}}const L=e=>{const[o,c]=n([]),{initialFacets:s}=h();return u(()=>{if(e&&Object.keys(e).length){const a=[];for(const t of s)a.push({...t,values:e[t.field]?.map(r=>({...r,isCounterVisible:!0}))||[]});c(a)}else c(s)},[s,e]),{facets:o}};export{E as useFacetQuery,L as useFacets};
@@ -1 +1 @@
1
- import{useCallback as b,useEffect as O,useState as E,useRef as w}from"react";import{SEARCH_DEBOUNCE_TIME_MS as q}from"@redocly/theme/core/constants";import{withPathPrefix as A}from"@redocly/theme/core/utils";import{SEARCH_GROUP_FACET_FIELD as j,SEARCH_PRODUCT_FIELD as L,SEARCH_VERSION_FIELD as M,ServerRoutes as v}from"../../../constants/common";import{debounce as Q}from"../../../utils/time/debounce.js";import{useSearchSession as U}from"@redocly/theme/core/contexts";import{useGlobalData as J,useI18nConfig as D}from"../hooks";import{usePageVersions as B}from"../../providers/page-data/hooks";import{useFacets as K}from"./useFacets";import{telemetry as $}from"../telemetry/index.js";const z=(o,c,r,a,s,u,f,n,l)=>{const{searchSessionId:y}=U(),{currentLocale:F}=D(),d=w(""),m=w(null),p=w(async(e,i)=>{try{u(null);const t=await fetch(A(v.SEARCH),i);if(!t.ok)throw new Error(t.statusText||`Search failed (${t.status})`);if(R(e)){const S=await t.json();a(S.facets),r(S.documents),m.current=null,e.trim().length>1&&$.sendSearchQueryMessage([{object:"search",query:e,resultCount:Object.keys(S.documents).length.toString(),searchSessionId:y,...n&&{product:n}}]),s(!1)}}catch(t){if(!R(e))return;m.current={query:e,requestParams:i},r({}),s(!1),u(t instanceof Error?t.message:"An unknown error occurred")}}),R=e=>d.current===e,h=b(Q(async(e,i,t,S)=>{if(!e.trim().length&&!i.length){r({}),a({}),s(!1),u(null),m.current=null;return}const I={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:e,filter:H(i,S,f),locale:t})};await p.current(e,I)},q),[f?.version,f?.folderId,n]);return O(()=>{l||(s(!0),h(o,c,F,n),d.current=o)},[l,c,F,n,o,h,s]),{retrySearch:b(async()=>{const e=m.current;e&&(s(!0),d.current=e.query,await p.current(e.query,e.requestParams))},[s])}},W=(o,c,r,a,s,u,f,n,l)=>{const{currentLocale:y}=D();O(()=>{F(r,o,c,y,a,s,n,l)},[a,n,l?.version,l?.folderId]);const F=b(async(d,m,p,R,h,C,e,i)=>{if(h){const{groupKey:t}=h;f(!0);const I={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:m,filter:(()=>{const g=C.find(_=>_.field===j);let P=p;return g&&(p.find(N=>N.field===g.field)||(P=[...p,{field:g.field,values:[t]}])),H(P,e,i)})(),loadMore:h,locale:R})},T=await(await fetch(A(v.SEARCH),I)).json(),k=d[t]||[],x=T.documents[t],G={...d,[t]:[...k,...x]};u(G),f(!1)}},[]);return{}};function ae(o,c){const{searchFeatures:r}=J(),[a,s]=E(""),[u,f]=E([]),[n,l]=E({}),[y,F]=E({}),[d,m]=E(),[p,R]=E(!1),[h,C]=E(null),{facets:e}=K(y),{versions:i=[]}=B()||{},t=i.find(I=>I?.active),{retrySearch:S}=z(a,u,l,F,R,C,t,o,c);return W(a,u,n,d,e,l,R,o,t),{query:a,setQuery:s,filter:u,setFilter:f,items:n,isSearchLoading:p,searchError:h,facets:e,groupField:j,setLoadMore:m,retrySearch:S,advancedSearch:r?.advanced?.enabled,askAi:r?.ai?.enabled}}function H(o,c,r){return[...o,...c?[{field:L,values:[c]}]:[],...r?[{field:M,values:[...r.default?["default"]:[r.folderId,r.version]]}]:[]]}export{ae as useSearch};
1
+ import{useCallback as b,useEffect as O,useState as E,useRef as w}from"react";import{SEARCH_DEBOUNCE_TIME_MS as q}from"@redocly/theme/core/constants";import{withPathPrefix as A}from"@redocly/theme/core/utils";import{ServerRoutes as j}from"../../../constants/api";import{SEARCH_GROUP_FACET_FIELD as v,SEARCH_PRODUCT_FIELD as L,SEARCH_VERSION_FIELD as M}from"../../../constants/common";import{debounce as Q}from"../../../utils/time/debounce.js";import{useSearchSession as U}from"@redocly/theme/core/contexts";import{useGlobalData as J,useI18nConfig as D}from"../hooks";import{usePageVersions as B}from"../../providers/page-data/hooks";import{useFacets as K}from"./useFacets";import{telemetry as $}from"../telemetry/index.js";const z=(o,c,r,a,s,u,f,n,l)=>{const{searchSessionId:y}=U(),{currentLocale:F}=D(),m=w(""),d=w(null),p=w(async(e,i)=>{try{u(null);const t=await fetch(A(j.SEARCH),i);if(!t.ok)throw new Error(t.statusText||`Search failed (${t.status})`);if(R(e)){const S=await t.json();a(S.facets),r(S.documents),d.current=null,e.trim().length>1&&$.sendSearchQueryMessage([{object:"search",query:e,resultCount:Object.keys(S.documents).length.toString(),searchSessionId:y,...n&&{product:n}}]),s(!1)}}catch(t){if(!R(e))return;d.current={query:e,requestParams:i},r({}),s(!1),u(t instanceof Error?t.message:"An unknown error occurred")}}),R=e=>m.current===e,h=b(Q(async(e,i,t,S)=>{if(!e.trim().length&&!i.length){r({}),a({}),s(!1),u(null),d.current=null;return}const I={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:e,filter:H(i,S,f),locale:t})};await p.current(e,I)},q),[f?.version,f?.folderId,n]);return O(()=>{l||(s(!0),h(o,c,F,n),m.current=o)},[l,c,F,n,o,h,s]),{retrySearch:b(async()=>{const e=d.current;e&&(s(!0),m.current=e.query,await p.current(e.query,e.requestParams))},[s])}},W=(o,c,r,a,s,u,f,n,l)=>{const{currentLocale:y}=D();O(()=>{F(r,o,c,y,a,s,n,l)},[a,n,l?.version,l?.folderId]);const F=b(async(m,d,p,R,h,C,e,i)=>{if(h){const{groupKey:t}=h;f(!0);const I={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:d,filter:(()=>{const g=C.find(_=>_.field===v);let P=p;return g&&(p.find(N=>N.field===g.field)||(P=[...p,{field:g.field,values:[t]}])),H(P,e,i)})(),loadMore:h,locale:R})},T=await(await fetch(A(j.SEARCH),I)).json(),k=m[t]||[],x=T.documents[t],G={...m,[t]:[...k,...x]};u(G),f(!1)}},[]);return{}};function ue(o,c){const{searchFeatures:r}=J(),[a,s]=E(""),[u,f]=E([]),[n,l]=E({}),[y,F]=E({}),[m,d]=E(),[p,R]=E(!1),[h,C]=E(null),{facets:e}=K(y),{versions:i=[]}=B()||{},t=i.find(I=>I?.active),{retrySearch:S}=z(a,u,l,F,R,C,t,o,c);return W(a,u,n,m,e,l,R,o,t),{query:a,setQuery:s,filter:u,setFilter:f,items:n,isSearchLoading:p,searchError:h,facets:e,groupField:v,setLoadMore:d,retrySearch:S,advancedSearch:r?.advanced?.enabled,askAi:r?.ai?.enabled}}function H(o,c,r){return[...o,...c?[{field:L,values:[c]}]:[],...r?[{field:M,values:[...r.default?["default"]:[r.folderId,r.version]]}]:[]]}export{ue as useSearch};
@@ -1 +1 @@
1
- import{withPathPrefix as n}from"@redocly/theme/core/utils";import{OPENAPI_DOCS_TEMPLATE_ID as f,ServerRoutes as s}from"../../../constants/common";async function p(r,t){const e=await fetch(n(s.RESOLVE_ROUTE_BY_SLUG),{method:"POST",body:JSON.stringify(r)}),{route:o}=await e.json();let i=t;return(t==="markdown"||t===f)&&(i=o.fsPath),{file:i.replace(/^\//g,""),url:r,pointer:o.pointer,position:o.position}}export{p as resolveRouteBySlug};
1
+ import{withPathPrefix as f}from"@redocly/theme/core/utils";import{ServerRoutes as n}from"../../../constants/api";import{OPENAPI_DOCS_TEMPLATE_ID as s}from"../../../constants/common";async function S(i,r){const e=await fetch(f(n.RESOLVE_ROUTE_BY_SLUG),{method:"POST",body:JSON.stringify(i)}),{route:o}=await e.json();let t=r;return(r==="markdown"||r===s)&&(t=o.fsPath),{file:t.replace(/^\//g,""),url:i,pointer:o.pointer,position:o.position}}export{S as resolveRouteBySlug};
@@ -1,7 +1,7 @@
1
- import{telemetry as s}from"./app/telemetry/index.js";s.init({otel:{isProd:process.env.NODE_ENV==="production",serviceVersion:`${P}@${process.env.REDOCLY_PORTAL_VERSION}`,version:"1.0.0",collectorTraceUrl:new URL(e(O.OTEL_TRACES),location.origin).toString(),serviceName:"realm-ui",tracerName:"client-telemetry"},disabled:!_});import o from"react";import{hydrateRoot as p}from"react-dom/client";import{RouterProvider as m,createBrowserRouter as d}from"react-router-dom";import{HelmetProvider as f}from"@dr.pogodin/react-helmet";import{StyleSheetManager as u}from"styled-components";import{getLocaleFromPathname as E,withoutPathPrefix as R,withPathPrefix as e}from"@redocly/theme/core/utils";import{DEFAULT_LOCALE_PLACEHOLDER as L,ServerRoutes as O}from"../constants/common";import{CLIENT_TELEMETRY_ENABLED as _}from"./constants/common.js";import{shouldForwardProp as D}from"../utils/should-forward-prop.js";import"./polyfills";import{PACKAGE_NAME as P,PRODUCT_NAME as h}from"../config/product-gates";import{App as g,routes as A}from"./App";import{Loader as v,useRefresh as x,globalData as t}from"./runtime/loader";import{initL10n as N}from"./app/l10n/initL10n";function T(){return x(),o.createElement(f,{context:{}},o.createElement(u,{shouldForwardProp:D},o.createElement(g,null)))}function b(){t?.removeAttribution&&process.env.REDOCLY_PORTAL_VERSION?console.log(`
1
+ import{telemetry as s}from"./app/telemetry/index.js";s.init({otel:{isProd:process.env.NODE_ENV==="production",serviceVersion:`${P}@${process.env.REDOCLY_PORTAL_VERSION}`,version:"1.0.0",collectorTraceUrl:new URL(e(L.OTEL_TRACES),location.origin).toString(),serviceName:"realm-ui",tracerName:"client-telemetry"},disabled:!_});import o from"react";import{hydrateRoot as p}from"react-dom/client";import{RouterProvider as m,createBrowserRouter as d}from"react-router-dom";import{HelmetProvider as f}from"@dr.pogodin/react-helmet";import{StyleSheetManager as u}from"styled-components";import{getLocaleFromPathname as E,withoutPathPrefix as R,withPathPrefix as e}from"@redocly/theme/core/utils";import{ServerRoutes as L}from"../constants/api";import{DEFAULT_LOCALE_PLACEHOLDER as O}from"../constants/common";import{CLIENT_TELEMETRY_ENABLED as _}from"./constants/common.js";import{shouldForwardProp as D}from"../utils/should-forward-prop.js";import"./polyfills";import{PACKAGE_NAME as P,PRODUCT_NAME as h}from"../config/product-gates";import{App as g,routes as A}from"./App";import{Loader as v,useRefresh as x,globalData as t}from"./runtime/loader";import{initL10n as N}from"./app/l10n/initL10n";function T(){return x(),o.createElement(f,{context:{}},o.createElement(u,{shouldForwardProp:D},o.createElement(g,null)))}function b(){t?.removeAttribution&&process.env.REDOCLY_PORTAL_VERSION?console.log(`
2
2
  %c Version: ${process.env.REDOCLY_PORTAL_VERSION} %c
3
3
  `,"background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 3px; color: #0044D4","background:transparent"):process.env.REDOCLY_PORTAL_VERSION&&console.log(`
4
4
  %c Redocly ${h} %c ${process.env.REDOCLY_PORTAL_VERSION} %c
5
5
 
6
6
  %chttps://redocly.com
7
- `,"background:#0044D4 ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff; border:1px solid #0044D4","background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 0 3px 3px 0; color: #0044D4","background:transparent","font-size: 10px; font-style: italic;")}async function C(){process.env.NODE_ENV!=="production"&&import("./runtime/ws-client").then(l=>l.listenWs()),await v.load(window.location.pathname,void 0,window.location.search),b();const r=t?.l10n,n=r?.locales||[],i=r?.defaultLocale||L,a=E(R(location.pathname),i,n);await N(r,a);const c=d([{Component:T,path:e("/*"),children:A}]);p(document.getElementById("app_root"),o.createElement(m,{future:{v7_startTransition:!1},router:c}))}C();
7
+ `,"background:#0044D4 ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff; border:1px solid #0044D4","background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 0 3px 3px 0; color: #0044D4","background:transparent","font-size: 10px; font-style: italic;")}async function C(){process.env.NODE_ENV!=="production"&&import("./runtime/ws-client").then(l=>l.listenWs()),await v.load(window.location.pathname,void 0,window.location.search),b();const r=t?.l10n,n=r?.locales||[],i=r?.defaultLocale||O,a=E(R(location.pathname),i,n);await N(r,a);const c=d([{Component:T,path:e("/*"),children:A}]);p(document.getElementById("app_root"),o.createElement(m,{future:{v7_startTransition:!1},router:c}))}C();
@@ -1 +1 @@
1
- import r,{createContext as M,useEffect as E}from"react";import{useLocation as U,useNavigate as L}from"react-router-dom";import{useColorSwitcher as x}from"@redocly/theme/core/hooks";import{withPathPrefix as O}from"@redocly/theme/core/utils";import{ServerRoutes as T}from"../../../constants/common";import{removeTrailingSlash as z}from"../../../utils/url/remove-trailing-slash";import{normalizeRouteSlug as S}from"../../../utils/path/normalize-route-slug";import{loadAndNavigate as N}from"../../app/utils/loadAndNavigate";import{syncScrollWithEditor as A}from"../../app/utils/syncScrollWithEditor";import{PostMessageConnection as H}from"./PostMessageConnection";import{isHostnameOnDomain as c}from"../../app/utils/isHostnameOnDomain";const _=M({sendMessage:()=>{}});function Q({children:i,enabled:o}){const P=L(),l=U(),s=r.useRef(null),{switchColorMode:h}=x(),u=r.useCallback(e=>{s.current?.send(e)},[]),p=r.useCallback(e=>{console.info("[PM] connection initialized."),s.current=new H(e.source,e.origin),u({type:"initialized"})},[u]),f=r.useCallback(async e=>{const{path:n="/",line:t=1,url:m}=e;let a=m;if(!m)try{const d=await fetch(O(T.RESOLVE_ROUTE_BY_PATH),{method:"POST",body:JSON.stringify(n+(t?`:${t}`:""))}),{route:y}=await d.json();a=y?.slug??y?.url??void 0}catch(d){console.error(d)}if(!a)return;a=a==="/"?"/":z(a);const[C,R]=a.split("#"),k=S(C)===S(l.pathname),v=(R??"")===l.hash.substring(1);(m?k&&v:k)||(console.info("[PM] Update route to: ",a),await N({navigate:P,to:a,origin:"pm"}))},[l]),w=r.useCallback(async e=>{const{action:n}=e;switch(n){case"back":window.history.back();break;case"forward":window.history.forward();break;case"reload":window.location.reload();break}},[]),b=r.useCallback(e=>{window.scrollTo({top:e.position.absolute,behavior:"instant"})},[]),g=r.useCallback(e=>{h(e.colorSchema)},[h]);return E(()=>{if(!o)return;const e=async n=>{if(!j(n.origin))return;const t=n.data;switch(t.type){case"initialize":p(n);break;case"route-update":if(!s.current)return;f(t);break;case"location-update":if(!s.current)return;w(t);break;case"scroll-update":if(!s.current)return;b(t);break;case"editor-scroll-update":if(!s.current)return;A(t.percentScrolled,t.sequenceNumber);break;case"color-schema-update":if(!s.current)return;g(t);break}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[o,p,f,w,b,g]),r.createElement(_.Provider,{value:{sendMessage:u}},i)}function j(i){const o=new URL(i);return c(o.hostname,"localhost")||c(o.hostname,"127.0.0.1")||c(o.hostname,"blueharvest.cloud")||c(o.hostname,"bhstage.cloud")||c(o.hostname,"cloud.redocly.com")||c(o.hostname,"cloud.eu.redocly.com")||c(o.hostname,"cba.au.redocly.com")}export{_ as PostMessageContext,Q as PostMessageProvider};
1
+ import s,{createContext as E,useEffect as U}from"react";import{useLocation as L,useNavigate as x}from"react-router-dom";import{useColorSwitcher as O}from"@redocly/theme/core/hooks";import{withPathPrefix as T}from"@redocly/theme/core/utils";import{ServerRoutes as z}from"../../../constants/api";import{removeTrailingSlash as D}from"../../../utils/url/remove-trailing-slash";import{normalizeRouteSlug as P}from"../../../utils/path/normalize-route-slug";import{loadAndNavigate as I}from"../../app/utils/loadAndNavigate";import{resolveRouteBySlug as N}from"../../app/utils/resolveRouteBySlug";import{syncScrollWithEditor as A}from"../../app/utils/syncScrollWithEditor";import{PostMessageConnection as H}from"./PostMessageConnection";import{isHostnameOnDomain as i}from"../../app/utils/isHostnameOnDomain";import{usePageData as _}from"../../app/hooks/usePageData";const B=E({sendMessage:()=>{}});function ae({children:l,enabled:t}){const R=x(),n=L(),c=s.useRef(null),{switchColorMode:h}=O(),p=_()?.templateId,u=s.useCallback(e=>{c.current?.send(e)},[]),f=s.useCallback(async e=>{console.info("[PM] connection initialized."),c.current=new H(e.source,e.origin);const a=await N(n.pathname+n.hash,p).catch(o=>{console.error("Initial route resolve failed with error: ",o.message)});u({type:"initialized",initialRoute:a})},[u,n.pathname,n.hash,p]),g=s.useCallback(async e=>{const{path:a="/",line:o=1,url:m}=e;let r=m;if(!m)try{const d=await fetch(T(z.RESOLVE_ROUTE_BY_PATH),{method:"POST",body:JSON.stringify(a+(o?`:${o}`:""))}),{route:S}=await d.json();r=S?.slug??S?.url??void 0}catch(d){console.error(d)}if(!r)return;r=r==="/"?"/":D(r);const[v,C]=r.split("#"),y=P(v)===P(n.pathname),M=(C??"")===n.hash.substring(1);(m?y&&M:y)||(console.info("[PM] Update route to: ",r),await I({navigate:R,to:r,origin:"pm"}))},[n]),w=s.useCallback(async e=>{const{action:a}=e;switch(a){case"back":window.history.back();break;case"forward":window.history.forward();break;case"reload":window.location.reload();break}},[]),b=s.useCallback(e=>{window.scrollTo({top:e.position.absolute,behavior:"instant"})},[]),k=s.useCallback(e=>{h(e.colorSchema)},[h]);return U(()=>{if(!t)return;const e=async a=>{if(!j(a.origin))return;const o=a.data;switch(o.type){case"initialize":f(a);break;case"route-update":if(!c.current)return;g(o);break;case"location-update":if(!c.current)return;w(o);break;case"scroll-update":if(!c.current)return;b(o);break;case"editor-scroll-update":if(!c.current)return;A(o.percentScrolled,o.sequenceNumber);break;case"color-schema-update":if(!c.current)return;k(o);break}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t,f,g,w,b,k]),s.createElement(B.Provider,{value:{sendMessage:u}},l)}function j(l){const t=new URL(l);return i(t.hostname,"localhost")||i(t.hostname,"127.0.0.1")||i(t.hostname,"blueharvest.cloud")||i(t.hostname,"bhstage.cloud")||i(t.hostname,"cloud.redocly.com")||i(t.hostname,"cloud.eu.redocly.com")||i(t.hostname,"cba.au.redocly.com")}export{B as PostMessageContext,ae as PostMessageProvider};
@@ -1,4 +1,4 @@
1
- import m from"styled-components";import*as t from"react";import{RedoclyAsyncAPIDocs as d}from"@redocly/asyncapi-docs";import{withPathPrefix as r}from"@redocly/theme/core/utils";import{ServerRoutes as p}from"../../../constants/common.js";import{CLIENT_TELEMETRY_ENABLED as f}from"../../constants/common.js";import{PACKAGE_NAME as E}from"../../../config/product-gates";import{usePageSharedData as A}from"../../providers/page-data/hooks";import{useCollectMarkdocOptions as h}from"./helpers.js";function u({pageProps:o}){const e=A("AsyncApiDefinition"),{document:i,apiItems:a,protocol:n,downloadUrls:s}=e,c=r(o?.settings?.baseUrlPath),l=h(o);return t.createElement(g,null,t.createElement(d,{pageProps:o,document:i,apiItems:a,routingBasePath:c,protocol:n,downloadUrls:s,markdocOptions:l,telemetryConfig:{collectorUrl:new URL(r(p.OTEL_TRACES),location.origin).toString(),disabled:!f,serviceVersion:`${E}@${process.env.REDOCLY_PORTAL_VERSION}`}}))}const g=m.div`
1
+ import m from"styled-components";import*as t from"react";import{RedoclyAsyncAPIDocs as d}from"@redocly/asyncapi-docs";import{withPathPrefix as r}from"@redocly/theme/core/utils";import{ServerRoutes as p}from"../../../constants/api.js";import{CLIENT_TELEMETRY_ENABLED as f}from"../../constants/common.js";import{PACKAGE_NAME as E}from"../../../config/product-gates";import{usePageSharedData as A}from"../../providers/page-data/hooks";import{useCollectMarkdocOptions as h}from"./helpers.js";function u({pageProps:o}){const e=A("AsyncApiDefinition"),{document:i,apiItems:a,protocol:n,downloadUrls:s}=e,c=r(o?.settings?.baseUrlPath),l=h(o);return t.createElement(g,null,t.createElement(d,{pageProps:o,document:i,apiItems:a,routingBasePath:c,protocol:n,downloadUrls:s,markdocOptions:l,telemetryConfig:{collectorUrl:new URL(r(p.OTEL_TRACES),location.origin).toString(),disabled:!f,serviceVersion:`${E}@${process.env.REDOCLY_PORTAL_VERSION}`}}))}const g=m.div`
2
2
  a[id],
3
3
  a[data-section-id],
4
4
  div[data-section-id] {
@@ -1,5 +1,5 @@
1
- import{useMemo as f}from"react";import{components as g}from"@redocly-markdoc/components";import{schema as c}from"@redocly-markdoc/schema";import{Ast as d}from"@markdoc/markdoc";import{PageNavigation as h}from"@redocly/theme/components/PageNavigation/PageNavigation";import{tags as _,components as y}from"@redocly/theme/markdoc/default";import{Breadcrumbs as P}from"@redocly/theme/components/Breadcrumbs/Breadcrumbs";import{withPathPrefix as m}from"@redocly/theme/core/utils";import{OPENAPI_DOCS_TEMPLATE_ID as w,ServerRoutes as u}from"../../../constants/common.js";import{isBrowser as S}from"../../../utils/env/is-browser.js";import*as O from"../../../markdoc/nodes/index.js";import v from"../../../markdoc/tags/index.js";import{normalizeCustomTags as C}from"../../../markdoc/helpers/normalize-custom-tags.js";import*as T from"../../app/markdoc/custom-components/index.js";import{usePageData as x,useSidebarSiblingsData as A}from"../../providers/page-data/hooks";import{telemetry as E}from"../../app/telemetry/index.js";import{getMockServerDocsConfig as R}from"./mock-server-config.js";function K(o="",r="",t="/"){return o.endsWith(t)&&(o=o.slice(0,-t.length)),r.startsWith(t)&&(r=r.slice(t.length)),!o||!r?o+r:o+t+r}function b(o){if(o)return Object.entries(o).reduce((r,[t,n])=>(r[t]=d.fromJSON(JSON.stringify(n)),r),{})}function X(o,{markdown:r,baseSlug:t}){return f(()=>{const i=S();if(o.options.oAuth2RedirectURI=i?`${window.location.origin}${m(u.REPLAY_OAUTH2_CALLBACK)}`:null,o.options.routingBasePath=m(t),o.options.mockServer=R(o.options.mockServer,t),!o.options.corsProxyUrl){const e=m(`${u.CORS_PROXY}/`);o.options.corsProxyUrl=i?new URL(e,window.location.origin).toString():e}o.options.scrollYOffset=i?parseInt(getComputedStyle(document.documentElement).getPropertyValue("--navbar-height"),10):0,o.options.markdocOptions={tags:{...v,..._,...C(c?.tags??{})},nodes:{...O,...c?.nodes??{}},functions:{...c?.functions??{}},components:{...T,...y,...g,...globalThis.__LOADER.markdocComponents},...r,partials:b(r?.partials)},o.options.unstable_hooks={...o.options.unstable_hooks,MiddlePanelFooter:()=>{const{templateId:e}=x()||{},{nextPage:s,prevPage:a}=A()||{};return e===w?null:h({nextPage:s,prevPage:a})},MiddlePanelHeader:()=>P({})};const l={codeSamplesLanguageSwitch:"samples_language_switch",codeSamplesCopy:"code_samples_copy",panelToggle:"panel_toggle",targetServerSwitch:"target_server_switch",tryItOpen:"try_it_toggle",tryItSent:"try_it_sent"},p={};for(const[e,s]of Object.entries(l)){const a=U(o.options.events?.[e]);p[e]=F(a,s)}return o.options.events=p,o},[o,r,t])}function U(o){if(typeof window>"u")return null;if(typeof o=="function")return o;if(typeof o!="string")return null;try{const r=o.trim();if(!r.match(/^(\([^)]*\)\s*=>\s*.+|[a-zA-Z_$][\w$]*\s*=>\s*.+)$/))throw new Error("Invalid function format. Only arrow functions allowed.");if(["eval","Function","constructor","prototype","__proto__","import","require","process","global","window","document"].some(i=>r.includes(i)))throw new Error("Function contains prohibited keywords");return new Function("event",`
1
+ import{useMemo as f}from"react";import{components as g}from"@redocly-markdoc/components";import{schema as c}from"@redocly-markdoc/schema";import{Ast as d}from"@markdoc/markdoc";import{PageNavigation as h}from"@redocly/theme/components/PageNavigation/PageNavigation";import{tags as _,components as y}from"@redocly/theme/markdoc/default";import{Breadcrumbs as P}from"@redocly/theme/components/Breadcrumbs/Breadcrumbs";import{withPathPrefix as m}from"@redocly/theme/core/utils";import{ServerRoutes as u}from"../../../constants/api.js";import{OPENAPI_DOCS_TEMPLATE_ID as w}from"../../../constants/common.js";import{isBrowser as S}from"../../../utils/env/is-browser.js";import*as O from"../../../markdoc/nodes/index.js";import v from"../../../markdoc/tags/index.js";import{normalizeCustomTags as C}from"../../../markdoc/helpers/normalize-custom-tags.js";import*as T from"../../app/markdoc/custom-components/index.js";import{usePageData as x,useSidebarSiblingsData as A}from"../../providers/page-data/hooks";import{telemetry as E}from"../../app/telemetry/index.js";import{getMockServerDocsConfig as R}from"./mock-server-config.js";function X(o="",r="",t="/"){return o.endsWith(t)&&(o=o.slice(0,-t.length)),r.startsWith(t)&&(r=r.slice(t.length)),!o||!r?o+r:o+t+r}function b(o){if(o)return Object.entries(o).reduce((r,[t,n])=>(r[t]=d.fromJSON(JSON.stringify(n)),r),{})}function Z(o,{markdown:r,baseSlug:t}){return f(()=>{const i=S();if(o.options.oAuth2RedirectURI=i?`${window.location.origin}${m(u.REPLAY_OAUTH2_CALLBACK)}`:null,o.options.routingBasePath=m(t),o.options.mockServer=R(o.options.mockServer,t),!o.options.corsProxyUrl){const e=m(`${u.CORS_PROXY}/`);o.options.corsProxyUrl=i?new URL(e,window.location.origin).toString():e}o.options.scrollYOffset=i?parseInt(getComputedStyle(document.documentElement).getPropertyValue("--navbar-height"),10):0,o.options.markdocOptions={tags:{...v,..._,...C(c?.tags??{})},nodes:{...O,...c?.nodes??{}},functions:{...c?.functions??{}},components:{...T,...y,...g,...globalThis.__LOADER.markdocComponents},...r,partials:b(r?.partials)},o.options.unstable_hooks={...o.options.unstable_hooks,MiddlePanelFooter:()=>{const{templateId:e}=x()||{},{nextPage:s,prevPage:a}=A()||{};return e===w?null:h({nextPage:s,prevPage:a})},MiddlePanelHeader:()=>P({})};const l={codeSamplesLanguageSwitch:"samples_language_switch",codeSamplesCopy:"code_samples_copy",panelToggle:"panel_toggle",targetServerSwitch:"target_server_switch",tryItOpen:"try_it_toggle",tryItSent:"try_it_sent"},p={};for(const[e,s]of Object.entries(l)){const a=U(o.options.events?.[e]);p[e]=F(a,s)}return o.options.events=p,o},[o,r,t])}function U(o){if(typeof window>"u")return null;if(typeof o=="function")return o;if(typeof o!="string")return null;try{const r=o.trim();if(!r.match(/^(\([^)]*\)\s*=>\s*.+|[a-zA-Z_$][\w$]*\s*=>\s*.+)$/))throw new Error("Invalid function format. Only arrow functions allowed.");if(["eval","Function","constructor","prototype","__proto__","import","require","process","global","window","document"].some(i=>r.includes(i)))throw new Error("Function contains prohibited keywords");return new Function("event",`
2
2
  'use strict';
3
3
  const userFn = ${r};
4
4
  return userFn(event);
5
- `)}catch(r){return console.error("Function parsing error:",r),null}}function F(o,r){return t=>{if(o)try{o(t)}catch(n){console.error("User event handler error:",n)}if(r)try{E.sendOpenapiDocsMessage([{object:"openapi_docs",eventType:r,operationHttpVerb:t.operationHttpVerb,operationPath:t.operationPath,lang:"lang"in t?t.lang:void 0,action:t.action,state:"state"in t?t.state:void 0,serverUrl:"serverUrl"in t?t.serverUrl:void 0}])}catch{}}}export{K as joinWithSeparator,F as mergeEvents,b as parsePartials,U as safeParseFunction,X as usePatchedStore};
5
+ `)}catch(r){return console.error("Function parsing error:",r),null}}function F(o,r){return t=>{if(o)try{o(t)}catch(n){console.error("User event handler error:",n)}if(r)try{E.sendOpenapiDocsMessage([{object:"openapi_docs",eventType:r,operationHttpVerb:t.operationHttpVerb,operationPath:t.operationPath,lang:"lang"in t?t.lang:void 0,action:t.action,state:"state"in t?t.state:void 0,serverUrl:"serverUrl"in t?t.serverUrl:void 0}])}catch{}}}export{X as joinWithSeparator,F as mergeEvents,b as parsePartials,U as safeParseFunction,Z as usePatchedStore};
@@ -1,4 +1,4 @@
1
- import*as o from"react";import i from"styled-components";import{RedoclyOpenAPIDocs as m}from"@redocly/openapi-docs";import{LayoutVariant as c}from"@redocly/config";import{CLIENT_TELEMETRY_ENABLED as s}from"../../constants/common.js";import{ThreePanelLayout as p}from"@redocly/theme/layouts/ThreePanelLayout";import{CatalogClassicInfoBlock as f}from"@redocly/theme/components/CatalogClassic/CatalogClassicInfoBlock";import{withPathPrefix as h}from"@redocly/theme/core/utils";import{useUserClaims as d}from"../../app/hooks";import{ServerRoutes as u}from"../../../constants/common.js";import{PACKAGE_NAME as E}from"../../../config/product-gates";import{usePageSharedData as v}from"../../providers/page-data/hooks";import{usePatchedStore as g}from"./helpers.js";function y({pageProps:t}){const r=d(),e=v("openAPIDocsStore"),n=o.useMemo(()=>({layout:t.apiOptions?.layout,userClaims:r}),[t.apiOptions?.layout,r]),a=g(e,t);if(!e)return"Something went wrong";const l=t.apiOptions?.layout;return o.createElement(A,null,o.createElement(S,{layout:l},o.createElement(f,{metadata:t.metadata})),o.createElement(m,{store:{options:a.options,definition:a.definition,withState:n},telemetryConfig:{collectorUrl:new URL(h(u.OTEL_TRACES),location.origin).toString(),disabled:!s,serviceVersion:`${E}@${process.env.REDOCLY_PORTAL_VERSION}`}}))}const S=i(p)`
1
+ import*as o from"react";import i from"styled-components";import{RedoclyOpenAPIDocs as m}from"@redocly/openapi-docs";import{LayoutVariant as c}from"@redocly/config";import{CLIENT_TELEMETRY_ENABLED as s}from"../../constants/common.js";import{ThreePanelLayout as p}from"@redocly/theme/layouts/ThreePanelLayout";import{CatalogClassicInfoBlock as f}from"@redocly/theme/components/CatalogClassic/CatalogClassicInfoBlock";import{withPathPrefix as h}from"@redocly/theme/core/utils";import{useUserClaims as d}from"../../app/hooks";import{ServerRoutes as u}from"../../../constants/api.js";import{PACKAGE_NAME as E}from"../../../config/product-gates";import{usePageSharedData as v}from"../../providers/page-data/hooks";import{usePatchedStore as g}from"./helpers.js";function y({pageProps:t}){const r=d(),e=v("openAPIDocsStore"),n=o.useMemo(()=>({layout:t.apiOptions?.layout,userClaims:r}),[t.apiOptions?.layout,r]),a=g(e,t);if(!e)return"Something went wrong";const l=t.apiOptions?.layout;return o.createElement(A,null,o.createElement(S,{layout:l},o.createElement(f,{metadata:t.metadata})),o.createElement(m,{store:{options:a.options,definition:a.definition,withState:n},telemetryConfig:{collectorUrl:new URL(h(u.OTEL_TRACES),location.origin).toString(),disabled:!s,serviceVersion:`${E}@${process.env.REDOCLY_PORTAL_VERSION}`}}))}const S=i(p)`
2
2
  && {
3
3
  padding-right: ${({layout:t})=>t===c.THREE_PANEL?"calc(var(--panel-gap-horizontal) * 2)":"var(--panel-gap-horizontal)"};
4
4
  }
@@ -33,6 +33,10 @@ export type IncomingMessage = RouteUpdateIncomingMessage | InitializeIncomingMes
33
33
  export type OutgoingMessage = InitializedOutgoingMessage | RouteUpdatedOutgoingMessage | AddReviewCommentOutgoingMessage | ReviewHoverLinesOutgoingMessage | ScrollOutgoingMessage | EditorScrollOutgoingMessage;
34
34
  type InitializedOutgoingMessage = {
35
35
  type: 'initialized';
36
+ initialRoute?: {
37
+ file: string;
38
+ url: string;
39
+ };
36
40
  };
37
41
  type RouteUpdatedOutgoingMessage = {
38
42
  type: 'route-updated';
@@ -0,0 +1,49 @@
1
+ export declare const AUTH_SEGMENT = "_auth";
2
+ export declare const CATALOG_ENTITY_KEY = "entityKey";
3
+ export declare const CATALOG_ENTITY_ID = "entityId";
4
+ export declare const CATALOG_ENTITY_RELATION_ID = "entityRelationId";
5
+ export declare const ServerRoutes: {
6
+ readonly CORS_PROXY: '/_api/cors';
7
+ readonly INFO: '/_info';
8
+ readonly EJECT_COMPONENT: '/eject-component/:componentName';
9
+ readonly SHARED_PAGE_DATA: '/page-data/shared/*';
10
+ readonly PAGE_DATA: '/page-data/*';
11
+ readonly APP_DATA: '/app-data.json';
12
+ readonly AUTHORIZATION: '/authorize';
13
+ readonly OIDC_CALLBACK: "/_auth/oidc";
14
+ readonly SAML_CALLBACK: "/_auth/saml2";
15
+ readonly REDOCLY_CALLBACK: "/_auth/redocly";
16
+ readonly REPLAY_OAUTH2_CALLBACK: "/_auth/replay-oauth2";
17
+ readonly REDOCLY_LOGIN_CALLBACK: "/_auth/redocly/redocly-login";
18
+ readonly REDOCLY_TOKEN_LOGIN: "/_auth/redocly-token-login";
19
+ readonly SEARCH: '/_search';
20
+ readonly SEARCH_FACETS: '/_search-facets';
21
+ readonly SEMANTIC_SEARCH: '/_semantic-search';
22
+ readonly LOGOUT: '/logout';
23
+ readonly POST_LOGOUT: '/post-logout';
24
+ readonly LOGIN: '/login';
25
+ readonly IDP_LOGIN: "/_auth/idp-login";
26
+ readonly INVITE: '/invite/:code';
27
+ readonly RESOLVE_ROUTE_BY_PATH: '/resolve-route-by-path';
28
+ readonly RESOLVE_ROUTES_BY_PATHS: '/resolve-routes-by-paths';
29
+ readonly RESOLVE_ROUTE_BY_SLUG: '/resolve-route-by-slug';
30
+ readonly GET_ROUTES_BY_LINE: '/get-routes-by-line';
31
+ readonly FEEDBACK: '/feedback';
32
+ readonly TELEMETRY: '/_events';
33
+ readonly OTEL_TRACES: '/_otel/v1/traces';
34
+ readonly HEALTH: '/_health';
35
+ readonly ASK_AI: '/_ask-ai';
36
+ readonly CATALOG_ENTITIES: "/catalog-entities/:entityId?";
37
+ readonly CATALOG_ENTITIES_RELATIONS: "/catalog-entities-relations/:entityRelationId?";
38
+ readonly BFF_CATALOG_ENTITIES: "/bff/catalog-entities/:entityKey?";
39
+ readonly BFF_CATALOG_RELATED_ENTITIES: "/bff/catalog-related-entities/:entityKey";
40
+ readonly BFF_CATALOG_REVISIONS: '/bff/catalog-revisions';
41
+ readonly MCP_OAUTH_AUTHORIZATION_SERVER: '/.well-known/oauth-authorization-server';
42
+ readonly MCP_OAUTH_PROTECTED_RESOURCE: '/.well-known/oauth-protected-resource';
43
+ readonly MCP_DYNAMIC_CLIENT_REGISTRATION: '/_mcp/register';
44
+ readonly MCP_AUTHORIZATION: '/_mcp/oauth2/auth';
45
+ readonly MCP_TOKEN_PORTAL: '/_mcp/oauth2/token-portal';
46
+ readonly MCP_CALLBACK: '/_mcp/oauth/callback';
47
+ readonly SCORECARDS: '/scorecards';
48
+ };
49
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ const e="_auth",_="entityKey",t="entityId",A="entityRelationId",T={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:`/${e}/oidc`,SAML_CALLBACK:`/${e}/saml2`,REDOCLY_CALLBACK:`/${e}/redocly`,REPLAY_OAUTH2_CALLBACK:`/${e}/replay-oauth2`,REDOCLY_LOGIN_CALLBACK:`/${e}/redocly/redocly-login`,REDOCLY_TOKEN_LOGIN:`/${e}/redocly-token-login`,SEARCH:"/_search",SEARCH_FACETS:"/_search-facets",SEMANTIC_SEARCH:"/_semantic-search",LOGOUT:"/logout",POST_LOGOUT:"/post-logout",LOGIN:"/login",IDP_LOGIN:`/${e}/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/:${t}?`,CATALOG_ENTITIES_RELATIONS:`/catalog-entities-relations/:${A}?`,BFF_CATALOG_ENTITIES:`/bff/catalog-entities/:${_}?`,BFF_CATALOG_RELATED_ENTITIES:`/bff/catalog-related-entities/:${_}`,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"};export{e as AUTH_SEGMENT,t as CATALOG_ENTITY_ID,_ as CATALOG_ENTITY_KEY,A as CATALOG_ENTITY_RELATION_ID,T as ServerRoutes};
@@ -1,5 +1,4 @@
1
1
  import { type RedoclyConfig, type UiAccessibleConfig } from '@redocly/config';
2
- export declare const AUTH_SEGMENT = "_auth";
3
2
  export declare const AuthCookieNames: {
4
3
  readonly AUTHORIZATION: 'authorization';
5
4
  readonly IDP_ID_TOKEN: 'idp_id_token';
@@ -42,53 +41,6 @@ export declare enum FEEDBACK_TYPES {
42
41
  PROBLEM = "problem",
43
42
  SCALE = "scale"
44
43
  }
45
- export declare const CATALOG_ENTITY_KEY = "entityKey";
46
- export declare const CATALOG_ENTITY_ID = "entityId";
47
- export declare const CATALOG_ENTITY_RELATION_ID = "entityRelationId";
48
- export declare const ServerRoutes: {
49
- readonly CORS_PROXY: '/_api/cors';
50
- readonly INFO: '/_info';
51
- readonly EJECT_COMPONENT: '/eject-component/:componentName';
52
- readonly SHARED_PAGE_DATA: '/page-data/shared/*';
53
- readonly PAGE_DATA: '/page-data/*';
54
- readonly APP_DATA: '/app-data.json';
55
- readonly AUTHORIZATION: '/authorize';
56
- readonly OIDC_CALLBACK: "/_auth/oidc";
57
- readonly SAML_CALLBACK: "/_auth/saml2";
58
- readonly REDOCLY_CALLBACK: "/_auth/redocly";
59
- readonly REPLAY_OAUTH2_CALLBACK: "/_auth/replay-oauth2";
60
- readonly REDOCLY_LOGIN_CALLBACK: "/_auth/redocly/redocly-login";
61
- readonly REDOCLY_TOKEN_LOGIN: "/_auth/redocly-token-login";
62
- readonly SEARCH: '/_search';
63
- readonly SEARCH_FACETS: '/_search-facets';
64
- readonly SEMANTIC_SEARCH: '/_semantic-search';
65
- readonly LOGOUT: '/logout';
66
- readonly POST_LOGOUT: '/post-logout';
67
- readonly LOGIN: '/login';
68
- readonly IDP_LOGIN: "/_auth/idp-login";
69
- readonly INVITE: '/invite/:code';
70
- readonly RESOLVE_ROUTE_BY_PATH: '/resolve-route-by-path';
71
- readonly RESOLVE_ROUTES_BY_PATHS: '/resolve-routes-by-paths';
72
- readonly RESOLVE_ROUTE_BY_SLUG: '/resolve-route-by-slug';
73
- readonly GET_ROUTES_BY_LINE: '/get-routes-by-line';
74
- readonly FEEDBACK: '/feedback';
75
- readonly TELEMETRY: '/_events';
76
- readonly OTEL_TRACES: '/_otel/v1/traces';
77
- readonly HEALTH: '/_health';
78
- readonly ASK_AI: '/_ask-ai';
79
- readonly CATALOG_ENTITIES: "/catalog-entities/:entityId?";
80
- readonly CATALOG_ENTITIES_RELATIONS: "/catalog-entities-relations/:entityRelationId?";
81
- readonly BFF_CATALOG_ENTITIES: "/bff/catalog-entities/:entityKey?";
82
- readonly BFF_CATALOG_RELATED_ENTITIES: "/bff/catalog-related-entities/:entityKey";
83
- readonly BFF_CATALOG_REVISIONS: '/bff/catalog-revisions';
84
- readonly MCP_OAUTH_AUTHORIZATION_SERVER: '/.well-known/oauth-authorization-server';
85
- readonly MCP_OAUTH_PROTECTED_RESOURCE: '/.well-known/oauth-protected-resource';
86
- readonly MCP_DYNAMIC_CLIENT_REGISTRATION: '/_mcp/register';
87
- readonly MCP_AUTHORIZATION: '/_mcp/oauth2/auth';
88
- readonly MCP_TOKEN_PORTAL: '/_mcp/oauth2/token-portal';
89
- readonly MCP_CALLBACK: '/_mcp/oauth/callback';
90
- readonly SCORECARDS: '/scorecards';
91
- };
92
44
  export declare enum RbacFeatures {
93
45
  AI_SEARCH = "aiSearch"
94
46
  }
@@ -1 +1 @@
1
- const o="_auth",A={AUTHORIZATION:"authorization",IDP_ID_TOKEN:"idp_id_token",IDP_ACCESS_TOKEN:"idp_access_token",FEDERATED_ACCESS_TOKEN:"federated_access_token",FEDERATED_ID_TOKEN:"federated_id_token"},T="openapi_docs",i="asyncapi_docs",O="graphql_docs",p="/_spec-gql",L="markdoc",C="tags",c="*",I={[c]:"read"},R=["openid","email"],S=1440*60,l="anonymous",d="authenticated",N="**",P="Reunite",D="translations.yaml",u="redocly.yaml",x="@redocly/theme",g="@theme",U="/app-data.json",h="/eject-component";var t;(function(e){e.BUILD="build",e.DEVELOP="develop",e.PREPARE="prepare"})(t||(t={}));var a;(function(e){e.RATING="rating",e.SENTIMENT="sentiment",e.COMMENT="comment",e.MOOD="mood",e.PROBLEM="problem",e.SCALE="scale"})(a||(a={}));const r="entityKey",s="entityId",E="entityRelationId",m={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:`/${o}/oidc`,SAML_CALLBACK:`/${o}/saml2`,REDOCLY_CALLBACK:`/${o}/redocly`,REPLAY_OAUTH2_CALLBACK:`/${o}/replay-oauth2`,REDOCLY_LOGIN_CALLBACK:`/${o}/redocly/redocly-login`,REDOCLY_TOKEN_LOGIN:`/${o}/redocly-token-login`,SEARCH:"/_search",SEARCH_FACETS:"/_search-facets",SEMANTIC_SEARCH:"/_semantic-search",LOGOUT:"/logout",POST_LOGOUT:"/post-logout",LOGIN:"/login",IDP_LOGIN:`/${o}/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/:${s}?`,CATALOG_ENTITIES_RELATIONS:`/catalog-entities-relations/:${E}?`,BFF_CATALOG_ENTITIES:`/bff/catalog-entities/:${r}?`,BFF_CATALOG_RELATED_ENTITIES:`/bff/catalog-related-entities/:${r}`,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 _;(function(e){e.AI_SEARCH="aiSearch"})(_||(_={}));const M="/login",G="/invite",H={AUTH0_PASS:"/auth/auth0-pass"},b={NotExist:"ENOENT"},F="default_locale",y="sidebar-",v="PUBLIC_",k="branch.",B=["BROKEN_LINK","MARKDOC","RESOLVE"],K=["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"],n="redocly_category",f="redocly_product",Y="redocly_version",V="redocly_teams",$=n,w={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",kvStorageLimit:"kvStorageLimit",mcp:"mcp",banner:"banner"};export{i as ASYNC_API_DOCS_TEMPLATE_ID,o as AUTH_SEGMENT,A as AuthCookieNames,k as BRANCH_ENV_PREFIX,s as CATALOG_ENTITY_ID,r as CATALOG_ENTITY_KEY,E as CATALOG_ENTITY_RELATION_ID,u as CONFIG_FILE_NAME,L as CUSTOM_MARKDOC_OPTIONS_PATH,C as CUSTOM_MARKDOC_TAGS_PATH,l as DEFAULT_ANONYMOUS_VISITOR_TEAM,d as DEFAULT_AUTHENTICATED_TEAM,S as DEFAULT_COOKIE_EXPIRATION,F as DEFAULT_LOCALE_PLACEHOLDER,N as DEFAULT_RBAC_SCOPE,P as DEFAULT_SSO_IDP_TITLE,x as DEFAULT_THEME_NAME,M as DEV_LOGIN_SLUG,h as EJECT_COMPONENT_URL,H as ExternalRoutes,w as FEATURE,a as FEEDBACK_TYPES,b as FsErrors,U as GLOBAL_DATA_URL,p as GRAPHQL_SPEC_SLUG,O as GRAPHQL_TEMPLATE_ID,G as INVITE_SLUG,B as MARKDOC_ERROR_TYPES,T as OPENAPI_DOCS_TEMPLATE_ID,v as PUBLIC_ENV_PREFIX,I as PUBLIC_RBAC_SCOPE_ITEM,c as RBAC_ALL_OTHER_TEAMS,R as REQUIRED_OIDC_SCOPES,_ as RbacFeatures,n as SEARCH_CATEGORY_FIELD,$ as SEARCH_GROUP_FACET_FIELD,f as SEARCH_PRODUCT_FIELD,V as SEARCH_RBAC_FIELD,Y as SEARCH_VERSION_FIELD,y as SIDEBAR_PREFIX,m as ServerRoutes,D as TRANSLATIONS_FILE_NAME,K as UI_ACCESSIBLE_CONFIG_PROPS,g as USER_THEME_ALIAS,t as cliCommandNames};
1
+ const s={AUTHORIZATION:"authorization",IDP_ID_TOKEN:"idp_id_token",IDP_ACCESS_TOKEN:"idp_access_token",FEDERATED_ACCESS_TOKEN:"federated_access_token",FEDERATED_ID_TOKEN:"federated_id_token"},n="openapi_docs",_="asyncapi_docs",E="graphql_docs",p="/_spec-gql",i="markdoc",A="tags",c="*",d={[c]:"read"},O=["openid","email"],T=1440*60,I="anonymous",R="authenticated",S="**",L="Reunite",l="translations.yaml",C="redocly.yaml",x="@redocly/theme",D="@theme",P="/app-data.json",N="/eject-component";var t;(function(o){o.BUILD="build",o.DEVELOP="develop",o.PREPARE="prepare"})(t||(t={}));var e;(function(o){o.RATING="rating",o.SENTIMENT="sentiment",o.COMMENT="comment",o.MOOD="mood",o.PROBLEM="problem",o.SCALE="scale"})(e||(e={}));var r;(function(o){o.AI_SEARCH="aiSearch"})(r||(r={}));const m="/login",u="/invite",g={AUTH0_PASS:"/auth/auth0-pass"},U={NotExist:"ENOENT"},M="default_locale",h="sidebar-",b="PUBLIC_",F="branch.",v=["BROKEN_LINK","MARKDOC","RESOLVE"],k=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","palette","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],a="redocly_category",H="redocly_product",y="redocly_version",G="redocly_teams",B=a,f={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{_ as ASYNC_API_DOCS_TEMPLATE_ID,s as AuthCookieNames,F as BRANCH_ENV_PREFIX,C as CONFIG_FILE_NAME,i as CUSTOM_MARKDOC_OPTIONS_PATH,A as CUSTOM_MARKDOC_TAGS_PATH,I as DEFAULT_ANONYMOUS_VISITOR_TEAM,R as DEFAULT_AUTHENTICATED_TEAM,T as DEFAULT_COOKIE_EXPIRATION,M as DEFAULT_LOCALE_PLACEHOLDER,S as DEFAULT_RBAC_SCOPE,L as DEFAULT_SSO_IDP_TITLE,x as DEFAULT_THEME_NAME,m as DEV_LOGIN_SLUG,N as EJECT_COMPONENT_URL,g as ExternalRoutes,f as FEATURE,e as FEEDBACK_TYPES,U as FsErrors,P as GLOBAL_DATA_URL,p as GRAPHQL_SPEC_SLUG,E as GRAPHQL_TEMPLATE_ID,u as INVITE_SLUG,v as MARKDOC_ERROR_TYPES,n as OPENAPI_DOCS_TEMPLATE_ID,b as PUBLIC_ENV_PREFIX,d as PUBLIC_RBAC_SCOPE_ITEM,c as RBAC_ALL_OTHER_TEAMS,O as REQUIRED_OIDC_SCOPES,r as RbacFeatures,a as SEARCH_CATEGORY_FIELD,B as SEARCH_GROUP_FACET_FIELD,H as SEARCH_PRODUCT_FIELD,G as SEARCH_RBAC_FIELD,y as SEARCH_VERSION_FIELD,h as SIDEBAR_PREFIX,l as TRANSLATIONS_FILE_NAME,k as UI_ACCESSIBLE_CONFIG_PROPS,D as USER_THEME_ALIAS,t as cliCommandNames};
@@ -15,7 +15,6 @@ declare function loadEnvConfig(): {
15
15
  REDOCLY_CONTENT_DIR?: string | undefined;
16
16
  REDOCLY_PORTAL_VERSION?: string | undefined;
17
17
  REDOCLY_TELEMETRY?: string | undefined;
18
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
19
18
  TELEMETRY_DEV_DEBUG?: boolean | undefined;
20
19
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
21
20
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -94,7 +93,6 @@ export declare const envConfig: {
94
93
  REDOCLY_CONTENT_DIR?: string | undefined;
95
94
  REDOCLY_PORTAL_VERSION?: string | undefined;
96
95
  REDOCLY_TELEMETRY?: string | undefined;
97
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
98
96
  TELEMETRY_DEV_DEBUG?: boolean | undefined;
99
97
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
100
98
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -15,7 +15,6 @@ export declare const envSchema: z.ZodEffects<z.ZodObject<{
15
15
  REDOCLY_CONTENT_DIR: z.ZodOptional<z.ZodString>;
16
16
  REDOCLY_PORTAL_VERSION: z.ZodOptional<z.ZodString>;
17
17
  REDOCLY_TELEMETRY: z.ZodOptional<z.ZodString>;
18
- REDOCLY_TELEMETRY_ENDPOINT: z.ZodOptional<z.ZodString>;
19
18
  TELEMETRY_DEV_DEBUG: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
20
19
  WEB_SERVER_IDLE_TIMEOUT: z.ZodOptional<z.ZodString>;
21
20
  REDOCLY_PROBLEMS_OUTPUT_FILE: z.ZodOptional<z.ZodString>;
@@ -95,7 +94,6 @@ export declare const envSchema: z.ZodEffects<z.ZodObject<{
95
94
  REDOCLY_CONTENT_DIR?: string | undefined;
96
95
  REDOCLY_PORTAL_VERSION?: string | undefined;
97
96
  REDOCLY_TELEMETRY?: string | undefined;
98
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
99
97
  TELEMETRY_DEV_DEBUG?: boolean | undefined;
100
98
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
101
99
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -164,7 +162,6 @@ export declare const envSchema: z.ZodEffects<z.ZodObject<{
164
162
  REDOCLY_CONTENT_DIR?: string | undefined;
165
163
  REDOCLY_PORTAL_VERSION?: string | undefined;
166
164
  REDOCLY_TELEMETRY?: string | undefined;
167
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
168
165
  TELEMETRY_DEV_DEBUG?: "false" | "true" | undefined;
169
166
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
170
167
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -233,7 +230,6 @@ export declare const envSchema: z.ZodEffects<z.ZodObject<{
233
230
  REDOCLY_CONTENT_DIR?: string | undefined;
234
231
  REDOCLY_PORTAL_VERSION?: string | undefined;
235
232
  REDOCLY_TELEMETRY?: string | undefined;
236
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
237
233
  TELEMETRY_DEV_DEBUG?: boolean | undefined;
238
234
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
239
235
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -302,7 +298,6 @@ export declare const envSchema: z.ZodEffects<z.ZodObject<{
302
298
  REDOCLY_CONTENT_DIR?: string | undefined;
303
299
  REDOCLY_PORTAL_VERSION?: string | undefined;
304
300
  REDOCLY_TELEMETRY?: string | undefined;
305
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
306
301
  TELEMETRY_DEV_DEBUG?: "false" | "true" | undefined;
307
302
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
308
303
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -12,7 +12,6 @@ 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
- REDOCLY_TELEMETRY_ENDPOINT: z.ZodOptional<z.ZodString>;
16
15
  TELEMETRY_DEV_DEBUG: z.ZodEffects<z.ZodOptional<z.ZodEnum<["true", "false"]>>, boolean | undefined, "false" | "true" | undefined>;
17
16
  WEB_SERVER_IDLE_TIMEOUT: z.ZodOptional<z.ZodString>;
18
17
  REDOCLY_PROBLEMS_OUTPUT_FILE: z.ZodOptional<z.ZodString>;
@@ -27,7 +26,6 @@ export declare const serverConfigSchema: z.ZodObject<{
27
26
  REDOCLY_CONTENT_DIR?: string | undefined;
28
27
  REDOCLY_PORTAL_VERSION?: string | undefined;
29
28
  REDOCLY_TELEMETRY?: string | undefined;
30
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
31
29
  TELEMETRY_DEV_DEBUG?: boolean | undefined;
32
30
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
33
31
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -42,7 +40,6 @@ export declare const serverConfigSchema: z.ZodObject<{
42
40
  REDOCLY_CONTENT_DIR?: string | undefined;
43
41
  REDOCLY_PORTAL_VERSION?: string | undefined;
44
42
  REDOCLY_TELEMETRY?: string | undefined;
45
- REDOCLY_TELEMETRY_ENDPOINT?: string | undefined;
46
43
  TELEMETRY_DEV_DEBUG?: "false" | "true" | undefined;
47
44
  WEB_SERVER_IDLE_TIMEOUT?: string | undefined;
48
45
  REDOCLY_PROBLEMS_OUTPUT_FILE?: string | undefined;
@@ -1 +1 @@
1
- import{z as o}from"zod";import{envBooleanStringOptional as E}from"../../utils/envs/env-boolean-string.js";const i=o.object({PORT:o.coerce.number().optional(),REDOCLY_LOG_FORMAT:o.string().optional(),REDOCLY_LOG_LEVEL:o.string().optional(),TERM:o.string().optional(),INSPECT_MODE:o.string().optional(),REDOCLY_PREFIX_PATHS:o.string().optional(),REDOCLY_CONTENT_DIR:o.string().optional(),REDOCLY_PORTAL_VERSION:o.string().optional(),REDOCLY_TELEMETRY:o.string().optional(),REDOCLY_TELEMETRY_ENDPOINT:o.string().url().optional(),TELEMETRY_DEV_DEBUG:E(),WEB_SERVER_IDLE_TIMEOUT:o.string().optional(),REDOCLY_PROBLEMS_OUTPUT_FILE:o.string().optional(),REDOCLY_METADATA_OUTPUT_FOLDER:o.string().optional()});export{i as serverConfigSchema};
1
+ import{z as o}from"zod";import{envBooleanStringOptional as E}from"../../utils/envs/env-boolean-string.js";const i=o.object({PORT:o.coerce.number().optional(),REDOCLY_LOG_FORMAT:o.string().optional(),REDOCLY_LOG_LEVEL:o.string().optional(),TERM:o.string().optional(),INSPECT_MODE:o.string().optional(),REDOCLY_PREFIX_PATHS:o.string().optional(),REDOCLY_CONTENT_DIR:o.string().optional(),REDOCLY_PORTAL_VERSION:o.string().optional(),REDOCLY_TELEMETRY:o.string().optional(),TELEMETRY_DEV_DEBUG:E(),WEB_SERVER_IDLE_TIMEOUT:o.string().optional(),REDOCLY_PROBLEMS_OUTPUT_FILE:o.string().optional(),REDOCLY_METADATA_OUTPUT_FOLDER:o.string().optional()});export{i as serverConfigSchema};
@@ -44,7 +44,6 @@ export declare const SSR_WORKERS_MIN: number;
44
44
  export declare const SSR_WORKERS_MAX: number;
45
45
  export declare const BEGIN_CERTIFICATE_DELIMITER = "-----BEGIN CERTIFICATE-----";
46
46
  export declare const END_CERTIFICATE_DELIMITER = "-----END CERTIFICATE-----";
47
- export declare const TELEMETRY_ENDPOINT: string;
48
47
  export declare const TELEMETRY_ENABLED: boolean;
49
48
  export declare const OTEL_TRACES_DEV_URL = "http://localhost:4318/v1/traces";
50
49
  export declare const OTEL_EXCLUDED_ROUTES: "/_health"[];