@redocly/reef 0.140.0-next.8 → 0.140.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 (49) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/dist/client/templates/api-docs/helpers.js +3 -3
  3. package/dist/compiled/svgo/svgo-node.js +1 -1
  4. package/dist/constants/l10n/langs/ar.js +1 -1
  5. package/dist/constants/l10n/langs/de.js +1 -1
  6. package/dist/constants/l10n/langs/en.js +1 -1
  7. package/dist/constants/l10n/langs/es.js +1 -1
  8. package/dist/constants/l10n/langs/fr.js +1 -1
  9. package/dist/constants/l10n/langs/hi.js +1 -1
  10. package/dist/constants/l10n/langs/it.js +1 -1
  11. package/dist/constants/l10n/langs/ja.js +1 -1
  12. package/dist/constants/l10n/langs/ko.js +1 -1
  13. package/dist/constants/l10n/langs/pl.js +1 -1
  14. package/dist/constants/l10n/langs/pt-BR.js +1 -1
  15. package/dist/constants/l10n/langs/pt.js +1 -1
  16. package/dist/constants/l10n/langs/ru.js +1 -1
  17. package/dist/constants/l10n/langs/uk.js +1 -1
  18. package/dist/constants/l10n/langs/zh.js +1 -1
  19. package/dist/server/esbuild/plugins/styled-components-ssr.js +1 -1
  20. package/dist/server/plugins/analytics/amplitude/index.js +1 -1
  21. package/dist/server/plugins/analytics/ga/build-scripts.js +6 -6
  22. package/dist/server/plugins/api-docs/index.js +1 -1
  23. package/dist/server/plugins/api-docs/search/get-ai-search-documents.js +23 -23
  24. package/dist/server/plugins/config-parser/loaders/utils/read-and-validate-config.js +1 -1
  25. package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.js +1 -1
  26. package/dist/server/plugins/scorecard-classic/compute-scorecard.d.ts +2 -2
  27. package/dist/server/plugins/scorecard-classic/compute-scorecard.js +1 -1
  28. package/dist/server/plugins/scorecard-classic/index.js +1 -1
  29. package/dist/server/store.d.ts +3 -0
  30. package/dist/server/store.js +1 -1
  31. package/dist/server/tools/notifiers/logger.d.ts +4 -0
  32. package/dist/server/tools/notifiers/reporter.js +1 -1
  33. package/dist/server/types/plugins/common.d.ts +1 -0
  34. package/dist/server/utils/errors.d.ts +3 -0
  35. package/dist/server/utils/errors.js +1 -1
  36. package/dist/server/utils/globs.d.ts +12 -0
  37. package/dist/server/utils/globs.js +1 -1
  38. package/dist/server/utils/rbac-expand.js +1 -1
  39. package/dist/server/utils/rbac.d.ts +3 -0
  40. package/dist/server/utils/rbac.js +1 -1
  41. package/dist/server/utils/report-all-errors.js +1 -1
  42. package/dist/server/web-server/auth.d.ts +1 -0
  43. package/dist/server/web-server/auth.js +3 -3
  44. package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.d.ts +1756 -1756
  45. package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.d.ts +295 -295
  46. package/dist/server/web-server/routes/error.js +1 -1
  47. package/dist/server/web-server/utils/ssrf-safe-lookup.d.ts +2 -1
  48. package/dist/server/web-server/utils/ssrf-safe-lookup.js +1 -1
  49. package/package.json +8 -8
@@ -1 +1 @@
1
- import{context as s,SpanStatusCode as n,trace as a}from"@opentelemetry/api";import{HTTPException as o}from"hono/http-exception";import{envConfig as i}from"../../config/env-config.js";const u=t=>{const e=a?.getSpan(s.active());return t instanceof Error&&"name"in t&&t.name==="URIError"?(e&&(e.setStatus({code:n.OK}),e.end()),new Response("Malformed URL",{status:400})):t instanceof SyntaxError?(e&&(e.setStatus({code:n.OK}),e.end()),new Response("Invalid JSON",{status:400})):t instanceof o&&t.status<500?(e&&(e.setStatus({code:n.OK}),e.end()),t.getResponse()):(e&&(e.setStatus({code:n.ERROR,message:t.message}),e.recordException(t),e.end()),i.isDevelopMode&&t?.name==="PageMissingDefaultExportError"?new Response(t.message,{status:200}):new Response("Internal Server Error",{status:500}))};export{u as errorHandler};
1
+ import{context as s,SpanStatusCode as n,trace as o}from"@opentelemetry/api";import{HTTPException as a}from"hono/http-exception";import{envConfig as i}from"../../config/env-config.js";import{logger as r}from"../../tools/notifiers/logger.js";import{OidcDiscoveryError as f}from"../../utils/errors.js";const g=e=>{const t=o?.getSpan(s.active());return e instanceof Error&&"name"in e&&e.name==="URIError"?(t&&(t.setStatus({code:n.OK}),t.end()),new Response("Malformed URL",{status:400})):e instanceof SyntaxError?(t&&(t.setStatus({code:n.OK}),t.end()),new Response("Invalid JSON",{status:400})):e instanceof a&&e.status<500?(t&&(t.setStatus({code:n.OK}),t.end()),e.getResponse()):(t&&(t.setStatus({code:n.ERROR,message:e.message}),t.recordException(e),t.end()),e instanceof f?(r.error(e.message),new Response("Bad gateway: the identity provider returned an invalid response",{status:502})):i.isDevelopMode&&e?.name==="PageMissingDefaultExportError"?new Response(e.message,{status:200}):new Response("Internal Server Error",{status:500}))};export{g as errorHandler};
@@ -1,7 +1,8 @@
1
1
  import { type LookupFunction } from 'node:net';
2
2
  /**
3
3
  * Returns a drop-in replacement for `dns.lookup` that errors with
4
- * {@link SsrfBlockedError} if any resolved address is in the blocklist.
4
+ * {@link SsrfBlockedError} if any resolved address is in the blocklist. The error message names
5
+ * the hostname only, never a resolved address, so callers may show it to the client.
5
6
  *
6
7
  * Install on an http/https agent (`connect.lookup` for undici, or `lookup` for a node:https Agent)
7
8
  * so that every socket connection — including those made while following redirects — is re-validated
@@ -1 +1 @@
1
- import{lookup as c}from"node:dns";import{isIP as k}from"node:net";import{isBlockedIp as v,isLoopback as w,SsrfBlockedError as n}from"./ssrf-blocklist.js";function L({allowLoopback:p=!1}={}){const f=o=>v(o)&&!(p&&w(o));return(o,m,r)=>{const s=m,l=t=>{if(s.all){r(null,t);return}const[e]=t;if(!e){r(new n(`Hostname "${o}" did not resolve`),"",0);return}r(null,e.address,e.family)},u=k(o);if(u!==0){if(f(o)){r(new n(`Hostname "${o}" is a blocked address`),"",0);return}l([{address:o,family:u}]);return}c(o,{...s,all:!0},(t,e)=>{if(t){r(t,"",0);return}const d=e.filter(({address:i})=>f(i));if(d.length>0){const i=d.map(({address:$})=>$).join(", ");r(new n(`Hostname "${o}" resolves to a blocked address: ${i}`),"",0);return}if(!e.length){r(new n(`Hostname "${o}" did not resolve`),"",0);return}l(e)})}}export{L as createSsrfSafeLookup};
1
+ import{lookup as m}from"node:dns";import{isIP as w}from"node:net";import{isBlockedIp as H,isLoopback as $,SsrfBlockedError as i}from"./ssrf-blocklist.js";function B({allowLoopback:l=!1}={}){const n=r=>H(r)&&!(l&&$(r));return(r,d,o)=>{const f=d,s=t=>{if(f.all){o(null,t);return}const[e]=t;if(!e){o(new i(`Hostname "${r}" did not resolve`),"",0);return}o(null,e.address,e.family)},u=w(r);if(u!==0){if(n(r)){o(new i(`Hostname "${r}" is a blocked address`),"",0);return}s([{address:r,family:u}]);return}m(r,{...f,all:!0},(t,e)=>{if(t){o(t,"",0);return}if(e.some(({address:p})=>n(p))){o(new i(`Hostname "${r}" resolves to a blocked address`),"",0);return}if(!e.length){o(new i(`Hostname "${r}" did not resolve`),"",0);return}s(e)})}}export{B as createSsrfSafeLookup};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/reef",
3
- "version": "0.140.0-next.8",
3
+ "version": "0.140.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {
@@ -33,14 +33,14 @@
33
33
  "@opentelemetry/sdk-trace-web": "2.8.0",
34
34
  "@opentelemetry/semantic-conventions": "1.40.0",
35
35
  "@redocly/ajv": "8.18.0",
36
- "@redocly/api-docs": "0.5.0-next.6",
37
- "@redocly/config": "0.69.1",
36
+ "@redocly/api-docs": "0.5.0",
37
+ "@redocly/config": "0.72.0",
38
38
  "@redocly/markdoc": "0.7.0-beta.2",
39
- "@redocly/openapi-core": "2.72.1",
39
+ "@redocly/openapi-core": "2.73.0",
40
40
  "@redocly/portal-legacy-ui": "0.19.0",
41
- "@redocly/portal-plugin-mock-server": "0.25.0-next.2",
41
+ "@redocly/portal-plugin-mock-server": "0.25.0",
42
42
  "@redocly/realm-asyncapi-sdk": "0.17.0",
43
- "@redocly/theme": "0.72.0-next.5",
43
+ "@redocly/theme": "0.72.0",
44
44
  "@shikijs/transformers": "3.21.0",
45
45
  "@tanstack/react-query": "5.62.3",
46
46
  "@tanstack/react-table": "8.21.3",
@@ -67,7 +67,7 @@
67
67
  "is-glob": "4.0.3",
68
68
  "js-yaml": "4.3.2",
69
69
  "lru-cache": "11.1.0",
70
- "minimatch": "10.2.4",
70
+ "minimatch": "11.0.3",
71
71
  "mri": "1.2.0",
72
72
  "nanoid": "5.1.16",
73
73
  "openapi-sampler": "^1.7.9",
@@ -91,7 +91,7 @@
91
91
  "tty-browserify": "0.0.1",
92
92
  "typesense": "2.1.0",
93
93
  "ulid": "^3.0.2",
94
- "undici": "^6.28.0",
94
+ "undici": "^6.29.1",
95
95
  "web-vitals": "3.3.1",
96
96
  "workerpool": "9.2.0",
97
97
  "ws": "^8.21.0",