@redocly/realm 0.129.2 → 0.130.0-custom.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. package/CHANGELOG.md +508 -83
  2. package/dist/bin.d.ts +1 -0
  3. package/dist/bin.js +1 -1
  4. package/dist/cli/develop.js +1 -1
  5. package/dist/cli/eject/resolveEjectParams.js +1 -1
  6. package/dist/cli/eject/resolveTheme.d.ts +1 -1
  7. package/dist/cli/eject/resolveTheme.js +1 -1
  8. package/dist/cli/prepare/copy-env-files.js +1 -1
  9. package/dist/cli/prepare/index.js +1 -1
  10. package/dist/cli/stats/collectors/openapi.d.ts +3 -0
  11. package/dist/cli/stats/collectors/openapi.js +1 -0
  12. package/dist/cli/stats/index.d.ts +7 -0
  13. package/dist/cli/stats/index.js +1 -0
  14. package/dist/cli/stats/options.d.ts +3 -0
  15. package/dist/cli/stats/options.js +1 -0
  16. package/dist/cli/telemetry/index.d.ts +2 -2
  17. package/dist/cli/telemetry/index.js +1 -1
  18. package/dist/client/App.js +1 -1
  19. package/dist/client/ErrorBoundary.js +1 -1
  20. package/dist/client/app/DevModeFloatingBar/index.d.ts +3 -0
  21. package/dist/client/app/DevModeFloatingBar/index.js +43 -0
  22. package/dist/client/app/Feedback/useSubmitFeedback.js +1 -1
  23. package/dist/client/app/Sidebar/RequestAccessButton.js +2 -2
  24. package/dist/client/app/Sidebar/Sidebar.js +2 -2
  25. package/dist/client/app/Sidebar/helpers/filter-out-versioned-items.d.ts +23 -0
  26. package/dist/client/app/Sidebar/helpers/filter-out-versioned-items.js +1 -0
  27. package/dist/client/app/Sidebar/useSidebarItems.d.ts +2 -2
  28. package/dist/client/app/Sidebar/useSidebarItems.js +1 -1
  29. package/dist/client/app/hooks/catalog/useCatalogClassic.d.ts +1 -1
  30. package/dist/client/app/hooks/catalog/useCatalogClassic.js +1 -1
  31. package/dist/client/app/hooks/catalog/useCatalogFilter.js +1 -1
  32. package/dist/client/app/hooks/catalog/useCatalogViewMode.js +1 -1
  33. package/dist/client/app/hooks/catalog/useSearchTracker.js +1 -1
  34. package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
  35. package/dist/client/app/hooks/useAutoScroll.js +1 -1
  36. package/dist/client/app/hooks/usePageTimeTracker.js +1 -1
  37. package/dist/client/app/hooks/useRouteChangeTracker.js +1 -1
  38. package/dist/client/app/hooks/useTelemetry.d.ts +2 -2
  39. package/dist/client/app/hooks/utils/pathname-matches-active-section.d.ts +6 -0
  40. package/dist/client/app/hooks/utils/pathname-matches-active-section.js +1 -0
  41. package/dist/client/app/markdoc/custom-components/html-script.js +1 -0
  42. package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.js +1 -0
  43. package/dist/client/app/markdoc/custom-components/openapi/openapi-response-sample.js +1 -0
  44. package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.js +1 -0
  45. package/dist/client/app/markdoc/hooks/use-store.js +1 -0
  46. package/dist/client/app/pages/DevLogin/DevLogin.js +1 -1
  47. package/dist/client/app/search/message-handlers.d.ts +29 -0
  48. package/dist/client/app/search/message-handlers.js +1 -0
  49. package/dist/client/app/search/sse-parser.d.ts +10 -0
  50. package/dist/client/app/search/sse-parser.js +2 -0
  51. package/dist/client/app/search/useAiSearch.d.ts +9 -11
  52. package/dist/client/app/search/useAiSearch.js +1 -1
  53. package/dist/client/app/search/useSearch.js +1 -1
  54. package/dist/client/app/telemetry/index.d.ts +11 -1
  55. package/dist/client/app/telemetry/index.js +1 -1
  56. package/dist/client/browser-entry.js +3 -3
  57. package/dist/client/constants/ai-search.d.ts +30 -0
  58. package/dist/client/constants/ai-search.js +1 -0
  59. package/dist/client/constants/common.d.ts +2 -0
  60. package/dist/client/constants/common.js +1 -0
  61. package/dist/client/constants/index.d.ts +2 -0
  62. package/dist/client/constants/index.js +1 -0
  63. package/dist/client/runtime/useSocketMessages.js +1 -1
  64. package/dist/{server/plugins/asyncapi-docs/template → client/templates/asyncapi-docs}/helpers.d.ts +3 -3
  65. package/dist/client/templates/asyncapi-docs/helpers.js +1 -0
  66. package/dist/{server/plugins/asyncapi-docs/template/AsyncApiDocs.d.ts → client/templates/asyncapi-docs/template.d.ts} +3 -2
  67. package/dist/client/templates/asyncapi-docs/template.js +15 -0
  68. package/dist/{server/plugins/openapi-docs/template → client/templates/openapi-docs}/helpers.d.ts +2 -2
  69. package/dist/client/templates/openapi-docs/helpers.js +5 -0
  70. package/dist/{server/plugins/openapi-docs/template/OpenAPIDocs.d.ts → client/templates/openapi-docs/template.d.ts} +1 -1
  71. package/dist/client/templates/openapi-docs/template.js +18 -0
  72. package/dist/client/types/ai-search.d.ts +73 -0
  73. package/dist/client/types/ai-search.js +0 -0
  74. package/dist/client/types/index.d.ts +1 -0
  75. package/dist/client/utils/catalog/inject-catalog-items.d.ts +1 -1
  76. package/dist/client/utils/catalog/inject-catalog-items.js +1 -1
  77. package/dist/constants/catalog-entities.d.ts +12 -0
  78. package/dist/constants/catalog-entities.js +1 -0
  79. package/dist/constants/common.d.ts +6 -4
  80. package/dist/constants/common.js +1 -1
  81. package/dist/constants/l10n/langs/ar.js +1 -1
  82. package/dist/constants/l10n/langs/de.js +1 -1
  83. package/dist/constants/l10n/langs/en.js +1 -1
  84. package/dist/constants/l10n/langs/es.js +1 -1
  85. package/dist/constants/l10n/langs/fr.js +1 -1
  86. package/dist/constants/l10n/langs/hi.js +1 -1
  87. package/dist/constants/l10n/langs/it.js +1 -1
  88. package/dist/constants/l10n/langs/ja.js +1 -1
  89. package/dist/constants/l10n/langs/ko.js +1 -1
  90. package/dist/constants/l10n/langs/pl.js +1 -1
  91. package/dist/constants/l10n/langs/pt-BR.js +1 -1
  92. package/dist/constants/l10n/langs/pt.js +1 -1
  93. package/dist/constants/l10n/langs/ru.js +1 -1
  94. package/dist/constants/l10n/langs/uk.js +1 -1
  95. package/dist/constants/l10n/langs/zh.js +1 -1
  96. package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/get-inner-text.d.ts +1 -1
  97. package/dist/markdoc/helpers/get-inner-text.js +2 -0
  98. package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/get-variable.d.ts +2 -2
  99. package/dist/markdoc/helpers/get-variable.js +1 -0
  100. package/dist/markdoc/nodes/fence/index.js +1 -0
  101. package/dist/markdoc/nodes/heading.js +1 -0
  102. package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/index.d.ts +6 -6
  103. package/dist/markdoc/tags/json-example.d.ts +3 -0
  104. package/dist/markdoc/tags/json-schema.d.ts +3 -0
  105. package/dist/markdoc/tags/openapi-code-sample.d.ts +3 -0
  106. package/dist/markdoc/tags/openapi-example.d.ts +3 -0
  107. package/dist/markdoc/tags/openapi-response-sample.d.ts +3 -0
  108. package/dist/markdoc/tags/replay-openapi.d.ts +3 -0
  109. package/dist/markdoc/types.d.ts +8 -0
  110. package/dist/markdoc/types.js +0 -0
  111. package/dist/server/api-routes/execute-api-route.js +1 -1
  112. package/dist/server/api-routes/import-api-routes-handlers.js +1 -1
  113. package/dist/server/api-routes/run-api-routes-worker.js +1 -1
  114. package/dist/server/config/env-config.d.ts +17 -0
  115. package/dist/server/config/env-config.js +1 -0
  116. package/dist/server/config/env-schema.d.ts +245 -0
  117. package/dist/server/config/env-schema.js +3 -0
  118. package/dist/server/config/env-schemas/api-urls.d.ts +24 -0
  119. package/dist/server/config/env-schemas/api-urls.js +1 -0
  120. package/dist/server/config/env-schemas/auth.d.ts +42 -0
  121. package/dist/server/config/env-schemas/auth.js +1 -0
  122. package/dist/server/config/env-schemas/catalog.d.ts +12 -0
  123. package/dist/server/config/env-schemas/catalog.js +1 -0
  124. package/dist/server/config/env-schemas/database.d.ts +15 -0
  125. package/dist/server/config/env-schemas/database.js +1 -0
  126. package/dist/server/config/env-schemas/environment-detection.d.ts +24 -0
  127. package/dist/server/config/env-schemas/environment-detection.js +1 -0
  128. package/dist/server/config/env-schemas/feature-flags.d.ts +24 -0
  129. package/dist/server/config/env-schemas/feature-flags.js +1 -0
  130. package/dist/server/config/env-schemas/organization-project.d.ts +30 -0
  131. package/dist/server/config/env-schemas/organization-project.js +1 -0
  132. package/dist/server/config/env-schemas/scorecards.d.ts +12 -0
  133. package/dist/server/config/env-schemas/scorecards.js +1 -0
  134. package/dist/server/config/env-schemas/search.d.ts +21 -0
  135. package/dist/server/config/env-schemas/search.js +1 -0
  136. package/dist/server/config/env-schemas/server-config.d.ts +51 -0
  137. package/dist/server/config/env-schemas/server-config.js +1 -0
  138. package/dist/server/config/env-schemas/site.d.ts +12 -0
  139. package/dist/server/config/env-schemas/site.js +1 -0
  140. package/dist/server/config/env-schemas/ssr.d.ts +18 -0
  141. package/dist/server/config/env-schemas/ssr.js +1 -0
  142. package/dist/server/config/env-schemas/telemetry.d.ts +15 -0
  143. package/dist/server/config/env-schemas/telemetry.js +1 -0
  144. package/dist/server/config/env-schemas/test.d.ts +22 -0
  145. package/dist/server/config/env-schemas/test.js +1 -0
  146. package/dist/server/constants/common.d.ts +3 -0
  147. package/dist/server/constants/common.js +1 -1
  148. package/dist/server/constants/feedback.d.ts +6 -0
  149. package/dist/server/constants/feedback.js +1 -0
  150. package/dist/server/constants/plugins/catalog-entities.d.ts +1 -11
  151. package/dist/server/constants/plugins/catalog-entities.js +1 -1
  152. package/dist/server/entitlements/entitlements-provider.js +1 -1
  153. package/dist/server/esbuild/esbuild-logger.js +2 -2
  154. package/dist/server/esbuild/esbuild.js +3 -3
  155. package/dist/server/esbuild/plugins/assets-resolver.js +1 -1
  156. package/dist/server/esbuild/plugins/esbuild-compile-resolver.js +1 -1
  157. package/dist/server/esbuild/plugins/styled-components-ssr.js +1 -1
  158. package/dist/server/esbuild/plugins/themes-resolver.js +2 -2
  159. package/dist/server/{config/external-plugins.d.ts → external-plugins/resolve-external-plugins.d.ts} +2 -2
  160. package/dist/server/{config/external-plugins.js → external-plugins/resolve-external-plugins.js} +1 -1
  161. package/dist/server/fs/cache.js +1 -1
  162. package/dist/server/fs/content-fs.d.ts +1 -0
  163. package/dist/server/fs/content-fs.js +1 -1
  164. package/dist/server/fs/last-modified-tracker.js +1 -1
  165. package/dist/server/fs/utils/is-loader-cache-enabled.js +1 -1
  166. package/dist/server/node-bundle-entry.js +1 -1
  167. package/dist/server/persistence/kv/repositories/kv-remote-repository.d.ts +1 -0
  168. package/dist/server/persistence/kv/repositories/kv-remote-repository.js +2 -1
  169. package/dist/server/persistence/kv/services/kv-service.js +1 -1
  170. package/dist/server/plugins/analytics/adobe/index.js +1 -1
  171. package/dist/server/plugins/analytics/amplitude/index.js +1 -1
  172. package/dist/server/plugins/analytics/fullstory/index.js +1 -1
  173. package/dist/server/plugins/analytics/ga/index.js +1 -1
  174. package/dist/server/plugins/analytics/gtm/browser-hooks.js +1 -1
  175. package/dist/server/plugins/analytics/gtm/index.js +1 -1
  176. package/dist/server/plugins/analytics/heap/index.js +1 -1
  177. package/dist/server/plugins/analytics/rudderstack/index.js +1 -1
  178. package/dist/server/plugins/analytics/segment/index.js +1 -1
  179. package/dist/server/plugins/asyncapi-docs/asyncapi-doc-loader.js +3 -3
  180. package/dist/server/plugins/asyncapi-docs/get-server-props.js +1 -1
  181. package/dist/server/plugins/asyncapi-docs/index.js +1 -1
  182. package/dist/server/plugins/asyncapi-docs/search/get-ai-search-documents.js +27 -27
  183. package/dist/server/plugins/asyncapi-docs/search/schema-processor.js +1 -1
  184. package/dist/server/plugins/asyncapi-docs/search/search-resolver.js +1 -1
  185. package/dist/server/plugins/asyncapi-docs/store-definition-bundles.js +1 -1
  186. package/dist/server/plugins/catalog-classic/get-server-props.d.ts +8 -3
  187. package/dist/server/plugins/catalog-classic/get-server-props.js +1 -1
  188. package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +38 -64
  189. package/dist/server/plugins/catalog-entities/database/catalog-entities-service.js +1 -1
  190. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.d.ts +8 -0
  191. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.js +1 -0
  192. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-db-record.d.ts +2 -1
  193. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-read-model.js +1 -1
  194. package/dist/server/plugins/catalog-entities/database/mappers/{create-entity-relation.d.ts → create-entity-relation-read-model.d.ts} +2 -2
  195. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-read-model.js +1 -0
  196. package/dist/server/plugins/catalog-entities/database/mappers/map-entity-relation-row.js +1 -1
  197. package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.d.ts +27 -0
  198. package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.js +1 -0
  199. package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.d.ts +36 -0
  200. package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.js +1 -0
  201. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.d.ts +15 -4
  202. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.js +38 -27
  203. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts +36 -9
  204. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +37 -21
  205. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.d.ts +41 -42
  206. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.js +1 -1
  207. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.d.ts +3 -1
  208. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.js +1 -1
  209. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-relations-repository.d.ts +7 -1
  210. package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-relations-repository.js +1 -1
  211. package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.d.ts +5 -9
  212. package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.js +1 -1
  213. package/dist/server/plugins/catalog-entities/database/repositories/utils/build-entities-exclusion-filter.d.ts +13 -0
  214. package/dist/server/plugins/catalog-entities/database/repositories/utils/build-entities-exclusion-filter.js +1 -0
  215. package/dist/server/plugins/catalog-entities/database/repositories/utils/build-rbac-filter.d.ts +31 -0
  216. package/dist/server/plugins/catalog-entities/database/repositories/utils/build-rbac-filter.js +9 -0
  217. package/dist/server/plugins/catalog-entities/database/repositories/utils/create-merged-entity-fields-for-select.d.ts +34 -0
  218. package/dist/server/plugins/catalog-entities/database/repositories/utils/create-merged-entity-fields-for-select.js +13 -0
  219. package/dist/server/plugins/catalog-entities/database/repositories/utils/normalize-revision-flags.d.ts +23 -0
  220. package/dist/server/plugins/catalog-entities/database/repositories/utils/normalize-revision-flags.js +1 -0
  221. package/dist/server/plugins/catalog-entities/database/repositories/utils/semantic-version-sort.d.ts +78 -0
  222. package/dist/server/plugins/catalog-entities/database/repositories/utils/semantic-version-sort.js +34 -0
  223. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
  224. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
  225. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.d.ts +6 -4
  226. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
  227. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +2 -2
  228. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +1 -1
  229. package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.js +1 -1
  230. package/dist/server/plugins/catalog-entities/extensions/extractors/fs-entities-extractor.js +1 -1
  231. package/dist/server/plugins/catalog-entities/get-server-props.js +1 -1
  232. package/dist/server/plugins/catalog-entities/plugin.js +1 -1
  233. package/dist/server/plugins/catalog-entities/schemas/database-schemas.d.ts +3 -0
  234. package/dist/server/plugins/catalog-entities/schemas/database-schemas.js +1 -1
  235. package/dist/server/plugins/catalog-entities/schemas/dto-schemas.d.ts +15 -1
  236. package/dist/server/plugins/catalog-entities/schemas/dto-schemas.js +1 -1
  237. package/dist/server/plugins/catalog-entities/schemas/read-model-schemas.d.ts +26 -164
  238. package/dist/server/plugins/catalog-entities/schemas/read-model-schemas.js +0 -1
  239. package/dist/server/plugins/catalog-entities/types/extractors.d.ts +4 -4
  240. package/dist/server/plugins/catalog-entities/types/openapi.d.ts +11 -0
  241. package/dist/server/plugins/catalog-entities/types/openapi.js +0 -0
  242. package/dist/server/plugins/catalog-entities/types/params.d.ts +6 -0
  243. package/dist/server/plugins/catalog-entities/types/params.js +0 -0
  244. package/dist/server/plugins/catalog-entities/utils/ajv-validator.js +1 -1
  245. package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.js +1 -1
  246. package/dist/server/plugins/catalog-entities/utils/get-not-accessible-catalog-resources.d.ts +11 -0
  247. package/dist/server/plugins/catalog-entities/utils/get-not-accessible-catalog-resources.js +1 -0
  248. package/dist/server/plugins/config-parser/index.js +1 -1
  249. package/dist/server/plugins/config-parser/loaders/content-slugs-loader.js +1 -1
  250. package/dist/server/plugins/config-parser/loaders/nearest-redocly-config-loader.js +1 -1
  251. package/dist/server/plugins/config-parser/loaders/redocly-config-loader.js +1 -1
  252. package/dist/server/plugins/config-parser/loaders/utils/read-and-validate-config.js +1 -1
  253. package/dist/server/plugins/default-theme/index.js +1 -1
  254. package/dist/server/plugins/entitlements/index.js +1 -1
  255. package/dist/server/plugins/graphql-docs/graphql-doc-loader.js +1 -1
  256. package/dist/server/plugins/graphql-docs/index.js +1 -1
  257. package/dist/server/plugins/graphql-docs/search/search-resolver.js +1 -1
  258. package/dist/server/plugins/graphql-docs/template/GraphQLDocs.js +6 -2
  259. package/dist/server/plugins/lifecycle.js +2 -2
  260. package/dist/server/plugins/markdown/attribute-resolvers/code-walkthrough/filesets-resolver.js +1 -1
  261. package/dist/server/plugins/markdown/attribute-resolvers/resolve-code-snippet-from-file.js +1 -1
  262. package/dist/server/plugins/markdown/attribute-resolvers/resolve-html-href.js +1 -1
  263. package/dist/server/plugins/markdown/attribute-resolvers/resolve-html-source-attribute.js +1 -1
  264. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-src-set.js +1 -1
  265. package/dist/server/plugins/markdown/attribute-resolvers/resolve-image-src.js +1 -1
  266. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-example-ref.js +1 -1
  267. package/dist/server/plugins/markdown/attribute-resolvers/resolve-json-schema-ref.js +1 -1
  268. package/dist/server/plugins/markdown/attribute-resolvers/resolve-link.js +1 -1
  269. package/dist/server/plugins/markdown/attribute-resolvers/resolve-native-md-link.js +1 -1
  270. package/dist/server/plugins/markdown/attribute-resolvers/resolve-nav-links.js +1 -1
  271. package/dist/server/plugins/markdown/attribute-resolvers/resolve-open-api-ref.js +1 -1
  272. package/dist/server/plugins/markdown/attribute-resolvers/resolve-parsed-yaml.js +1 -1
  273. package/dist/server/plugins/markdown/attribute-resolvers/resolve-raw-content.js +1 -1
  274. package/dist/server/plugins/markdown/attribute-resolvers/resolve-relative-or-cdn-icon.js +1 -1
  275. package/dist/server/plugins/markdown/attribute-resolvers/resolve-relative-path.js +1 -1
  276. package/dist/server/plugins/markdown/attribute-resolvers/resolve-sample-from-json-schema.js +1 -1
  277. package/dist/server/plugins/markdown/attribute-resolvers/resolve-svg-content.js +1 -1
  278. package/dist/server/plugins/markdown/compiler.d.ts +1 -0
  279. package/dist/server/plugins/markdown/compiler.js +1 -1
  280. package/dist/server/plugins/markdown/index.js +1 -1
  281. package/dist/server/plugins/markdown/is-partial.d.ts +1 -1
  282. package/dist/server/plugins/markdown/is-partial.js +1 -1
  283. package/dist/server/plugins/markdown/markdoc/import-user-tags.js +1 -1
  284. package/dist/server/plugins/markdown/markdoc/markdoc-options.js +1 -1
  285. package/dist/server/plugins/markdown/markdoc/partials.js +1 -1
  286. package/dist/server/plugins/markdown/markdoc/plugins/headings.js +1 -1
  287. package/dist/server/plugins/markdown/markdoc/plugins/render-mermaid.js +1 -1
  288. package/dist/server/plugins/markdown/markdoc/plugins/utils.js +1 -1
  289. package/dist/server/plugins/markdown/markdoc/resolve-raw-partials.d.ts +1 -1
  290. package/dist/server/plugins/markdown/markdoc/resolve-raw-partials.js +2 -2
  291. package/dist/server/plugins/markdown/markdown-static-data-loader.js +1 -1
  292. package/dist/server/plugins/markdown/runtime-transform.js +1 -1
  293. package/dist/server/plugins/markdown/search/get-ai-search-documents.js +1 -1
  294. package/dist/server/plugins/markdown/search/get-search-documents.js +2 -2
  295. package/dist/server/plugins/markdown/search/nodes/section-node.js +1 -1
  296. package/dist/server/plugins/markdown/search/search-resolver.js +1 -1
  297. package/dist/server/plugins/markdown/search/to-markdown.js +17 -13
  298. package/dist/server/plugins/markdown/search/walk-sections.js +1 -1
  299. package/dist/server/plugins/markdown/utils/stringify-tag-children-objects.js +1 -1
  300. package/dist/server/plugins/mcp/auth/auth-handlers.js +1 -1
  301. package/dist/server/plugins/mcp/docs-mcp/tools/docs-mcp-tool.d.ts +58 -0
  302. package/dist/server/plugins/mcp/docs-mcp/tools/docs-mcp-tool.js +1 -0
  303. package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.d.ts +9 -8
  304. package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.js +1 -1
  305. package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.d.ts +9 -8
  306. package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.js +1 -1
  307. package/dist/server/plugins/mcp/docs-mcp/tools/get-full-api-description.d.ts +9 -8
  308. package/dist/server/plugins/mcp/docs-mcp/tools/get-full-api-description.js +1 -1
  309. package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.d.ts +9 -8
  310. package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.js +1 -1
  311. package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +7 -13
  312. package/dist/server/plugins/mcp/docs-mcp/tools/index.js +1 -1
  313. package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.d.ts +9 -6
  314. package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.js +1 -1
  315. package/dist/server/plugins/mcp/docs-mcp/tools/search.d.ts +10 -2
  316. package/dist/server/plugins/mcp/docs-mcp/tools/search.js +6 -1
  317. package/dist/server/plugins/mcp/docs-mcp/tools/utils.d.ts +2 -1
  318. package/dist/server/plugins/mcp/docs-mcp/tools/utils.js +6 -6
  319. package/dist/server/plugins/mcp/docs-mcp/tools/whoami.d.ts +9 -2
  320. package/dist/server/plugins/mcp/docs-mcp/tools/whoami.js +1 -1
  321. package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
  322. package/dist/server/plugins/mcp/handlers/errors.js +1 -1
  323. package/dist/server/plugins/mcp/handlers/handle-mcp-request.d.ts +5 -0
  324. package/dist/server/plugins/mcp/handlers/handle-mcp-request.js +1 -0
  325. package/dist/server/plugins/mcp/handlers/mcp-request-handler.d.ts +0 -1
  326. package/dist/server/plugins/mcp/handlers/mcp-request-handler.js +1 -1
  327. package/dist/server/plugins/mcp/servers/base-server.js +1 -1
  328. package/dist/server/plugins/mcp/servers/docs-server.d.ts +9 -2
  329. package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
  330. package/dist/server/plugins/mcp/types.d.ts +59 -0
  331. package/dist/server/plugins/mcp/workers/execute-mcp-tool.d.ts +3 -0
  332. package/dist/server/plugins/mcp/workers/execute-mcp-tool.js +1 -0
  333. package/dist/server/plugins/nav-utils.d.ts +1 -1
  334. package/dist/server/plugins/nav-utils.js +1 -1
  335. package/dist/server/plugins/openapi-docs/decorators.d.ts +3 -0
  336. package/dist/server/plugins/openapi-docs/decorators.js +1 -1
  337. package/dist/server/plugins/openapi-docs/get-server-props-custom-fields.d.ts +2 -4
  338. package/dist/server/plugins/openapi-docs/get-server-props-custom-fields.js +1 -1
  339. package/dist/server/plugins/openapi-docs/get-server-props.js +1 -1
  340. package/dist/server/plugins/openapi-docs/index.js +1 -1
  341. package/dist/server/plugins/openapi-docs/load-definition.d.ts +1 -0
  342. package/dist/server/plugins/openapi-docs/load-definition.js +3 -3
  343. package/dist/server/plugins/openapi-docs/openrpc-converter.d.ts +2 -0
  344. package/dist/server/plugins/openapi-docs/openrpc-converter.js +1 -0
  345. package/dist/server/plugins/openapi-docs/search/get-ai-search-documents.js +20 -20
  346. package/dist/server/plugins/openapi-docs/search/search-resolver.js +1 -1
  347. package/dist/server/plugins/openapi-docs/search-indexer.js +1 -1
  348. package/dist/server/plugins/openapi-docs/store-definition-bundles.js +1 -1
  349. package/dist/server/plugins/openapi-docs/utils.d.ts +1 -0
  350. package/dist/server/plugins/scorecard-classic/compute-scorecard.d.ts +2 -1
  351. package/dist/server/plugins/scorecard-classic/compute-scorecard.js +4 -4
  352. package/dist/server/plugins/scorecard-classic/get-scorecard-config.d.ts +2 -1
  353. package/dist/server/plugins/scorecard-classic/index.js +1 -1
  354. package/dist/server/plugins/scorecard-classic/lint.d.ts +1 -1
  355. package/dist/server/plugins/scorecard-classic/lint.js +1 -1
  356. package/dist/server/plugins/scorecard-classic/loaders/scorecard-config.js +1 -1
  357. package/dist/server/plugins/scorecard-classic/loaders/scorecard.d.ts +6 -4
  358. package/dist/server/plugins/scorecard-classic/loaders/scorecard.js +1 -1
  359. package/dist/server/plugins/scorecard-classic/shared-utils.d.ts +1 -1
  360. package/dist/server/plugins/scorecard-classic/shared-utils.js +1 -1
  361. package/dist/server/plugins/scorecard-classic/template/Grid/Grid.d.ts +3 -1
  362. package/dist/server/plugins/scorecard-classic/template/Grid/Grid.js +3 -3
  363. package/dist/server/plugins/scorecard-classic/template/Grid/GridHeader.js +15 -9
  364. package/dist/server/plugins/scorecard-classic/template/Grid/GridRow.js +1 -1
  365. package/dist/server/plugins/scorecard-classic/template/LevelIndicator.d.ts +1 -0
  366. package/dist/server/plugins/scorecard-classic/template/LevelIndicator.js +4 -4
  367. package/dist/server/plugins/scorecard-classic/template/components.js +1 -1
  368. package/dist/server/plugins/scorecard-classic/template/index.styles.d.ts +1 -0
  369. package/dist/server/plugins/scorecard-classic/template/index.styles.js +92 -19
  370. package/dist/server/plugins/scorecard-classic/template/index.types.d.ts +5 -1
  371. package/dist/server/plugins/scorecard-classic/template/useData.js +1 -1
  372. package/dist/server/plugins/scorecard-classic/template/views.js +1 -1
  373. package/dist/server/plugins/scorecard-classic/types.d.ts +5 -3
  374. package/dist/server/plugins/scorecard-classic/types.js +1 -1
  375. package/dist/server/plugins/scorecards/database/repositories/local/scorecards-config-local-repository.d.ts +12 -0
  376. package/dist/server/plugins/scorecards/database/repositories/local/scorecards-config-local-repository.js +1 -0
  377. package/dist/server/plugins/scorecards/database/scorecards-config-service.d.ts +11 -0
  378. package/dist/server/plugins/scorecards/database/scorecards-config-service.js +1 -0
  379. package/dist/server/plugins/scorecards/plugin.js +1 -1
  380. package/dist/server/plugins/scorecards/workers/run-scorecards-worker.d.ts +2 -1
  381. package/dist/server/plugins/scorecards/workers/run-scorecards-worker.js +1 -1
  382. package/dist/server/plugins/scorecards/workers/scorecards.d.ts +1 -12
  383. package/dist/server/plugins/scorecards/workers/scorecards.js +1 -1
  384. package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.d.ts +11 -0
  385. package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.js +1 -0
  386. package/dist/server/plugins/search/documents/search-documents.js +1 -1
  387. package/dist/server/plugins/search/engines/flexsearch/index.js +1 -1
  388. package/dist/server/plugins/search/engines/typesense/index.js +1 -1
  389. package/dist/server/plugins/search/index.js +1 -1
  390. package/dist/server/plugins/search/llmstxt/index.js +5 -5
  391. package/dist/server/plugins/search/utils.d.ts +2 -0
  392. package/dist/server/plugins/search/utils.js +2 -2
  393. package/dist/server/plugins/sidebars/index.d.ts +0 -2
  394. package/dist/server/plugins/sidebars/index.js +3 -3
  395. package/dist/server/plugins/sso/index.js +1 -1
  396. package/dist/server/providers/database/base-repository.d.ts +1 -0
  397. package/dist/server/providers/database/base-repository.js +1 -1
  398. package/dist/server/providers/database/database-connection-factory.js +1 -1
  399. package/dist/server/providers/database/database-initialization-strategy.js +1 -1
  400. package/dist/server/providers/database/database-preconnect-service.js +1 -1
  401. package/dist/server/providers/database/databases/catalog-sqlite/migrations/0005_catalog-relations-constraint-fix.sql +2 -0
  402. package/dist/server/providers/database/databases/catalog-sqlite/migrations/0006_add-catalog-entitities-attributes-table.sql +11 -0
  403. package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/0005_snapshot.json +393 -0
  404. package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/0006_snapshot.json +458 -0
  405. package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/_journal.json +14 -0
  406. package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-attributes-table.d.ts +143 -0
  407. package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-attributes-table.js +1 -0
  408. package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-relations-table.js +1 -1
  409. package/dist/server/providers/database/databases/main-sqlite/migrations/0006_change-scorecards-config-timestamps-field-types.sql +19 -0
  410. package/dist/server/providers/database/databases/main-sqlite/migrations/meta/0006_snapshot.json +261 -0
  411. package/dist/server/providers/database/databases/main-sqlite/migrations/meta/_journal.json +7 -0
  412. package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts +24 -18
  413. package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js +1 -1
  414. package/dist/server/providers/database/databases/sqld-sqlite/drizzle.config.js +1 -1
  415. package/dist/server/providers/database/databases/sqld-sqlite/migrations/0007_catalog-relations-constraint-fix.sql +2 -0
  416. package/dist/server/providers/database/databases/sqld-sqlite/migrations/0008_add-catalog-entitities-attributes-table.sql +11 -0
  417. package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0007_snapshot.json +833 -0
  418. package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0008_snapshot.json +898 -0
  419. package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/_journal.json +14 -0
  420. package/dist/server/providers/database/pagination/entities-to-filter.d.ts +15 -0
  421. package/dist/server/providers/database/pagination/entities-to-filter.js +1 -0
  422. package/dist/server/providers/database/pagination/utils/index.d.ts +4 -0
  423. package/dist/server/providers/database/pagination/utils/index.js +1 -1
  424. package/dist/server/providers/database/pagination/utils/is-nested-condition.d.ts +16 -0
  425. package/dist/server/providers/database/pagination/utils/is-nested-condition.js +1 -0
  426. package/dist/server/providers/database/pagination/utils/is-simple-condition.d.ts +18 -0
  427. package/dist/server/providers/database/pagination/utils/is-simple-condition.js +1 -0
  428. package/dist/server/providers/database/pagination/utils/map-operator.d.ts +10 -0
  429. package/dist/server/providers/database/pagination/utils/map-operator.js +1 -0
  430. package/dist/server/providers/database/pagination/utils/transform-condition.d.ts +12 -0
  431. package/dist/server/providers/database/pagination/utils/transform-condition.js +1 -0
  432. package/dist/server/providers/database/sqld-not-running-error.d.ts +5 -0
  433. package/dist/server/providers/database/sqld-not-running-error.js +1 -0
  434. package/dist/server/ssr/render.js +1 -1
  435. package/dist/server/ssr/server-side-props/get-server-props-from-user-handler.js +1 -1
  436. package/dist/server/ssr/utils.js +8 -8
  437. package/dist/server/store.d.ts +16 -6
  438. package/dist/server/store.js +1 -1
  439. package/dist/server/telemetry/index.js +1 -1
  440. package/dist/server/tools/notifiers/formatter.js +3 -3
  441. package/dist/server/tools/notifiers/helpers/colors.js +1 -1
  442. package/dist/server/tools/notifiers/logger.js +2 -2
  443. package/dist/server/tools/notifiers/reporter.js +9 -9
  444. package/dist/server/tools/notifiers/terminal-manager.js +4 -4
  445. package/dist/server/types/plugins/common.d.ts +8 -1
  446. package/dist/server/types/plugins/markdown.d.ts +2 -7
  447. package/dist/server/types/plugins/scorecards.d.ts +30 -0
  448. package/dist/server/types/plugins/scorecards.js +0 -0
  449. package/dist/server/utils/ai-agent-detection.d.ts +16 -0
  450. package/dist/server/utils/ai-agent-detection.js +1 -0
  451. package/dist/server/utils/envs/get-api-route-allowed-env-variables.js +1 -1
  452. package/dist/server/utils/envs/load-env-variables.d.ts +1 -1
  453. package/dist/server/utils/envs/load-env-variables.js +1 -1
  454. package/dist/server/utils/envs/sanitize-branch-name.d.ts +6 -0
  455. package/dist/server/utils/envs/sanitize-branch-name.js +1 -0
  456. package/dist/server/utils/fs.js +1 -1
  457. package/dist/server/utils/globs.js +1 -1
  458. package/dist/server/utils/index.d.ts +2 -2
  459. package/dist/server/utils/index.js +1 -1
  460. package/dist/server/utils/is-catalog-entities-enabled.js +1 -1
  461. package/dist/server/utils/is-scorecards-enabled.js +1 -1
  462. package/dist/server/utils/lifecycle-hooks.js +1 -1
  463. package/dist/server/utils/rbac.d.ts +76 -7
  464. package/dist/server/utils/rbac.js +1 -1
  465. package/dist/server/utils/report-all-errors.js +1 -1
  466. package/dist/server/utils/set-execution-mode.d.ts +5 -0
  467. package/dist/server/utils/set-execution-mode.js +1 -0
  468. package/dist/server/utils/time/with-timestamp.d.ts +42 -10
  469. package/dist/server/utils/time/with-timestamp.js +1 -1
  470. package/dist/server/version.js +1 -1
  471. package/dist/server/web-server/auth.d.ts +2 -0
  472. package/dist/server/web-server/auth.js +4 -4
  473. package/dist/server/web-server/dev-server.js +1 -1
  474. package/dist/server/web-server/handle-api-route-request.js +1 -1
  475. package/dist/server/web-server/http.js +2 -2
  476. package/dist/server/web-server/middleware/apiKeyMiddleware.js +1 -1
  477. package/dist/server/web-server/middleware/catalogAuthMiddleware.d.ts +4 -6
  478. package/dist/server/web-server/middleware/catalogAuthMiddleware.js +1 -1
  479. package/dist/server/web-server/middleware/corsMiddleware.js +1 -1
  480. package/dist/server/web-server/middleware/dynamic-middleware/dynamic-middleware.js +1 -1
  481. package/dist/server/web-server/middleware/idleTimeoutMiddleware.js +1 -1
  482. package/dist/server/web-server/middleware/responseHeadersMiddleware.js +1 -1
  483. package/dist/server/web-server/mime-types.js +1 -1
  484. package/dist/server/web-server/routes/ask-ai.js +1 -1
  485. package/dist/server/web-server/routes/auth.js +1 -1
  486. package/dist/server/web-server/routes/catalog/bff-catalog-related-entities.js +1 -1
  487. package/dist/server/web-server/routes/catalog/bff-catalog.js +1 -1
  488. package/dist/server/web-server/routes/catalog/catalog-relations.js +1 -1
  489. package/dist/server/web-server/routes/catalog/catalog.js +1 -1
  490. package/dist/server/web-server/routes/catalog/dto/read-entity-dto.d.ts +3 -0
  491. package/dist/server/web-server/routes/catalog/dto/read-entity-dto.js +0 -0
  492. package/dist/server/web-server/routes/catalog/helpers/create-entity-relation-update-schema.d.ts +43 -0
  493. package/dist/server/web-server/routes/catalog/helpers/create-entity-relation-update-schema.js +1 -0
  494. package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.d.ts +6823 -0
  495. package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.js +1 -0
  496. package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.d.ts +1102 -0
  497. package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.js +1 -0
  498. package/dist/server/web-server/routes/catalog/helpers/has-access-to-entity.d.ts +10 -0
  499. package/dist/server/web-server/routes/catalog/helpers/has-access-to-entity.js +1 -0
  500. package/dist/server/web-server/routes/catalog/mappers/map-entity-read-model-schema-to-entity-read-dto.d.ts +4 -0
  501. package/dist/server/web-server/routes/catalog/mappers/map-entity-read-model-schema-to-entity-read-dto.js +1 -0
  502. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entities.d.ts +4 -0
  503. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entities.js +1 -0
  504. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity-update-data.d.ts +4 -0
  505. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity-update-data.js +1 -0
  506. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity.d.ts +4 -0
  507. package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity.js +1 -0
  508. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.d.ts +13 -0
  509. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.js +1 -0
  510. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.d.ts +13 -0
  511. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.js +1 -0
  512. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.d.ts +13 -0
  513. package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.js +1 -0
  514. package/dist/server/web-server/routes/cors-proxy.d.ts +5 -0
  515. package/dist/server/web-server/routes/cors-proxy.js +2 -0
  516. package/dist/server/web-server/routes/dynamic-route.js +1 -1
  517. package/dist/server/web-server/routes/error.js +1 -1
  518. package/dist/server/web-server/routes/feedback.js +1 -1
  519. package/dist/server/web-server/routes/helpers/get-current-rbac-teams.d.ts +3 -0
  520. package/dist/server/web-server/routes/helpers/get-current-rbac-teams.js +1 -0
  521. package/dist/server/web-server/routes/helpers/get-md-asset-pathname.d.ts +2 -0
  522. package/dist/server/web-server/routes/helpers/get-md-asset-pathname.js +1 -0
  523. package/dist/server/web-server/routes/helpers/get-rbac-restrictions-data-for-catalog.d.ts +11 -0
  524. package/dist/server/web-server/routes/helpers/get-rbac-restrictions-data-for-catalog.js +1 -0
  525. package/dist/server/web-server/routes/index.js +1 -1
  526. package/dist/server/web-server/routes/info.js +1 -1
  527. package/dist/server/web-server/routes/mcp-oauth.js +1 -1
  528. package/dist/server/web-server/routes/otel/otel.js +1 -1
  529. package/dist/server/web-server/routes/page-data.js +1 -1
  530. package/dist/server/web-server/routes/path-prefix-redirect.js +1 -1
  531. package/dist/server/web-server/routes/resolve-route.js +1 -1
  532. package/dist/server/web-server/routes/semantic-search.d.ts +4 -0
  533. package/dist/server/web-server/routes/semantic-search.js +1 -0
  534. package/dist/server/web-server/utils.d.ts +2 -2
  535. package/dist/server/workers/mcp-tool-worker-pool.d.ts +4 -0
  536. package/dist/server/workers/mcp-tool-worker-pool.js +1 -0
  537. package/dist/server/workers/mcp-tool-worker.d.ts +2 -0
  538. package/dist/server/workers/mcp-tool-worker.js +1 -0
  539. package/dist/server/workers/types.d.ts +7 -1
  540. package/dist/server/workers/worker-pool.js +1 -1
  541. package/dist/{server/utils → utils}/slugger.d.ts +13 -0
  542. package/package.json +21 -23
  543. package/dist/client/app/ErrorBubble/index.d.ts +0 -3
  544. package/dist/client/app/ErrorBubble/index.js +0 -59
  545. package/dist/client/app/PageCounter/index.d.ts +0 -3
  546. package/dist/client/app/PageCounter/index.js +0 -64
  547. package/dist/server/plugins/asyncapi-docs/template/AsyncApiDocs.js +0 -9
  548. package/dist/server/plugins/asyncapi-docs/template/helpers.js +0 -1
  549. package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation.js +0 -1
  550. package/dist/server/plugins/catalog-entities/entities/validate-entity.d.ts +0 -6
  551. package/dist/server/plugins/catalog-entities/entities/validate-entity.js +0 -1
  552. package/dist/server/plugins/markdown/markdoc/custom-components/html-script.js +0 -1
  553. package/dist/server/plugins/markdown/markdoc/custom-components/openapi/openapi-code-sample.js +0 -1
  554. package/dist/server/plugins/markdown/markdoc/custom-components/openapi/openapi-response-sample.js +0 -1
  555. package/dist/server/plugins/markdown/markdoc/custom-components/openapi/replay-openapi.js +0 -1
  556. package/dist/server/plugins/markdown/markdoc/helpers/get-inner-text.js +0 -2
  557. package/dist/server/plugins/markdown/markdoc/helpers/get-variable.js +0 -1
  558. package/dist/server/plugins/markdown/markdoc/hooks/use-store.js +0 -1
  559. package/dist/server/plugins/markdown/markdoc/nodes/fence/index.js +0 -1
  560. package/dist/server/plugins/markdown/markdoc/nodes/heading.js +0 -1
  561. package/dist/server/plugins/markdown/markdoc/tags/json-example.d.ts +0 -3
  562. package/dist/server/plugins/markdown/markdoc/tags/json-schema.d.ts +0 -3
  563. package/dist/server/plugins/markdown/markdoc/tags/openapi-code-sample.d.ts +0 -3
  564. package/dist/server/plugins/markdown/markdoc/tags/openapi-example.d.ts +0 -3
  565. package/dist/server/plugins/markdown/markdoc/tags/openapi-response-sample.d.ts +0 -3
  566. package/dist/server/plugins/markdown/markdoc/tags/replay-openapi.d.ts +0 -3
  567. package/dist/server/plugins/mcp/workers/run-api-routes-worker.d.ts +0 -5
  568. package/dist/server/plugins/mcp/workers/run-api-routes-worker.js +0 -1
  569. package/dist/server/plugins/openapi-docs/template/OpenAPIDocs.js +0 -14
  570. package/dist/server/plugins/openapi-docs/template/helpers.js +0 -5
  571. package/dist/server/plugins/search/ai-indexer/prepare-ai-search-documents.d.ts +0 -6
  572. package/dist/server/plugins/search/ai-indexer/prepare-ai-search-documents.js +0 -1
  573. package/dist/server/utils/envs/is-build-mode.d.ts +0 -2
  574. package/dist/server/utils/envs/is-build-mode.js +0 -1
  575. package/dist/server/utils/envs/is-develop-mode.d.ts +0 -7
  576. package/dist/server/utils/envs/is-develop-mode.js +0 -1
  577. package/dist/server/utils/envs/is-production-mode.d.ts +0 -10
  578. package/dist/server/utils/envs/is-production-mode.js +0 -1
  579. package/dist/server/workers/mcp-worker-pool.d.ts +0 -4
  580. package/dist/server/workers/mcp-worker-pool.js +0 -1
  581. package/dist/utils/env/is-local-development.d.ts +0 -13
  582. package/dist/utils/env/is-local-development.js +0 -1
  583. package/dist/utils/env/is-production.d.ts +0 -13
  584. package/dist/utils/env/is-production.js +0 -1
  585. package/dist/utils/env/is-web-view.d.ts +0 -14
  586. package/dist/utils/env/is-web-view.js +0 -1
  587. /package/dist/client/app/{ErrorBubble → DevModeFloatingBar}/DetailedErrors.d.ts +0 -0
  588. /package/dist/client/app/{ErrorBubble → DevModeFloatingBar}/DetailedErrors.js +0 -0
  589. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/html-script.d.ts +0 -0
  590. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/index.d.ts +0 -0
  591. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/index.js +0 -0
  592. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/explain-step.d.ts +0 -0
  593. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/explain-step.js +0 -0
  594. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation-info-by-id.d.ts +0 -0
  595. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation-info-by-id.js +0 -0
  596. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation-info-by-pointer.d.ts +0 -0
  597. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation-info-by-pointer.js +0 -0
  598. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation.d.ts +0 -0
  599. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/get-operation.js +0 -0
  600. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/index.d.ts +0 -0
  601. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/index.js +0 -0
  602. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/index.d.ts +0 -0
  603. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/index.js +0 -0
  604. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-identifier.d.ts +0 -0
  605. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-identifier.js +0 -0
  606. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-info.d.ts +0 -0
  607. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-info.js +0 -0
  608. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-parameters.d.ts +0 -0
  609. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/get-operation/types/operation-parameters.js +0 -0
  610. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/index.d.ts +0 -0
  611. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/index.js +0 -0
  612. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/json-example.d.ts +0 -0
  613. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/json-example.js +0 -0
  614. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/json-schema.d.ts +0 -0
  615. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/json-schema.js +0 -0
  616. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/openapi-code-sample.d.ts +0 -0
  617. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/openapi-example.d.ts +0 -0
  618. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/openapi-example.js +0 -0
  619. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/openapi-response-sample.d.ts +0 -0
  620. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/replay-openapi.d.ts +0 -0
  621. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/step-by-step-wrapper.d.ts +0 -0
  622. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/openapi/step-by-step-wrapper.js +0 -0
  623. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/styled.elements.d.ts +0 -0
  624. /package/dist/{server/plugins/markdown → client/app}/markdoc/custom-components/styled.elements.js +0 -0
  625. /package/dist/{server/plugins/markdown → client/app}/markdoc/hooks/use-store.d.ts +0 -0
  626. /package/dist/{server/plugins/openapi-docs/template → client/templates/openapi-docs}/mock-server-config.d.ts +0 -0
  627. /package/dist/{server/plugins/openapi-docs/template → client/templates/openapi-docs}/mock-server-config.js +0 -0
  628. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/definition-path.d.ts +0 -0
  629. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/definition-path.js +0 -0
  630. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/index.d.ts +0 -0
  631. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/index.js +0 -0
  632. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/json-example-ref.d.ts +0 -0
  633. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/json-example-ref.js +0 -0
  634. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/json-schema-ref.d.ts +0 -0
  635. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/json-schema-ref.js +0 -0
  636. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/parsed-yaml.d.ts +0 -0
  637. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/parsed-yaml.js +0 -0
  638. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/raw-content.d.ts +0 -0
  639. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/raw-content.js +0 -0
  640. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/sample-from-json-schema.d.ts +0 -0
  641. /package/dist/{server/plugins/markdown/markdoc → markdoc}/attributes/sample-from-json-schema.js +0 -0
  642. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/extract-rbac-from-condition-node.d.ts +0 -0
  643. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/extract-rbac-from-condition-node.js +0 -0
  644. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/get-node-attribute.d.ts +0 -0
  645. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/get-node-attribute.js +0 -0
  646. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-code-node.d.ts +0 -0
  647. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-code-node.js +0 -0
  648. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-conditional-node.d.ts +0 -0
  649. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-conditional-node.js +0 -0
  650. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-content-node.d.ts +0 -0
  651. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-content-node.js +0 -0
  652. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-example-node.d.ts +0 -0
  653. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-example-node.js +0 -0
  654. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-fence-node.d.ts +0 -0
  655. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-fence-node.js +0 -0
  656. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-function.d.ts +0 -0
  657. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-function.js +0 -0
  658. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-list-node.d.ts +0 -0
  659. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-list-node.js +0 -0
  660. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-node.d.ts +0 -0
  661. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-node.js +0 -0
  662. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-string-node.d.ts +0 -0
  663. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-string-node.js +0 -0
  664. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-tag.d.ts +0 -0
  665. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-tag.js +0 -0
  666. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-text-node.d.ts +0 -0
  667. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-text-node.js +0 -0
  668. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-variable.d.ts +0 -0
  669. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/guards/is-variable.js +0 -0
  670. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/remove-markdoc-tags.d.ts +0 -0
  671. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/remove-markdoc-tags.js +0 -0
  672. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/set-node-attribute-value.d.ts +0 -0
  673. /package/dist/{server/plugins/markdown/markdoc → markdoc}/helpers/set-node-attribute-value.js +0 -0
  674. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/fence/escape-html.d.ts +0 -0
  675. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/fence/escape-html.js +0 -0
  676. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/fence/index.d.ts +0 -0
  677. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/gfm-list-item.d.ts +0 -0
  678. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/gfm-list-item.js +0 -0
  679. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/heading.d.ts +0 -0
  680. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/index.d.ts +0 -0
  681. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/index.js +0 -0
  682. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/table.d.ts +0 -0
  683. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/table.js +0 -0
  684. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/text.d.ts +0 -0
  685. /package/dist/{server/plugins/markdown/markdoc → markdoc}/nodes/text.js +0 -0
  686. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/index.js +0 -0
  687. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/json-example.js +0 -0
  688. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/json-schema.js +0 -0
  689. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/openapi-code-sample.js +0 -0
  690. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/openapi-example.js +0 -0
  691. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/openapi-response-sample.js +0 -0
  692. /package/dist/{server/plugins/markdown/markdoc → markdoc}/tags/replay-openapi.js +0 -0
  693. /package/dist/server/{config → external-plugins}/resolve-module.d.ts +0 -0
  694. /package/dist/server/{config → external-plugins}/resolve-module.js +0 -0
  695. /package/dist/{server/utils → utils}/conflict-resolvers.d.ts +0 -0
  696. /package/dist/{server/utils → utils}/conflict-resolvers.js +0 -0
  697. /package/dist/{server/utils → utils}/slugger.js +0 -0
@@ -1 +1 @@
1
- import{sha1 as b}from"../../utils/crypto/sha1.js";import{isValidSanitizedString as E}from"../../utils/validate-and-sanitize-string";import{CatalogEntitiesService as h}from"./database/catalog-entities-service.js";import{createPaginationParamsValidator as F}from"../../providers/database/pagination/schemas";import{parseSearch as A}from"../../providers/database/pagination/search";import{OPERATORS as C}from"../../providers/database/pagination/constants.js";import{CacheService as I}from"../../persistence/cache/services/cache-service.js";import{CATALOG_FILTERS_CACHE_NAMESPACE as w,CATALOG_FILTERS_CACHE_TTL_IN_SECONDS as D}from"../../constants/plugins/catalog-entities.js";import{isValidIsoDate as T}from"../../utils/is-valid-iso-date.js";const Z={all:"all",domains:"domain",services:"service",teams:"team",users:"user","api-descriptions":"api-description","data-schemas":"data-schema"},R={team:{field:"type",operator:"equal",value:"user"},"api-description":{field:"type",operator:"equal",value:"api-operation"}},V=async({entitiesTypes:e,serverOutDir:s,catalogConfig:t,queries:a={}})=>{const n=await h.getInstance({baseDbDir:s}),c=K.concat("domains","owners"),r=F(c).parse(a),p=t.excludes?.map(i=>i.key)??[],d=e.filter(i=>i!=="all"),l=k(d,p);return r.filter?r.filter={op:C.AND,conditions:[r.filter,l]}:r.filter=l,await n.getEntitiesWithRelations({sort:[{field:"type",order:"ASC"}],limit:10,...r})},_=async(e,s,t)=>{const a=await h.getInstance({baseDbDir:s});let n=null;const c=t?.revision;c&&T(c)&&(n=c);const r=t?.version;if(!E(r,{pattern:/^[a-zA-Z0-9._-]+$/,maxLength:100,allowEmpty:!0}))return null;const p=await a.getEntityWithRelationsByKey(e,{revision:n,version:r});if(!p)return null;const d=p.type==="data-schema"?await a.getRelatedEntities(e,{limit:1,filter:{field:"type",operator:"equal",value:"api-description"}}).then(f=>f.items?.[0]??null):null,l=R[p.type]??void 0,u=q(l,r,n),i=await a.getRelatedEntities(e,{limit:10,sort:[{field:"title",order:"ASC"}],filter:u,search:t?.search?A(t?.search,["key","type","title","summary"]):void 0});return{status:"success",entity:p,relatedEntity:d,relations:i}},N=e=>{const s=JSON.stringify({entitiesTypes:e.entitiesTypes.sort(),filtersConfig:e.filtersConfig});return b(s)},P=async({serverOutDir:e,entitiesTypes:s,filtersConfig:t})=>{if(!t||t.length===0)return{};const a=N({entitiesTypes:s,filtersConfig:t}),n=await I.getInstance({baseDbDir:e}),c=await n.get({key:a,namespace:w});if(c)return c;const r=await h.getInstance({baseDbDir:e}),p=[],d=new Map;for(const i of t)!i.options||i.options.length===0?p.push(i.property):d.set(i.property,i.options);const l=await r.getCatalogFilters({entitiesTypes:s,emptyFilters:p}),u={};for(const i of t){const f=d.get(i.property);if(!f){const o=l[i.property];u[i.property]=o&&o.length>0?o:[];continue}const y=(await r.getCatalogFilters({entitiesTypes:s,emptyFilters:[i.property]}))[i.property];if(!y){u[i.property]=[];continue}const g=new Map;for(const o of y){const m=o.value.toLowerCase().trim();g.set(m,{originalValue:o.value,count:o.count})}u[i.property]=f.map(o=>{const m=o.toLowerCase().trim(),S=g.get(m);return{value:S?.originalValue??o,count:S?.count??0}}).filter(o=>o.count>0).sort((o,m)=>o.value.localeCompare(m.value))}return await n.set({key:a,value:u,namespace:w,ttlInSeconds:D}),u},L=async(e,{props:s},t,{serverOutDir:a,getRouteSharedDataByFsPath:n})=>{const c=s?.catalogConfig||{};if(!e.params||!s?.catalogConfig)return{status:"notFound"};const[r,p,d]=e.params;if(!r)return{status:"notFound"};const l=O(c,r),u=l?.includes?.map(g=>g.type)??[];if(!l)return{status:"notFound"};if(!d&&p!=="entities"){if(l.hide)return{status:"notFound"};const g=await P({entitiesTypes:u,serverOutDir:a,filtersConfig:l.filters}),o=e.queries?.viewMode??"table";return{status:"success",catalogSwitcherItems:M(c,l),entitiesTypes:u,entities:await V({entitiesTypes:u,serverOutDir:a,catalogConfig:l,queries:e.queries}),catalogConfig:l,filters:g,initialViewMode:o}}const i=await _(d,a,e.queries),f=i?.entity.sourceFile,v=i?.entity.type==="api-description",y=f&&v&&n(f)||{};return i?{status:"success",entity:i.entity,relatedEntity:i.relatedEntity,relations:i.relations,entitiesCatalogConfig:c,catalogConfig:l,sharedDataIds:y}:{status:"notFound"}},O=(e,s)=>Object.values(e.catalogs??{}).find(t=>t&&typeof t=="object"&&"slug"in t&&t.slug===s),M=(e,s)=>Object.values(e.catalogs??{}).filter(t=>!t?.hide).map(t=>({labelTranslationKey:t?.catalogSwitcherLabelTranslationKey??t?.slug??"",slug:t?.slug??"",selected:t?.slug===s.slug})).sort((t,a)=>t.slug.localeCompare(a.slug)),k=(e,s)=>({op:"AND",conditions:[...e.length?[{field:"type",operator:"in",value:e}]:[],...s.length?[{field:"key",operator:"in",value:s,modifier:"not"}]:[]]}),q=(e,s,t)=>{let a=e;if(s!==void 0){const n={field:"version",operator:"equal",value:s};a=a?{op:C.AND,conditions:[a,n]}:n}if(t){const n={field:"revision",operator:"equal",value:t};a=a?{op:C.AND,conditions:[a,n]}:n}return a},K=["type","key","title","summary","tags","metadata","metadata.*","git","contact","links","id","source","sourceFile","createdAt","updatedAt"];var $=L;export{$ as default};
1
+ import{sha1 as A}from"../../utils/crypto/sha1.js";import{isValidSanitizedString as T}from"../../utils/validate-and-sanitize-string";import{CatalogEntitiesService as w}from"./database/catalog-entities-service.js";import{createPaginationParamsValidator as I}from"../../providers/database/pagination/schemas";import{parseSearch as D}from"../../providers/database/pagination/search";import{OPERATORS as E}from"../../providers/database/pagination/constants.js";import{CacheService as R}from"../../persistence/cache/services/cache-service.js";import{CATALOG_FILTERS_CACHE_NAMESPACE as F,CATALOG_FILTERS_CACHE_TTL_IN_SECONDS as P}from"../../constants/plugins/catalog-entities.js";import{isValidIsoDate as N}from"../../utils/is-valid-iso-date.js";import{expandTeamsForRead as V}from"../../utils";import{getNotAccessibleCatalogResources as _}from"./utils/get-not-accessible-catalog-resources.js";const it={all:"all",domains:"domain",services:"service",teams:"team",users:"user","api-descriptions":"api-description","data-schemas":"data-schema"},L={team:{field:"type",operator:"equal",value:"user"},"api-description":{field:"type",operator:"equal",value:"api-operation"}},O=async({entitiesTypes:e,serverOutDir:a,catalogConfig:i,queries:t={},rbacTeams:n,excludedTypes:p,excludedEntities:c})=>{const u=await w.getInstance({baseDbDir:a}),f=B.concat("domains","owners"),l=I(f).parse(t),o=i.excludes?.map(s=>s.key)??[],g=e.filter(s=>s!=="all"),m=W(g,o);return l.filter?l.filter={op:E.AND,conditions:[l.filter,m]}:l.filter=m,await u.getEntitiesWithRelations({paginationParams:{sort:[{field:"type",order:"ASC"}],limit:10,...l},rbacTeams:n,excludedTypes:p,excludedEntities:c})},M=async({entityKey:e,serverOutDir:a,queries:i,rbacTeams:t,excludedTypes:n,excludedEntities:p})=>{const c=await w.getInstance({baseDbDir:a});let u=null;const f=i?.revision;f&&N(f)&&(u=f);const l=i?.version;if(!T(l,{pattern:/^[a-zA-Z0-9._-]+$/,maxLength:100,allowEmpty:!0}))return null;const o=await c.getEntityWithRelationsByKey({entityKey:e,filter:{revision:u,version:l},rbacTeams:t,excludedTypes:n,excludedEntities:p});if(!o)return null;const g=o.type==="data-schema"?await c.getRelatedEntities({entityKey:e,paginationParams:{limit:1,filter:{field:"type",operator:"equal",value:"api-description"}}}).then(h=>h.items?.[0]??null):null,m=L[o.type]??void 0,d=j(m,l,u),s=await c.getRelatedEntities({entityKey:e,paginationParams:{limit:10,sort:[{field:"title",order:"ASC"}],filter:d,search:i?.search?D(i?.search,["key","type","title","summary"]):void 0},rbacTeams:t,excludedTypes:n,excludedEntities:p});return{status:"success",entity:o,relatedEntity:g,relations:s}},k=e=>{const a=JSON.stringify({entitiesTypes:e.entitiesTypes.sort(),filtersConfig:e.filtersConfig,rbacTeams:e.rbacTeams,excludedTypes:e.excludedTypes,excludedEntities:e.excludedEntities});return A(a)},q=async({serverOutDir:e,entitiesTypes:a,filtersConfig:i,rbacTeams:t,excludedTypes:n,excludedEntities:p})=>{if(!i||i.length===0)return{};const c=k({entitiesTypes:a,filtersConfig:i,rbacTeams:t,excludedTypes:n,excludedEntities:p}),u=await R.getInstance({baseDbDir:e}),f=await u.get({key:c,namespace:F});if(f)return f;const l=await w.getInstance({baseDbDir:e}),o=[],g=new Map;for(const s of i)!s.options||s.options.length===0?o.push(s.property):g.set(s.property,s.options);const m=await l.getCatalogFilters({entitiesTypes:a,emptyFilters:o,rbacTeams:t,excludedTypes:n,excludedEntities:p}),d={};for(const s of i){const h=g.get(s.property);if(!h){const r=m[s.property];d[s.property]=r&&r.length>0?r:[];continue}const b=(await l.getCatalogFilters({entitiesTypes:a,emptyFilters:[s.property],rbacTeams:t,excludedTypes:n,excludedEntities:p}))[s.property];if(!b){d[s.property]=[];continue}const v=new Map;for(const r of b){const y=r.value.toLowerCase().trim();v.set(y,{originalValue:r.value,count:r.count})}d[s.property]=h.map(r=>{const y=r.toLowerCase().trim(),S=v.get(y);return{value:S?.originalValue??r,count:S?.count??0}}).filter(r=>r.count>0).sort((r,y)=>r.value.localeCompare(y.value))}return await u.set({key:c,value:d,namespace:F,ttlInSeconds:P}),d},x=async(e,{props:a},{variables:i},{serverOutDir:t,getRouteSharedDataByFsPath:n,getConfig:p})=>{const c=a?.catalogConfig||{};if(!e.params||!a?.catalogConfig)return{status:"notFound"};const[u,f,l]=e.params;if(!u)return{status:"notFound"};const o=K(c,u),g=o?.includes?.map(y=>y.type)??[];if(!o||o.hide)return{status:"notFound"};const m=V(p().rbac||{},i?.rbac.teams||[]),{catalogs:d,types:s,entities:h}=_({rbacConfig:p().rbac||{},currentRbacTeams:i?.rbac.teams||[]});if(d.includes(u))return{status:"notFound"};if(!l&&f!=="entities"){const y=await q({entitiesTypes:g,serverOutDir:t,filtersConfig:o.filters,rbacTeams:m,excludedTypes:s,excludedEntities:h}),S=e.queries?.viewMode??"table";return{status:"success",catalogSwitcherItems:z(c,o,d),entitiesTypes:g,entities:await O({entitiesTypes:g,serverOutDir:t,catalogConfig:o,queries:e.queries,rbacTeams:m,excludedTypes:s,excludedEntities:h}),catalogConfig:o,filters:y,initialViewMode:S}}const C=await M({entityKey:l,serverOutDir:t,queries:e.queries,rbacTeams:m,excludedTypes:s,excludedEntities:h});if(!C)return{status:"notFound"};const b=C?.entity.sourceFile,v=C?.entity.type==="api-description",r=b&&v&&n(b)||{};return{status:"success",entity:C.entity,relatedEntity:C.relatedEntity,relations:C.relations,entitiesCatalogConfig:c,catalogConfig:o,sharedDataIds:r}},K=(e,a)=>Object.values(e.catalogs??{}).find(i=>i&&typeof i=="object"&&"slug"in i&&i.slug===a),z=(e,a,i)=>Object.values(e.catalogs??{}).filter(t=>!t?.hide&&!i.includes(t?.slug??"")).map(t=>({labelTranslationKey:t?.catalogSwitcherLabelTranslationKey??t?.slug??"",slug:t?.slug??"",selected:t?.slug===a.slug})).sort((t,n)=>t.slug.localeCompare(n.slug)),W=(e,a)=>({op:"AND",conditions:[...e.length?[{field:"type",operator:"in",value:e}]:[],...a.length?[{field:"key",operator:"in",value:a,modifier:"not"}]:[]]}),j=(e,a,i)=>{let t=e;if(a!==void 0){const n={field:"version",operator:"equal",value:a};t=t?{op:E.AND,conditions:[t,n]}:n}if(i){const n={field:"revision",operator:"equal",value:i};t=t?{op:E.AND,conditions:[t,n]}:n}return t},B=["type","key","title","summary","tags","metadata","metadata.*","git","contact","links","id","source","sourceFile","createdAt","updatedAt"];var st=x;export{st as default};
@@ -1 +1 @@
1
- import{FileType as c}from"../../persistence/file-hashes/types.js";import{telemetryTraceStep as _}from"../../../cli/telemetry/helpers/trace-step.js";import{catalogDataCollector as P}from"./utils/catalog-data-collector.js";import{CATALOG_BASE_SLUG as p,CATALOG_FILTERS_CACHE_NAMESPACE as I,ENTITIES_MAP_GLOBAL_DATA_KEY as v}from"../../constants/plugins/catalog-entities.js";import{CacheService as h}from"../../persistence/cache/services/cache-service.js";import{getTemplatePath as E}from"./utils/get-template-path.js";import{getCompleteCatalogConfig as N}from"./get-complete-catalog-config.js";import{AsyncApiEntitiesExtractor as b}from"./extensions/extractors/api-description/asyncapi-entities-extractor.js";import{GraphqlEntitiesExtractor as L}from"./extensions/extractors/api-description/graphql-entities-extractor.js";import{FileHashesService as w}from"../../persistence/file-hashes/services/file-hashes-service.js";import{CatalogEntitiesService as R}from"./database/catalog-entities-service.js";import{ArazzoEntitiesExtractor as G}from"./extensions/extractors/api-description/arazzo-entities-extractor.js";import{FsEntitiesExtractor as x}from"./extensions/extractors/fs-entities-extractor.js";import{HashManager as F}from"./utils/hash-manager.js";import{OpenApiEntitiesExtractor as B}from"./extensions/extractors/api-description/openapi-entities-extractor.js";const H="catalog-entity-template",M="catalog-entity";let u=!0;async function Y(){return{id:"CatalogEntities",requiredEntitlements:["catalog"],async processContent(t,i){await _("build.plugin.catalog_entities",async r=>{if(process.env.NEW_CATALOG_ENABLED!=="true")return;const f=await i.getConfig(),s=N(f.entitiesCatalog);if(r?.setAttribute("config",JSON.stringify(s)),!s.show)return;const{logger:l}=i,A=process.env.NODE_ENV==="development"||process.env.REDOCLY_LOCAL_DEV==="true",a=u&&A,e=await R.getInstance({baseDbDir:t.serverOutDir,removeExisting:a,runOnlyLocalDatabase:!0,runWithPragmaWalWriteOptimization:!0}),C=await w.getInstance({baseDbDir:t.serverOutDir}),o=new F(C),T=[new x({fileHashManager:o,context:i,catalogEntitiesService:e,catalogConfig:s,shouldCalculateEntities:a}),new B({actions:t,context:i,catalogEntitiesService:e,fileHashManager:o,fileType:c.OPENAPI_DESCRIPTION,shouldCalculateEntities:a}),new b({actions:t,context:i,catalogEntitiesService:e,fileHashManager:o,fileType:c.ASYNCAPI_DESCRIPTION,shouldCalculateEntities:a}),new L({actions:t,context:i,catalogEntitiesService:e,fileHashManager:o,fileType:c.GRAPHQL_DESCRIPTION,shouldCalculateEntities:a}),new G({actions:t,context:i,catalogEntitiesService:e,fileHashManager:o,fileType:c.ARAZZO_DESCRIPTION,shouldCalculateEntities:a})];l.info("Starting entities extractors...");const y=l.startTiming();await e.transaction(async()=>{await Promise.all(T.map(async m=>m.extract()))});const d=e.getEntitySources();t.setGlobalData({[v]:d}),await(await h.getInstance({baseDbDir:t.serverOutDir})).deleteByNamespace(I),l.infoTime(y,"Entities extractors finished");const S=t.registerServerPropsGetter(M,E("../get-server-props.js")),D=t.createTemplate(H,E("../template/index.js"));t.addRoute({duplicateInAllLocales:!0,slug:p,fsPath:"",templateId:D,excludeFromSidebar:!0,hasClientRoutes:!0,serverPropsGetterIds:[S],getNavText:()=>Promise.resolve("Catalog"),getStaticData:async()=>({props:{catalogConfig:s}})});const[g]=Object.entries(s.catalogs??{}).find(([m,O])=>!O?.hide)||[];g&&t.addRedirect(p,{type:302,to:`${p}/${g}`});const n=await P.getCatalogEntitiesData(e);r?.setAttribute("totalEntities",n.totalEntitiesCount),r?.setAttribute("entitiesCountByType",JSON.stringify(n.countOfEntitiesByType)),r?.setAttribute("totalFilesSkippedByHash",n.totalFilesSkippedByHash),r?.setAttribute("totalProcessedFiles",n.totalProcessedFiles),r?.setAttribute("extractors",n.extractors),l.info("Catalog Entities plugin finished"),u=!1})}}}var rt=Y;export{Y as catalogEntitiesPlugin,rt as default};
1
+ import{FileType as p}from"../../persistence/file-hashes/types.js";import{envConfig as P}from"../../config/env-config.js";import{deepEqual as I}from"../../../utils/object/deep-equal.js";import{CATALOG_BASE_SLUG as u}from"../../../constants/catalog-entities.js";import{telemetryTraceStep as D}from"../../../cli/telemetry/helpers/trace-step.js";import{catalogDataCollector as O}from"./utils/catalog-data-collector.js";import{CATALOG_FILTERS_CACHE_NAMESPACE as b,ENTITIES_MAP_GLOBAL_DATA_KEY as _}from"../../constants/plugins/catalog-entities.js";import{CacheService as v}from"../../persistence/cache/services/cache-service.js";import{getTemplatePath as f}from"./utils/get-template-path.js";import{getCompleteCatalogConfig as E}from"./get-complete-catalog-config.js";import{AsyncApiEntitiesExtractor as w}from"./extensions/extractors/api-description/asyncapi-entities-extractor.js";import{GraphqlEntitiesExtractor as R}from"./extensions/extractors/api-description/graphql-entities-extractor.js";import{FileHashesService as N}from"../../persistence/file-hashes/services/file-hashes-service.js";import{CatalogEntitiesService as L}from"./database/catalog-entities-service.js";import{ArazzoEntitiesExtractor as G}from"./extensions/extractors/api-description/arazzo-entities-extractor.js";import{FsEntitiesExtractor as x}from"./extensions/extractors/fs-entities-extractor.js";import{HashManager as F}from"./utils/hash-manager.js";import{OpenApiEntitiesExtractor as H}from"./extensions/extractors/api-description/openapi-entities-extractor.js";const B="catalog-entity-template",M="catalog-entity";let C=!0,d;async function Y(){return{id:"CatalogEntities",requiredEntitlements:["catalog"],async processContent(t,e){const a=await e.getConfig(),r=E(a.entitiesCatalog);if(!r.show)return;const{logger:s}=e,n=t.registerServerPropsGetter(M,f("../get-server-props.js")),g=t.createTemplate(B,f("../template/index.js"));t.addRoute({duplicateInAllLocales:!0,slug:u,fsPath:"",templateId:g,excludeFromSidebar:!0,hasClientRoutes:!0,serverPropsGetterIds:[n],getNavText:()=>Promise.resolve("Catalog"),getStaticData:async()=>({props:{catalogConfig:r}})});const[m]=Object.entries(r.catalogs??{}).find(([o,i])=>!i?.hide)||[];m&&t.addRedirect(u,{type:302,to:`${u}/${m}`}),s.info("Catalog Entities plugin finished")},async afterRoutesCreated(t,e){await D("build.plugin.catalog_entities",async a=>{const r=await e.getConfig(),s=E(r.entitiesCatalog);if(a?.setAttribute("config",JSON.stringify(s)),!s.show)return;const{logger:n}=e,g=C&&P.isDevelopMode,m=!I(d,r.rbac);d=r.rbac;const o=g||m,i=await L.getInstance({baseDbDir:t.serverOutDir,removeExisting:g,runOnlyLocalDatabase:!0,runWithPragmaWalWriteOptimization:!0}),A=await N.getInstance({baseDbDir:t.serverOutDir}),l=new F(A),T=[new x({fileHashManager:l,context:e,catalogEntitiesService:i,catalogConfig:s,shouldCalculateEntities:o}),new H({actions:t,context:e,catalogEntitiesService:i,fileHashManager:l,fileType:p.OPENAPI_DESCRIPTION,shouldCalculateEntities:o}),new w({actions:t,context:e,catalogEntitiesService:i,fileHashManager:l,fileType:p.ASYNCAPI_DESCRIPTION,shouldCalculateEntities:o}),new R({actions:t,context:e,catalogEntitiesService:i,fileHashManager:l,fileType:p.GRAPHQL_DESCRIPTION,shouldCalculateEntities:o}),new G({actions:t,context:e,catalogEntitiesService:i,fileHashManager:l,fileType:p.ARAZZO_DESCRIPTION,shouldCalculateEntities:o})];n.info("Starting entities extractors...");const y=n.startTiming();await i.transaction(async()=>{await Promise.all(T.map(async S=>S.extract()))});const h=i.getEntitySources();t.setGlobalData({[_]:h}),await(await v.getInstance({baseDbDir:t.serverOutDir})).deleteByNamespace(b),n.infoTime(y,"Entities extractors finished");const c=await O.getCatalogEntitiesData(i);a?.setAttribute("totalEntities",c.totalEntitiesCount),a?.setAttribute("entitiesCountByType",JSON.stringify(c.countOfEntitiesByType)),a?.setAttribute("totalFilesSkippedByHash",c.totalFilesSkippedByHash),a?.setAttribute("totalProcessedFiles",c.totalProcessedFiles),a?.setAttribute("extractors",c.extractors),C=!1})}}}var st=Y;export{Y as catalogEntitiesPlugin,st as default};
@@ -129,6 +129,9 @@ export declare const entityDatabaseSchema: {
129
129
  readonly is_deleted: {
130
130
  readonly type: readonly ["boolean", "null"];
131
131
  };
132
+ readonly rbac_teams: {
133
+ readonly type: readonly ["string", "null"];
134
+ };
132
135
  };
133
136
  readonly required: readonly ["id", "organization_id", "project_id", "key", "type", "title", "created_at", "updated_at", "source"];
134
137
  readonly additionalProperties: false;
@@ -1 +1 @@
1
- import{ENTITY_RELATION_TYPES as t}from"@redocly/config";const i={type:"object",properties:{id:{type:"string"},organization_id:{type:"string"},project_id:{type:"string"},source_key:{type:"string"},source_id:{type:["string","null"]},source_version:{type:["string","null"]},source_revision:{type:["string","null"]},source_to_target_relation:{type:"string"},target_key:{type:"string"},target_id:{type:["string","null"]},target_version:{type:["string","null"]},target_revision:{type:["string","null"]},target_to_source_relation:{type:"string"},source_file:{type:["string","null"]},file_hash:{type:["string","null"]},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","organization_id","project_id","source_key","source_to_target_relation","target_key","target_to_source_relation","created_at","updated_at"],additionalProperties:!1},n={type:"object",properties:{id:{type:"string"},organization_id:{type:"string"},project_id:{type:"string"},key:{type:"string"},type:{type:"string"},title:{type:"string"},summary:{type:["string","null"]},tags:{type:["string","null"]},metadata:{type:["string","null"]},git:{type:["string","null"]},contact:{type:["string","null"]},links:{type:["string","null"]},created_at:{type:"string"},updated_at:{type:"string"},source:{type:"string"},source_file:{type:["string","null"]},file_hash:{type:["string","null"]},version:{type:["string","null"]},revision:{type:["string","null"]},hash:{type:["string","null"]},is_current:{type:["boolean","null"]},is_default_version:{type:["boolean","null"]},is_deleted:{type:["boolean","null"]}},required:["id","organization_id","project_id","key","type","title","created_at","updated_at","source"],additionalProperties:!1},r={type:"object",properties:{id:{type:"string"},key:{type:"string"},title:{type:"string"},type:{type:"string"},summary:{type:["string","null"]},source:{type:"string"},relation_role:{type:["string","null"]},relation_type:{type:["string","null"],enum:t},source_file:{type:["string","null"]},created_at:{type:["string","null"]},updated_at:{type:["string","null"]},metadata:{type:["string","null"]},version:{type:["string","null"]}},required:["id","key","title","type","source"],additionalProperties:!1},s={type:"object",properties:{id:{type:"string",minLength:1},key:{type:"string",minLength:1},title:{type:"string",minLength:1},type:{type:"string",minLength:1},summary:{type:["string","null"]},source:{type:"string",minLength:1},source_file:{type:["string","null"]},created_at:{type:["string","null"]},updated_at:{type:["string","null"]},metadata:{type:["string","object","null"]},version:{type:["string","null"]},revision:{type:["string","null"]},direction:{type:"string",enum:["outgoing","incoming"]},relation_field:{type:"string",minLength:1}},required:["id","key","title","type","source","direction","relation_field"],additionalProperties:!1};export{n as entityDatabaseSchema,i as entityRelationDatabaseSchema,r as relatedEntityDatabaseSchema,s as relatedEntityQueryRowDatabaseSchema};
1
+ import{ENTITY_RELATION_TYPES as t}from"@redocly/config";const i={type:"object",properties:{id:{type:"string"},organization_id:{type:"string"},project_id:{type:"string"},source_key:{type:"string"},source_id:{type:["string","null"]},source_version:{type:["string","null"]},source_revision:{type:["string","null"]},source_to_target_relation:{type:"string"},target_key:{type:"string"},target_id:{type:["string","null"]},target_version:{type:["string","null"]},target_revision:{type:["string","null"]},target_to_source_relation:{type:"string"},source_file:{type:["string","null"]},file_hash:{type:["string","null"]},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","organization_id","project_id","source_key","source_to_target_relation","target_key","target_to_source_relation","created_at","updated_at"],additionalProperties:!1},n={type:"object",properties:{id:{type:"string"},organization_id:{type:"string"},project_id:{type:"string"},key:{type:"string"},type:{type:"string"},title:{type:"string"},summary:{type:["string","null"]},tags:{type:["string","null"]},metadata:{type:["string","null"]},git:{type:["string","null"]},contact:{type:["string","null"]},links:{type:["string","null"]},created_at:{type:"string"},updated_at:{type:"string"},source:{type:"string"},source_file:{type:["string","null"]},file_hash:{type:["string","null"]},version:{type:["string","null"]},revision:{type:["string","null"]},hash:{type:["string","null"]},is_current:{type:["boolean","null"]},is_default_version:{type:["boolean","null"]},is_deleted:{type:["boolean","null"]},rbac_teams:{type:["string","null"]}},required:["id","organization_id","project_id","key","type","title","created_at","updated_at","source"],additionalProperties:!1},r={type:"object",properties:{id:{type:"string"},key:{type:"string"},title:{type:"string"},type:{type:"string"},summary:{type:["string","null"]},source:{type:"string"},relation_role:{type:["string","null"]},relation_type:{type:["string","null"],enum:t},source_file:{type:["string","null"]},created_at:{type:["string","null"]},updated_at:{type:["string","null"]},metadata:{type:["string","null"]},version:{type:["string","null"]}},required:["id","key","title","type","source"],additionalProperties:!1},s={type:"object",properties:{id:{type:"string",minLength:1},key:{type:"string",minLength:1},title:{type:"string",minLength:1},type:{type:"string",minLength:1},summary:{type:["string","null"]},source:{type:"string",minLength:1},source_file:{type:["string","null"]},created_at:{type:["string","null"]},updated_at:{type:["string","null"]},metadata:{type:["string","object","null"]},version:{type:["string","null"]},revision:{type:["string","null"]},direction:{type:"string",enum:["outgoing","incoming"]},relation_field:{type:"string",minLength:1}},required:["id","key","title","type","source","direction","relation_field"],additionalProperties:!1};export{n as entityDatabaseSchema,i as entityRelationDatabaseSchema,r as relatedEntityDatabaseSchema,s as relatedEntityQueryRowDatabaseSchema};
@@ -1,5 +1,16 @@
1
1
  import { type EntityBaseFileSchema } from '@redocly/config';
2
2
  import type { FromSchema } from 'json-schema-to-ts';
3
+ export declare const entityAttributesDtoSchema: {
4
+ readonly type: "object";
5
+ readonly properties: {
6
+ readonly rbacTeams: {
7
+ readonly type: "array";
8
+ readonly items: {
9
+ readonly type: "string";
10
+ };
11
+ };
12
+ };
13
+ };
3
14
  export declare const entityRelationDtoSchema: {
4
15
  readonly type: "object";
5
16
  readonly properties: {
@@ -89,5 +100,8 @@ export declare const entitiesRelationsDtoSchema: {
89
100
  };
90
101
  export type EntityRelationDtoSchema = FromSchema<typeof entityRelationDtoSchema>;
91
102
  export type EntitiesRelationsDtoSchema = FromSchema<typeof entitiesRelationsDtoSchema>;
92
- export type EntityDtoSchema = EntityBaseFileSchema;
103
+ export type EntityDtoSchema = EntityBaseFileSchema & {
104
+ revision?: string;
105
+ };
106
+ export type EntityAttributesDtoSchema = FromSchema<typeof entityAttributesDtoSchema>;
93
107
  //# sourceMappingURL=dto-schemas.d.ts.map
@@ -1 +1 @@
1
- import{ENTITY_RELATION_TYPES as e}from"@redocly/config";const t={type:"object",properties:{type:{type:"string",enum:e},sourceKey:{type:"string",minLength:2,maxLength:150},targetKey:{type:"string",minLength:2,maxLength:150},sourceVersion:{type:["string","null"]},sourceRevision:{type:["string","null"]},targetVersion:{type:["string","null"]},targetRevision:{type:["string","null"]},sourceFile:{type:["string","null"]},fileHash:{type:["string","null"]},isDeleted:{type:["boolean","null"]}},required:["type","sourceKey","targetKey"],additionalProperties:!1},i={type:"array",items:t};export{i as entitiesRelationsDtoSchema,t as entityRelationDtoSchema};
1
+ import{ENTITY_RELATION_TYPES as e}from"@redocly/config";const n={type:"object",properties:{rbacTeams:{type:"array",items:{type:"string"}}}},t={type:"object",properties:{type:{type:"string",enum:e},sourceKey:{type:"string",minLength:2,maxLength:150},targetKey:{type:"string",minLength:2,maxLength:150},sourceVersion:{type:["string","null"]},sourceRevision:{type:["string","null"]},targetVersion:{type:["string","null"]},targetRevision:{type:["string","null"]},sourceFile:{type:["string","null"]},fileHash:{type:["string","null"]},isDeleted:{type:["boolean","null"]}},required:["type","sourceKey","targetKey"],additionalProperties:!1},i={type:"array",items:t};export{i as entitiesRelationsDtoSchema,n as entityAttributesDtoSchema,t as entityRelationDtoSchema};
@@ -1,159 +1,23 @@
1
- import type { FromSchema } from 'json-schema-to-ts';
2
1
  import type { EntityLinkFileSchema, EntityContactFileSchema } from '@redocly/config';
3
- export declare const entityRelationReadModelSchema: {
4
- readonly type: "object";
5
- readonly properties: {
6
- readonly id: {
7
- readonly type: "string";
8
- };
9
- readonly organizationId: {
10
- readonly type: "string";
11
- };
12
- readonly projectId: {
13
- readonly type: "string";
14
- };
15
- readonly sourceKey: {
16
- readonly type: "string";
17
- };
18
- readonly targetKey: {
19
- readonly type: "string";
20
- };
21
- readonly sourceVersion: {
22
- readonly type: readonly ["string", "null"];
23
- };
24
- readonly sourceRevision: {
25
- readonly type: readonly ["string", "null"];
26
- };
27
- readonly targetVersion: {
28
- readonly type: readonly ["string", "null"];
29
- };
30
- readonly targetRevision: {
31
- readonly type: readonly ["string", "null"];
32
- };
33
- readonly type: {
34
- readonly type: "string";
35
- };
36
- readonly createdAt: {
37
- readonly type: readonly ["string", "null"];
38
- };
39
- readonly updatedAt: {
40
- readonly type: readonly ["string", "null"];
41
- };
42
- };
43
- readonly required: readonly ["id", "organizationId", "projectId", "sourceKey", "targetKey", "type"];
44
- readonly additionalProperties: false;
45
- };
46
- export declare const entityReadModelSchema: {
47
- readonly type: "object";
48
- readonly properties: {
49
- readonly type: {
50
- readonly type: "string";
51
- };
52
- readonly key: {
53
- readonly type: "string";
54
- };
55
- readonly title: {
56
- readonly type: "string";
57
- };
58
- readonly summary: {
59
- readonly type: readonly ["string", "null"];
60
- };
61
- readonly tags: {
62
- readonly type: readonly ["array", "null"];
63
- readonly items: {
64
- readonly type: "string";
65
- };
66
- };
67
- readonly metadata: {
68
- readonly type: readonly ["object", "null"];
69
- readonly additionalProperties: true;
70
- };
71
- readonly git: {
72
- readonly type: readonly ["array", "null"];
73
- readonly items: {
74
- readonly type: "string";
75
- };
76
- };
77
- readonly contact: {
78
- readonly type: readonly ["object", "null"];
79
- };
80
- readonly links: {
81
- readonly type: readonly ["array", "null"];
82
- readonly items: {
83
- readonly type: "object";
84
- };
85
- };
86
- readonly id: {
87
- readonly type: "string";
88
- };
89
- readonly source: {
90
- readonly type: "string";
91
- };
92
- readonly sourceFile: {
93
- readonly type: readonly ["string", "null"];
94
- };
95
- readonly version: {
96
- readonly type: readonly ["string", "null"];
97
- };
98
- readonly revision: {
99
- readonly type: readonly ["string", "null"];
100
- };
101
- readonly hash: {
102
- readonly type: readonly ["string", "null"];
103
- };
104
- readonly isCurrent: {
105
- readonly type: readonly ["boolean", "null"];
106
- };
107
- readonly isDefaultVersion: {
108
- readonly type: readonly ["boolean", "null"];
109
- };
110
- readonly createdAt: {
111
- readonly type: readonly ["string", "null"];
112
- };
113
- readonly updatedAt: {
114
- readonly type: readonly ["string", "null"];
115
- };
116
- };
117
- readonly required: readonly ["type", "key", "title", "id", "source"];
118
- readonly additionalProperties: false;
119
- };
120
- export declare const relatedEntitySchema: {
121
- readonly type: "object";
122
- readonly properties: {
123
- readonly id: {
124
- readonly type: "string";
125
- };
126
- readonly key: {
127
- readonly type: "string";
128
- };
129
- readonly title: {
130
- readonly type: "string";
131
- };
132
- readonly type: {
133
- readonly type: "string";
134
- };
135
- readonly summary: {
136
- readonly type: readonly ["string", "null"];
137
- };
138
- readonly source: {
139
- readonly type: "string";
140
- };
141
- readonly sourceFile: {
142
- readonly type: readonly ["string", "null"];
143
- };
144
- readonly createdAt: {
145
- readonly type: readonly ["string", "null"];
146
- };
147
- readonly updatedAt: {
148
- readonly type: readonly ["string", "null"];
149
- };
150
- };
151
- readonly required: readonly ["id", "key", "title", "type", "source"];
152
- readonly additionalProperties: false;
2
+ export type EntityRelationReadModelSchema = {
3
+ id: string;
4
+ organizationId: string;
5
+ projectId: string;
6
+ sourceKey: string;
7
+ targetKey: string;
8
+ sourceVersion?: string | null;
9
+ sourceRevision?: string | null;
10
+ targetVersion?: string | null;
11
+ targetRevision?: string | null;
12
+ type: string;
13
+ createdAt: string;
14
+ updatedAt: string;
15
+ object: 'catalogEntityRelation';
153
16
  };
154
- export type EntityRelationReadModelSchema = FromSchema<typeof entityRelationReadModelSchema>;
155
- export type RelatedEntitySchema = FromSchema<typeof relatedEntitySchema>;
156
17
  export type EntityReadModelSchema = {
18
+ id: string;
19
+ organizationId: string;
20
+ projectId: string;
157
21
  type: string;
158
22
  key: string;
159
23
  title: string;
@@ -163,20 +27,18 @@ export type EntityReadModelSchema = {
163
27
  git?: string[] | null;
164
28
  contact?: EntityContactFileSchema | null;
165
29
  links?: EntityLinkFileSchema[] | null;
166
- id: string;
167
30
  source: string;
168
31
  sourceFile?: string | null;
169
- version?: string | null;
32
+ version: string;
170
33
  revision: string;
171
- hash?: string | null;
172
- isCurrent?: boolean | null;
173
- isDefaultVersion?: boolean | null;
174
- isDeleted?: boolean | null;
175
- createdAt?: string | null;
176
- updatedAt?: string | null;
34
+ isCurrent: boolean;
35
+ isDefaultVersion: boolean;
36
+ isDeleted: boolean;
177
37
  object: 'catalogEntity';
178
- domains?: RelatedEntitySchema[];
179
- owners?: RelatedEntitySchema[];
38
+ createdAt: string;
39
+ updatedAt: string;
40
+ rbacTeams?: string[] | null;
41
+ hash?: string | null;
180
42
  };
181
- export type EntityRevisionSummary = Pick<EntityReadModelSchema, 'version' | 'revision' | 'isCurrent' | 'createdAt' | 'updatedAt' | 'isDefaultVersion' | 'isDeleted'>;
43
+ export type EntityRevisionSummary = Pick<EntityReadModelSchema, 'version' | 'revision' | 'isCurrent' | 'createdAt' | 'updatedAt' | 'isDefaultVersion'>;
182
44
  //# sourceMappingURL=read-model-schemas.d.ts.map
@@ -1 +0,0 @@
1
- const t={type:"object",properties:{id:{type:"string"},organizationId:{type:"string"},projectId:{type:"string"},sourceKey:{type:"string"},targetKey:{type:"string"},sourceVersion:{type:["string","null"]},sourceRevision:{type:["string","null"]},targetVersion:{type:["string","null"]},targetRevision:{type:["string","null"]},type:{type:"string"},createdAt:{type:["string","null"]},updatedAt:{type:["string","null"]}},required:["id","organizationId","projectId","sourceKey","targetKey","type"],additionalProperties:!1},e={type:"object",properties:{type:{type:"string"},key:{type:"string"},title:{type:"string"},summary:{type:["string","null"]},tags:{type:["array","null"],items:{type:"string"}},metadata:{type:["object","null"],additionalProperties:!0},git:{type:["array","null"],items:{type:"string"}},contact:{type:["object","null"]},links:{type:["array","null"],items:{type:"object"}},id:{type:"string"},source:{type:"string"},sourceFile:{type:["string","null"]},version:{type:["string","null"]},revision:{type:["string","null"]},hash:{type:["string","null"]},isCurrent:{type:["boolean","null"]},isDefaultVersion:{type:["boolean","null"]},createdAt:{type:["string","null"]},updatedAt:{type:["string","null"]}},required:["type","key","title","id","source"],additionalProperties:!1},r={type:"object",properties:{id:{type:"string"},key:{type:"string"},title:{type:"string"},type:{type:"string"},summary:{type:["string","null"]},source:{type:"string"},sourceFile:{type:["string","null"]},createdAt:{type:["string","null"]},updatedAt:{type:["string","null"]}},required:["id","key","title","type","source"],additionalProperties:!1};export{e as entityReadModelSchema,t as entityRelationReadModelSchema,r as relatedEntitySchema};
@@ -1,13 +1,13 @@
1
1
  import type { ApiDescriptionMetadataSchema } from '@redocly/config';
2
- import type { ProcessContentActions } from '../../../types/plugins/common';
3
- import type { LifecycleContext } from '../../../types/plugins/common';
2
+ import type { AfterRoutesCreatedActions } from '../../../types/plugins/common';
3
+ import type { AfterRoutesCreatedLifecycleContext } from '../../../types/plugins/common';
4
4
  import type { CatalogEntitiesService } from '../database/catalog-entities-service.js';
5
5
  import type { FileType } from '../../../persistence/file-hashes/types.js';
6
6
  import type { HashManager } from '../utils/hash-manager.js';
7
7
  export type SpecType = Exclude<ApiDescriptionMetadataSchema['specType'], 'jsonschema' | 'avro' | 'zod' | 'protobuf'>;
8
8
  export type BaseApiEntitiesExtractorParams = {
9
- actions: ProcessContentActions;
10
- context: LifecycleContext;
9
+ actions: AfterRoutesCreatedActions;
10
+ context: AfterRoutesCreatedLifecycleContext;
11
11
  catalogEntitiesService: CatalogEntitiesService;
12
12
  fileHashManager: HashManager;
13
13
  fileType: FileType;
@@ -0,0 +1,11 @@
1
+ import type { REDOCLY_TEAMS_RBAC } from '@redocly/config';
2
+ import type { OpenAPIOperation, OpenAPISchema } from '@redocly/openapi-docs';
3
+ export type RedoclyOpenAPISchema = OpenAPISchema & {
4
+ [REDOCLY_TEAMS_RBAC]?: Record<string, string>;
5
+ 'x-rbac'?: Record<string, string>;
6
+ };
7
+ export type RedoclyOpenapiOperation = OpenAPIOperation & {
8
+ [REDOCLY_TEAMS_RBAC]?: Record<string, string>;
9
+ 'x-rbac'?: Record<string, string>;
10
+ };
11
+ //# sourceMappingURL=openapi.d.ts.map
@@ -0,0 +1,6 @@
1
+ export type GetEntityByIdParams = {
2
+ rbacTeams?: string[];
3
+ excludedTypes?: string[];
4
+ excludedEntities?: string[];
5
+ };
6
+ //# sourceMappingURL=params.d.ts.map
@@ -1 +1 @@
1
- import d from"@redocly/ajv";const o=new d({coerceTypes:!0,removeAdditional:!0,discriminator:!0,allErrors:!0});o.addFormat("uri",{type:"string",validate:e=>{try{return new URL(e),!0}catch{return!1}}}),o.addFormat("email",{type:"string",validate:e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)});function f(e,t){const{errorPrefix:n,dataVar:a="data"}=t??{},r=o.compile(e);return function(i){if(!r(i)){const c=r.errors?.length?r.errors.map(s=>{const u=s.instancePath.replaceAll("/",".");return`'${a}${u}' ${s.message}`}).join(", "):"unknown error",l=n?`${n} `:"";throw new Error(`${l}${c}`)}return i}}function h(e,t){const n=o.compile(e),a=n(t);return{success:a,data:a?t:void 0,error:a?void 0:n.errors?.map(r=>`${r.instancePath} ${r.message}`).join(", ")}}export{f as createValidator,h as validateWithResult};
1
+ import u from"@redocly/ajv";const o=new u({coerceTypes:!0,removeAdditional:!0,discriminator:!0,allErrors:!0});o.addKeyword({keyword:"nodeTypeName",schemaType:"string"}),o.addFormat("uri",{type:"string",validate:e=>{try{return new URL(e),!0}catch{return!1}}}),o.addFormat("email",{type:"string",validate:e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)});function f(e,t){const{errorPrefix:a,dataVar:n="data"}=t??{},r=o.compile(e);return function(i){if(!r(i)){const c=r.errors?.length?r.errors.map(s=>{const l=s.instancePath.replaceAll("/",".");return`'${n}${l}' ${s.message}`}).join(", "):"unknown error",d=a?`${a} `:"";throw new Error(`${d}${c}`)}return i}}function h(e,t){const a=o.compile(e),n=a(t);return{success:n,data:n?t:void 0,error:n?void 0:a.errors?.map(r=>`${r.instancePath} ${r.message}`).join(", ")}}export{f as createValidator,h as validateWithResult};
@@ -1 +1 @@
1
- const i="error";class n{#t=new Set;#e;#s;#i=0;#o=0;addExtractor(t){this.#t.add(t)}increaseSkippedFilesCount(){this.#i++}increaseProcessedFilesCount(){this.#o++}async getCatalogEntitiesData(t){this.#e=this.#a(t),this.#s=this.#n(t);const[s,e]=await Promise.allSettled([this.#e,this.#s]);return{totalEntitiesCount:s.status==="fulfilled"?s.value:i,countOfEntitiesByType:e.status==="fulfilled"?e.value:i,extractors:Array.from(this.#t),totalFilesSkippedByHash:this.#i,totalProcessedFiles:this.#o}}async#a(t){return(await t.getEntities({limit:1,filter:{field:"is_deleted",operator:"equal",value:!1}})).page.total}async#n(t){return(await t.getEntitiesCountByTypes()).reduce((e,{type:o,count:a})=>(e[o]=a,e),{})}}const r=new n;export{n as CatalogDataCollector,r as catalogDataCollector};
1
+ const i="error";class n{#t=new Set;#e;#s;#i=0;#a=0;addExtractor(t){this.#t.add(t)}increaseSkippedFilesCount(){this.#i++}increaseProcessedFilesCount(){this.#a++}async getCatalogEntitiesData(t){this.#e=this.#o(t),this.#s=this.#n(t);const[s,e]=await Promise.allSettled([this.#e,this.#s]);return{totalEntitiesCount:s.status==="fulfilled"?s.value:i,countOfEntitiesByType:e.status==="fulfilled"?e.value:i,extractors:Array.from(this.#t),totalFilesSkippedByHash:this.#i,totalProcessedFiles:this.#a}}async#o(t){return(await t.getEntities({paginationParams:{limit:1,filter:{field:"is_deleted",operator:"equal",value:!1}}})).page.total}async#n(t){return(await t.getEntitiesCountByTypes()).reduce((e,{type:a,count:o})=>(e[a]=o,e),{})}}const r=new n;export{n as CatalogDataCollector,r as catalogDataCollector};
@@ -0,0 +1,11 @@
1
+ import type { RedoclyConfig } from '@redocly/config';
2
+ export declare function getNotAccessibleCatalogResources({ rbacConfig, currentRbacTeams, accessLevel, }: {
3
+ rbacConfig: RedoclyConfig['rbac'];
4
+ currentRbacTeams: string[];
5
+ accessLevel?: 'READ' | 'WRITE';
6
+ }): {
7
+ catalogs: string[];
8
+ types: string[];
9
+ entities: string[];
10
+ };
11
+ //# sourceMappingURL=get-not-accessible-catalog-resources.d.ts.map
@@ -0,0 +1 @@
1
+ import{RBAC_ALL_OTHER_TEAMS as c}from"../../../../constants/common.js";const g=["read","triage","write","maintain","admin"],r=["write","maintain","admin"];function E({rbacConfig:i,currentRbacTeams:s,accessLevel:n="READ"}){const a=[],f=[],e=[];if(n==="READ")for(const[t,o]of Object.entries(i?.entitiesCatalog?.catalogs??{}))o&&(l(o,s,n)||a.push(t));for(const[t,o]of Object.entries(i?.entitiesCatalog?.entitiesTypes??{}))o&&(l(o,s,n)||f.push(t));i?.entitiesCatalog?.entitiesGroups?.forEach(t=>{l(t.config,s,n)||e.push(...t.entities??[])});for(const[t,o]of Object.entries(i?.entitiesCatalog?.entities??{}))o&&(l(o,s,n)||e.push(t));return{catalogs:[...new Set(a)],types:[...new Set(f)],entities:[...new Set(e)]}}function l(i,s,n){const a=i[c],f=n==="WRITE"?r:g,e=[];for(const t of s)i[t]?e.push(i[t]):a&&e.push(a);return e.length>0&&e.some(t=>f.includes(t.toLowerCase()))}export{E as getNotAccessibleCatalogResources};
@@ -1 +1 @@
1
- import y from"path";import{REDOCLY_ROUTE_RBAC as n,REDOCLY_TEAMS_RBAC as b}from"@redocly/config";import{deepMerge as h}from"../../../utils/object/deep-merge.js";import{buildWildcardRedirectsTree as R}from"../../utils/redirects/build-wildcard-redirects-tree.js";import{formatCustomScripts as m,formatCustomLinks as C}from"./format-custom-tags.js";import{applyL10nToRbacConfig as S,resolveDirectoryHashes as D}from"../../utils/rbac.js";import{copySeoAssets as P}from"./copy-seo-assets.js";import{normalizeRedirectSources as T}from"./normalize-redirect-sources.js";import{applyL10nToRedirects as v}from"./apply-l10n-to-redirects.js";import{DEFAULT_LOADERS as A}from"./loaders/index.js";import{resolveSearchFacets as L}from"./resolve-search-facets.js";import{telemetryTraceStep as w}from"../../../cli/telemetry/helpers/trace-step.js";async function U(){return{id:"Config Parser",loaders:A,async processContent(o,{getConfig:c,fs:i}){await w("build.plugin.config_parser",async t=>{const{contentDir:e,setGlobalConfig:s,setGlobalData:f}=o,r=await c(),a={outdir:o.outdir,contentDir:e},p=await m(r.scripts?.head,a),g=await C(r.links,a),u=await m(r.scripts?.body,a),d=h(r,{headScriptTags:p,linkTags:g,postBodyScriptTags:u});t?.setAttribute("config",JSON.stringify(d));const l=r.redirects?T(r.redirects):{};s({...d,requiresLogin:!!r.requiresLogin,rbac:S(i,r.rbac||{}),directoryPaths:await D(i,r.rbac),seo:r.seo&&await P(r.seo,a.contentDir,a.outdir),redirects:v(l,r.l10n),wildcardRedirectsTree:R(l)}),L(r.search?.filters?.facets||[],o.getSearchFacets,o.setSearchFacets),f({removeAttribution:!!r.removeAttribution})})},async afterRoutesCreated(o){const c=o.getGlobalConfig("rbac"),i=o.getGlobalConfig("directoryPaths");if(!(!c||Object.keys(c).length===0))for(const t of o.getAllRoutes()){if(t.versions&&i)for(const e of t.versions){const s=i[e.folderId],r=s==="."||s==="/"?"":s;e[n]={slug:e.link,fsPath:y.posix.join(r,"@"+e.version,"index.md")}}t[n]||t[b]||(t[n]={slug:t.slug,fsPath:t.fsPath})}}}}export{U as configParserPlugin};
1
+ import R from"path";import{REDOCLY_ROUTE_RBAC as l,REDOCLY_TEAMS_RBAC as m}from"@redocly/config";import{deepMerge as C}from"../../../utils/object/deep-merge.js";import{buildWildcardRedirectsTree as S}from"../../utils/redirects/build-wildcard-redirects-tree.js";import{formatCustomScripts as g,formatCustomLinks as D}from"./format-custom-tags.js";import{applyL10nToRbacConfig as P,resolveDirectoryHashes as T}from"../../utils/rbac.js";import{copySeoAssets as v}from"./copy-seo-assets.js";import{normalizeRedirectSources as A}from"./normalize-redirect-sources.js";import{applyL10nToRedirects as L}from"./apply-l10n-to-redirects.js";import{DEFAULT_LOADERS as w}from"./loaders/index.js";import{resolveSearchFacets as O}from"./resolve-search-facets.js";import{telemetryTraceStep as E}from"../../../cli/telemetry/helpers/trace-step.js";async function H(){return{id:"Config Parser",loaders:w,async processContent(t,{getConfig:n,fs:i}){await E("build.plugin.config_parser",async o=>{const{contentDir:e,setGlobalConfig:a,setGlobalData:d}=t,r=await n(),c={outdir:t.outdir,contentDir:e},u=await g(r.scripts?.head,c),b=await D(r.links,c),y=await g(r.scripts?.body,c),f=C(r,{headScriptTags:u,linkTags:b,postBodyScriptTags:y});o?.setAttribute("config",JSON.stringify(f));const p=r.redirects?A(r.redirects):{},h=f.banner?.map(s=>typeof s=="object"&&s!==null&&s.rbac?{...s,[m]:s.rbac}:s);a({...f,banner:h,requiresLogin:!!r.requiresLogin,rbac:P(i,r.rbac||{}),directoryPaths:await T(i,r.rbac),seo:r.seo&&await v(r.seo,c.contentDir,c.outdir),redirects:L(p,r.l10n),wildcardRedirectsTree:S(p)}),O(r.search?.filters?.facets||[],t.getSearchFacets,t.setSearchFacets),d({removeAttribution:!!r.removeAttribution})})},async afterRoutesCreated(t){const n=t.getGlobalConfig("rbac"),i=t.getGlobalConfig("directoryPaths");if(!(!n||Object.keys(n).length===0))for(const o of t.getAllRoutes()){if(o.versions&&i)for(const e of o.versions){const a=i[e.folderId],r=a==="."||a==="/"?"":a;e[l]={slug:e.link,fsPath:R.posix.join(r,"@"+e.version,"index.md")}}o[l]||o[m]||(o[l]={slug:o.slug,fsPath:o.fsPath})}}}}export{H as configParserPlugin};
@@ -1 +1 @@
1
- import f from"path";import{combineUrls as p}from"@redocly/theme/core/utils";import{VERSION_SEPARATOR as S}from"../../../constants/common.js";import{removeTrailingSlash as d}from"../../../../utils/url/remove-trailing-slash.js";import{slash as b}from"../../../../utils/path/slash.js";import{logger as c}from"../../../tools/notifiers/logger.js";import{getDefaultVersionByPath as v}from"./versions-config-loader.js";import{GithubSlugger as D,slug as E}from"../../../utils/index.js";import{parseBaseName as F}from"../../utils.js";const I=new Set([".jpg",".jpeg",".png",".gif",".webp",".svg",".ico",".avif",".mp3",".wav",".ogg",".m4a",".mp4",".avi",".mov",".webm",".pdf",".doc",".docx",".zip",".rar",".gz",".ttf",".woff",".woff2"]),A=async(i,{fs:e,cache:s})=>{const g=c.startTiming(),o=(await s.load("versions-config","versions-config")).data,t=new Map,n=new Map,r=new Set,l=new D;n.set(".","/"),n.set("/","/");const u=e.scan().sort((a,m)=>m.relativePath.localeCompare(a.relativePath));for(const{relativePath:a}of u){if(I.has(f.posix.extname(a)))continue;const{data:m}=await s.load(a,"is-ignored");if(m)continue;const h=b(a).replace(new RegExp("^(@i18n|@l10n)\\/"),""),w=v(a,o);N(h,{defaultVersion:w,fileSlugs:t,dirSlugs:n,allFileSlugsList:r,githubSlugger:l})}return c.verboseTime(g,"Calculated slugs. Number of file paths processed: "+u.length),{fileSlugs:t,dirSlugs:n}};function N(i,e){const s=e.fileSlugs.get(i);if(s)return s;let g=f.posix.dirname(i);const o=z(g,e)||"",{baseName:t,isIndexFile:n}=F(i),r=e.dirSlugs.has(f.posix.join(g,t));let l;if(!n&&r){const u=E(p(o,t,"/"));e.allFileSlugsList.has(u)||(l=u)}l||(l=n&&e.dirSlugs.get(g)||e.githubSlugger.slug(p(o,t))),l=d(l),e.fileSlugs.set(i,l),e.allFileSlugsList.add(l)}function z(i,e){if(e.dirSlugs.has(i))return e.dirSlugs.get(i);const s=d(f.posix.normalize(i)).split("/");let g="/",o="";for(const t of s){o=f.posix.join(o,t);const n=T(t,e.defaultVersion);let r=e.dirSlugs.get(o)||e.githubSlugger.slug(p("/",g,n));r.endsWith("/")||(r=r+"/"),e.dirSlugs.set(o,r),g=r}return e.dirSlugs.get(i)}function T(i,e){if(!i.startsWith(S))return i;const s=i.substring(S.length);return s===e?"":s}export{I as IGNORED_EXTS,A as contentSlugsLoader};
1
+ import f from"path";import{combineUrls as m}from"@redocly/theme/core/utils";import{VERSION_SEPARATOR as p}from"../../../constants/common.js";import{removeTrailingSlash as d}from"../../../../utils/url/remove-trailing-slash.js";import{slash as b}from"../../../../utils/path/slash.js";import{logger as h}from"../../../tools/notifiers/logger.js";import{parsePathVersions as D}from"../../../../utils/path/parse-path-versions.js";import{getDefaultVersionByPath as N}from"./versions-config-loader.js";import{GithubSlugger as E,slug as v}from"../../../utils/index.js";import{parseBaseName as I}from"../../utils.js";const V=new Set([".jpg",".jpeg",".png",".gif",".webp",".svg",".ico",".avif",".mp3",".wav",".ogg",".m4a",".mp4",".avi",".mov",".webm",".pdf",".doc",".docx",".zip",".rar",".gz",".ttf",".woff",".woff2"]),M=async(i,{fs:e,cache:o})=>{const l=h.startTiming(),s=(await o.load("versions-config","versions-config")).data,g=new Map,r=new Map,n=new Set,a=new E;r.set(".","/"),r.set("/","/");const t=e.scan().sort((u,S)=>S.relativePath.localeCompare(u.relativePath));for(const{relativePath:u}of t){if(V.has(f.posix.extname(u)))continue;const{data:S}=await o.load(u,"is-ignored");if(S)continue;const w=b(u).replace(new RegExp("^(@i18n|@l10n)\\/"),""),F=N(u,s);z(w,{defaultVersion:F,fileSlugs:g,dirSlugs:r,allFileSlugsList:n,githubSlugger:a})}return h.verboseTime(l,"Calculated slugs. Number of file paths processed: "+t.length),{fileSlugs:g,dirSlugs:r}};function z(i,e){const o=e.fileSlugs.get(i);if(o)return o;const l=D(i);let s=f.posix.dirname(i);const g=c(s,e)||"",{baseName:r,isIndexFile:n}=I(i),a=e.dirSlugs.has(f.posix.join(s,r));let t;if(!n&&a){const u=v(m(g,r,"/"));e.allFileSlugsList.has(u)||(t=u)}t||(t=L({isIndexFile:n,baseName:r,dirPath:s,fileVersionProps:l,ctx:e})),t=d(t),e.fileSlugs.set(i,t),e.allFileSlugsList.add(t)}function L({isIndexFile:i,baseName:e,dirPath:o,fileVersionProps:l,ctx:s}){const g=s.dirSlugs.get(o),r=c(o,s)||"";if(i&&g)return g;const n=d(v(m(r,e)));if(l&&s.defaultVersion&&l.versionName===s.defaultVersion&&s.allFileSlugsList.has(n)){const a=d(l.versionFolderPath)||"/",t=c(a,s)||"/";return s.githubSlugger.slug(m(t,l.versionName,e))}return n}function c(i,e){if(e.dirSlugs.has(i))return e.dirSlugs.get(i);const o=d(f.posix.normalize(i)).split("/");let l="/",s="";for(const g of o){s=f.posix.join(s,g);const r=T(g,e.defaultVersion);let n=e.dirSlugs.get(s)||e.githubSlugger.slug(m("/",l,r));n.endsWith("/")||(n=n+"/"),e.dirSlugs.set(s,n),l=n}return e.dirSlugs.get(i)}function T(i,e){if(!i.startsWith(p))return i;const o=i.substring(p.length);return o===e?"":o}export{V as IGNORED_EXTS,M as contentSlugsLoader};
@@ -1 +1 @@
1
- import t from"path";import{CONFIG_FILE_NAME as n}from"../../../../constants/common.js";const h=async(l,{fs:i,cache:r,isPathIgnored:d})=>{let a=l,e=t.posix.join(a,n),o=i.getFileInfo(e);for(;a!=="."&&!o;)a=t.posix.dirname(a),e=t.posix.join(a,n),!await d(e)&&(o=i.getFileInfo(e));return{...(await r.load(o?.realRelativePath||e,"redocly-config",i.localeFolders)).data,configPath:o?.relativePath||e,realConfigPath:o?.realRelativePath||e}};export{h as nearestRedoclyConfigLoader};
1
+ import i from"path";import{CONFIG_FILE_NAME as r}from"../../../../constants/common.js";const g=async(l,{fs:t,cache:c,isPathIgnored:d})=>{let a=l,e=i.posix.join(a,r),o=t.getFileInfo(e);for(;a!=="."&&!o;)a=i.posix.dirname(a),e=i.posix.join(a,r),!await d(e)&&(o=t.getFileInfo(e));const n=await c.load(o?.realRelativePath||e,"redocly-config",t.localeFolders);return{...n.data,configPath:o?.relativePath||e,realConfigPath:o?.realRelativePath||e,hash:n.compoundHash}};export{g as nearestRedoclyConfigLoader};
@@ -1 +1 @@
1
- import{redocConfigSchema as m,rootRedoclyConfigSchema as t}from"@redocly/config";import p from"is-glob";import{I18N_DIR_NAME as d,L10N_DIR_NAME as u}from"../../../constants/common.js";import{CONFIG_FILE_NAME as f}from"../../../../constants/common.js";import{DEFAULT_SEARCH_ENGINE as A}from"../../../constants/plugins/search.js";import{deepMerge as F}from"../../../../utils/object/deep-merge.js";import{logger as b}from"../../../tools/notifiers/logger.js";import{EntitlementsProvider as C}from"../../../entitlements/entitlements-provider.js";import{readAndValidateConfig as h}from"./utils/read-and-validate-config.js";import{resolvePlugins as v}from"../../../config/external-plugins.js";import{getPathForAllLocales as l}from"../../../fs/utils/get-path-for-all-locales.js";import{parseRbacConfig as y}from"../../../utils/rbac.js";import{RbacConfigLocation as g,validateRbacConfig as S}from"../../validate-rbac-config.js";const z=async(e,{fs:r},a)=>{const n=await h(e,r,a,async c=>e===f?E(r.cwd,c?.plugins||[]):void 0);n?.rbac&&(n.rbac=await y(n.rbac),S(n.rbac,e===f?g.RootRedoclyYaml:void 0)),(n?.l10n||n?.i18n)&&(n.l10n=L(n),n.i18n=void 0);const s=F(n||{},{markdown:{partialsFolders:(n?.markdown?.partialsFolders||[]).flatMap(c=>l(c,r))}});return R({...s,configPath:e,ignore:I(n?.ignore,r)})};async function E(e,r){const a=await v(e,r),n=a.map(i=>i.config.schema?i.lifecyclePlugin.id:""),s={};for(const i of a){const o=i.lifecyclePlugin?.id;i.config.schema&&o&&t.properties&&(s[o]=i.config.schema)}return{...t,properties:{...s,...t.properties,openapi:m},$id:t.$id+n.join("")}}function R(e){const r=C.instance();return r.canAccessFeature("apiFunctions")||(e.apiFunctions=void 0),r.canAccessFeature("products")||(e.products=void 0),r.canAccessFeature("breadcrumbs")||(e.breadcrumbs={hide:!0}),r.canAccessFeature("seo")||(e.seo=void 0),r.canAccessFeature("redirects")||(e.redirects={}),r.canAccessFeature("l10n")||(e.l10n=void 0),r.canAccessFeature("rbac")||(e.rbac=void 0),r.canAccessFeature("sso")||(e.sso=void 0),r.canAccessFeature("ssoDirect")||(e.ssoDirect=void 0),r.canAccessFeature("catalogClassic")||(e.catalog=void 0,e.catalogClassic=void 0),r.canAccessFeature("scorecard")||(e.scorecard=void 0,e.scorecardClassic=void 0),r.canAccessFeature("scorecards")||(e.scorecards=void 0),r.canAccessFeature("devOnboarding")||(e.developerOnboarding=void 0),r.canAccessFeature("analytics")||(e.analytics=void 0),r.canAccessFeature("removeAttribution")||(e.removeAttribution=void 0),r.canAccessFeature("mockServer")||(e.mockServer={off:!0}),r.canAccessFeature("advancedSearch")||e.search&&(e.search.engine=A),r.canAccessFeature("banner")||(e.banner=void 0),e}function I(e=[],r){return["static",...e].flatMap(a=>p(a)&&(a.startsWith("*")||a.startsWith(u)||a.startsWith("/"+u)||a.startsWith(d)||a.startsWith("/"+d))?a:l(a,r))}function L(e){return e.i18n&&b.warn("The `i18n` configuration is deprecated. Please use `l10n` instead."),e.l10n||e.i18n||{}}export{z as redoclyConfigLoader};
1
+ import{redocConfigSchema as m,rootRedoclyConfigSchema as t}from"@redocly/config";import p from"is-glob";import{I18N_DIR_NAME as d,L10N_DIR_NAME as u}from"../../../constants/common.js";import{CONFIG_FILE_NAME as f}from"../../../../constants/common.js";import{DEFAULT_SEARCH_ENGINE as A}from"../../../constants/plugins/search.js";import{deepMerge as F}from"../../../../utils/object/deep-merge.js";import{logger as b}from"../../../tools/notifiers/logger.js";import{EntitlementsProvider as C}from"../../../entitlements/entitlements-provider.js";import{readAndValidateConfig as h}from"./utils/read-and-validate-config.js";import{resolveExternalPlugins as v}from"../../../external-plugins/resolve-external-plugins.js";import{getPathForAllLocales as l}from"../../../fs/utils/get-path-for-all-locales.js";import{parseRbacConfig as y}from"../../../utils/rbac.js";import{RbacConfigLocation as g,validateRbacConfig as E}from"../../validate-rbac-config.js";const z=async(e,{fs:r},a)=>{const n=await h(e,r,a,async c=>e===f?S(r.cwd,c?.plugins||[]):void 0);n?.rbac&&(n.rbac=await y(n.rbac),E(n.rbac,e===f?g.RootRedoclyYaml:void 0)),(n?.l10n||n?.i18n)&&(n.l10n=L(n),n.i18n=void 0);const s=F(n||{},{markdown:{partialsFolders:(n?.markdown?.partialsFolders||[]).flatMap(c=>l(c,r))}});return R({...s,configPath:e,ignore:I(n?.ignore,r)})};async function S(e,r){const a=await v(e,r),n=a.map(i=>i.config.schema?i.lifecyclePlugin.id:""),s={};for(const i of a){const o=i.lifecyclePlugin?.id;i.config.schema&&o&&t.properties&&(s[o]=i.config.schema)}return{...t,properties:{...s,...t.properties,openapi:m},$id:t.$id+n.join("")}}function R(e){const r=C.instance();return r.canAccessFeature("apiFunctions")||(e.apiFunctions=void 0),r.canAccessFeature("products")||(e.products=void 0),r.canAccessFeature("breadcrumbs")||(e.breadcrumbs={hide:!0}),r.canAccessFeature("seo")||(e.seo=void 0),r.canAccessFeature("redirects")||(e.redirects={}),r.canAccessFeature("l10n")||(e.l10n=void 0),r.canAccessFeature("rbac")||(e.rbac=void 0),r.canAccessFeature("sso")||(e.sso=void 0),r.canAccessFeature("ssoDirect")||(e.ssoDirect=void 0),r.canAccessFeature("catalogClassic")||(e.catalog=void 0,e.catalogClassic=void 0),r.canAccessFeature("scorecard")||(e.scorecard=void 0,e.scorecardClassic=void 0),r.canAccessFeature("scorecards")||(e.scorecards=void 0),r.canAccessFeature("devOnboarding")||(e.developerOnboarding=void 0),r.canAccessFeature("analytics")||(e.analytics=void 0),r.canAccessFeature("removeAttribution")||(e.removeAttribution=void 0),r.canAccessFeature("mockServer")||(e.mockServer={off:!0}),r.canAccessFeature("advancedSearch")||e.search&&(e.search.engine=A),r.canAccessFeature("banner")||(e.banner=void 0),e}function I(e=[],r){return["static",...e].flatMap(a=>p(a)&&(a.startsWith("*")||a.startsWith(u)||a.startsWith("/"+u)||a.startsWith(d)||a.startsWith("/"+d))?a:l(a,r))}function L(e){return e.i18n&&b.warn("The `i18n` configuration is deprecated. Please use `l10n` instead."),e.l10n||e.i18n||{}}export{z as redoclyConfigLoader};
@@ -1 +1 @@
1
- import w from"path";import{lintConfig as R,loadConfig as C,createConfigTypes as T}from"@redocly/openapi-core";import{deepMerge as U}from"../../../../../utils/object/deep-merge.js";import{readEnvVariable as A}from"../../../../utils/envs/read-env-variable.js";import{logger as l}from"../../../../tools/notifiers/logger.js";import{safeParsePartial as L}from"../../safe-parse.js";import{formatConfigProblem as $}from"../../format-error.js";import{ExternalResolver as q}from"../../../../fs/utils/external-ref-resolver.js";import{resolveMutuallyExclusiveProps as x}from"../../resolve-mutual-exclusion.js";function f(o,e,t,r){e in o&&o[e]&&typeof o[e]=="string"&&(/^https?:\/\/.*/.test(o[e])||r(new Error(`Invalid ${t} URL: "${o[e]}". ${t} must start with "http://" or "https://".`)))}function j(o,e){if("access"in o&&o.access&&typeof o.access=="object"){const t=o.access;f(t,"logoutReturnUrl","access.logoutReturnUrl",e),f(t,"residency","access.residency",e);const r=["requiresLogin","logoutReturnUrl","residency","sso","rbac"];for(const n of r)n in t&&t[n]!==void 0&&n in o&&o[n]!==void 0&&e(new Error(`Property '${n}' is defined both at root level and in 'access' object. Please use 'access.${n}' to define this configuration.`))}}async function z(o,e,t,r){const m=e.getFileInfo(o)?.realRelativePath||o;async function d(){const c=new q(e),u=w.join(e.cwd,m),i=await C({configPath:u,externalRefResolver:c}),y=await r(i.resolvedConfig);if(y===void 0)return i.resolvedConfig;const v=[...i.document?.source?await R({config:i,externalConfigTypes:T(y,i)}):[],...i.document?.source?x(i.resolvedConfig,i.document?.source):[]];if(v.length>0)for(const b of v)t(new Error($(b,e.cwd)));return i.resolvedConfig}const a=await e.exists(o)?await d():{},P=E(a),g=await r(a);f(a,"residency","Residency",t),f(a,"logoutReturnUrl","Logout return URL",t),j(a,t);let p=g?L(g,a):a;const{env:h}=p;if(h){const c=A("REDOCLY_ENV")||"development",u=h[c]||{};p=U(p,u)}const s=M(p,P);if(s.imports&&s.imports.length>0){l.warn("The 'imports' property is deprecated. Please use 'plugins' property instead.");const c=new Set([...s.plugins||[],...s.imports.map(u=>w.posix.join(u,"plugin.js"))]);s.plugins=Array.from(c),delete s.imports}if(s.catalog&&(l.warn("The 'catalog' property is deprecated. Please use 'catalogClassic' property instead."),s.catalogClassic={...s.catalog},delete s.catalog),s.scorecard&&(l.warn("The 'scorecard' property is deprecated. Please use 'scorecardClassic' property instead."),s.scorecardClassic=s.scorecard,delete s.scorecard),s.search?.ai){l.warn("The 'search.ai' property is deprecated. Please use 'aiAssistant' property instead.");const c={...s.search?.ai,...s.aiAssistant,suggestions:s.aiAssistant?.suggestions?.length?s.aiAssistant.suggestions:s.search?.ai.suggestions||[]};s.aiAssistant=c,delete s.search.ai}return k(s)}function k(o){const e="access"in o?o.access:void 0;if(!e||typeof e!="object")return o;const t={...o},r=[{name:"requiresLogin",type:"boolean"},{name:"logoutReturnUrl",type:"string"},{name:"residency",type:"string"},{name:"sso",type:"string | string[]"},{name:"rbac",type:"object"}],n=[];for(const m of r){const d=m.name;d in t&&t[d]!==void 0&&!(d in e)&&n.push(d)}return n.length>0&&l.warn(`The following properties at root level are deprecated: ${n.join(", ")}. Please move them to the 'access' object.`),"requiresLogin"in e&&e.requiresLogin!==void 0&&(t.requiresLogin=e.requiresLogin),"logoutReturnUrl"in e&&e.logoutReturnUrl!==void 0&&(t.logoutReturnUrl=e.logoutReturnUrl),"residency"in e&&e.residency!==void 0&&(t.residency=e.residency),"sso"in e&&e.sso!==void 0&&(t.sso=e.sso),"rbac"in e&&e.rbac!==void 0&&(t.rbac=e.rbac),delete t.access,t}function E(o){if(!o.theme)return[];l.warn("The 'theme' property in redocly.yaml is deprecated. Please move all of the properties from 'theme' to the root of the config.");const e=[];for(const t of Object.keys(o.theme))o[t]==null?e.push(t):l.warn(`Detected both '${t}' and 'theme.${t}' properties in redocly.yaml. The 'theme.${t}' property will be ignored and needs to be removed or merged into the '${t}'.`);return e}function M(o,e){if(!o.theme||e.length===0)return o;const t={...o};for(const r of e)t[r]=o.theme[r];return delete t.theme,t}export{z as readAndValidateConfig};
1
+ import P from"path";import{lintConfig as C,loadConfig as T,createConfigTypes as A}from"@redocly/openapi-core";import{deepMerge as U}from"../../../../../utils/object/deep-merge.js";import{logger as d}from"../../../../tools/notifiers/logger.js";import{BRANCH_ENV_PREFIX as $}from"../../../../../constants/common.js";import{sanitizeBranchName as L}from"../../../../utils/envs/sanitize-branch-name.js";import{safeParsePartial as E}from"../../safe-parse.js";import{formatConfigProblem as q}from"../../format-error.js";import{ExternalResolver as x}from"../../../../fs/utils/external-ref-resolver.js";import{resolveMutuallyExclusiveProps as B}from"../../resolve-mutual-exclusion.js";function g(s,e,t,r){e in s&&s[e]&&typeof s[e]=="string"&&(/^https?:\/\/.*/.test(s[e])||r(new Error(`Invalid ${t} URL: "${s[e]}". ${t} must start with "http://" or "https://".`)))}function j(s,e){if("access"in s&&s.access&&typeof s.access=="object"){const t=s.access;g(t,"logoutReturnUrl","access.logoutReturnUrl",e),g(t,"residency","access.residency",e);const r=["requiresLogin","logoutReturnUrl","residency","sso","rbac"];for(const n of r)n in t&&t[n]!==void 0&&n in s&&s[n]!==void 0&&e(new Error(`Property '${n}' is defined both at root level and in 'access' object. Please use 'access.${n}' to define this configuration.`))}}async function X(s,e,t,r){const h=e.getFileInfo(s)?.realRelativePath||s;async function l(){const a=new x(e),u=P.join(e.cwd,h),i=await T({configPath:u,externalRefResolver:a}),p=await r(i.resolvedConfig);if(p===void 0)return i.resolvedConfig;const m=[...i.document?.source?await C({config:i,externalConfigTypes:A(p,i)}):[],...i.document?.source?B(i.resolvedConfig,i.document?.source):[]];if(m.length>0)for(const b of m)t(new Error(q(b,e.cwd)));return i.resolvedConfig}const c=await e.exists(s)?await l():{},R=M(c),w=await r(c);g(c,"residency","Residency",t),g(c,"logoutReturnUrl","Logout return URL",t),j(c,t);let f=w?E(w,c):c;const{env:y}=f;if(y){const{envConfig:a}=await import("../../../../config/env-config.js"),u=a.redoclyEnv,i=y[u]||{},p=a.PUBLIC_REDOCLY_BRANCH_NAME||"",v=p?L(p):"",m=v&&y[`${$}${v}`]||{};f=U(f,m,i)}const o=N(f,R);if(o.imports&&o.imports.length>0){d.warn("The 'imports' property is deprecated. Please use 'plugins' property instead.");const a=new Set([...o.plugins||[],...o.imports.map(u=>P.posix.join(u,"plugin.js"))]);o.plugins=Array.from(a),delete o.imports}if(o.catalog&&(d.warn("The 'catalog' property is deprecated. Please use 'catalogClassic' property instead."),o.catalogClassic={...o.catalog},delete o.catalog),o.scorecard&&(d.warn("The 'scorecard' property is deprecated. Please use 'scorecardClassic' property instead."),o.scorecardClassic=o.scorecard,delete o.scorecard),o.search?.ai){d.warn("The 'search.ai' property is deprecated. Please use 'aiAssistant' property instead.");const a={...o.search?.ai,...o.aiAssistant,suggestions:o.aiAssistant?.suggestions?.length?o.aiAssistant.suggestions:o.search?.ai.suggestions||[]};o.aiAssistant=a,delete o.search.ai}return I(o)}function I(s){const e="access"in s?s.access:void 0;if(!e||typeof e!="object")return s;const t={...s},r=[{name:"requiresLogin",type:"boolean"},{name:"logoutReturnUrl",type:"string"},{name:"residency",type:"string"},{name:"sso",type:"string | string[]"},{name:"rbac",type:"object"}],n=[];for(const h of r){const l=h.name;l in t&&t[l]!==void 0&&!(l in e)&&n.push(l)}return n.length>0&&d.warn(`The following properties at root level are deprecated: ${n.join(", ")}. Please move them to the 'access' object.`),"requiresLogin"in e&&e.requiresLogin!==void 0&&(t.requiresLogin=e.requiresLogin),"logoutReturnUrl"in e&&e.logoutReturnUrl!==void 0&&(t.logoutReturnUrl=e.logoutReturnUrl),"residency"in e&&e.residency!==void 0&&(t.residency=e.residency),"sso"in e&&e.sso!==void 0&&(t.sso=e.sso),"rbac"in e&&e.rbac!==void 0&&(t.rbac=e.rbac),delete t.access,t}function M(s){if(!s.theme)return[];const e=[];for(const t of Object.keys(s.theme))s[t]==null?e.push(t):d.warn(`Detected both '${t}' and 'theme.${t}' properties in redocly.yaml. The 'theme.${t}' property will be ignored and needs to be removed or merged into the '${t}'.`);return e}function N(s,e){if(!s.theme||e.length===0)return s;const t={...s};for(const r of e)t[r]=s.theme[r];return delete t.theme,t}export{X as readAndValidateConfig};
@@ -1 +1 @@
1
- import{REDOCLY_TEAMS_RBAC as c}from"@redocly/config";import{DEFAULT_SSO_IDP_TITLE as b,DEV_LOGIN_SLUG as g,INVITE_SLUG as T,PUBLIC_RBAC_SCOPE_ITEM as f,UI_ACCESSIBLE_CONFIG_PROPS as D,CONFIG_FILE_NAME as l}from"../../../constants/common.js";import{isDevelopMode as P}from"../../utils/envs/is-develop-mode.js";import{getTemplatePath as s}from"./get-template-path.js";import{resolveLinksFromConfig as n}from"../nav-utils.js";import{resolveLogoConfig as F}from"./resolve-logo.js";import{extractTeamNames as _}from"./extract-team-names.js";import{resolveProductsConfig as E}from"./resolve-products-config.js";import{getExcludedFromLinkCheckerPatterns as y}from"../sidebars/utils.js";import{resolveEntitiesCatalogConfig as O}from"./resolve-catalog-entities.js";import{telemetryTraceStep as A}from"../../../cli/telemetry/helpers/trace-step.js";async function q(i){return{id:"Default Theme",async processContent(e){await A("build.plugin.default_theme",async()=>{const t=v(e),a=Object.keys(e.getConfig()?.ssoDirect||{}).length>0,o=e.createTemplate("invite",s("../../../../dist/client/app/pages/Invite/Invite.js"));if(e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,excludeFromSearch:!0,slug:T,[c]:f,fsPath:T,templateId:o}),i.devLogin&&a){let r={frontmatter:{},seo:{title:"Login page"},authIdps:t.filter(u=>u.title!=b),rbac:{teams:_(e.getConfig().rbac)}};const p=e.createTemplate("dev-login",s("../../../../dist/client/app/pages/DevLogin/DevLogin.js"));e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,excludeFromSearch:!0,slug:g,[c]:f,fsPath:g,templateId:p,getStaticData:async()=>({props:r})})}else if(t.length>1){let r={frontmatter:{},seo:{title:"Login page"},authIdps:t};const p=e.createTemplate("login",s("../../../../dist/client/app/pages/Login/Login.js"));e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,slug:g,[c]:f,fsPath:g,templateId:p,getStaticData:async()=>({props:r})})}e.createTemplate("404",s("../../../../dist/client/app/pages/404/404.js")),e.createTemplate("403",s("../../../../dist/client/app/pages/403/403.js")),e.createTemplate("403OIDC",s("../../../../dist/client/app/pages/403/403OIDC.js")),P()&&e.createTemplate("compilation-error",s("../../../../dist/client/app/pages/CompilationError/CompilationError.js"))})},async afterRoutesCreated(e,t){const{contentDir:a,outdir:o}=e,r=e.getConfig(),{navbar:p,footer:u,userMenu:m,search:I,breadcrumbs:C,products:S}=r,L=Object.keys(r?.ssoDirect||{}).length>0,d=y(r),h={navFile:l,excludedFromLinkCheckerPatterns:d};e.setGlobalData({...j(r),navbar:await n(p,a,e,t,h),footer:await n(u,a,e,t,h),breadcrumbs:{...C,prefixItems:await n(C?.prefixItems||[],a,e,t,{navFile:l,excludedFromLinkCheckerPatterns:d})},userMenu:{...m,hide:m?.hide??!L,menu:await n(m?.items,a,e,t,{navFile:l,excludedFromLinkCheckerPatterns:d})},logo:await F(r.logo,l,o,t.fs),auth:{idpsInfo:v(e),devLogin:i.devLogin&&L},products:await E(S,e,t),search:{...I,suggestedPages:await n(I?.suggestedPages,a,e,t,{navFile:l,excludedFromLinkCheckerPatterns:d})},entitiesCatalog:await O(r.entitiesCatalog,l,o,t.fs),headScriptTags:void 0,linkTags:void 0,postBodyScriptTags:void 0,preBodyScriptTags:void 0})}}}function v(i){const e=i.getConfig().ssoDirect;return Object.entries(e||{}).map(([a,o])=>({idpId:a,type:o.type,title:o.title}))}function j(i){const e={};for(const t of D)i[t]&&(e[t]=i[t]);return e}export{q as defaultThemePlugin,j as pickUiAccessibleConfig};
1
+ import{REDOCLY_TEAMS_RBAC as c}from"@redocly/config";import{DEV_LOGIN_SLUG as g,INVITE_SLUG as h,PUBLIC_RBAC_SCOPE_ITEM as m,UI_ACCESSIBLE_CONFIG_PROPS as P,CONFIG_FILE_NAME as n,DEFAULT_SSO_IDP_TITLE as _}from"../../../constants/common.js";import{envConfig as T}from"../../config/env-config.js";import{getTemplatePath as s}from"./get-template-path.js";import{resolveLinksFromConfig as p}from"../nav-utils.js";import{resolveLogoConfig as F}from"./resolve-logo.js";import{extractTeamNames as E}from"./extract-team-names.js";import{resolveProductsConfig as O}from"./resolve-products-config.js";import{getExcludedFromLinkCheckerPatterns as y}from"../sidebars/utils.js";import{resolveEntitiesCatalogConfig as A}from"./resolve-catalog-entities.js";import{telemetryTraceStep as j}from"../../../cli/telemetry/helpers/trace-step.js";async function q(r){return{id:"Default Theme",async processContent(e){await j("build.plugin.default_theme",async()=>{const t=v(e),o=Object.keys(e.getConfig()?.ssoDirect||{}).length>0,a=e.createTemplate("invite",s("../../../../dist/client/app/pages/Invite/Invite.js"));if(e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,excludeFromSearch:!0,slug:h,[c]:m,fsPath:h,templateId:a}),r.devLogin&&o){const i={frontmatter:{},seo:{title:"Login page"},authIdps:S(t),rbac:{teams:E(e.getConfig().rbac)}},l=e.createTemplate("dev-login",s("../../../../dist/client/app/pages/DevLogin/DevLogin.js"));e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,excludeFromSearch:!0,slug:g,[c]:m,fsPath:g,templateId:l,getStaticData:async()=>({props:i})})}else if(t.length>1){const i={frontmatter:{},seo:{title:"Login page"},authIdps:S(t)},l=e.createTemplate("login",s("../../../../dist/client/app/pages/Login/Login.js"));e.addRoute({duplicateInAllLocales:!0,excludeFromSidebar:!0,slug:g,[c]:m,fsPath:g,templateId:l,getStaticData:async()=>({props:i})})}e.createTemplate("404",s("../../../../dist/client/app/pages/404/404.js")),e.createTemplate("403",s("../../../../dist/client/app/pages/403/403.js")),e.createTemplate("403OIDC",s("../../../../dist/client/app/pages/403/403OIDC.js")),T.isDevelopMode&&e.createTemplate("compilation-error",s("../../../../dist/client/app/pages/CompilationError/CompilationError.js"))})},async afterRoutesCreated(e,t){const{contentDir:o,outdir:a}=e,i=e.getConfig(),{navbar:l,footer:D,userMenu:u,search:f,breadcrumbs:I,products:b}=i,C=Object.keys(i?.ssoDirect||{}).length>0,d=y(i),L={navFile:n,excludedFromLinkCheckerPatterns:d};e.setGlobalData({...k(i),navbar:await p(l,o,e,t,L),footer:await p(D,o,e,t,L),breadcrumbs:{...I,prefixItems:await p(I?.prefixItems||[],o,e,t,{navFile:n,excludedFromLinkCheckerPatterns:d})},userMenu:{...u,hide:u?.hide??!C,menu:await p(u?.items,o,e,t,{navFile:n,excludedFromLinkCheckerPatterns:d})},logo:await F(i.logo,n,a,t.fs),auth:{idpsInfo:v(e),devLogin:r.devLogin&&C},products:await O(b,e,t),search:{...f,suggestedPages:await p(f?.suggestedPages,o,e,t,{navFile:n,excludedFromLinkCheckerPatterns:d})},entitiesCatalog:await A(i.entitiesCatalog,n,a,t.fs),headScriptTags:void 0,linkTags:void 0,postBodyScriptTags:void 0,preBodyScriptTags:void 0})}}}function v(r){const e=r.getConfig().ssoDirect;return Object.entries(e||{}).map(([o,a])=>({idpId:o,type:a.type,title:a.title}))}function S(r){return T.LOCALHOST_LOGIN==="true"?r:r.filter(t=>t.title!==_)}function k(r){const e={};for(const t of P)r[t]&&(e[t]=r[t]);return e}export{q as defaultThemePlugin,k as pickUiAccessibleConfig};
@@ -1 +1 @@
1
- import{writeFileSync as P}from"node:fs";import T from"path";import{PAGE_COUNT_OUTPUT_FILE_NAME as y}from"../../constants/common.js";import{readEnvVariable as F}from"../../utils/envs/read-env-variable.js";import{logger as o}from"../../tools/notifiers/logger.js";import{isReactPage as b}from"../../utils/content/is-react-page.js";import{EntitlementsProvider as S}from"../../entitlements/entitlements-provider.js";import{getBilledPagesCount as O,isPathIgnored as R}from"../../utils/index.js";import{isGraphqlDoc as $}from"../graphql-docs/is-graphql-doc.js";import{isMarkdownPage as E}from"../markdown/is-markdown-page.js";import{isOpenapiDoc as M}from"../openapi-docs/is-openapi-doc.js";import{PRODUCT_NAME as l}from"../../../config/product-gates.js";import{isAsyncapiDoc as k}from"../asyncapi-docs/is-asyncapi-doc.js";import{telemetryTraceStep as _}from"../../../cli/telemetry/helpers/trace-step.js";async function Y(){return{id:"entitlements",async afterRoutesCreated(w,u){await _("build.plugin.entitlements",async t=>{const i=S.instance(),r=[],n=[],s=[],a=[],p=[];for(const{relativePath:e}of u.fs.scan())R(e)||(E(e)?r.push(e):$(e)?s.push(e):b(e)?a.push(e):await M(e,u)?n.push(e):await k(e,u)&&p.push(e));const g=i.canAccessFeature("markdown");t?.setAttribute("totalMarkdownFiles",r.length.toString()),t?.setAttribute("isMarkdownSupported",(!!g).toString()),r.length>0&&!g&&o.warn(`The product you are using ("${l}") does not support Markdown pages. The following Markdown files were detected but will be ignored: ${r.map(()=>"%rp").join(", ")}`,...r);const c=i.canAccessFeature("openapi");t?.setAttribute("totalOpenApiFiles",n.length.toString()),t?.setAttribute("isOpenApiSupported",(!!c).toString()),n.length>0&&!c&&o.warn(`The product you are using ("${l}") does not support OpenAPI documents. The following files are ignored: ${n.map(()=>"%rp").join(", ")}`,...n);const d=i.canAccessFeature("asyncapi");t?.setAttribute("totalAsyncApiFiles",p.length.toString()),t?.setAttribute("isAsyncApiSupported",(!!d).toString()),p.length>0&&!d&&o.warn(`The product you are using ("${l}") does not support AsyncAPI documents. The following files are ignored: ${p.map(()=>"%rp").join(", ")}`,...p);const m=i.canAccessFeature("graphql");t?.setAttribute("totalGraphqlFiles",s.length.toString()),t?.setAttribute("isGraphqlSupported",(!!m).toString()),s.length>0&&!m&&o.warn(`The product you are using ("${l}") does not support GraphQL documents. The following files are ignored: ${s.map(()=>"%rp").join(", ")}`,...s);const f=i.canAccessFeature("reactPages");t?.setAttribute("totalReactFiles",a.length.toString()),t?.setAttribute("isReactPagesSupported",(!!f).toString()),a.length>0&&!f&&o.warn(`The product you are using ("${l}") does not support React pages. The following files are ignored: ${a.map(()=>"%rp").join(", ")}`,...a);const A=O(w.getAllRoutes());t?.setAttribute("totalBilledPages",A.toString());const h=F("REDOCLY_METADATA_OUTPUT_FOLDER");h&&(o.info("Save total pages..."),P(T.join(h,y),JSON.stringify({totalPages:A},null)))})}}}export{Y as entitlementsPlugin};
1
+ import{writeFileSync as P}from"node:fs";import T from"path";import{PAGE_COUNT_OUTPUT_FILE_NAME as y}from"../../constants/common.js";import{envConfig as F}from"../../config/env-config.js";import{logger as o}from"../../tools/notifiers/logger.js";import{isReactPage as S}from"../../utils/content/is-react-page.js";import{EntitlementsProvider as b}from"../../entitlements/entitlements-provider.js";import{getBilledPagesCount as O,isPathIgnored as R}from"../../utils/index.js";import{isGraphqlDoc as $}from"../graphql-docs/is-graphql-doc.js";import{isMarkdownPage as M}from"../markdown/is-markdown-page.js";import{isOpenapiDoc as k}from"../openapi-docs/is-openapi-doc.js";import{PRODUCT_NAME as l}from"../../../config/product-gates.js";import{isAsyncapiDoc as E}from"../asyncapi-docs/is-asyncapi-doc.js";import{telemetryTraceStep as _}from"../../../cli/telemetry/helpers/trace-step.js";async function z(){return{id:"entitlements",async afterRoutesCreated(w,u){await _("build.plugin.entitlements",async t=>{const i=b.instance(),n=[],r=[],s=[],a=[],p=[];for(const{relativePath:e}of u.fs.scan())R(e)||(M(e)?n.push(e):$(e)?s.push(e):S(e)?a.push(e):await k(e,u)?r.push(e):await E(e,u)&&p.push(e));const g=i.canAccessFeature("markdown");t?.setAttribute("totalMarkdownFiles",n.length.toString()),t?.setAttribute("isMarkdownSupported",(!!g).toString()),n.length>0&&!g&&o.warn(`The product you are using ("${l}") does not support Markdown pages. The following Markdown files were detected but will be ignored: ${n.map(()=>"%rp").join(", ")}`,...n);const c=i.canAccessFeature("openapi");t?.setAttribute("totalOpenApiFiles",r.length.toString()),t?.setAttribute("isOpenApiSupported",(!!c).toString()),r.length>0&&!c&&o.warn(`The product you are using ("${l}") does not support OpenAPI documents. The following files are ignored: ${r.map(()=>"%rp").join(", ")}`,...r);const d=i.canAccessFeature("asyncapi");t?.setAttribute("totalAsyncApiFiles",p.length.toString()),t?.setAttribute("isAsyncApiSupported",(!!d).toString()),p.length>0&&!d&&o.warn(`The product you are using ("${l}") does not support AsyncAPI documents. The following files are ignored: ${p.map(()=>"%rp").join(", ")}`,...p);const m=i.canAccessFeature("graphql");t?.setAttribute("totalGraphqlFiles",s.length.toString()),t?.setAttribute("isGraphqlSupported",(!!m).toString()),s.length>0&&!m&&o.warn(`The product you are using ("${l}") does not support GraphQL documents. The following files are ignored: ${s.map(()=>"%rp").join(", ")}`,...s);const f=i.canAccessFeature("reactPages");t?.setAttribute("totalReactFiles",a.length.toString()),t?.setAttribute("isReactPagesSupported",(!!f).toString()),a.length>0&&!f&&o.warn(`The product you are using ("${l}") does not support React pages. The following files are ignored: ${a.map(()=>"%rp").join(", ")}`,...a);const A=O(w.getAllRoutes());t?.setAttribute("totalBilledPages",A.toString());const h=F.REDOCLY_METADATA_OUTPUT_FOLDER;h&&(o.info("Save total pages..."),P(T.join(h,y),JSON.stringify({totalPages:A},null)))})}}}export{z as entitlementsPlugin};
@@ -1 +1 @@
1
- import{buildSchema as d}from"graphql";import{MenuStore as f,AppStore as g}from"@redocly/graphql-docs";import w from"node:path";import{combineUrls as u}from"@redocly/theme/core/utils";import{GRAPHQL_SPEC_SLUG as S}from"../../../constants/common.js";import{deepMerge as b}from"../../../utils/object/deep-merge.js";import{reporter as h}from"../../tools/notifiers/reporter.js";import{getApiConfigByPath as q}from"../get-api-config.js";import{replaceFileExtension as x}from"../openapi-docs/store-definition-bundles.js";const G=async(o,{getConfig:p,fs:c})=>{const t=await p(),e=t?.graphql??{},n=await c.read(o),{graphql:s={},metadata:l}=q(t.apis,o),a=b(e||{},s,{feedback:e.feedback||t.feedback,downloadUrls:e.downloadUrls||[{url:u(S,`${x(o,w.posix.extname(o))}?download`)}]});let i,m;try{const r=d(n);m=new g(r),i=new f(r,a)}catch(r){await h.panicOnBuild(r);return}return{menu:i,store:m,settings:a,metadata:l,content:n}};export{G as graphqlDocLoader};
1
+ import{buildSchema as w}from"graphql";import{MenuStore as b,AppStore as h}from"@redocly/graphql-docs";import s from"node:path";import{combineUrls as q}from"@redocly/theme/core/utils";import{GRAPHQL_SPEC_SLUG as u}from"../../../constants/common.js";import{deepMerge as S}from"../../../utils/object/deep-merge.js";import{reporter as x}from"../../tools/notifiers/reporter.js";import{getApiConfigByPath as U}from"../get-api-config.js";import{replaceFileExtension as k}from"../openapi-docs/store-definition-bundles.js";const _=async(o,{getConfig:n,fs:l})=>{const a=await n(),e=a?.graphql??{},m=await l.read(o),{graphql:g={},metadata:f}=U(a.apis,o),r=await n(s.posix.dirname(o)),p={...r?.metadata,...f},i=S(e||{},g,r.graphql||{},{feedback:r.graphql?.feedback||e.feedback||a.feedback,downloadUrls:r.graphql?.downloadUrls||e.downloadUrls||[{url:q(u,`${k(o,s.posix.extname(o))}?download`)}],metadata:p});let c,d;try{const t=w(m);d=new h(t),c=new b(t,i)}catch(t){await x.panicOnBuild(t);return}return{menu:c,store:d,settings:i,metadata:p,content:m}};export{_ as graphqlDocLoader};