@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
package/dist/bin.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import './server/utils/set-execution-mode.js';
2
3
  import './cli/utils/node-version-check.js';
3
4
  import './server/node-fetch-polyfill.js';
4
5
  //# sourceMappingURL=bin.d.ts.map
package/dist/bin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./cli/utils/node-version-check.js";import n from"mri";import*as r from"node:path";import{tmpdir as P}from"node:os";import*as A from"node:fs";import"./server/node-fetch-polyfill.js";import{cliCommandNames as g}from"./constants/common.js";import{initPlugins as x}from"./server/plugins/lifecycle.js";import{loadEnvVariables as T}from"./server/utils/envs/load-env-variables.js";import{PORTAL_VERSION as y}from"./server/version.js";import{logger as p}from"./server/tools/notifiers/logger.js";import{reporter as o}from"./server/tools/notifiers/reporter.js";import{sha as R}from"./server/utils/crypto/sha.js";import{develop as S}from"./cli/develop.js";import{eject as k}from"./cli/eject/index.js";import{beforeCommand as w}from"./server/utils/lifecycle-hooks.js";import{Store as C}from"./server/store.js";import{prepare as V}from"./cli/prepare/index.js";import{fromCurrentDir as I}from"./server/utils/paths.js";import{translationsCliOpts as L}from"./cli/translations/options.js";import{generateTranslations as M}from"./cli/translations/index.js";import{EntitlementsProvider as N}from"./server/entitlements/entitlements-provider.js";import{isValidPlan as _}from"./server/entitlements/is-valid-plan.js";import{stopAllCompilers as F}from"./server/esbuild/esbuild.js";import{copyLibsqlPrebuiltBinary as U}from"./cli/prepare/libsql/copy-prebuilt-binary.js";import{telemetry as d}from"./cli/telemetry/index.js";const s=process.argv[2];let t;const f={alias:{d:"project-dir",p:"port"},default:{"project-dir":process.env.REDOCLY_CONTENT_DIR||process.cwd(),outdir:"public"}},$={alias:f.alias,default:{...f.default,plan:"enterprise"}},q={alias:{d:"prepareDir"},default:{prepareDir:"public"}},B={boolean:["force"],alias:{f:"force",d:"project-dir"},default:{"project-dir":process.cwd()}};process.on("uncaughtException",async function(e){e?.code==="ERR_INVALID_STATE"?console.log("Ignore premature close error"):(p.error("Uncaught exception occurred. Stopping compilers."),await F(),p.error("Exiting due to uncaught exception"),await o.panic(e))});try{s||await o.panicOnContentError("Command not specified.");const e=N.instance();switch(["prepare","build","serve"].includes(s)&&await e.init(),["eject","translate"].includes(s)&&await e.init({developModePlan:"enterprise"}),s){case"develop":case"preview":const i=n(process.argv.slice(3),$),E=r.resolve(i["project-dir"]),j=r.join(P(),"redocly-public-"+R(E)),l=i.plan.toLowerCase();_(l)||await o.panicOnContentError(`Invalid --plan argument value '${l}'.`),await e.init({developModePlan:l}),t=new C({contentDir:r.resolve(i["project-dir"]),outdir:j,serverOutDir:I(import.meta.url,"./server/esbuild/cache/server")}),await w(g.DEVELOP,i,t),await S(i,t);break;case"prepare":const a=n(process.argv.slice(3),f),u=r.resolve(r.join(a.outdir,"server"));t=new C({contentDir:r.resolve(a["project-dir"]),outdir:r.resolve(a.outdir,"client"),serverOutDir:u}),await w(g.PREPARE,a,t),U(u),await V(a,t);break;case"serve":T();const b=n(process.argv.slice(3),q),O=r.resolve(b.prepareDir);d.sendServeCliCommandExecutedMessage();const v=r.join(O,"server","index.mjs");A.existsSync(v)||await o.panic("Server not found. Please run `realm prepare` first"),import(v).catch(async c=>{await o.panic("Failed to load server",c)});break;case"eject":e.canAccessFeature("themeEjecting")||await o.panicOnContentError('The "eject" command is not available for this project');const m=n(process.argv.slice(3),B),{lifecycleContext:{getConfig:h,fs:D}}=await x({outdir:"",contentDir:r.resolve(m["project-dir"]),setGlobalConfig:()=>null});D.dispose(),d.sendCliCommandEjectExecutedMessage({arguments:m}),await k({...m,config:await h()}),p.clearAllTimeouts();break;case"translate":if(e.canAccessFeature("l10n")){const c=n(process.argv.slice(3),L);d.sendCliCommandTranslateExecutedMessage({arguments:c}),await M(c)}else await o.panicOnContentError('The "translate" command is not available for this project');break;case"--version":console.log(y);break;default:await o.panicOnContentError(`Unknown command "${s}"`)}}catch(e){p.error("Exiting due to uncaught exception"),await o.panic(e)}
2
+ import"./server/utils/set-execution-mode.js";import"./cli/utils/node-version-check.js";import o from"mri";import*as r from"node:path";import{tmpdir as A}from"node:os";import*as x from"node:fs";import"./server/node-fetch-polyfill.js";import{cliCommandNames as g}from"./constants/common.js";import{initPlugins as T}from"./server/plugins/lifecycle.js";import{loadEnvVariables as y}from"./server/utils/envs/load-env-variables.js";import{PORTAL_VERSION as k}from"./server/version.js";import{logger as p}from"./server/tools/notifiers/logger.js";import{reporter as t}from"./server/tools/notifiers/reporter.js";import{sha as R}from"./server/utils/crypto/sha.js";import{envConfig as S}from"./server/config/env-config.js";import{develop as V}from"./cli/develop.js";import{eject as I}from"./cli/eject/index.js";import{beforeCommand as w}from"./server/utils/lifecycle-hooks.js";import{Store as C}from"./server/store.js";import{prepare as L}from"./cli/prepare/index.js";import{fromCurrentDir as _}from"./server/utils/paths.js";import{translationsCliOpts as M}from"./cli/translations/options.js";import{generateTranslations as N}from"./cli/translations/index.js";import{EntitlementsProvider as F}from"./server/entitlements/entitlements-provider.js";import{isValidPlan as U}from"./server/entitlements/is-valid-plan.js";import{stopAllCompilers as $}from"./server/esbuild/esbuild.js";import{copyLibsqlPrebuiltBinary as q}from"./cli/prepare/libsql/copy-prebuilt-binary.js";import{telemetry as d}from"./cli/telemetry/index.js";import{stats as B}from"./cli/stats/index.js";import{statsCliOpts as G}from"./cli/stats/options.js";const n=process.argv[2];let i;const f={alias:{d:"project-dir",p:"port"},default:{"project-dir":S.REDOCLY_CONTENT_DIR||process.cwd(),outdir:"public"}},Y={alias:f.alias,default:{...f.default,plan:"enterprise"}},z={alias:{d:"prepareDir"},default:{prepareDir:"public"}},H={boolean:["force"],alias:{f:"force",d:"project-dir"},default:{"project-dir":process.cwd()}};process.on("uncaughtException",async function(e){e?.code==="ERR_INVALID_STATE"?console.log("Ignore premature close error"):(p.error("Uncaught exception occurred. Stopping compilers."),await $(),p.error("Exiting due to uncaught exception"),await t.panic(e))});try{n||await t.panicOnContentError("Command not specified.");const e=F.instance();switch(["prepare","serve","stats"].includes(n)&&await e.init(),["eject","translate"].includes(n)&&await e.init({developModePlan:"enterprise"}),n){case"develop":case"preview":const a=o(process.argv.slice(3),Y),E=r.resolve(a["project-dir"]),j=r.join(A(),"redocly-public-"+R(E)),l=a.plan.toLowerCase();U(l)||await t.panicOnContentError(`Invalid --plan argument value '${l}'.`),await e.init({developModePlan:l}),i=new C({contentDir:r.resolve(a["project-dir"]),outdir:j,serverOutDir:_(import.meta.url,"./server/esbuild/cache/server")}),await w(g.DEVELOP,a,i),await V(a,i);break;case"prepare":const s=o(process.argv.slice(3),f),u=r.resolve(r.join(s.outdir,"server"));i=new C({contentDir:r.resolve(s["project-dir"]),outdir:r.resolve(s.outdir,"client"),serverOutDir:u}),await w(g.PREPARE,s,i),q(u),await L(s,i);break;case"serve":await y();const b=o(process.argv.slice(3),z),O=r.resolve(b.prepareDir);d.sendServeCliCommandExecutedMessage();const v=r.join(O,"server","index.mjs");x.existsSync(v)||await t.panic("Server not found. Please run `realm prepare` first"),import(v).catch(async c=>{await t.panic("Failed to load server",c)});break;case"eject":e.canAccessFeature("themeEjecting")||await t.panicOnContentError('The "eject" command is not available for this project');const m=o(process.argv.slice(3),H),{lifecycleContext:{getConfig:h,fs:D}}=await T({outdir:"",contentDir:r.resolve(m["project-dir"]),setGlobalConfig:()=>null});D.dispose(),d.sendCliCommandEjectExecutedMessage([{object:"cli_command",arguments:m}]),await I({...m,config:await h()}),p.clearAllTimeouts();break;case"translate":if(e.canAccessFeature("l10n")){const c=o(process.argv.slice(3),M);d.sendCliCommandTranslateExecutedMessage({arguments:c}),await N(c)}else await t.panicOnContentError('The "translate" command is not available for this project');break;case"stats":const P=o(process.argv.slice(3),G);await B(P);break;case"--version":console.log(k);break;default:await t.panicOnContentError(`Unknown command "${n}"`)}}catch(e){p.error("Exiting due to uncaught exception"),await t.panic(e)}
@@ -1 +1 @@
1
- import{logger as n}from"../server/tools/notifiers/logger.js";import{reporter as u}from"../server/tools/notifiers/reporter.js";import{green as g}from"../server/tools/notifiers/helpers/colors.js";import{resolveCache as v}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as m}from"../server/utils/index.js";import{createClientCompiler as w,createServerCompiler as h}from"../server/esbuild/esbuild.js";import{initPlugins as C,runPlugins as p,writeClientEntries as y}from"../server/plugins/lifecycle.js";import{startDevServer as S}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as f}from"../server/plugins/markdown/compiler.js";import{reportAllErrors as b}from"../server/utils/report-all-errors.js";import{copyMigrationsFolder as R}from"../server/providers/database/copy-migrations.js";async function G(i,e){n.info("Starting project preview mode."),y(e),n.startTiming("initial-js"),await E(e),n.infoTime("initial-js","JavaScript compiled");const{pluginInstances:l,lifecycleContext:t}=await C({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:i["dev-login"]!==!1,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=t,R(e),await p(l,e,t,{failFast:!0});const d=async()=>{const r=performance.now();u.clearErrors(),await p(l,e,t),await f(e,t),P().then(async()=>{await b(t);const a=m(e.getAllRoutes()),o=u.summary(` \u{1F440} Last change processed in ${g(Math.round(performance.now()-r)+"ms")}`,a);e.runListeners("errors-updated",void 0,o),e.runListeners("pages-updated",void 0,a),e.runListeners("routes-updated")})};await f(e,t),await b(t);const s=m(e.getAllRoutes());u.summary(" \u{1F440} Watching for changes...",s),e.runListeners("pages-updated",void 0,s),t.fs.watch(async()=>{v.clear(),await d()}),n.verbose("Starting development server."),await S(e,t,{port:Number(i.port||4e3)}),u.listenStdin()}async function E(i){let e=!0,l=!0;const t=r=>{r==="client"?e=!0:l=!0,i.runListeners("build-started"),e!=l&&(i.startEsbuildRun(),n.startTiming("rebuild"))},d=async r=>{r==="client"?e=!1:l=!1,!(e||l)&&(i.finishEsbuildRun(),i.buildRevision++,n.infoTime("rebuild","JavaScript re-compiled"),await i.reloadMarkdocOptions(),i.markUserCodeReady(),i.runListeners("build-updated"),i.lifecycleContext&&i.buildRevision>1&&i.lifecycleContext.fs.emitCodeUpdated())},s=[new Promise((r,a)=>{const o={label:"client",buildStart(){n.verbose("Start compiling client code."),n.startTiming(this.label)},buildEnd(){n.verboseTime(this.label,"Client compiled"),r(!0)},rebuildStart:()=>t("client"),rebuildEnd:()=>d("client")};w(i,i.outdir,"development",o).then(c=>c.watch()).catch(a)}),new Promise((r,a)=>{const o={label:"server",buildStart(){n.verbose("Start compiling server code."),n.startTiming(this.label)},buildEnd(){n.verboseTime(this.label,"Server compiled"),r(!0)},rebuildStart:()=>t("server"),rebuildEnd:()=>d("server")};h(i,i.serverOutDir,"development",o).then(c=>c.watch()).catch(a)})];await Promise.all(s),await i.reloadMarkdocOptions()}function P(){return new Promise(i=>{setTimeout(i,0)})}export{G as develop};
1
+ import{logger as t}from"../server/tools/notifiers/logger.js";import{reporter as u}from"../server/tools/notifiers/reporter.js";import{green as v}from"../server/tools/notifiers/helpers/colors.js";import{envConfig as m}from"../server/config/env-config.js";import{resolveCache as w}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as p}from"../server/utils/index.js";import{createClientCompiler as C,createServerCompiler as h}from"../server/esbuild/esbuild.js";import{initPlugins as S,runPlugins as f,writeClientEntries as E}from"../server/plugins/lifecycle.js";import{startDevServer as R}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as b}from"../server/plugins/markdown/compiler.js";import{reportAllErrors as g}from"../server/utils/report-all-errors.js";import{copyMigrationsFolder as y}from"../server/providers/database/copy-migrations.js";async function F(i,e){t.info("Starting project preview mode."),E(e),t.startTiming("initial-js"),await L(e),t.infoTime("initial-js","JavaScript compiled");const{pluginInstances:a,lifecycleContext:n}=await S({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:i["dev-login"]!==!1,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=n,y(e),await f(a,e,n,{failFast:!0});const d=async()=>{const r=performance.now();u.clearErrors(),await f(a,e,n),m.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await b(e,n):t.info("Skipping markdown validation step"),D().then(async()=>{await g(n);const l=p(e.getAllRoutes()),o=u.summary(` \u{1F440} Last change processed in ${v(Math.round(performance.now()-r)+"ms")}`,l);e.runListeners("errors-updated",void 0,o),e.runListeners("pages-updated",void 0,l),e.runListeners("routes-updated")})};m.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await b(e,n):t.info("Skipping markdown validation step"),await g(n);const s=p(e.getAllRoutes());u.summary(" \u{1F440} Watching for changes...",s),e.runListeners("pages-updated",void 0,s),n.fs.watch(async()=>{w.clear(),await d()}),t.verbose("Starting development server."),await R(e,n,{port:Number(i.port||4e3)}),u.listenStdin()}async function L(i){let e=!0,a=!0;const n=r=>{r==="client"?e=!0:a=!0,i.runListeners("build-started"),e!=a&&(i.startEsbuildRun(),t.startTiming("rebuild"))},d=async r=>{r==="client"?e=!1:a=!1,!(e||a)&&(i.finishEsbuildRun(),i.buildRevision++,t.infoTime("rebuild","JavaScript re-compiled"),await i.reloadMarkdocOptions(),i.markUserCodeReady(),i.runListeners("build-updated"),i.lifecycleContext&&i.buildRevision>1&&i.lifecycleContext.fs.emitCodeUpdated())},s=[new Promise((r,l)=>{const o={label:"client",buildStart(){t.verbose("Start compiling client code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Client compiled"),r(!0)},rebuildStart:()=>n("client"),rebuildEnd:()=>d("client")};C(i,i.outdir,"development",o).then(c=>c.watch()).catch(l)}),new Promise((r,l)=>{const o={label:"server",buildStart(){t.verbose("Start compiling server code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Server compiled"),r(!0)},rebuildStart:()=>n("server"),rebuildEnd:()=>d("server")};h(i,i.serverOutDir,"development",o).then(c=>c.watch()).catch(l)})];await Promise.all(s),await i.reloadMarkdocOptions()}function D(){return new Promise(i=>{setTimeout(i,0)})}export{F as develop};
@@ -1 +1 @@
1
- import*as a from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as k}from"../../constants/common.js";import{logger as T}from"../../server/tools/notifiers/logger.js";import{reporter as A}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as F}from"./resolveTheme.js";import{EntitlementsProvider as y}from"../../server/entitlements/entitlements-provider.js";const v=["markdoc/attributes/code-walkthrough-filesets.ts","markdoc/attributes/code-walkthrough-filters.ts","markdoc/components/CodeWalkthrough/**","markdoc/tags/code-step.ts","markdoc/tags/code-toggle.ts","markdoc/tags/code-walkthrough.ts"],m=["./core/**","./markdoc/**/default.*","**/__mocks__/**","**/index.*","**/utils/**/*","**/__tests__/**/*","**/__snapshots__/**/*","**/*.stories.*","**/variables.*",...v],C=["./components/CatalogClassic/CatalogClassicCard.*","./components/ColorModeSwitcher/**","./components/Feedback/**","./components/Filter/**","./components/Footer/**","./components/LanguagePicker/**","./components/Menu/**","./components/Navbar/**","./components/PageNavigation/**","./components/Product/**","./components/Search/**","./components/UserMenu/**","./layouts/RootLayout.*","./layouts/NotFound.*","./icons/**","./markdoc/**","./ext/**"];async function j(t){const[p,n]=t._,{theme:l,force:d,onSuccess:g,onError:u,onOverride:h,config:E}=t,_=y.instance(),s=a.resolve(t["project-dir"]);let o=l;o||(o=i);const r=await F(s,E.plugins||[],o,n);r||await A.panicOnContentError(`Theme ${o} not found. Skipping eject.`);const e=r?.config.ejectIgnore;e&&!Array.isArray(e)&&T.warn("'ejectIgnore' must be of type Array. Skipping.");const c=await _.getPackageEjectIgnore(),f={force:d,onSuccess:g,onError:u,onOverride:h,onlyFiles:o===i?C:void 0,ignoreFiles:Array.isArray(e)?[...e,...c,...m]:[...c,...m]};return{objectType:p,pathToThemeFolder:r?.pluginDirAbsolutePath,pathToPortalCustomThemeFolder:a.resolve(s,k),componentToEject:n,theme:o,options:f}}export{m as DEFAULT_IGNORED_FILES,C as EJECTABLE_FILES,j as default};
1
+ import*as c from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as k}from"../../constants/common.js";import{logger as y}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as F}from"./resolveTheme.js";import{EntitlementsProvider as A}from"../../server/entitlements/entitlements-provider.js";const L=["markdoc/attributes/code-walkthrough-filesets.ts","markdoc/attributes/code-walkthrough-filters.ts","markdoc/components/CodeWalkthrough/**","markdoc/tags/code-step.ts","markdoc/tags/code-toggle.ts","markdoc/tags/code-walkthrough.ts"],m=["./core/**","./markdoc/**/default.*","**/__mocks__/**","**/index.*","**/utils/**/*","**/__tests__/**/*","**/__snapshots__/**/*","**/*.stories.*","**/variables.*",...L],v=["./components/CatalogClassic/CatalogClassicCard.*","./components/ColorModeSwitcher/**","./components/Feedback/**","./components/Filter/**","./components/Footer/**","./components/LanguagePicker/**","./components/Menu/**","./components/Navbar/**","./components/PageNavigation/**","./components/Product/**","./components/Search/**","./components/UserMenu/**","./layouts/RootLayout.*","./layouts/NotFound.*","./layouts/Forbidden.*","./layouts/DocumentationLayoutTop.*","./layouts/DocumentationLayoutBottom.*","./icons/**","./markdoc/**","./ext/**"];async function C(t){const[p,n]=t._,{theme:l,force:d,onSuccess:u,onError:g,onOverride:h,config:E}=t,_=A.instance(),s=c.resolve(t["project-dir"]);let o=l;o||(o=i);const r=await F(s,E.plugins||[],o,n);r||await T.panicOnContentError(`Theme ${o} not found. Skipping eject.`);const e=r?.config.ejectIgnore;e&&!Array.isArray(e)&&y.warn("'ejectIgnore' must be of type Array. Skipping.");const a=await _.getPackageEjectIgnore(),f={force:d,onSuccess:u,onError:g,onOverride:h,onlyFiles:o===i?v:void 0,ignoreFiles:Array.isArray(e)?[...e,...a,...m]:[...a,...m]};return{objectType:p,pathToThemeFolder:r?.pluginDirAbsolutePath,pathToPortalCustomThemeFolder:c.resolve(s,k),componentToEject:n,theme:o,options:f}}export{m as DEFAULT_IGNORED_FILES,v as EJECTABLE_FILES,C as default};
@@ -1,3 +1,3 @@
1
- import type { ResolvedPlugin } from '../../server/config/external-plugins.js';
1
+ import type { ResolvedPlugin } from '../../server/external-plugins/resolve-external-plugins.js';
2
2
  export declare function resolveTheme(contentDir: string, pluginPaths: string[], themeName?: string, componentToEject?: string): Promise<ResolvedPlugin | undefined>;
3
3
  //# sourceMappingURL=resolveTheme.d.ts.map
@@ -1 +1 @@
1
- import*as f from"path";import{bold as i}from"colorette";import{existsSync as m}from"node:fs";import{USER_THEME_ALIAS as u}from"../../constants/common.js";import{reporter as a}from"../../server/tools/notifiers/reporter.js";import{resolvePlugins as l}from"../../server/config/external-plugins.js";const d=[".tsx",".ts",".mjsx",".mjs",".jsx",".js"];async function T(t,s,e,n){const o=(await l(t,s)).find(r=>e?r.name===e:h(r,n));if(!o){const r=e?`The requested theme ${i(e)} does not exist`:n?`The requested component ${i(n)} does not exist in any theme`:void 0;r&&await a.panicOnBuildContentError(r)}return o}function h(t,s){if(t.name===u||!s)return!1;for(const e of d)if(m(f.join(t.pluginDirAbsolutePath,s+e)))return!0;return!1}export{T as resolveTheme};
1
+ import*as f from"path";import{bold as i}from"colorette";import{existsSync as m}from"node:fs";import{USER_THEME_ALIAS as u}from"../../constants/common.js";import{reporter as a}from"../../server/tools/notifiers/reporter.js";import{resolveExternalPlugins as l}from"../../server/external-plugins/resolve-external-plugins.js";const d=[".tsx",".ts",".mjsx",".mjs",".jsx",".js"];async function T(t,s,e,n){const o=(await l(t,s)).find(r=>e?r.name===e:h(r,n));if(!o){const r=e?`The requested theme ${i(e)} does not exist`:n?`The requested component ${i(n)} does not exist in any theme`:void 0;r&&await a.panicOnBuildContentError(r)}return o}function h(t,s){if(t.name===u||!s)return!1;for(const e of d)if(m(f.join(t.pluginDirAbsolutePath,s+e)))return!0;return!1}export{T as resolveTheme};
@@ -1 +1 @@
1
- import r from"node:path";import{copyFileSync as p,existsSync as s,mkdirSync as v}from"node:fs";import{readEnvVariable as l}from"../../server/utils/envs/read-env-variable.js";import{logger as u}from"../../server/tools/notifiers/logger.js";const b=e=>{const n=a();s(e.serverOutDir)||v(e.serverOutDir,{recursive:!0});const i=[];for(const o of n){const t=r.join(e.contentDir,o);if(!s(t))continue;const c=r.join(e.serverOutDir,o);p(t,c),i.push(o)}i.length>0&&u.info(`Env files included in bundle: ${i.map(()=>"%rp").join(", ")}`,...i)},a=()=>{const e=l("REDOCLY_ENV"),n=[".env"];switch(e){case"production":n.push(".env.production");break;case"preview":n.push(".env.preview");break;case"development":default:n.push(".env.development");break}return n};export{b as copyEnvFiles};
1
+ import t from"node:path";import{copyFileSync as v,existsSync as s,mkdirSync as u}from"node:fs";import{envConfig as c}from"../../server/config/env-config.js";import{logger as l}from"../../server/tools/notifiers/logger.js";import{sanitizeBranchName as a}from"../../server/utils/envs/sanitize-branch-name.js";const F=n=>{const i=f();s(n.serverOutDir)||u(n.serverOutDir,{recursive:!0});const e=[];for(const o of i){const r=t.join(n.contentDir,o);if(!s(r))continue;const p=t.join(n.serverOutDir,o);v(r,p),e.push(o)}e.length>0&&l.info(`Env files included in bundle: ${e.map(()=>"%rp").join(", ")}`,...e)},f=()=>{const n=c.redoclyEnv,i=c.PUBLIC_REDOCLY_BRANCH_NAME,e=[".env"];switch(i&&e.push(`.env.branch.${a(i)}`),n){case"production":e.push(".env.production");break;case"preview":e.push(".env.preview");break;default:e.push(".env.development");break}return e};export{F as copyEnvFiles};
@@ -1 +1 @@
1
- import T from"node:path";import{unlink as h}from"node:fs/promises";import{writeFileSync as y}from"node:fs";import{readEnvVariable as S}from"../../server/utils/envs/read-env-variable.js";import{PORTAL_VERSION as A}from"../../server/version.js";import{logger as e}from"../../server/tools/notifiers/logger.js";import{reporter as b}from"../../server/tools/notifiers/reporter.js";import{shutdowner as O}from"../../server/tools/shutdowner.js";import{promiseMapLimit as E}from"../../server/utils/async/promise-map-limit.js";import{validateReactPages as D}from"../../server/plugins/pages/validators/validate-react-pages.js";import{ensureDir as v}from"../../server/utils/index.js";import{initPlugins as M,runPlugins as _,writeClientEntries as x}from"../../server/plugins/lifecycle.js";import{createClientCompiler as L,createNodeBundleCompiler as J}from"../../server/esbuild/esbuild.js";import{validateAllMarkdowns as j}from"../../server/plugins/markdown/compiler.js";import{copyEnvFiles as k}from"./copy-env-files.js";import{EsbuildError as l,esbuildLogger as p}from"../../server/esbuild/esbuild-logger.js";import{reportAllErrors as F}from"../../server/utils/report-all-errors.js";import{collectAnalytics as U}from"./analytics/collect-analytics.js";import{copyMigrationsFolder as z}from"../../server/providers/database/copy-migrations.js";import{telemetry as c}from"../telemetry/index.js";import{telemetryTraceStep as m}from"../telemetry/helpers/trace-step.js";async function si(C,i){c.initialize(A),e.info("Starting project build.");const P=e.startTiming();await m("build.start",async R=>{x(i);const d=await L(i,i.outdir,"production"),u=await J(i,i.serverOutDir,"production");let n,f;try{await m("build.client_compilation",async()=>{const s=e.startTiming(),o=await d.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Client JavaScript compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.server_compilation",async()=>{const s=e.startTiming(),o=await u.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Server JavaScript compiled");r&&c.sendTimingPerformedMessage({message:r.message,timeMs:r.timeMs})}),await i.reloadMarkdocOptions();let t;({pluginInstances:t,lifecycleContext:n}=await M({outdir:i.outdir,serverOutDir:i.serverOutDir,contentDir:i.contentDir,devLogin:C.devLogin,setGlobalConfig:i.setGlobalConfig})),n.fs.dispose(),i.lifecycleContext=n,z(i),await _(t,i,n),f=U(i,n),await m("build.client_server_recompile",async()=>{const s=e.startTiming();e.info("Re-compiling JavaScript with user code"),(await Promise.all([d.rebuild(),u.rebuild()]).catch(a=>{throw new l(a)})).forEach(({warnings:a})=>{Array.isArray(a)&&p(new l({warnings:a}))});const r=e.infoTime(s,"JavaScript re-compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.pages_validation",async()=>{await D(i,n),await j(i,n)}),await F(n),i.markUserCodeReady()}catch(t){R?.error(t),t instanceof l&&p(t)}finally{f&&await f.catch(()=>{}),await d.dispose(),await u.dispose()}b.printErrors(),e.info("Rendering pages..."),await m("build.prepare_static_data",async t=>{const s=e.startTiming(),o=[...i.getAllRoutes(),...i.getAllApiRoutes()];t?.setAttribute("totalRoutes",o.length.toString()),await E(o,15,a=>i.writeRouteStaticData(a,n));const r=e.successTime(s,"Page static data prepared.");r&&c.sendTimingPerformedMessage(r)}),await m("build.store_serialization",async()=>{const t=e.startTiming();v(i.serverOutDir),y(T.join(i.serverOutDir,"store.json"),JSON.stringify(await i.toJson())),e.successTime(t,"Store serialized and written."),k(i)});const g=S("REDOCLY_PROBLEMS_OUTPUT_FILE");if(g){const t=e.startTiming();y(v(g),JSON.stringify(b.getProblems()),"utf-8"),e.successTime(t,"Broken links written.")}await h(T.join(i.serverOutDir,"index.css"));const w=e.successTime(P,"All done");w&&c.sendTimingPerformedMessage(w)}),await O.exitWithCode(0)}export{si as prepare};
1
+ import T from"node:path";import{unlink as h}from"node:fs/promises";import{writeFileSync as y}from"node:fs";import{envConfig as S}from"../../server/config/env-config.js";import{PORTAL_VERSION as A}from"../../server/version.js";import{logger as e}from"../../server/tools/notifiers/logger.js";import{reporter as b}from"../../server/tools/notifiers/reporter.js";import{shutdowner as O}from"../../server/tools/shutdowner.js";import{promiseMapLimit as D}from"../../server/utils/async/promise-map-limit.js";import{validateReactPages as E}from"../../server/plugins/pages/validators/validate-react-pages.js";import{ensureDir as v}from"../../server/utils/index.js";import{initPlugins as M,runPlugins as _,writeClientEntries as x}from"../../server/plugins/lifecycle.js";import{createClientCompiler as L,createNodeBundleCompiler as J}from"../../server/esbuild/esbuild.js";import{validateAllMarkdowns as j}from"../../server/plugins/markdown/compiler.js";import{copyEnvFiles as k}from"./copy-env-files.js";import{EsbuildError as l,esbuildLogger as p}from"../../server/esbuild/esbuild-logger.js";import{reportAllErrors as F}from"../../server/utils/report-all-errors.js";import{collectAnalytics as U}from"./analytics/collect-analytics.js";import{copyMigrationsFolder as z}from"../../server/providers/database/copy-migrations.js";import{telemetry as c}from"../telemetry/index.js";import{telemetryTraceStep as m}from"../telemetry/helpers/trace-step.js";async function si(C,i){c.initialize(A),e.info("Starting project build.");const P=e.startTiming();await m("build.start",async R=>{x(i);const d=await L(i,i.outdir,"production"),u=await J(i,i.serverOutDir,"production");let n,f;try{await m("build.client_compilation",async()=>{const s=e.startTiming(),o=await d.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Client JavaScript compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.server_compilation",async()=>{const s=e.startTiming(),o=await u.rebuild().catch(a=>{throw new l(a)});Array.isArray(o.warnings)&&p(new l({warnings:o.warnings}));const r=e.infoTime(s,"Server JavaScript compiled");r&&c.sendTimingPerformedMessage({message:r.message,timeMs:r.timeMs})}),await i.reloadMarkdocOptions();let t;({pluginInstances:t,lifecycleContext:n}=await M({outdir:i.outdir,serverOutDir:i.serverOutDir,contentDir:i.contentDir,devLogin:C.devLogin,setGlobalConfig:i.setGlobalConfig})),n.fs.dispose(),i.lifecycleContext=n,z(i),await _(t,i,n),f=U(i,n),await m("build.client_server_recompile",async()=>{const s=e.startTiming();e.info("Re-compiling JavaScript with user code"),(await Promise.all([d.rebuild(),u.rebuild()]).catch(a=>{throw new l(a)})).forEach(({warnings:a})=>{Array.isArray(a)&&p(new l({warnings:a}))});const r=e.infoTime(s,"JavaScript re-compiled");r&&c.sendTimingPerformedMessage(r)}),await m("build.pages_validation",async()=>{await E(i,n),await j(i,n)}),await F(n),i.markUserCodeReady()}catch(t){R?.error(t),t instanceof l&&p(t)}finally{f&&await f.catch(()=>{}),await d.dispose(),await u.dispose()}b.printErrors(),e.info("Rendering pages..."),await m("build.prepare_static_data",async t=>{const s=e.startTiming(),o=[...i.getAllRoutes(),...i.getAllApiRoutes()];t?.setAttribute("totalRoutes",o.length.toString()),await D(o,15,a=>i.writeRouteStaticData(a,n));const r=e.successTime(s,"Page static data prepared.");r&&c.sendTimingPerformedMessage(r)}),await m("build.store_serialization",async()=>{const t=e.startTiming();v(i.serverOutDir),y(T.join(i.serverOutDir,"store.json"),JSON.stringify(await i.toJson())),e.successTime(t,"Store serialized and written."),k(i)});const g=S.REDOCLY_PROBLEMS_OUTPUT_FILE;if(g){const t=e.startTiming();y(v(g),JSON.stringify(b.getProblems()),"utf-8"),e.successTime(t,"Broken links written.")}await h(T.join(i.serverOutDir,"index.css"));const w=e.successTime(P,"All done");w&&c.sendTimingPerformedMessage(w)}),await O.exitWithCode(0)}export{si as prepare};
@@ -0,0 +1,3 @@
1
+ import type { LifecycleContext } from '../../../server/types';
2
+ export declare function collectOpenapiDocumentsStatistics(lifecycleContext: LifecycleContext, telemetryEnabled: boolean): Promise<void>;
3
+ //# sourceMappingURL=openapi.d.ts.map
@@ -0,0 +1 @@
1
+ import{detectSpec as m,getTypes as f,normalizeTypes as d,normalizeVisitors as u,resolveDocument as w,BaseResolver as h,Stats as y,walkDocument as S}from"@redocly/openapi-core";import{logger as l}from"../../../server/tools/notifiers/logger.js";import{envConfig as g}from"../../../server/config/env-config.js";import{telemetryTraceStep as D}from"../../telemetry/helpers/trace-step.js";import{telemetry as I}from"../../telemetry/index.js";const t={refs:{metric:"References",total:0,color:"red",items:new Set},externalDocs:{metric:"External Documents",total:0,color:"magenta"},schemas:{metric:"Schemas",total:0,color:"white"},parameters:{metric:"Parameters",total:0,color:"yellow",items:new Set},links:{metric:"Links",total:0,color:"cyan",items:new Set},pathItems:{metric:"Path Items",total:0,color:"green"},webhooks:{metric:"Webhooks",total:0,color:"green"},operations:{metric:"Operations",total:0,color:"yellow"},tags:{metric:"Tags",total:0,color:"white",items:new Set}};async function T(s,a){await D("stats.openapi",async()=>{l.info("OpenAPI collector: start processing documents...");const e=(await s.cache.load(".","load-oas-docs")).data,o=[];for(const r of e)if(!r.isVirtual){const n=await v(r);o.push(n),I.sendStatsOpenapiCollectedMessage([{...n,projectBuildId:g.PROJECT_BUILD_ID||""}])}a||console.table(o),l.info("OpenAPI collector: openapi docments processing completed.")})}async function v(s){const a=s.definition,e=m(a),o=d(f(e)),r=u([{severity:"warn",ruleId:"openapi_stats",visitor:y(t)}],o),n={problems:[],specVersion:e,visitorsData:{}},c={source:{absoluteRef:""},parsed:a},i=o.Root;if(!i)throw new Error("Root type not found in OpenAPI spec types");const p=await w({rootDocument:c,rootType:i,externalRefResolver:new h});return S({rootType:i,normalizedVisitors:r,resolvedRefMap:p,document:c,ctx:n}),{path:s.relativePath,refs:t.refs.total,externalDocs:t.externalDocs.total,schemas:t.schemas.total,parameters:t.parameters.total,links:t.links.total,pathItems:t.pathItems.total,webhooks:t.webhooks.total,operations:t.operations.total,tags:t.tags.total,version:e}}export{T as collectOpenapiDocumentsStatistics};
@@ -0,0 +1,7 @@
1
+ export type StatsArgs = {
2
+ 'project-dir': string;
3
+ telemetry: boolean;
4
+ verbose: boolean;
5
+ };
6
+ export declare function stats(args: StatsArgs): Promise<void>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ import{initPlugins as n}from"../../server/plugins/lifecycle.js";import{configParserPlugin as a}from"../../server/plugins/config-parser/index.js";import{openAPIDocsPlugin as c}from"../../server/plugins/openapi-docs/index.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{PORTAL_VERSION as p}from"../../server/version.js";import{collectOpenapiDocumentsStatistics as l}from"./collectors/openapi.js";import{telemetry as f}from"../telemetry/index.js";import{telemetryTraceStep as y}from"../telemetry/helpers/trace-step.js";async function I(e){const{"project-dir":o,telemetry:t,verbose:i}=e;f.initialize(p,t,i),await y("stats",async()=>{const r=[a,c],{lifecycleContext:m}=await n({contentDir:o},r);await l(m,t)}),await s.exitWithCode(0)}export{I as stats};
@@ -0,0 +1,3 @@
1
+ import type { Options } from 'mri';
2
+ export declare const statsCliOpts: Options;
3
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ const e={alias:{d:"project-dir",t:"telemetry"},default:{"project-dir":process.cwd(),telemetry:!1,verbose:!1}};export{e as statsCliOpts};
@@ -6,13 +6,13 @@ type TraceStepCallbacks = {
6
6
  declare class CLITelemetryWrapper extends AsyncApiRealmCLI.Telemetry {
7
7
  #private;
8
8
  constructor();
9
- initialize(portalVersion: string): void;
9
+ initialize(portalVersion: string, telemetryEnabled?: boolean, verbose?: boolean): void;
10
10
  addTraceStepCallbacks(event: string, { error, end }: TraceStepCallbacks): void;
11
11
  removeTraceStepCallbacks(event: string): void;
12
12
  }
13
13
  export declare const telemetry: CLITelemetryWrapper;
14
14
  export declare const telemetryTracer: {
15
- traceStep: <T extends AsyncApiRealmCLI.EventType>(event: T, data?: AsyncApiRealmCLI.EventPayload<T>) => AsyncApiRealmCLI.TraceStep<T> | undefined;
15
+ traceStep: <T extends AsyncApiRealmCLI.cloudEvents.EventType>(event: T, data?: AsyncApiRealmCLI.cloudEvents.EventPayload<T>) => AsyncApiRealmCLI.TraceStep<T> | undefined;
16
16
  };
17
17
  export {};
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- import{AsyncApiRealmCLI as s}from"@redocly/realm-asyncapi-sdk";import{TELEMETRY_ENABLED as o}from"../../server/constants/common.js";import{shutdowner as c}from"../../server/tools/shutdowner.js";import{PACKAGE_NAME as a}from"../../config/product-gates.js";class i extends s.Telemetry{#e=new Map;constructor(){super(),this.updateCloudEventData(()=>({organization:{id:process.env.ORGANIZATION_ID||"",slug:process.env.ORGANIZATION_SLUG||""},project:{id:process.env.PROJECT_ID||"",slug:""},productType:"cli",sourceDetails:{user:"Anonymous",object:"user",uri:""},request:{source:"cli"}}))}initialize(e){this.init({otel:{serviceName:"realm-cli",serviceVersion:`${a}@${e}`,collectorTraceUrl:process.env.OTEL_TRACES_URL||"https://otel.cloud.redocly.com/v1/traces",isProd:process.env.REDOCLY_ENV==="production",version:"1.0",tracerName:"cli-telemetry"},disabled:!o}),c.registerShutdownCallback(this.#r.bind(this))}addTraceStepCallbacks(e,{error:r,end:t}){this.#e.set(e,{error:r,end:t})}removeTraceStepCallbacks(e){this.#e.delete(e)}async#r(e){for(const[,{error:r,end:t}]of this.#e)e&&r(e),t();this.#e.clear(),await this.forceFlush(),await this.shutdown()}}const l=new i,h=l.tracer;export{l as telemetry,h as telemetryTracer};
1
+ import{AsyncApiRealmCLI as c}from"@redocly/realm-asyncapi-sdk";import{ulid as l}from"ulid";import{TELEMETRY_ENABLED as i}from"../../server/constants/common.js";import{shutdowner as s}from"../../server/tools/shutdowner.js";import{envConfig as t}from"../../server/config/env-config.js";import{PACKAGE_NAME as n}from"../../config/product-gates.js";class d extends c.Telemetry{#e=new Map;constructor(){super(),this.updateCloudEventData(()=>({organizationId:t.ORGANIZATION_ID||"",organizationSlug:t.ORGANIZATION_SLUG||"",projectId:t.PROJECT_ID||"",projectSlug:t.PROJECT_SLUG||"",origin:"realmCli",actor:{id:`ann_${l()}`,object:"user",uri:""},source:"cli"}))}initialize(e,r,o){const a=r!==void 0?!(r&&i):!i;this.init({otel:{serviceName:"realm-cli",serviceVersion:`${n}@${e}`,collectorTraceUrl:t.OTEL_TRACES_URL||"https://otel.cloud.redocly.com/v1/traces",isProd:t.isProductionEnv,version:"1.0",tracerName:"cli-telemetry"},disabled:a,verbose:o}),s.registerShutdownCallback(this.#r.bind(this))}addTraceStepCallbacks(e,{error:r,end:o}){this.#e.set(e,{error:r,end:o})}removeTraceStepCallbacks(e){this.#e.delete(e)}async#r(e){for(const[,{error:r,end:o}]of this.#e)e&&r(e),o();this.#e.clear(),await this.forceFlush(),await this.shutdown()}}const m=new d,A=m.tracer;export{m as telemetry,A as telemetryTracer};
@@ -1 +1 @@
1
- import*as o from"react";import{useEffect as l}from"react";import{Outlet as f,useLocation as g,useNavigate as d}from"react-router-dom";import{components as P}from"@redocly-markdoc/components";import h from"@markdoc/markdoc/dist/react";import{withoutPathPrefix as T}from"@redocly/theme/core/utils";import{InternalServerErrorLayout as D}from"@redocly/theme/layouts/InternalServerErrorLayout";import{RootLayout as S}from"@redocly/theme/layouts/RootLayout";import{PageLayout as L}from"@redocly/theme/layouts/PageLayout";import{components as i}from"@redocly/theme/markdoc/default";import{Sidebar as _}from"./app/Sidebar/Sidebar";import{loadAndNavigate as v}from"./app/utils/loadAndNavigate";import{useActions as C}from"./app/Sidebar/useActions";import{useScrollTracker as A}from"./app/hooks/useScrollTracker";import{useAutoScroll as N}from"./app/hooks/useAutoScroll";import{OPENAPI_DOCS_TEMPLATE_ID as O,ASYNC_API_DOCS_TEMPLATE_ID as y,GRAPHQL_TEMPLATE_ID as R}from"../constants/common";import{removeTrailingSlash as I}from"../utils/url/remove-trailing-slash";import{removeLeadingSlash as b}from"../utils/url/remove-leading-slash";import*as k from"../server/plugins/markdown/markdoc/custom-components/index";import{ErrorBubble as x}from"./app/ErrorBubble";import{DefaultStyles as M}from"./styling/default-styles";import{ThemeDataProvider as V}from"./providers/theme/ThemeDataProvider";import{PageDataContext as B}from"./providers/page-data/PageDataContext";import{SeoTags as G}from"./app/seo/SeoTags";import{useRouterForLocalLinks as $,useRunningEnvironmentCheck as w}from"./providers/hooks";import{usePageData as F,usePageDataLoader as H}from"./providers/page-data/hooks";import{ErrorBoundary as Q}from"./ErrorBoundary";import{ErrorDetails as c,Loader as U}from"./server-entry";import"@styles";import{useRouteChangeTracker as Y}from"./app/hooks/useRouteChangeTracker";import{isInIframe as j}from"./utils";import{useL10n as q}from"./app/l10n";import{PostMessageProvider as z}from"./providers/post-message/PostMessageProvider";import{ScriptLoader as J}from"./ScriptLoader";import{clientRoutes as K}from"./runtime/generated/routes.js";import{PageCounter as W}from"./app/PageCounter";import{usePageTimeTracker as X}from"./app/hooks/usePageTimeTracker";globalThis.__LOADER.markdocComponents={...k,...i};function Me(){const e=H(),[t,a]=o.useState(e),r=g(),m=d();q(),l(()=>{e?a(e):v({navigate:m,to:r.pathname+r.search+r.hash}).then(()=>a(U.loadSync(r.pathname)))},[r,m]),$();const n=w();return n?(console.log(n),o.createElement(c,{error:{message:n,name:""}})):t?o.createElement(Q,null,o.createElement(M,null),o.createElement(B.Provider,{value:e||t},o.createElement(V,null,o.createElement(z,{enabled:process.env.NODE_ENV==="development"||j()},o.createElement(f,null))))):null}function u(){Y(),X(),A(),N();const e=F(),t=C(),{layout:a}=t,r={layout:a},m=process.env.NODE_ENV!=="production",n=globalThis.SSR_OMIT_SUSPENSE,s=e?.props.ast&&e.props.ast.$$mdtype==="Tag"?h(e.props.ast,o,{components:{...globalThis.__LOADER.markdocComponents,...i,...P}}):null,E=I(e?.slug||"");if(l(()=>{document.documentElement.classList.add("ready")},[]),e?.props.pagePropGetterError?.message)return m?o.createElement(c,{error:{...e?.props?.pagePropGetterError}}):o.createElement(D,null);if(!!e?.props?.compilationErrors?.length)return e?.Template?o.createElement(e.Template,{pageProps:e?.props,children:s}):null;const p=()=>o.createElement(S,null,o.createElement(L,{sidebar:o.createElement(_,{layoutControls:t})},o.createElement(G,{seo:e?.props.seo,slug:E}),e?.Template?o.createElement(e.Template,{pageProps:[O,y,R].includes(e.templateId)?{...e.props,apiOptions:r}:e?.props,children:s}):null),process.env.NODE_ENV!=="production"&&o.createElement(x,null),process.env.NODE_ENV!=="production"&&o.createElement(W,null),o.createElement(J,null));return n?p():o.createElement(o.Suspense,null,p())}const Ve=[...K.map(e=>({Component:u,path:b(T(e).substring(1)+"/*")})),{Component:u,path:"*"}];export{Me as App,u as Page,Ve as routes};
1
+ import*as o from"react";import{useEffect as l}from"react";import{Outlet as E,useLocation as g,useNavigate as d}from"react-router-dom";import{components as h}from"@redocly-markdoc/components";import P from"@markdoc/markdoc/dist/react";import{withoutPathPrefix as T}from"@redocly/theme/core/utils";import{InternalServerErrorLayout as D}from"@redocly/theme/layouts/InternalServerErrorLayout";import{RootLayout as S}from"@redocly/theme/layouts/RootLayout";import{PageLayout as L}from"@redocly/theme/layouts/PageLayout";import{components as i}from"@redocly/theme/markdoc/default";import{Sidebar as _}from"./app/Sidebar/Sidebar";import{loadAndNavigate as v}from"./app/utils/loadAndNavigate";import{useActions as C}from"./app/Sidebar/useActions";import{useScrollTracker as A}from"./app/hooks/useScrollTracker";import{useAutoScroll as y}from"./app/hooks/useAutoScroll";import{OPENAPI_DOCS_TEMPLATE_ID as O,ASYNC_API_DOCS_TEMPLATE_ID as R,GRAPHQL_TEMPLATE_ID as N}from"../constants/common";import{removeTrailingSlash as I}from"../utils/url/remove-trailing-slash";import{removeLeadingSlash as b}from"../utils/url/remove-leading-slash";import*as k from"./app/markdoc/custom-components/index";import{DefaultStyles as M}from"./styling/default-styles";import{ThemeDataProvider as x}from"./providers/theme/ThemeDataProvider";import{PageDataContext as B}from"./providers/page-data/PageDataContext";import{SeoTags as G}from"./app/seo/SeoTags";import{useRouterForLocalLinks as V,useRunningEnvironmentCheck as F}from"./providers/hooks";import{usePageData as $,usePageDataLoader as w}from"./providers/page-data/hooks";import{ErrorBoundary as H}from"./ErrorBoundary";import{ErrorDetails as c,Loader as Q}from"./server-entry";import"@styles";import{useRouteChangeTracker as U}from"./app/hooks/useRouteChangeTracker";import{isInIframe as Y}from"./utils";import{useL10n as j}from"./app/l10n";import{PostMessageProvider as q}from"./providers/post-message/PostMessageProvider";import{ScriptLoader as z}from"./ScriptLoader";import{clientRoutes as J}from"./runtime/generated/routes.js";import{DevModeFloatingBar as K}from"./app/DevModeFloatingBar";import{usePageTimeTracker as W}from"./app/hooks/usePageTimeTracker";globalThis.__LOADER.markdocComponents={...k,...i};function ke(){const e=w(),[t,n]=o.useState(e),r=g(),m=d();j(),l(()=>{e?n(e):v({navigate:m,to:r.pathname+r.search+r.hash}).then(()=>n(Q.loadSync(r.pathname)))},[r,m]),V();const a=F();return a?(console.log(a),o.createElement(c,{error:{message:a,name:""}})):t?o.createElement(H,null,o.createElement(M,null),o.createElement(B.Provider,{value:e||t},o.createElement(x,null,o.createElement(q,{enabled:process.env.NODE_ENV==="development"||Y()},o.createElement(E,null))))):null}function u(){U(),W(),A(),y();const e=$(),t=C(),{layout:n}=t,r={layout:n},m=process.env.NODE_ENV!=="production",a=globalThis.SSR_OMIT_SUSPENSE,s=e?.props.ast&&e.props.ast.$$mdtype==="Tag"?P(e.props.ast,o,{components:{...globalThis.__LOADER.markdocComponents,...i,...h}}):null,f=I(e?.slug||"");if(l(()=>{document.documentElement.classList.add("ready")},[]),e?.props.pagePropGetterError?.message)return m?o.createElement(c,{error:{...e?.props?.pagePropGetterError}}):o.createElement(D,null);if(!!e?.props?.compilationErrors?.length)return e?.Template?o.createElement(e.Template,{pageProps:e?.props,children:s}):null;const p=()=>o.createElement(S,null,o.createElement(L,{sidebar:o.createElement(_,{layoutControls:t})},o.createElement(G,{seo:e?.props.seo,slug:f}),e?.Template?o.createElement(e.Template,{pageProps:[O,R,N].includes(e.templateId)?{...e.props,apiOptions:r}:e?.props,children:s}):null),process.env.NODE_ENV!=="production"&&o.createElement(K,null),o.createElement(z,null));return a?p():o.createElement(o.Suspense,null,p())}const Me=[...J.map(e=>({Component:u,path:b(T(e).substring(1)+"/*")})),{Component:u,path:"*"}];export{ke as App,u as Page,Me as routes};
@@ -1 +1 @@
1
- import*as s from"react";import{ErrorDetails as a}from"./app/Error/ErrorDetails";import{telemetry as n}from"./app/telemetry/index.js";class p extends s.Component{constructor(r){super(r),this.state={error:void 0}}componentDidCatch(r,c){const{name:e,message:t}=r,o={name:e,message:t,stack:c.componentStack??void 0};this.setState({error:o}),n.sendClientErrorMessage({message:`${e}: ${t}`,url:location.href}),n.sendError(o,"ReactErrorBoundary"),process.env.NODE_ENV!=="production"&&console.log(r)}render(){return this.state.error&&process.env.NODE_ENV!=="production"?s.createElement(a,{error:this.state.error}):this.props.children}}export{p as ErrorBoundary};
1
+ import*as s from"react";import{ErrorDetails as a}from"./app/Error/ErrorDetails";import{telemetry as n}from"./app/telemetry/index.js";class p extends s.Component{constructor(r){super(r),this.state={error:void 0}}componentDidCatch(r,c){const{name:e,message:t}=r,o={name:e,message:t,stack:c.componentStack??void 0};this.setState({error:o}),n.sendClientErrorMessage([{object:"client",message:`${e}: ${t}`,url:location.href}]),n.sendError(o,"ReactErrorBoundary"),process.env.NODE_ENV!=="production"&&console.log(r)}render(){return this.state.error&&process.env.NODE_ENV!=="production"?s.createElement(a,{error:this.state.error}):this.props.children}}export{p as ErrorBoundary};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function DevModeFloatingBar(): React.JSX.Element | null;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,43 @@
1
+ import e from"react";import u from"styled-components";import{Tooltip as X}from"@redocly/theme/components/Tooltip/Tooltip";import{CheckmarkFilledIcon as H}from"@redocly/theme/icons/CheckmarkFilledIcon/CheckmarkFilledIcon";import{DraggableIcon as O}from"@redocly/theme/icons/DraggableIcon/DraggableIcon";import{ErrorFilledIcon as N}from"@redocly/theme/icons/ErrorFilledIcon/ErrorFilledIcon";import{Button as U}from"@redocly/theme/components/Button/Button";import{DetailedErrors as G}from"./DetailedErrors";import{useSocketMessages as T}from"../../runtime/useSocketMessages";const V="pages-updated",W="errors-updated",P=99,f=24,k="portal.dev-mode-floating-bar-slot",K=280,w="bottom-left",R=["bottom-left","middle","bottom-right"];function Y(t,a){const s=a/2;return{minX:s+f,maxX:t-s-f}}function j(t,a){switch(t){case"bottom-left":return a.minX;case"bottom-right":return a.maxX;case"middle":default:return(a.minX+a.maxX)/2}}function q(t){return typeof t=="string"&&R.includes(t)}function J(){if(typeof window>"u")return w;try{const t=localStorage.getItem(k);return q(t)?t:w}catch{return w}}function de(){const[t,a]=e.useState(0),[s,z]=e.useState([]),[B,E]=e.useState(!1),[l,v]=e.useState(!1),[c,L]=e.useState(J),[p,b]=e.useState(null),S=e.useRef(0),g=e.useRef(null),h=e.useRef(null);T(V,r=>a(r.pages)),T(W,r=>z(r.errors));const y=e.useCallback(()=>h.current?.getBoundingClientRect().width||K,[]),d=e.useCallback(()=>Y(window.innerWidth,y()),[y]),x=e.useCallback(r=>{const o=d();return Math.min(Math.max(o.minX,r),o.maxX)},[d]),D=e.useCallback(r=>{const o=d();return R.map(n=>{const i=j(n,o),$=Math.abs(i-r);return{slot:n,distance:$}}).sort((n,i)=>n.distance-i.distance)[0].slot},[d]);e.useEffect(()=>{if(!(typeof window>"u"))try{localStorage.setItem(k,c)}catch{return}},[c]),e.useEffect(()=>{if(!l)return;const r=n=>{const i=x(n.clientX-S.current);g.current=i,b(i)},o=()=>{v(!1);const n=g.current||0,i=D(n);L(i),b(null),g.current=null};return window.addEventListener("pointermove",r),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[x,D,l,c]);const M=r=>{if(r.button!==0)return;const o=h.current?.getBoundingClientRect();if(!o)return;const n=o.left+o.width/2;S.current=r.clientX-n,g.current=n,b(n),v(!0),r.preventDefault()},_=e.useMemo(()=>{if(l&&p!==null)return{left:`${p}px`,right:"auto",transform:"translateX(-50%)"};switch(c){case"middle":return{left:"50%",right:"auto",transform:"translateX(-50%)"};case"bottom-right":return{left:"auto",right:`${f}px`,transform:"none"};case"bottom-left":default:return{left:`${f}px`,right:"auto",transform:"none"}}},[p,l,c]);if(!t&&!s.length)return null;const A=s.length>P?`${P}+`:s.length,m=s.length>0,I=m?"Problems":"No problems",F=c==="bottom-left"?"left":c==="bottom-right"?"right":"center";return e.createElement(e.Fragment,null,e.createElement(Q,{ref:h,$isDragging:l,style:_},e.createElement(X,{tip:"Drag to move",placement:"top",arrowPosition:F,disabled:l},e.createElement(Z,{type:"button","aria-label":"Drag floating bar",onPointerDown:M,$isDragging:l},e.createElement(O,{size:"14px",color:"var(--color-warm-grey-5)"}))),e.createElement(ee,{"aria-label":"Total number of pages in documentation"},e.createElement(C,null,t),e.createElement(te,null,"pages")),e.createElement(X,{tip:I,placement:"top"},e.createElement(re,{type:"button",variant:"secondary",size:"small",icon:m?e.createElement(N,{size:"14px",color:"var(--color-raspberry-6)"}):e.createElement(H,{size:"14px",color:"var(--color-green-6)"}),"aria-label":m?"Show detailed error message":"No errors",onClick:()=>m&&E(!0)},e.createElement(C,null,A)))),B&&e.createElement(G,{onHide:()=>E(!1),problems:s}))}const Q=u.div`
2
+ position: fixed;
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: 2px;
6
+ background: var(--color-warm-grey-10);
7
+ color: var(--color-warm-grey-1);
8
+ border-radius: var(--border-radius-lg);
9
+ bottom: var(--spacing-lg);
10
+ padding: var(--spacing-xxs);
11
+ box-shadow: var(--bg-raised-shadow);
12
+ z-index: var(--z-index-raised);
13
+ user-select: none;
14
+ cursor: ${({$isDragging:t})=>t?"grabbing":"default"};
15
+ `,Z=u.button`
16
+ display: inline-flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ border: 0;
20
+ background: transparent;
21
+ color: inherit;
22
+ height: var(--line-height-base);
23
+ cursor: ${({$isDragging:t})=>t?"grabbing":"grab"};
24
+ `,ee=u.div`
25
+ display: inline-flex;
26
+ align-items: center;
27
+ padding-right: var(--spacing-xs);
28
+ gap: var(--spacing-xxs);
29
+ white-space: nowrap;
30
+ line-height: var(--line-height-base);
31
+ `,te=u.span`
32
+ font-size: var(--font-size-base);
33
+ `,C=u.span`
34
+ font-size: var(--font-size-base);
35
+ font-weight: var(--font-weight-regular);
36
+ `,re=u(U)`
37
+ --button-bg-color-secondary: var(--color-warm-grey-8);
38
+ --button-bg-color-secondary-hover: var(--color-warm-grey-7);
39
+ --button-bg-color-secondary-pressed: var(--color-warm-grey-6);
40
+ --button-color: var(--color-warm-grey-3);
41
+ --button-color-hover: var(--color-warm-grey-3);
42
+ --button-padding: 1px 6px;
43
+ `;export{de as DevModeFloatingBar};
@@ -1 +1 @@
1
- import{useCallback as m}from"react";import{withPathPrefix as p,combineUrls as d}from"@redocly/theme/core/utils";import{ServerRoutes as b}from"../../../constants/common";import{usePageData as u}from"../../providers/hooks";import{usePageSharedData as f}from"../../providers/page-data/hooks";function w(){const{basePath:t}=f("openAPIDocsStore")||{},o=u()?.templateId==="openapi_docs";return{submitFeedback:m(async({type:e,values:a,path:i,location:r,lang:s})=>{const n=d(window.location.origin,o?t:"",i),c={location:r,lang:s,component:e,...a,path:n};await fetch(p(b.FEEDBACK),{method:"POST",body:JSON.stringify(c)})},[t,o])}}export{w as useSubmitFeedback};
1
+ import{useCallback as f}from"react";import{withPathPrefix as b,combineUrls as u}from"@redocly/theme/core/utils";import{ServerRoutes as l}from"../../../constants/common";import{usePageData as P}from"../../providers/hooks";import{usePageSharedData as g}from"../../providers/page-data/hooks";function O(){const{basePath:o}=g("openAPIDocsStore")||{},e=P()?.templateId==="openapi_docs";return{submitFeedback:f(async({type:i,values:r,path:n,location:s,lang:c})=>{const m=u(window.location.origin,e?o:"",n),a={};for(const[d,t]of Object.entries(r))a[d]=typeof t=="string"?t.trim():t;const p={location:s?.trim(),lang:c?.trim(),component:i,...a,path:m};await fetch(b(l.FEEDBACK),{method:"POST",body:JSON.stringify(p)})},[o,e])}}export{O as useSubmitFeedback};
@@ -1,4 +1,4 @@
1
- import r,{useEffect as D,useState as c}from"react";import I from"styled-components";import{useLocation as N}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{Admonition as k}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{withPathPrefix as w}from"@redocly/theme/core/utils";import{usePageData as q}from"../hooks/usePageData";import{usePreloadHistory as x}from"../usePreloadHistory";import{telemetry as R}from"../telemetry/index.js";import{useLoginUrl as T}from"../hooks";const Y=e=>{const{apiId:s,status:t,setStatus:o}=e,u=x(),{userData:n}=q("userData")||{},h=N(),i=T(),[l,p]=c(),[g,A]=c(),[m,E]=c(!0);D(()=>{n?.isAuthenticated&&fetch(`/api/api-keys/api-products/${s}/access`).then(d=>d.json().then(a=>{d.ok?(o(a.status),A(a.appId)):p(a.message)}).catch(()=>p("Something went wrong")).finally(()=>E(!1)))},[n?.isAuthenticated,s,o]);const P=()=>{!n?.isAuthenticated&&i?window.location.href=`${w(i)}${i.includes("?")?"&":"?"}redirectTo=${h.pathname}`:t==="ACCEPTED"?u.push("/apps/"+g||""):t==="NONE"&&u.push("/apps/?createApp&apiId="+s),R.sendRequestApiAccessButtonClickedMessage({action:"click"})},C=(t==="PENDING"||m||l!=null)&&n?.isAuthenticated;return r.createElement(r.Fragment,null,r.createElement(y,{disabled:C,onClick:P,fullWidth:!0,size:"small"},B(t,m,l,!!n?.isAuthenticated)))},B=(e,s,t,o)=>{if(!o)return"Request access";if(s)return"Loading...";if(t)return"Failed to check access";switch(e){case"NONE":return"Request access";case"ACCEPTED":return"Credentials";case"PENDING":return"Pending access..."}return null},j=e=>e==="ACCEPTED"?r.createElement(f,{type:"success",name:"You have access to this API"}):e==="PENDING"?r.createElement(f,{type:"info",name:"You have requested access to this API"}):null,f=I(k)`
1
+ import o,{useEffect as D,useState as a}from"react";import I from"styled-components";import{useLocation as N}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{Admonition as k}from"@redocly/theme/markdoc/components/Admonition/Admonition";import{withPathPrefix as w}from"@redocly/theme/core/utils";import{usePageData as b}from"../hooks/usePageData";import{usePreloadHistory as q}from"../usePreloadHistory";import{telemetry as x}from"../telemetry/index.js";import{useLoginUrl as R}from"../hooks";const U=e=>{const{apiId:s,status:t,setStatus:r}=e,u=q(),{userData:n}=b("userData")||{},h=N(),i=R(),[l,p]=a(),[g,A]=a(),[m,E]=a(!0);D(()=>{n?.isAuthenticated&&fetch(`/api/api-keys/api-products/${s}/access`).then(d=>d.json().then(c=>{d.ok?(r(c.status),A(c.appId)):p(c.message)}).catch(()=>p("Something went wrong")).finally(()=>E(!1)))},[n?.isAuthenticated,s,r]);const P=()=>{!n?.isAuthenticated&&i?window.location.href=`${w(i)}${i.includes("?")?"&":"?"}redirectTo=${h.pathname}`:t==="ACCEPTED"?u.push("/apps/"+g||""):t==="NONE"&&u.push("/apps/?createApp&apiId="+s),x.sendRequestApiAccessButtonClickedMessage([{object:"button",action:"click"}])},C=(t==="PENDING"||m||l!=null)&&n?.isAuthenticated;return o.createElement(o.Fragment,null,o.createElement(y,{disabled:C,onClick:P,fullWidth:!0,size:"small"},T(t,m,l,!!n?.isAuthenticated)))},T=(e,s,t,r)=>{if(!r)return"Request access";if(s)return"Loading...";if(t)return"Failed to check access";switch(e){case"NONE":return"Request access";case"ACCEPTED":return"Credentials";case"PENDING":return"Pending access..."}return null},Y=e=>e==="ACCEPTED"?o.createElement(f,{type:"success",name:"You have access to this API"}):e==="PENDING"?o.createElement(f,{type:"info",name:"You have requested access to this API"}):null,f=I(k)`
2
2
  margin-top: 0px;
3
3
  margin-bottom: var(--spacing-sm);
4
- `;export{Y as RequestAccessButton,j as renderAdmonition};
4
+ `;export{U as RequestAccessButton,Y as renderAdmonition};
@@ -1,9 +1,9 @@
1
- import e,{useEffect as y,useState as p}from"react";import b from"styled-components";import{Menu as I}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as L}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as w}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as A}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as B}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as P}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as x}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as D}from"@redocly/theme/core/utils";import{telemetry as h}from"../telemetry/index.js";import{usePreloadHistory as T}from"../usePreloadHistory";import{useTranslate as C}from"../hooks";import{usePageSharedData as M,usePageVersions as V}from"../../providers/page-data/hooks";import{useSidebarItems as H}from"./useSidebarItems";import{renderAdmonition as R,RequestAccessButton as q}from"./RequestAccessButton";function ie({layoutControls:s}){const{versions:l=[]}=V()||{},g=l.find(t=>t?.active),{translate:a}=C(),{currentItems:m,backLink:n,versionLabel:o,pushDrilldownState:k,popDrilldownState:v}=H(g),[c,S]=p(),{collapsedSidebar:i}=s,d=M("openAPIDocsStore")?.definition.info?.["x-metadata"]?.apiId,E=T(),[u,r]=p(void 0);return y(()=>{const t=setTimeout(()=>r(void 0),350);return()=>clearTimeout(t)},[u]),m.length?e.createElement(e.Fragment,null,e.createElement(w,{collapsed:i,menuItemsAnimation:u,versions:e.createElement(A,{versions:l,onChange:t=>{h.sendVersionPickerSelectionChangeMessage({action:"change"});const f=location.hash?t?.link+location.hash:t?.link;f&&E.push(D(f))}}),menu:e.createElement(I,{items:m,onDrilldownOpen:t=>{r("slideInRight"),k(t)}}),footer:e.createElement("div",{style:{width:"100%"}},!i&&R(c),e.createElement(L,{...s,requestAccessButton:d?e.createElement(q,{apiId:d,status:c,setStatus:S}):null})),header:(n||o!==void 0)&&e.createElement(J,null,n&&e.createElement(j,{icon:e.createElement(x,null),iconPosition:"left",variant:"ghost",size:"medium","data-component-name":"Sidebar/BackButton",to:n.slug,onClick:()=>{r("slideInLeft"),v(),h.sendSidebarDrilldownBackButtonClickedMessage({action:"click"})}},i?"":n.label?e.createElement("div",{"data-translation-key":"sidebar.menu.backToLabel"},a("sidebar.menu.backToLabel",{value:a(n.labelTranslationKey,n.label)})):e.createElement("div",{"data-translation-key":"sidebar.menu.backLabel"},a("sidebar.menu.backLabel"))),o&&!i&&e.createElement(P,{version:o}))})):null}const J=b.div`
1
+ import e,{useEffect as y,useState as p}from"react";import b from"styled-components";import{Menu as I}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as L}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as w}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as A}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as B}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as P}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as x}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as D}from"@redocly/theme/core/utils";import{telemetry as h}from"../telemetry/index.js";import{usePreloadHistory as T}from"../usePreloadHistory";import{useTranslate as C}from"../hooks";import{usePageSharedData as M,usePageVersions as V}from"../../providers/page-data/hooks";import{useSidebarItems as j}from"./useSidebarItems";import{renderAdmonition as H,RequestAccessButton as R}from"./RequestAccessButton";function ie({layoutControls:s}){const{versions:l=[]}=V()||{},k=l.find(t=>t?.active),{translate:o}=C(),{currentItems:m,backLink:n,versionLabel:a,pushDrilldownState:g,popDrilldownState:v}=j(k),[c,S]=p(),{collapsedSidebar:i}=s,d=M("openAPIDocsStore")?.definition.info?.["x-metadata"]?.apiId,E=T(),[u,r]=p(void 0);return y(()=>{const t=setTimeout(()=>r(void 0),350);return()=>clearTimeout(t)},[u]),m.length?e.createElement(e.Fragment,null,e.createElement(w,{collapsed:i,menuItemsAnimation:u,versions:e.createElement(A,{versions:l,onChange:t=>{h.sendVersionPickerSelectionChangeMessage([{object:"version_picker",action:"change"}]);const f=location.hash?t?.link+location.hash:t?.link;f&&E.push(D(f))}}),menu:e.createElement(I,{items:m,onDrilldownOpen:t=>{r("slideInRight"),g(t)}}),footer:e.createElement("div",{style:{width:"100%"}},!i&&H(c),e.createElement(L,{...s,requestAccessButton:d?e.createElement(R,{apiId:d,status:c,setStatus:S}):null})),header:(n||a)&&e.createElement(q,null,n&&e.createElement(J,{icon:e.createElement(x,null),iconPosition:"left",variant:"ghost",size:"medium","data-component-name":"Sidebar/BackButton",to:n.slug,onClick:()=>{r("slideInLeft"),v(),h.sendSidebarDrilldownBackButtonClickedMessage([{object:"button",action:"click"}])}},i?"":n.label?e.createElement("div",{"data-translation-key":"sidebar.menu.backToLabel"},o("sidebar.menu.backToLabel",{value:o(n.labelTranslationKey,n.label)})):e.createElement("div",{"data-translation-key":"sidebar.menu.backLabel"},o("sidebar.menu.backLabel"))),a&&!i&&e.createElement(P,{version:a}))})):null}const q=b.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--menu-header-container-gap);
5
5
  width: 100%;
6
- `,j=b(B)`
6
+ `,J=b(B)`
7
7
  padding: var(--menu-item-padding-vertical) 0;
8
8
  height: calc(var(--line-height-base) + var(--menu-item-padding-vertical) * 2);
9
9
  justify-content: flex-start;
@@ -0,0 +1,23 @@
1
+ import type { ResolvedNavItem, Version } from '@redocly/config';
2
+ /**
3
+ * Filters the sidebar items based on the active version.
4
+ *
5
+ * The input is a list of all items with versioned items mixed in.
6
+ *
7
+ * We can't just filter out all items that don't match the active version because there might be items from folders that have different versions.
8
+ *
9
+ * For example:
10
+ *
11
+ * /foo
12
+ * /@v1
13
+ * /@v2
14
+ * /bar
15
+ * /@v1
16
+ * /@latest
17
+ *
18
+ * So we foolow these rules:
19
+ * - we prefer the items with the same version name as the active version
20
+ * - if there are no items with the same version name, we pick the default version for folder
21
+ */
22
+ export declare function filterOutVersionedItems(items: ResolvedNavItem[], activeVersion?: Version | null, versionNamesByFolderId?: Record<string, Set<string>>): ResolvedNavItem[];
23
+ //# sourceMappingURL=filter-out-versioned-items.d.ts.map
@@ -0,0 +1 @@
1
+ function l(f,e,n={}){for(const r of f)r.versionFolderId&&r.version&&(n[r.versionFolderId]=n[r.versionFolderId]??new Set).add(r.version);return f.filter(r=>r.version==null?r:e?r.version===e.version?!0:r.versionFolderId&&n[r.versionFolderId]?.has(e.version)?!1:r.isDefault:r.isDefault).map(r=>{if(Array.isArray(r.items)&&r.items.length){const s=l(r.items,e,n);return s.length===0?null:{...r,items:s}}return r}).filter(r=>r!==null)}export{l as filterOutVersionedItems};
@@ -1,6 +1,6 @@
1
- import type { ResolvedNavItem, Version } from '@redocly/config';
1
+ import type { Version } from '@redocly/config';
2
2
  import type { ItemState, DrilldownMenuItemDetails } from '@redocly/theme/core/types';
3
- export declare function useRawSidebarItems(activeVersion?: Version | null): ResolvedNavItem[];
3
+ export declare function useRawSidebarItems(activeVersion?: Version | null): import("@redocly/config").ResolvedNavItem[];
4
4
  export declare function useSidebarItems(activeVersion?: Version | null): {
5
5
  currentItems: ItemState[];
6
6
  allSidebarItems: ItemState[];
@@ -1 +1 @@
1
- import{useLocation as D}from"react-router-dom";import{useEffect as _,useMemo as f,useState as I}from"react";import{useActiveSectionId as k}from"@redocly/theme/core/hooks";import{getMenuItemType as C}from"@redocly/theme/core/utils";import{MenuItemType as y}from"@redocly/theme/core/constants";import{usePageSharedData as T,useSidebarItemsData as h,useSidebarConnectedCatalogConfig as G,useSidebarConnectedCatalogEntity as E}from"../../providers/page-data/hooks";import{mapItemsPropsToState as g}from"./utils";import{injectCatalogItems as F}from"../../utils/catalog/inject-catalog-items";import{CATALOG_BASE_SLUG as O,CATALOG_SLUGS as B}from"../../../server/constants/plugins/catalog-entities";const K="catalog.backToAllLabel",M=`${O}/${B.ALL}`;function N(o){const t=h();return f(()=>p(t,o),[t,o])}function H(o){const t=D(),n=k(t,!0),e=E(),b=G(),a=N(o),c=e?F(a,e.key,b?.slug,t.search):a,[u,v]=I(null),s=f(()=>g(c,t,n),[n,t,c]),l=T("current-catalog-info"),A=f(()=>S(s),[c]),[r,d]=I(A),i=r.length>0?r[r.length-1]:void 0,L=i&&g([...i.item.link?[{...i.item,items:[],menuStyle:void 0,separatorLine:!1}]:[],...i.item.items],t,n);_(()=>{if(!u||u!==n){const m=S(s);d(m),v(n)}},[a,t,n,u]);const w=i?{slug:i.previousLink,event:"sidebar_drilldown_back_button.clicked"}:e?{label:"Back to Catalog",labelTranslationKey:K,slug:M,event:"back_to_catalog_button.clicked"}:l?{label:l.catalog.label,labelTranslationKey:l.catalog.labelTranslationKey,slug:l.catalog.link,event:"back_to_catalog_button.clicked"}:void 0;return{currentItems:L||s,allSidebarItems:s,popDrilldownState:()=>{r.length>0&&d(r.slice(0,r.length-1))},pushDrilldownState:m=>{d([...r,m])},backLink:w,versionLabel:e?.version??null}}function p(o,t){const n={};for(const e of o)e.versionFolderId&&e.version&&(n[e.versionFolderId]=n[e.versionFolderId]??[]).push(e.version);return o.filter(e=>e.version==null?e:t?e.version===t.version?!0:e.versionFolderId&&n[e.versionFolderId]?.includes(t.version)?!1:e.isDefault:e.isDefault).map(e=>Array.isArray(e.items)&&o.length?{...e,items:p(e.items,t)}:e)}function S(o,t=[]){for(const n of o){if(!n.active&&!n.hasActiveSubItem)continue;if(C(n)===y.DrillDown&&t.push({item:n}),n.active)return t;if(n.hasActiveSubItem)return S(n.items,t)}return t}export{N as useRawSidebarItems,H as useSidebarItems};
1
+ import{useLocation as _}from"react-router-dom";import{useEffect as k,useMemo as S,useState as b}from"react";import{useActiveSectionId as D}from"@redocly/theme/core/hooks";import{getMenuItemType as v}from"@redocly/theme/core/utils";import{MenuItemType as C}from"@redocly/theme/core/constants";import{CATALOG_BASE_SLUG as T,CATALOG_SLUGS as h}from"../../../constants/catalog-entities";import{usePageSharedData as y,useSidebarItemsData as G,useSidebarConnectedCatalogConfig as E,useSidebarConnectedCatalogEntity as O}from"../../providers/page-data/hooks";import{mapItemsPropsToState as g}from"./utils";import{injectCatalogItems as K}from"../../utils/catalog/inject-catalog-items";import{filterOutVersionedItems as B}from"./helpers/filter-out-versioned-items";const M="catalog.backToAllLabel",P=`${T}/${h.ALL}`;function U(n){const e=G();return S(()=>B(e,n),[e,n])}function J(n){const e=_(),t=D(e,!0),a=O(),p=E(),s=U(n),c=a?K(s,a.key,p?.slug,e.search):s,[u,I]=b(null),r=S(()=>g(c,e,t),[t,e,c]),l=y("current-catalog-info"),L=S(()=>f(r),[c]),[o,m]=b(L),i=o.length>0?o[o.length-1]:void 0,A=i&&g([...i.item.link?[{...i.item,items:[],menuStyle:void 0,separatorLine:!1}]:[],...i.item.items],e,t);k(()=>{if(!u||u!==t){const d=f(r);m(d),I(t)}},[s,e,t,u]);const w=i?{slug:i.previousLink,event:"sidebar_drilldown_back_button.clicked"}:a?{label:"Back to Catalog",labelTranslationKey:M,slug:P,event:"back_to_catalog_button.clicked"}:l?{label:l.catalog.label,labelTranslationKey:l.catalog.labelTranslationKey,slug:l.catalog.link,event:"back_to_catalog_button.clicked"}:void 0;return{currentItems:A||r,allSidebarItems:r,popDrilldownState:()=>{o.length>0&&m(o.slice(0,o.length-1))},pushDrilldownState:d=>{m([...o,d])},backLink:w,versionLabel:a?.version??null}}function f(n,e=[]){for(const t of n){if(!t.active&&!t.hasActiveSubItem)continue;if(v(t)===C.DrillDown&&e.push({item:t}),t.active)return e;if(t.hasActiveSubItem)return f(t.items,e)}return e}export{U as useRawSidebarItems,J as useSidebarItems};
@@ -1,7 +1,7 @@
1
1
  import type { ResolvedNavItem } from '@redocly/config';
2
2
  import type { FilteredCatalog } from '@redocly/theme/core/types';
3
3
  import type { CatalogConfig } from '@redocly/theme/config';
4
- export declare function useCatalogClassic(config: CatalogConfig, items?: ResolvedNavItem[]): FilteredCatalog;
4
+ export declare function useCatalogClassic(config: CatalogConfig, items?: ResolvedNavItem[], withScorecardOnly?: boolean): FilteredCatalog;
5
5
  export declare function fillSearchParams(filterProperty: string, filterValues: Set<string>, searchParams: URLSearchParams): void;
6
6
  export declare function getFilterValues(filterValues: any): Set<string>;
7
7
  //# sourceMappingURL=useCatalogClassic.d.ts.map
@@ -1 +1 @@
1
- import*as h from"react";import{useLocation as B,useNavigate as $}from"react-router-dom";import{usePageData as R,usePageSharedData as V}from"../../hooks";import{withoutHash as M}from"@redocly/theme/core/utils";import{telemetry as w}from"../../telemetry/index.js";import{toStringIfDefined as A}from"../../../../utils/string/to-string-if-defined.js";import{findDeepFirst as K}from"../../../../utils/tree/find-deep-first.js";function te(e,o){const r=B(),i=$(),a=R(),t=q(r),s=V("catalog"),[n,p]=h.useState(()=>(e.filters??[]).map(l=>{if(l.type==="date-range"){const[c,u]=t.get(l.property)?.split("--")??[];return!c&&!u?{}:{from:c,to:u}}return new Set(t.getAll(l.property))})),[d,g]=h.useState(()=>t.get("filter")||"");o||(o=[...s]);const S=h.useMemo(()=>D(o??[],e.filters),[o,e.filters]),v=a?.props?.customFields,C=h.useMemo(()=>G(o??[],e,v||{}),[o,e,v]),I=h.useCallback((l,c)=>{p(u=>{const y=u[l]?u[l]:new Set;return y instanceof Set?(y.has(c)?u.forEach((m,f)=>{m instanceof Set&&m.has(c)&&m.delete(c)}):y.add(c),[...u.slice(0,l),y,...u.slice(l+1)]):u}),w.sendCatalogFilterChangedMessage({type:"toggle"}),window.scrollTo(0,0)},[]),P=h.useCallback((l,c)=>{p(u=>{const y=u[l]instanceof Set?new Set(c?[c]:[]):{from:c?.from,to:c?.to},m=S[l];return u.map((f,F)=>F===l?y:S[F].parentFilter===m.property?new Set:f)}),w.sendCatalogFilterChangedMessage({type:"select"}),window.scrollTo(0,0)},[S]),E=()=>{const l=new URLSearchParams(Array.from(t.entries()));d?t.set("filter",d):t.delete("filter"),n.forEach((u,y)=>{const m=e.filters?.[y];if(!m)return;const f=Z(u);J(m.property,f,l)});const c=l.toString();c!==r.search.substring(1)&&i({search:c})};h.useEffect(()=>{E()},[e.filters,n,d,i,r]);const b=h.useMemo(()=>H(e.filters),[e.filters]);return h.useMemo(()=>{const l=S.map((m,f)=>({...m,toggleOption:F=>I(f,F),selectOption:F=>P(f,F),selectedOptions:n[f]??new Set,isFilterUsed:(n[f]?.size??0)>0||!!n[f]?.from})),c=L(C,l,d),u=l.map((m,f)=>{const F=l.findIndex(O=>O.property===m.parentFilter),N=m.parentFilter?(n[F]?.size??0)>0||!!n[F].from:!0,j=l.filter((O,k)=>k!==f&&!b[f]?.has(k)),z=L(C,j,d),U=D(z.map(O=>({metadata:O})),e.filters);return{...m,parentUsed:N,filteredOptions:U[f].options}});return{groups:e.groupByFirstFilter&&u.length>0?_(u,c):[{title:"APIs",items:c}],filters:u,setFilterTerm:m=>{g(m),w.sendCatalogFilterChangedMessage({type:"term"})},filterTerm:d}},[S,C,d,e.groupByFirstFilter,e.filters,n,I,P,b])}function _(e,o){return e[0].options.map(r=>({title:r.value,items:o.filter(i=>{const a=i?.[e[0].property]||e[0].missingCategoryName||"Others";return Array.isArray(a)?a.includes(r.value):a===r.value})})).filter(r=>r.items.length>0)}function q(e){return h.useMemo(()=>new URLSearchParams(e.search),[e.search])}function G(e,o,r){let i;if(o.separateVersions)i=e.map(a);else{const t={};for(const s of e){if(!s.versionFolderId){const p=s.link||s.fsPath||JSON.stringify(s);t[p]=[s];continue}let n=s.versionFolderId;if(t[n]?.find(p=>p.version===s.version)){const p=s.fsPath?.replace(/\/@.*?\//,"/@version/")??"";n=`${n}-${p}`}t[n]||(t[n]=[]),t[n].push(s)}i=Object.values(t).map(s=>{s.sort((d,g)=>(d.version||"").localeCompare(g.version||""));const n=s.map(a);return{...a(s.find(d=>d.isDefault)||s[s.length-1]),versions:n}})}return i.sort((t,s)=>t.title.localeCompare(s.title)),i;function a(t){const s=t.metadata||{},n=r[t.fsPath||""]||{},p=t.link||K(t.items||[],g=>"link"in g&&!!g.link)?.link,d=t.sidebar?.[0];return{...s,...n,publishedAt:s.publishedAt||s.createdAt,title:A(s?.title)||t.label||"Untitled",description:A(s?.description),link:M(p)??"#",docsLink:M(d?.link),image:A(s?.image),version:t.version,versionFolderId:t.versionFolderId}}}function H(e){if(!e)return[];const o=[];for(let r=0;r<e.length;r++){const i=e[r];if(i.parentFilter){const a=e.findIndex(t=>t.property===i.parentFilter);o[a]=o[a]||new Set,o[a].add(r)}}return o}function D(e,o){return(o??[]).map(r=>{const i=r.options?Object.fromEntries(r.options.map(n=>[n,0])):void 0,a=i??{};let t=0;for(const n of e){const p=Array.isArray(n.metadata?.[r.property])?n.metadata?.[r.property]:[n.metadata?.[r.property]];for(const d of p){const g=T(String(d),r.valuesMapping);if(i){g in i&&(a[g]=a[g]+1);continue}d?a[g]=(a[g]??0)+1:t++}}const s=Object.entries(a).map(([n,p])=>({value:n,count:p}));return i||s.sort((n,p)=>n.value.localeCompare(p.value)),t&&s.push({value:r.missingCategoryNameTranslationKey||r.missingCategoryName||"Others",count:t}),{...r,options:s}})}function L(e,o,r){const i=e.filter(a=>o.every(t=>{if(t.selectedOptions&&!(t.selectedOptions instanceof Set))try{const n=new Date(a[t.property]).toISOString().split("T")[0];return n>=(t.selectedOptions.from??"")&&n<=(t.selectedOptions.to??"Z")}catch{return!0}if(t.selectedOptions.size===0)return!0;const s=T(a?.[t.property]||t.missingCategoryName||"Others",t.valuesMapping);return Array.isArray(s)?s.some(n=>t.selectedOptions.has(n)):t.selectedOptions.has(s)}));return r?(r=r.toLowerCase(),i.filter(a=>Object.values(a).some(t=>Array.isArray(t)?t.some(s=>String(s).toLowerCase().includes(r)):String(t).toLowerCase().includes(r)))):i}function T(e,o){return o?Array.isArray(e)?e.map(r=>o[String(r)]||r):o[String(e)]||e:e}function J(e,o,r){r.delete(e),o.forEach(i=>{r.append(e,i)})}function Z(e){const o=new Set;return e instanceof Set?e.forEach(r=>o.add(r)):(e.from||e.to)&&o.add(`${e.from||""}--${e.to||""}`),o}export{J as fillSearchParams,Z as getFilterValues,te as useCatalogClassic};
1
+ import*as y from"react";import{useLocation as $,useNavigate as R}from"react-router-dom";import{usePageData as V,usePageSharedData as K}from"../../hooks";import{useProcessScorecard as q}from"@redocly/theme/ext/process-scorecard";import{withoutHash as j}from"@redocly/theme/core/utils";import{telemetry as L}from"../../telemetry/index.js";import{toStringIfDefined as A}from"../../../../utils/string/to-string-if-defined.js";import{findDeepFirst as G}from"../../../../utils/tree/find-deep-first.js";function ne(e,o,t){const c=$(),a=R(),n=V(),l=J(c),s=K("catalog"),[r,f]=y.useState(()=>(e.filters??[]).map(u=>{if(u.type==="date-range"){const[d,p]=l.get(u.property)?.split("--")??[];return!d&&!p?{}:{from:d,to:p}}return new Set(l.getAll(u.property))})),[i,v]=y.useState(()=>l.get("filter")||"");o||(o=[...s]);const g=y.useMemo(()=>D(o??[],e.filters),[o,e.filters]),{processScorecard:O}=q(),C=n?.props?.customFields,I=y.useMemo(()=>Z(o??[],e,C||{},O,t),[o,e,C,O,t]),b=y.useCallback((u,d)=>{f(p=>{const S=p[u]?p[u]:new Set;return S instanceof Set?(S.has(d)?p.forEach((m,h)=>{m instanceof Set&&m.has(d)&&m.delete(d)}):S.add(d),[...p.slice(0,u),S,...p.slice(u+1)]):p}),L.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"toggle"}]),window.scrollTo(0,0)},[]),P=y.useCallback((u,d)=>{f(p=>{const S=p[u]instanceof Set?new Set(d?[d]:[]):{from:d?.from,to:d?.to},m=g[u];return p.map((h,F)=>F===u?S:g[F].parentFilter===m.property?new Set:h)}),L.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"select"}]),window.scrollTo(0,0)},[g]),N=()=>{const u=new URLSearchParams(Array.from(l.entries()));i?l.set("filter",i):l.delete("filter"),r.forEach((p,S)=>{const m=e.filters?.[S];if(!m)return;const h=Y(p);X(m.property,h,u)});const d=u.toString();d!==c.search.substring(1)&&a({search:d})};y.useEffect(()=>{N()},[e.filters,r,i,a,c]);const k=y.useMemo(()=>Q(e.filters),[e.filters]);return y.useMemo(()=>{const u=g.map((m,h)=>({...m,toggleOption:F=>b(h,F),selectOption:F=>P(h,F),selectedOptions:r[h]??new Set,isFilterUsed:(r[h]?.size??0)>0||!!r[h]?.from})),d=T(I,u,i),p=u.map((m,h)=>{const F=u.findIndex(w=>w.property===m.parentFilter),z=m.parentFilter?(r[F]?.size??0)>0||!!r[F].from:!0,U=u.filter((w,M)=>M!==h&&!k[h]?.has(M)),_=T(I,U,i),B=D(_.map(w=>({metadata:w})),e.filters);return{...m,parentUsed:z,filteredOptions:B[h].options}});return{groups:e.groupByFirstFilter&&p.length>0?H(p,d):[{title:"APIs",items:d}],filters:p,setFilterTerm:m=>{v(m),L.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"term"}])},filterTerm:i}},[g,I,i,e.groupByFirstFilter,e.filters,r,b,P,k])}function H(e,o){return e[0].options.map(t=>({title:t.value,items:o.filter(c=>{const a=c?.[e[0].property]||e[0].missingCategoryName||"Others";return Array.isArray(a)?a.includes(t.value):a===t.value})})).filter(t=>t.items.length>0)}function J(e){return y.useMemo(()=>new URLSearchParams(e.search),[e.search])}function Z(e,o,t,c,a){let n;if(o.separateVersions)n=e.map(l);else{const s={};for(const r of e){if(!r.versionFolderId){const i=r.link||r.fsPath||JSON.stringify(r);s[i]=[r];continue}let f=r.versionFolderId;if(s[f]?.find(i=>i.version===r.version)){const i=r.fsPath?.replace(/\/@.*?\//,"/@version/")??"";f=`${f}-${i}`}s[f]||(s[f]=[]),s[f].push(r)}n=Object.values(s).map(r=>{r.sort((v,g)=>(v.version||"").localeCompare(g.version||""));const f=r.map(l);return{...l(r.find(v=>v.isDefault)||r[r.length-1]),versions:f}})}return a&&(n=n.filter(s=>!!s.scorecardLevel)),n.sort((s,r)=>s.title.localeCompare(r.title)),n;function l(s){const r=s.metadata||{},f=t[s.fsPath||""]||{},i=s.link||G(s.items||[],C=>"link"in C&&!!C.link)?.link,v=s.sidebar?.[0],g={...r,...f,publishedAt:r.publishedAt||r.createdAt,title:A(r?.title)||s.label||"Untitled",description:A(r?.description),link:j(i)??"#",docsLink:j(v?.link),image:A(r?.image),version:s.version,versionFolderId:s.versionFolderId},O=c({levels:g.scorecardLevels,status:g.scorecardStatus,scorecardLevel:g.scorecardLevel,scorecardLevelIdx:g.scorecardLevelIdx},g);return{...g,scorecardLevels:O?.levels,scorecardStatus:O?.status,scorecardLevel:O?.scorecardLevel,scorecardLevelIdx:O?.scorecardLevelIdx}}}function Q(e){if(!e)return[];const o=[];for(let t=0;t<e.length;t++){const c=e[t];if(c.parentFilter){const a=e.findIndex(n=>n.property===c.parentFilter);o[a]=o[a]||new Set,o[a].add(t)}}return o}function D(e,o){return(o??[]).map(t=>{const c=t.options?Object.fromEntries(t.options.map(s=>[s,0])):void 0,a=c??{};let n=0;for(const s of e){const r=Array.isArray(s.metadata?.[t.property])?s.metadata?.[t.property]:[s.metadata?.[t.property]];for(const f of r){const i=E(String(f),t.valuesMapping);if(c){i in c&&(a[i]=a[i]+1);continue}f?a[i]=(a[i]??0)+1:n++}}const l=Object.entries(a).map(([s,r])=>({value:s,count:r}));return c||l.sort((s,r)=>s.value.localeCompare(r.value)),n&&l.push({value:t.missingCategoryNameTranslationKey||t.missingCategoryName||"Others",count:n}),{...t,options:l}})}function T(e,o,t){const c=e.filter(a=>o.every(n=>{if(n.selectedOptions&&!(n.selectedOptions instanceof Set))try{const s=new Date(a[n.property]).toISOString().split("T")[0];return s>=(n.selectedOptions.from??"")&&s<=(n.selectedOptions.to??"Z")}catch{return!0}if(n.selectedOptions.size===0)return!0;const l=E(a?.[n.property]||n.missingCategoryName||"Others",n.valuesMapping);return Array.isArray(l)?l.some(s=>n.selectedOptions.has(s)):n.selectedOptions.has(l)}));return t?(t=t.toLowerCase(),c.filter(a=>Object.values(a).some(n=>Array.isArray(n)?n.some(l=>String(l).toLowerCase().includes(t)):String(n).toLowerCase().includes(t)))):c}function E(e,o){return o?Array.isArray(e)?e.map(t=>o[String(t)]||o["*"]||t):o[String(e)]||o["*"]||e:e}function X(e,o,t){t.delete(e),o.forEach(c=>{t.append(e,c)})}function Y(e){const o=new Set;return e instanceof Set?e.forEach(t=>o.add(t)):(e.from||e.to)&&o.add(`${e.from||""}--${e.to||""}`),o}export{X as fillSearchParams,Y as getFilterValues,ne as useCatalogClassic};
@@ -1 +1 @@
1
- import{useCallback as h,useEffect as w,useMemo as y,useState as P}from"react";import{useSearchParams as Q}from"react-router-dom";import{telemetry as C}from"../../telemetry/index.js";import{parseFilterQuery as g,formatFilterQuery as U,collectFilterOptions as b}from"../../../utils";function O(r){return r instanceof Set?r.size>0:!!(r?.from||r?.to)}function k(r,d){const[u,m]=Q(),i=u.get("filter")||"",[o,f]=P(()=>g(i,r?.filters||[])),p=y(()=>b(r?.filters,d),[r?.filters,d]);w(()=>{const t=r?.filters||[];if(t.length>0&&o.length!==t.length){const e=g(i,t);f(e)}},[r?.filters,o.length,i]);const F=h((t,e)=>{f(l=>l.map((s,c)=>{if(c!==t||!(s instanceof Set))return s;const n=new Set(s);return n.has(e)?n.delete(e):n.add(e),n})),window.scrollTo(0,0)},[]),S=h((t,e)=>{f(l=>l.map((a,s)=>s!==t?a:a instanceof Set?e&&typeof e=="string"?new Set([e]):new Set:{from:typeof e=="object"?e?.from:void 0,to:typeof e=="object"?e?.to:void 0})),C.sendCatalogFilterChangedMessage({type:"select"}),window.scrollTo(0,0)},[]);return w(()=>{const t=new URLSearchParams(u),e=U(o,r?.filters||[]);e?t.set("filter",e):t.delete("filter"),m(t,{replace:!0})},[r?.filters,o,u,m]),y(()=>{const t=p.map((l,a)=>{const s=o[a],c=O(s);return{...l,toggleOption:n=>F(a,n),selectOption:n=>S(a,n),selectedOptions:s??new Set,isFilterUsed:c}});return{filters:t.map(l=>{const a=t.findIndex(n=>n.property===l.parentFilter),s=o[a],c=l.parentFilter?O(s):!0;return{...l,parentUsed:c}}),filterQuery:i}},[p,o,F,S,i])}export{k as useCatalogFilter};
1
+ import{useCallback as h,useEffect as w,useMemo as y,useState as P}from"react";import{useSearchParams as Q}from"react-router-dom";import{telemetry as b}from"../../telemetry/index.js";import{parseFilterQuery as g,formatFilterQuery as C,collectFilterOptions as U}from"../../../utils";function O(r){return r instanceof Set?r.size>0:!!(r?.from||r?.to)}function k(r,d){const[u,m]=Q(),i=u.get("filter")||"",[o,f]=P(()=>g(i,r?.filters||[])),p=y(()=>U(r?.filters,d),[r?.filters,d]);w(()=>{const t=r?.filters||[];if(t.length>0&&o.length!==t.length){const e=g(i,t);f(e)}},[r?.filters,o.length,i]);const F=h((t,e)=>{f(l=>l.map((s,c)=>{if(c!==t||!(s instanceof Set))return s;const n=new Set(s);return n.has(e)?n.delete(e):n.add(e),n})),window.scrollTo(0,0)},[]),S=h((t,e)=>{f(l=>l.map((a,s)=>s!==t?a:a instanceof Set?e&&typeof e=="string"?new Set([e]):new Set:{from:typeof e=="object"?e?.from:void 0,to:typeof e=="object"?e?.to:void 0})),b.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"select"}]),window.scrollTo(0,0)},[]);return w(()=>{const t=new URLSearchParams(u),e=C(o,r?.filters||[]);e?t.set("filter",e):t.delete("filter"),m(t,{replace:!0})},[r?.filters,o,u,m]),y(()=>{const t=p.map((l,a)=>{const s=o[a],c=O(s);return{...l,toggleOption:n=>F(a,n),selectOption:n=>S(a,n),selectedOptions:s??new Set,isFilterUsed:c}});return{filters:t.map(l=>{const a=t.findIndex(n=>n.property===l.parentFilter),s=o[a],c=l.parentFilter?O(s):!0;return{...l,parentUsed:c}}),filterQuery:i}},[p,o,F,S,i])}export{k as useCatalogFilter};
@@ -1 +1 @@
1
- import{useState as i}from"react";import{telemetry as n}from"../../telemetry/index.js";const s="catalog-view-mode",w="table";function u(o){const[r,a]=i(o??w);return{viewMode:r,setViewMode:t=>{if(a(t),!(typeof window>"u")){try{localStorage.setItem(s,t)}catch(e){console.warn("Failed to save view mode preference to localStorage",e)}try{const e=new URL(window.location.href);e.searchParams.set("viewMode",t),window.history.replaceState({},"",e.toString()),n.sendCatalogEntitiesViewModeChangedMessage({mode:t,id:t,object:"view_mode",uri:window.location.href})}catch(e){console.warn("Failed to update viewMode query parameter",e)}}}}}export{u as useCatalogViewMode};
1
+ import{useState as i}from"react";import{telemetry as n}from"../../telemetry/index.js";const s="catalog-view-mode",w="table";function u(o){const[r,a]=i(o??w);return{viewMode:r,setViewMode:t=>{if(a(t),!(typeof window>"u")){try{localStorage.setItem(s,t)}catch(e){console.warn("Failed to save view mode preference to localStorage",e)}try{const e=new URL(window.location.href);e.searchParams.set("viewMode",t),window.history.replaceState({},"",e.toString()),n.sendCatalogEntitiesViewModeChangedMessage([{mode:t,id:t,object:"view_mode",uri:window.location.href}])}catch(e){console.warn("Failed to update viewMode query parameter",e)}}}}}export{u as useCatalogViewMode};
@@ -1 +1 @@
1
- import{useCallback as g,useEffect as m,useRef as f}from"react";import{useCatalogEntityDetails as d}from"@redocly/theme/core/hooks";import{usePageProps as p}from"../../../providers/hooks.js";import{telemetry as c}from"../../telemetry/index.js";const l={id:"redocly-unknown",object:"catalog_entity",uri:"redocly-unknown"},C={entities:"catalog_entity",related_entities:"catalog_entity"},E={entities:({items:e,searchQuery:n})=>{const t=e[0]??l;c.sendCatalogEntitiesListSearchQueryMessage({query:n,...t})},related_entities:({items:e,searchQuery:n})=>{const t=e[0]??l;c.sendCatalogEntitiesRelatedEntitiesListSearchQueryMessage({query:n,...t})}};function j({isLoading:e,items:n,apiResource:t,searchQuery:i}){const{catalogConfig:u,entitiesCatalogConfig:y}=p(),o=f(i),{getEntityDetailsLink:s}=d({catalogConfig:u,entitiesCatalogConfig:y}),a=g(r=>({id:r.id,object:C[t],uri:s(r)}),[s,t]);m(()=>{if(e)return;const r=i?.trim();!r||r===o.current||(o.current=i,E[t]({items:n.map(a),searchQuery:i}))},[n,e,i,t,a])}export{j as useSearchTracker};
1
+ import{useCallback as g,useEffect as m,useRef as f}from"react";import{useCatalogEntityDetails as d}from"@redocly/theme/core/hooks";import{usePageProps as p}from"../../../providers/hooks.js";import{telemetry as c}from"../../telemetry/index.js";const l={id:"redocly-unknown",object:"catalog_entity",uri:"redocly-unknown"},C={entities:"catalog_entity",related_entities:"catalog_entity"},E={entities:({items:e,searchQuery:n})=>{const t=e[0]??l;c.sendCatalogEntitiesListSearchQueryMessage([{query:n,...t}])},related_entities:({items:e,searchQuery:n})=>{const t=e[0]??l;c.sendCatalogEntitiesRelatedEntitiesListSearchQueryMessage([{query:n,...t}])}};function j({isLoading:e,items:n,apiResource:t,searchQuery:i}){const{catalogConfig:u,entitiesCatalogConfig:y}=p(),o=f(i),{getEntityDetailsLink:s}=d({catalogConfig:u,entitiesCatalogConfig:y}),a=g(r=>({id:r.id,object:C[t],uri:s(r)}),[s,t]);m(()=>{if(e)return;const r=i?.trim();!r||r===o.current||(o.current=i,E[t]({items:n.map(a),searchQuery:i}))},[n,e,i,t,a])}export{j as useSearchTracker};
@@ -1 +1 @@
1
- import u from"shiki/langs/bash.mjs";import w from"shiki/langs/c.mjs";import N from"shiki/langs/coffee.mjs";import b from"shiki/langs/csharp.mjs";import y from"shiki/langs/css.mjs";import H from"shiki/langs/go.mjs";import v from"shiki/langs/graphql.mjs";import x from"shiki/langs/html.mjs";import L from"shiki/langs/http.mjs";import _ from"shiki/langs/java.mjs";import j from"shiki/langs/javascript.mjs";import T from"shiki/langs/kotlin.mjs";import E from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import M from"shiki/langs/objective-c.mjs";import q from"shiki/langs/perl.mjs";import S from"shiki/langs/php.mjs";import A from"shiki/langs/python.mjs";import D from"shiki/langs/scala.mjs";import F from"shiki/langs/sql.mjs";import a from"shiki/langs/swift.mjs";import R from"shiki/langs/tsx.mjs";import W from"shiki/langs/typescript.mjs";import C from"shiki/langs/vim.mjs";import G from"shiki/langs/xml.mjs";import J from"shiki/langs/yaml.mjs";import U from"shiki/langs/jsx.mjs";import V from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as $,transformerNotationHighlight as z,transformerNotationWordHighlight as B,transformerNotationFocus as I,transformerNotationErrorLevel as K,transformerMetaHighlight as O,transformerMetaWordHighlight as P,transformerRemoveNotationEscape as Q}from"@shikijs/transformers";import{createHighlighterCoreSync as s}from"shiki/core";import{createJavaScriptRegexEngine as n}from"shiki/engine/javascript";import X from"./ruby";import Y from"./multipart-mixed";import Z from"./json-seq";import f from"./theme";import rr from"./treeview-transformer";import or from"./node-transformer";import tr from"./line-numbers-transformer";import{mapLang as mr}from"./map-lang";const er=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],p="text",c=s({themes:[f],langs:[u,w,N,b,y,H,v,x,L,_,j,T,E,r,M,q,S,A,X,D,F,a,R,W,G,C,J,er,U,V,Y,Z],engine:n()}),ir=[$(),z(),B(),I(),K(),O(),P(),Q(),or()],ar=(o,m,h)=>{const{withLineNumbers:l,startLineNumber:g,highlight:d,customTransformer:e}=h||{},i=mr(m?.toLowerCase()||p),t={lang:i,theme:"theme",meta:{__raw:d},transformers:[...i==="treeview"?[rr()]:[],...ir,...l?[tr(g)]:[],...e?[e]:[]]};try{return m==="swift"?s({themes:[f],langs:[a],engine:n({forgiving:!0})}).codeToHtml(o,t):c.codeToHtml(o,t)}catch{return c.codeToHtml(o,{...t,lang:p})}};function Ir(){return{highlight:ar}}export{ar as highlight,Ir as useCodeHighlight};
1
+ import h from"shiki/langs/bash.mjs";import l from"shiki/langs/c.mjs";import g from"shiki/langs/coffee.mjs";import d from"shiki/langs/csharp.mjs";import k from"shiki/langs/css.mjs";import u from"shiki/langs/go.mjs";import w from"shiki/langs/graphql.mjs";import N from"shiki/langs/html.mjs";import b from"shiki/langs/http.mjs";import y from"shiki/langs/java.mjs";import v from"shiki/langs/javascript.mjs";import x from"shiki/langs/kotlin.mjs";import H from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import L from"shiki/langs/objective-c.mjs";import _ from"shiki/langs/perl.mjs";import j from"shiki/langs/php.mjs";import T from"shiki/langs/python.mjs";import E from"shiki/langs/scala.mjs";import M from"shiki/langs/sql.mjs";import q from"shiki/langs/swift.mjs";import S from"shiki/langs/tsx.mjs";import A from"shiki/langs/typescript.mjs";import C from"shiki/langs/vim.mjs";import D from"shiki/langs/xml.mjs";import F from"shiki/langs/yaml.mjs";import R from"shiki/langs/jsx.mjs";import W from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as G,transformerNotationHighlight as J,transformerNotationWordHighlight as U,transformerNotationFocus as V,transformerNotationErrorLevel as $,transformerMetaHighlight as z,transformerMetaWordHighlight as B,transformerRemoveNotationEscape as I}from"@shikijs/transformers";import{createHighlighterCoreSync as K}from"shiki/core";import{createJavaScriptRegexEngine as O}from"shiki/engine/javascript";import P from"./ruby";import Q from"./multipart-mixed";import X from"./json-seq";import Y from"./theme";import Z from"./treeview-transformer";import rr from"./node-transformer";import or from"./line-numbers-transformer";import{mapLang as tr}from"./map-lang";const mr=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],i="text",a=K({themes:[Y],langs:[h,l,g,d,k,u,w,N,b,y,v,x,H,r,L,_,j,T,P,E,M,q,S,A,D,C,F,mr,R,W,Q,X],engine:O()}),er=[G(),J(),U(),V(),$(),z(),B(),I(),rr()],ir=(o,n,s)=>{const{withLineNumbers:p,startLineNumber:f,highlight:c,customTransformer:t}=s||{},m=tr(n?.toLowerCase()||i),e={lang:m,theme:"theme",meta:{__raw:c},transformers:[...m==="treeview"?[Z()]:[],...er,...p?[or(f)]:[],...t?[t]:[]]};try{return a.codeToHtml(o,e)}catch{return a.codeToHtml(o,{...e,lang:i})}};function Ir(){return{highlight:ir}}export{ir as highlight,Ir as useCodeHighlight};
@@ -1 +1 @@
1
- import{useLocation as i,useNavigate as r}from"react-router-dom";import{useEffect as s,useRef as u}from"react";import{useActiveSectionId as f}from"@redocly/theme/core/hooks";import{isBrowser as h}from"../../../utils/env/is-browser";let n=!0;function v(){const t=i(),o=r(),e=f(t,!1,!1),a=u(null);s(()=>{if(e&&n){n=!1,a.current=e;return}const c=a.current!==e;h()&&e&&!t.hash&&c&&!window.location.pathname.includes(e)&&o({pathname:t.pathname,search:t.search,hash:`#${e}`},{replace:!0}),a.current=e},[e,t.pathname,t.search,t.hash,o])}export{v as useAutoScroll};
1
+ import{useLocation as i,useNavigate as s}from"react-router-dom";import{useEffect as h,useRef as m}from"react";import{useActiveSectionId as u}from"@redocly/theme/core/hooks";import{isBrowser as f}from"../../../utils/env/is-browser";import{pathnameMatchesActiveSection as p}from"./utils/pathname-matches-active-section.js";let c=!0;function g(){const t=i(),o=s(),e=u(t,!1,!1),a=m(null);h(()=>{if(e&&c){c=!1,a.current=e;return}const n=a.current!==e,r=p(window.location.pathname,e);f()&&e&&!t.hash&&n&&!r&&o({pathname:t.pathname,search:t.search,hash:`#${e}`},{replace:!0}),a.current=e},[e,t.pathname,t.search,t.hash,o])}export{g as useAutoScroll};
@@ -1 +1 @@
1
- import{useEffect as r}from"react";import{useLocation as d}from"react-router-dom";import{telemetry as s}from"../telemetry";const g=()=>{const t=d();r(()=>{const i=()=>{if(!e)return;const a=new Date().getTime()-e;s.sendPageTimeMessage({id:`${window.origin}${t.pathname}`,object:"page",uri:`${window.origin}${t.pathname}`,durationMs:a}),e=void 0},n=()=>{if(document.visibilityState==="visible"){e=e||new Date().getTime();return}i()},o=()=>{i()};let e=new Date().getTime();return document.addEventListener("visibilitychange",n),window.addEventListener("beforeunload",o),()=>{i(),window.removeEventListener("beforeunload",o),document.removeEventListener("visibilitychange",n)}},[t.pathname])};export{g as usePageTimeTracker};
1
+ import{useEffect as r}from"react";import{useLocation as d}from"react-router-dom";import{telemetry as s}from"../telemetry";const g=()=>{const t=d();r(()=>{const i=()=>{if(!e)return;const a=new Date().getTime()-e;s.sendPageTimeMessage([{id:`${window.origin}${t.pathname}`,object:"page",uri:`${window.origin}${t.pathname}`,durationMs:a}]),e=void 0},n=()=>{if(document.visibilityState==="visible"){e=e||new Date().getTime();return}i()},o=()=>{i()};let e=new Date().getTime();return document.addEventListener("visibilitychange",n),window.addEventListener("beforeunload",o),()=>{i(),window.removeEventListener("beforeunload",o),document.removeEventListener("visibilitychange",n)}},[t.pathname])};export{g as usePageTimeTracker};
@@ -1 +1 @@
1
- import{useLocation as u,useNavigate as d,useNavigationType as l}from"react-router-dom";import{useEffect as v,useState as P}from"react";import{useThemeConfig as w}from"@redocly/theme/core/hooks";import{removeTrailingSlash as E}from"../../../utils/url/remove-trailing-slash";import{onRouteChange as M}from"../../runtime/generated/browser-plugins.js";import{resolveRouteBySlug as y}from"../utils/resolveRouteBySlug.js";import{usePageData as C}from"./usePageData.js";import{usePostMessage as T}from"../../providers/post-message/use-post-message.js";import{isInIframe as b}from"../../utils/utils.js";import{waitForContentScripts as I}from"../../ScriptLoader.js";import{telemetry as N}from"../telemetry/index.js";const W=()=>{const e=u(),n=d(),a=l(),r=C(),[t,i]=P(),m=w(),{sendMessage:h}=T();v(()=>{I().then(()=>{if(e.pathname!==t?.pathname||e.search!==t.search){M({location:e,prevLocation:t},m);const o=`${window.origin}${e.pathname+e.search+e.hash}`,s=t?`${window.origin}${t.pathname+t.search+t.hash}`:void 0;N.sendPageViewedMessage({uri:o,referrer:s||document.referrer||void 0})}});const c=!!t;i(e);const{pathname:p,hash:g,state:f}=e;if(e?.pathname.endsWith("/")&&e?.pathname!=="/"){const o=E(e.pathname);n({pathname:o,search:e.search,hash:e.hash},{replace:!0})}(process.env.NODE_ENV==="development"||b())&&c&&y(p+g,r?.templateId).then(o=>{const s=a==="POP"?"browser":f?.origin;s&&h({type:"route-updated",origin:s,...o})}).catch(o=>console.log("Resolve route by slug failed with error: ",o.message))},[e,a])};export{W as useRouteChangeTracker};
1
+ import{useLocation as u,useNavigate as d,useNavigationType as l}from"react-router-dom";import{useEffect as v,useState as P}from"react";import{useThemeConfig as w}from"@redocly/theme/core/hooks";import{removeTrailingSlash as E}from"../../../utils/url/remove-trailing-slash";import{onRouteChange as M}from"../../runtime/generated/browser-plugins.js";import{resolveRouteBySlug as y}from"../utils/resolveRouteBySlug.js";import{usePageData as b}from"./usePageData.js";import{usePostMessage as C}from"../../providers/post-message/use-post-message.js";import{isInIframe as T}from"../../utils/utils.js";import{waitForContentScripts as I}from"../../ScriptLoader.js";import{telemetry as N}from"../telemetry/index.js";const U=()=>{const e=u(),n=d(),a=l(),r=b(),[t,i]=P(),m=w(),{sendMessage:h}=C();v(()=>{I().then(()=>{if(e.pathname!==t?.pathname||e.search!==t.search){M({location:e,prevLocation:t},m);const o=`${window.origin}${e.pathname+e.search+e.hash}`,s=t?`${window.origin}${t.pathname+t.search+t.hash}`:void 0;N.sendPageViewedMessage([{object:"page",uri:o,referrer:s||document.referrer||void 0}])}});const c=!!t;i(e);const{pathname:p,hash:g,state:f}=e;if(e?.pathname.endsWith("/")&&e?.pathname!=="/"){const o=E(e.pathname);n({pathname:o,search:e.search,hash:e.hash},{replace:!0})}(process.env.NODE_ENV==="development"||T())&&c&&y(p+g,r?.templateId).then(o=>{const s=a==="POP"?"browser":f?.origin;s&&h({type:"route-updated",origin:s,...o})}).catch(o=>console.log("Resolve route by slug failed with error: ",o.message))},[e,a])};export{U as useRouteChangeTracker};
@@ -1,3 +1,3 @@
1
- import type { Telemetry } from '@redocly/realm-asyncapi-sdk/ui-telemetry';
2
- export declare const useTelemetry: () => Telemetry;
1
+ import { telemetry } from '../telemetry/index.js';
2
+ export declare const useTelemetry: () => typeof telemetry;
3
3
  //# sourceMappingURL=useTelemetry.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * True when pathname (after decode) already identifies the same section as activeSectionId.
3
+ * Used to avoid adding redundant hash when URL path already matches (e.g. encoded %7b/%7d vs logical {}).
4
+ */
5
+ export declare function pathnameMatchesActiveSection(pathname: string, activeSectionId: string): boolean;
6
+ //# sourceMappingURL=pathname-matches-active-section.d.ts.map
@@ -0,0 +1 @@
1
+ import{normalizeRouteSlug as t}from"../../../../utils/path/normalize-route-slug";function c(e,o){return t(e).toLowerCase().includes(o.toLowerCase())}export{c as pathnameMatchesActiveSection};
@@ -0,0 +1 @@
1
+ import*as s from"react";import{loadScriptFromReactAsync as l,loadScriptFromReactSync as i}from"../../../ScriptLoader";function u(n){let r=!1;const{children:c,src:e,async:o,...t}=n;return typeof document<"u"&&(r=!!(e?document.querySelector(`script[src="${e}"]`):null)),s.useEffect(()=>{r||(e?o?l(e,t):i(e,!1,t):c&&i(c.toString(),!0,t))},[e]),null}export{u as HtmlScript};
@@ -0,0 +1 @@
1
+ import*as o from"react";import{StoreProvider as v,RequestSamples as y,normalizeOptions as E}from"@redocly/openapi-docs";import{ErrorMessage as O,OpenApiComponentWrap as M}from"../styled.elements";import{useStore as b}from"../../hooks/use-store";import{getOperation as C}from"./get-operation/index";import{getMockServerDocsConfig as k}from"../../../../templates/openapi-docs/mock-server-config.js";function P(u){const{descriptionFile:d,operationId:a,pointer:m,exampleKey:s,mimeType:l,language:r,requestBody:f,parameters:g,environment:t,environments:n}=u,{store:e,error:S,baseSlug:c}=b(d),i=o.useMemo(()=>({...e?.options,...(r||null)&&{codeSamples:{languages:[{lang:r??""}]},mockServer:k(e?.options?.mockServer,c||"")}}),[r,e?.options,c]),p=o.useMemo(()=>{if(e)return C(e,{operationId:a,pointer:m},E(i),{exampleKey:s,mimeType:l,environments:n,environment:t})},[s,i,l,a,m,e,n,t]);return e?p?o.createElement(M,{"data-testid":"openapi-code-sample"},o.createElement(v,{options:i,definition:e.definition,withState:{environments:n,environment:t,operation:{pointer:p.pointer,state:{requestValues:{body:f,...g}}}}},o.createElement(y,{operation:p,disableFooter:!0}))):o.createElement("pre",{style:{color:"red"}},"Cannot find OpenAPI operation by operationId or pointer"):o.createElement(O,null,S)}export{P as OpenApiCodeSample};