@redocly/redoc 0.130.0-next.1 → 0.130.0-next.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.
- package/CHANGELOG.md +146 -0
- package/dist/bin.js +1 -1
- package/dist/cli/develop.js +1 -1
- package/dist/cli/eject/resolveEjectParams.js +1 -1
- package/dist/cli/prepare/copy-env-files.js +1 -1
- package/dist/cli/stats/collectors/openapi.d.ts +3 -0
- package/dist/cli/stats/collectors/openapi.js +1 -0
- package/dist/cli/stats/index.d.ts +7 -0
- package/dist/cli/stats/index.js +1 -0
- package/dist/cli/stats/options.d.ts +3 -0
- package/dist/cli/stats/options.js +1 -0
- package/dist/cli/telemetry/index.d.ts +2 -2
- package/dist/cli/telemetry/index.js +1 -1
- package/dist/client/ErrorBoundary.js +1 -1
- package/dist/client/app/Sidebar/RequestAccessButton.js +2 -2
- package/dist/client/app/Sidebar/Sidebar.js +2 -2
- package/dist/client/app/hooks/catalog/useCatalogClassic.js +1 -1
- package/dist/client/app/hooks/catalog/useCatalogFilter.js +1 -1
- package/dist/client/app/hooks/catalog/useCatalogViewMode.js +1 -1
- package/dist/client/app/hooks/catalog/useSearchTracker.js +1 -1
- package/dist/client/app/hooks/usePageTimeTracker.js +1 -1
- package/dist/client/app/hooks/useRouteChangeTracker.js +1 -1
- package/dist/client/app/hooks/useTelemetry.d.ts +2 -2
- package/dist/client/app/pages/DevLogin/DevLogin.js +1 -1
- package/dist/client/app/search/useAiSearch.js +1 -1
- package/dist/client/app/search/useSearch.js +1 -1
- package/dist/client/app/telemetry/index.d.ts +11 -1
- package/dist/client/app/telemetry/index.js +1 -1
- package/dist/client/browser-entry.js +3 -3
- package/dist/constants/common.d.ts +3 -1
- package/dist/constants/common.js +1 -1
- package/dist/constants/l10n/langs/ar.js +1 -1
- package/dist/constants/l10n/langs/de.js +1 -1
- package/dist/constants/l10n/langs/en.js +1 -1
- package/dist/constants/l10n/langs/es.js +1 -1
- package/dist/constants/l10n/langs/fr.js +1 -1
- package/dist/constants/l10n/langs/hi.js +1 -1
- package/dist/constants/l10n/langs/it.js +1 -1
- package/dist/constants/l10n/langs/ja.js +1 -1
- package/dist/constants/l10n/langs/ko.js +1 -1
- package/dist/constants/l10n/langs/pl.js +1 -1
- package/dist/constants/l10n/langs/pt-BR.js +1 -1
- package/dist/constants/l10n/langs/pt.js +1 -1
- package/dist/constants/l10n/langs/ru.js +1 -1
- package/dist/constants/l10n/langs/uk.js +1 -1
- package/dist/constants/l10n/langs/zh.js +1 -1
- package/dist/server/api-routes/execute-api-route.js +1 -1
- package/dist/server/api-routes/run-api-routes-worker.js +1 -1
- package/dist/server/constants/plugins/catalog-entities.d.ts +1 -0
- package/dist/server/constants/plugins/catalog-entities.js +1 -1
- package/dist/server/esbuild/esbuild.js +3 -3
- package/dist/server/fs/cache.js +1 -1
- package/dist/server/node-bundle-entry.js +1 -1
- package/dist/server/persistence/kv/repositories/kv-remote-repository.d.ts +1 -0
- package/dist/server/persistence/kv/repositories/kv-remote-repository.js +2 -1
- package/dist/server/persistence/kv/services/kv-service.js +1 -1
- package/dist/server/plugins/asyncapi-docs/store-definition-bundles.js +1 -1
- package/dist/server/plugins/asyncapi-docs/template/AsyncApiDocs.js +5 -3
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +11 -12
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.js +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.d.ts +8 -0
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.js +1 -0
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-db-record.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-read-model.js +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/map-entity-relation-row.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.d.ts +27 -0
- package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.js +1 -0
- package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.d.ts +36 -0
- package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.js +1 -0
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.js +34 -27
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts +5 -4
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +27 -14
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.d.ts +10 -8
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.d.ts +3 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-write-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-relations-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.d.ts +2 -5
- package/dist/server/plugins/catalog-entities/database/repositories/remote/catalog-entities-remote-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/utils/create-merged-entity-fields-for-select.d.ts +34 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/create-merged-entity-fields-for-select.js +13 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/normalize-revision-flags.d.ts +23 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/normalize-revision-flags.js +1 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/semantic-version-sort.d.ts +78 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/semantic-version-sort.js +34 -0
- package/dist/server/plugins/catalog-entities/entities/validate-entity.d.ts +3 -1
- package/dist/server/plugins/catalog-entities/entities/validate-entity.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.d.ts +4 -3
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/graphql-entities-extractor.js +2 -2
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/openapi-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/get-server-props.js +1 -1
- package/dist/server/plugins/catalog-entities/plugin.js +1 -1
- package/dist/server/plugins/catalog-entities/schemas/database-schemas.d.ts +3 -0
- package/dist/server/plugins/catalog-entities/schemas/database-schemas.js +1 -1
- package/dist/server/plugins/catalog-entities/schemas/dto-schemas.d.ts +15 -1
- package/dist/server/plugins/catalog-entities/schemas/dto-schemas.js +1 -1
- package/dist/server/plugins/catalog-entities/schemas/read-model-schemas.d.ts +1 -0
- package/dist/server/plugins/catalog-entities/types/extractors.d.ts +4 -4
- package/dist/server/plugins/catalog-entities/utils/ajv-validator.js +1 -1
- package/dist/server/plugins/config-parser/loaders/content-slugs-loader.js +1 -1
- package/dist/server/plugins/config-parser/loaders/utils/read-and-validate-config.js +1 -1
- package/dist/server/plugins/default-theme/index.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/docs-mcp-tool.d.ts +54 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/docs-mcp-tool.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.d.ts +9 -8
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.d.ts +9 -8
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-api-description.d.ts +9 -8
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-api-description.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.d.ts +9 -8
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +7 -13
- package/dist/server/plugins/mcp/docs-mcp/tools/index.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.d.ts +9 -6
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/search.d.ts +9 -2
- package/dist/server/plugins/mcp/docs-mcp/tools/search.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.d.ts +2 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.js +6 -6
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.d.ts +9 -2
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.js +1 -1
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
- package/dist/server/plugins/mcp/handlers/errors.js +1 -1
- package/dist/server/plugins/mcp/handlers/handle-mcp-request.d.ts +5 -0
- package/dist/server/plugins/mcp/handlers/handle-mcp-request.js +1 -0
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.d.ts +0 -1
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.js +1 -1
- package/dist/server/plugins/mcp/servers/base-server.js +1 -1
- package/dist/server/plugins/mcp/types.d.ts +40 -0
- package/dist/server/plugins/mcp/workers/execute-mcp-tool.d.ts +3 -0
- package/dist/server/plugins/mcp/workers/execute-mcp-tool.js +1 -0
- package/dist/server/plugins/openapi-docs/index.js +1 -1
- package/dist/server/plugins/openapi-docs/template/OpenAPIDocs.js +8 -4
- package/dist/server/plugins/openapi-docs/template/helpers.d.ts +1 -1
- package/dist/server/plugins/openapi-docs/template/helpers.js +3 -3
- package/dist/server/plugins/scorecard-classic/loaders/scorecard-config.js +1 -1
- package/dist/server/plugins/scorecard-classic/types.d.ts +3 -3
- package/dist/server/plugins/scorecard-classic/types.js +1 -1
- package/dist/server/plugins/scorecards/database/repositories/local/scorecards-config-local-repository.d.ts +12 -0
- package/dist/server/plugins/scorecards/database/repositories/local/scorecards-config-local-repository.js +1 -0
- package/dist/server/plugins/scorecards/database/scorecards-config-service.d.ts +11 -0
- package/dist/server/plugins/scorecards/database/scorecards-config-service.js +1 -0
- package/dist/server/plugins/scorecards/workers/run-scorecards-worker.d.ts +2 -1
- package/dist/server/plugins/scorecards/workers/run-scorecards-worker.js +1 -1
- package/dist/server/plugins/scorecards/workers/scorecards.d.ts +1 -12
- package/dist/server/plugins/scorecards/workers/scorecards.js +1 -1
- package/dist/server/plugins/search/ai-indexer/prepare-ai-search-documents.js +1 -1
- package/dist/server/plugins/search/documents/search-documents.js +1 -1
- package/dist/server/plugins/sso/index.js +1 -1
- package/dist/server/providers/database/base-repository.d.ts +1 -0
- package/dist/server/providers/database/base-repository.js +1 -1
- package/dist/server/providers/database/database-connection-factory.js +1 -1
- package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-attributes-table.d.ts +143 -0
- package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-attributes-table.js +1 -0
- package/dist/server/providers/database/databases/catalog-sqlite/schemas/entities-relations-table.js +1 -1
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.d.ts +24 -18
- package/dist/server/providers/database/databases/main-sqlite/schemas/scorecards-config-table.js +1 -1
- package/dist/server/providers/database/pagination/entities-to-filter.d.ts +15 -0
- package/dist/server/providers/database/pagination/entities-to-filter.js +1 -0
- package/dist/server/providers/database/pagination/utils/index.d.ts +4 -0
- package/dist/server/providers/database/pagination/utils/index.js +1 -1
- package/dist/server/providers/database/pagination/utils/is-nested-condition.d.ts +16 -0
- package/dist/server/providers/database/pagination/utils/is-nested-condition.js +1 -0
- package/dist/server/providers/database/pagination/utils/is-simple-condition.d.ts +18 -0
- package/dist/server/providers/database/pagination/utils/is-simple-condition.js +1 -0
- package/dist/server/providers/database/pagination/utils/map-operator.d.ts +10 -0
- package/dist/server/providers/database/pagination/utils/map-operator.js +1 -0
- package/dist/server/providers/database/pagination/utils/transform-condition.d.ts +12 -0
- package/dist/server/providers/database/pagination/utils/transform-condition.js +1 -0
- package/dist/server/ssr/server-side-props/get-server-props-from-user-handler.js +1 -1
- package/dist/server/store.d.ts +3 -1
- package/dist/server/store.js +1 -1
- package/dist/server/tools/notifiers/logger.js +1 -1
- package/dist/server/tools/notifiers/reporter.js +7 -7
- package/dist/server/types/plugins/common.d.ts +3 -1
- package/dist/server/types/plugins/scorecards.d.ts +30 -0
- package/dist/server/types/plugins/scorecards.js +0 -0
- package/dist/server/utils/envs/load-env-variables.d.ts +1 -1
- package/dist/server/utils/envs/load-env-variables.js +1 -1
- package/dist/server/utils/envs/sanitize-branch-name.d.ts +6 -0
- package/dist/server/utils/envs/sanitize-branch-name.js +1 -0
- package/dist/server/utils/lifecycle-hooks.js +1 -1
- package/dist/server/utils/rbac.d.ts +11 -7
- package/dist/server/utils/rbac.js +1 -1
- package/dist/server/utils/time/with-timestamp.d.ts +42 -10
- package/dist/server/utils/time/with-timestamp.js +1 -1
- package/dist/server/web-server/auth.js +2 -2
- package/dist/server/web-server/dev-server.js +1 -1
- package/dist/server/web-server/handle-api-route-request.js +1 -1
- package/dist/server/web-server/middleware/catalogAuthMiddleware.js +1 -1
- package/dist/server/web-server/routes/auth.js +1 -1
- package/dist/server/web-server/routes/catalog/bff-catalog.js +1 -1
- package/dist/server/web-server/routes/catalog/catalog.js +1 -1
- package/dist/server/web-server/routes/dynamic-route.js +1 -1
- package/dist/server/web-server/routes/mcp-oauth.js +1 -1
- package/dist/server/web-server/routes/page-data.js +1 -1
- package/dist/server/workers/mcp-tool-worker-pool.d.ts +4 -0
- package/dist/server/workers/mcp-tool-worker-pool.js +1 -0
- package/dist/server/workers/mcp-tool-worker.d.ts +2 -0
- package/dist/server/workers/mcp-tool-worker.js +1 -0
- package/dist/server/workers/types.d.ts +7 -1
- package/dist/utils/env/is-local-development.js +1 -1
- package/package.json +15 -18
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.d.ts +0 -5
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.js +0 -1
- package/dist/server/workers/mcp-worker-pool.d.ts +0 -4
- package/dist/server/workers/mcp-worker-pool.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,151 @@
|
|
|
1
1
|
# @redocly/redoc
|
|
2
2
|
|
|
3
|
+
## 0.130.0-next.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8164c94e92: Fixed image alignment in headers.
|
|
8
|
+
- c1d9f9a79d: Fixed an issue where the mock server returned a 404 error when enabled at the product level but disabled at the root level in `redocly.yaml`.
|
|
9
|
+
- Updated dependencies [8164c94e92]
|
|
10
|
+
- Updated dependencies [c1d9f9a79d]
|
|
11
|
+
- Updated dependencies [3b573feb37]
|
|
12
|
+
- Updated dependencies [7ea47225bc]
|
|
13
|
+
- Updated dependencies [9df7a53978]
|
|
14
|
+
- @redocly/theme@0.62.0-next.6
|
|
15
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.9
|
|
16
|
+
- @redocly/realm-asyncapi-sdk@0.8.0-next.2
|
|
17
|
+
- @redocly/asyncapi-docs@1.7.0-next.9
|
|
18
|
+
- @redocly/graphql-docs@1.7.0-next.1
|
|
19
|
+
- @redocly/openapi-docs@3.18.0-next.9
|
|
20
|
+
|
|
21
|
+
## 0.130.0-next.9
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 9f91c53c96: Updated `@redocly/openapi-core` to version `2.15.1`.
|
|
26
|
+
- 39a6b03569: Fixed `id_token` audience validation to support organization ID alongside slug, preventing auth failures after slug changes.
|
|
27
|
+
- 864165169a: Fixed an issue where deep links would open pages in an incorrect position if a banner was present.
|
|
28
|
+
- ab5975a273: Fixed an issue where a schema wouldn't be displayed when it was an only item in a `oneOf`.
|
|
29
|
+
- Updated dependencies [9f91c53c96]
|
|
30
|
+
- Updated dependencies [864165169a]
|
|
31
|
+
- Updated dependencies [ab5975a273]
|
|
32
|
+
- @redocly/openapi-docs@3.18.0-next.8
|
|
33
|
+
- @redocly/asyncapi-docs@1.7.0-next.8
|
|
34
|
+
- @redocly/graphql-docs@1.7.0-next.1
|
|
35
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.8
|
|
36
|
+
|
|
37
|
+
## 0.130.0-next.8
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- 24c74512bd: Fixed an issue in API docs where the discriminators displayed incorrect names.
|
|
42
|
+
- a57b480eef: Added support for `query` in OpenAPI 3.2 and `x-query` in OpenAPI versions earlier than 3.2.
|
|
43
|
+
- Updated dependencies [ac12b3523ad]
|
|
44
|
+
- Updated dependencies [7083962f58e]
|
|
45
|
+
- Updated dependencies [7083962f58e]
|
|
46
|
+
- Updated dependencies [24c74512bd]
|
|
47
|
+
- Updated dependencies [a57b480eef]
|
|
48
|
+
- @redocly/theme@0.62.0-next.5
|
|
49
|
+
- @redocly/openapi-docs@3.18.0-next.7
|
|
50
|
+
- @redocly/asyncapi-docs@1.7.0-next.7
|
|
51
|
+
- @redocly/graphql-docs@1.7.0-next.0
|
|
52
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.7
|
|
53
|
+
|
|
54
|
+
## 0.130.0-next.7
|
|
55
|
+
|
|
56
|
+
### Patch Changes
|
|
57
|
+
|
|
58
|
+
- 8cb9a82a7a: Fixed support for `.redocly.lint-ignore.yaml` in the scorecard and `openapi-language-server`.
|
|
59
|
+
- 8cb9a82a7a: Updated `@redocly/openapi-core` to version `0.0.0-snapshot.1769511679`.
|
|
60
|
+
- Updated dependencies [8cb9a82a7a]
|
|
61
|
+
- @redocly/openapi-docs@3.18.0-next.6
|
|
62
|
+
- @redocly/asyncapi-docs@1.7.0-next.6
|
|
63
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.6
|
|
64
|
+
|
|
65
|
+
## 0.130.0-next.6
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- 6acdb6e020: Fixed downloading large AsyncAPI files.
|
|
70
|
+
- 6bcf89ef54: Updated `@redocly/openapi-core` to version `2.14.9`.
|
|
71
|
+
- a191d2c98e: Fixed an issue where the **Back to Search** button was displayed when AI Assistant was opened using the **Ask AI** button.
|
|
72
|
+
- 289b4760f9: Updated `@redocly/openapi-core` to version `0.0.0-snapshot.1769415576`.
|
|
73
|
+
- Updated dependencies [6bcf89ef54]
|
|
74
|
+
- Updated dependencies [a191d2c98e]
|
|
75
|
+
- Updated dependencies [289b4760f9]
|
|
76
|
+
- @redocly/openapi-docs@3.18.0-next.5
|
|
77
|
+
- @redocly/theme@0.62.0-next.4
|
|
78
|
+
- @redocly/asyncapi-docs@1.7.0-next.5
|
|
79
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.5
|
|
80
|
+
- @redocly/graphql-docs@1.7.0-next.0
|
|
81
|
+
|
|
82
|
+
## 0.130.0-next.5
|
|
83
|
+
|
|
84
|
+
### Minor Changes
|
|
85
|
+
|
|
86
|
+
- 1ff6da217d: Added support for branch-specific configuration in `redocly.yaml`.
|
|
87
|
+
|
|
88
|
+
### Patch Changes
|
|
89
|
+
|
|
90
|
+
- 2db5a19a31: Fixed an issue where project builds could fail due to unset environment variables, despite the variables existing in the cloud environment.
|
|
91
|
+
- 80e735d6d3: Updated `@redocly/openapi-core` to version `2.14.7`.
|
|
92
|
+
- Updated dependencies [80e735d6d3]
|
|
93
|
+
- Updated dependencies [f117f86b3b]
|
|
94
|
+
- @redocly/openapi-docs@3.18.0-next.4
|
|
95
|
+
- @redocly/theme@0.62.0-next.3
|
|
96
|
+
- @redocly/asyncapi-docs@1.7.0-next.4
|
|
97
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.4
|
|
98
|
+
- @redocly/graphql-docs@1.7.0-next.0
|
|
99
|
+
|
|
100
|
+
## 0.130.0-next.4
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- 0c773d5f4b: Added backward compatibility for legacy UI telemetry.
|
|
105
|
+
- Updated dependencies [0c773d5f4b]
|
|
106
|
+
- @redocly/theme@0.62.0-next.2
|
|
107
|
+
- @redocly/asyncapi-docs@1.7.0-next.3
|
|
108
|
+
- @redocly/graphql-docs@1.7.0-next.0
|
|
109
|
+
- @redocly/openapi-docs@3.18.0-next.3
|
|
110
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.3
|
|
111
|
+
|
|
112
|
+
## 0.130.0-next.3
|
|
113
|
+
|
|
114
|
+
### Patch Changes
|
|
115
|
+
|
|
116
|
+
- d309b3d828: Fixed language icon rendering issues in API docs.
|
|
117
|
+
- 3af7a906b4: Fixed an issue where URLs of OpenAPI docs pages could automatically receive `-1` suffixes.
|
|
118
|
+
- Updated dependencies [9562d72bd7]
|
|
119
|
+
- Updated dependencies [d309b3d828]
|
|
120
|
+
- Updated dependencies [e24e828523]
|
|
121
|
+
- @redocly/openapi-docs@3.18.0-next.2
|
|
122
|
+
- @redocly/theme@0.62.0-next.1
|
|
123
|
+
- @redocly/asyncapi-docs@1.7.0-next.2
|
|
124
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.2
|
|
125
|
+
- @redocly/graphql-docs@1.7.0-next.0
|
|
126
|
+
|
|
127
|
+
## 0.129.2
|
|
128
|
+
|
|
129
|
+
### Patch Changes
|
|
130
|
+
|
|
131
|
+
- 237e61721c: Fixed an issue where project processing could halt indefinitely due to incorrect cache handling.
|
|
132
|
+
|
|
133
|
+
## 0.130.0-next.2
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- 6238b833f0: Fixed sidebar header layout issue.
|
|
138
|
+
- 134e0817c3: Fixed an issue where project processing could halt indefinitely due to incorrect cache handling.
|
|
139
|
+
- 8e31351cfa: Updated `@redocly/openapi-core` to version `2.14.5`.
|
|
140
|
+
- 0895b860b1: Fixed an issue where the **Copy** and **Copy for LLM** buttons were not hidden on OpenAPI endpoint pages that had `excludeFromSearch` option configured.
|
|
141
|
+
- Updated dependencies [8e31351cfa]
|
|
142
|
+
- Updated dependencies [39d177b9b6]
|
|
143
|
+
- @redocly/openapi-docs@3.18.0-next.1
|
|
144
|
+
- @redocly/realm-asyncapi-sdk@0.8.0-next.1
|
|
145
|
+
- @redocly/asyncapi-docs@1.7.0-next.1
|
|
146
|
+
- @redocly/portal-plugin-mock-server@0.15.0-next.1
|
|
147
|
+
- @redocly/theme@0.62.0-next.0
|
|
148
|
+
|
|
3
149
|
## 0.130.0-next.1
|
|
4
150
|
|
|
5
151
|
### Patch Changes
|
package/dist/bin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import"./cli/utils/node-version-check.js";import
|
|
2
|
+
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{develop as S}from"./cli/develop.js";import{eject as V}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 I}from"./cli/prepare/index.js";import{fromCurrentDir as L}from"./server/utils/paths.js";import{translationsCliOpts as _}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 F}from"./server/entitlements/is-valid-plan.js";import{stopAllCompilers as U}from"./server/esbuild/esbuild.js";import{copyLibsqlPrebuiltBinary as $}from"./cli/prepare/libsql/copy-prebuilt-binary.js";import{telemetry as d}from"./cli/telemetry/index.js";import{stats as q}from"./cli/stats/index.js";import{statsCliOpts as B}from"./cli/stats/options.js";const n=process.argv[2];let i;const f={alias:{d:"project-dir",p:"port"},default:{"project-dir":process.env.REDOCLY_CONTENT_DIR||process.cwd(),outdir:"public"}},G={alias:f.alias,default:{...f.default,plan:"enterprise"}},Y={alias:{d:"prepareDir"},default:{prepareDir:"public"}},z={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 U(),p.error("Exiting due to uncaught exception"),await t.panic(e))});try{n||await t.panicOnContentError("Command not specified.");const e=N.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),G),E=r.resolve(a["project-dir"]),j=r.join(A(),"redocly-public-"+R(E)),l=a.plan.toLowerCase();F(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:L(import.meta.url,"./server/esbuild/cache/server")}),await w(g.DEVELOP,a,i),await S(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),$(u),await I(s,i);break;case"serve":await y();const b=o(process.argv.slice(3),Y),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),z),{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 V({...m,config:await h()}),p.clearAllTimeouts();break;case"translate":if(e.canAccessFeature("l10n")){const c=o(process.argv.slice(3),_);d.sendCliCommandTranslateExecutedMessage({arguments:c}),await M(c)}else await t.panicOnContentError('The "translate" command is not available for this project');break;case"stats":const P=o(process.argv.slice(3),B);await q(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)}
|
package/dist/cli/develop.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{logger as
|
|
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{resolveCache as g}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as m}from"../server/utils/index.js";import{createClientCompiler as w,createServerCompiler as C}from"../server/esbuild/esbuild.js";import{initPlugins as h,runPlugins as p,writeClientEntries as S}from"../server/plugins/lifecycle.js";import{startDevServer as E}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 j(i,e){t.info("Starting project preview mode."),S(e),t.startTiming("initial-js"),await y(e),t.infoTime("initial-js","JavaScript compiled");const{pluginInstances:a,lifecycleContext:n}=await h({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:i["dev-login"]!==!1,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=n,R(e),await p(a,e,n,{failFast:!0});const s=async()=>{const r=performance.now();u.clearErrors(),await p(a,e,n),process.env.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await f(e,n):t.info("Skipping markdown validation step"),L().then(async()=>{await b(n);const l=m(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")})};process.env.REDOCLY_EXP_DISABLE_MD_VALIDATION!=="true"?await f(e,n):t.info("Skipping markdown validation step"),await b(n);const d=m(e.getAllRoutes());u.summary(" \u{1F440} Watching for changes...",d),e.runListeners("pages-updated",void 0,d),n.fs.watch(async()=>{g.clear(),await s()}),t.verbose("Starting development server."),await E(e,n,{port:Number(i.port||4e3)}),u.listenStdin()}async function y(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"))},s=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())},d=[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:()=>s("client")};w(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:()=>s("server")};C(i,i.serverOutDir,"development",o).then(c=>c.watch()).catch(l)})];await Promise.all(d),await i.reloadMarkdocOptions()}function L(){return new Promise(i=>{setTimeout(i,0)})}export{j as develop};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
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 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"node:path";import{copyFileSync as a,existsSync as s,mkdirSync as v}from"node:fs";import{readEnvVariable as c}from"../../server/utils/envs/read-env-variable.js";import{logger as l}from"../../server/tools/notifiers/logger.js";import{sanitizeBranchName as u}from"../../server/utils/envs/sanitize-branch-name.js";const F=n=>{const i=m();s(n.serverOutDir)||v(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);a(r,p),e.push(o)}e.length>0&&l.info(`Env files included in bundle: ${e.map(()=>"%rp").join(", ")}`,...e)},m=()=>{const n=c("REDOCLY_ENV"),i=c("PUBLIC_REDOCLY_BRANCH_NAME"),e=[".env"];switch(i&&e.push(`.env.branch.${u(i)}`),n){case"production":e.push(".env.production");break;case"preview":e.push(".env.preview");break;case"development":default:e.push(".env.development");break}return e};export{F as copyEnvFiles};
|
|
@@ -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 S,walkDocument as y}from"@redocly/openapi-core";import{logger as l}from"../../../server/tools/notifiers/logger.js";import{telemetryTraceStep as g}from"../../telemetry/helpers/trace-step.js";import{telemetry as D}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 x(a,r){await g("stats.openapi",async()=>{l.info("OpenAPI collector: start processing documents...");const s=(await a.cache.load(".","load-oas-docs")).data,e=[];for(const o of s)if(!o.isVirtual){const n=await b(o);e.push(n)}D.sendStatsOpenapiCollectedMessage([{object:"openapi_stats",openapiStats:e.map(o=>JSON.stringify(o))}]),r||console.table(e),l.info("OpenAPI collector: openapi docments processing completed.")})}async function b(a){const r=a.definition,s=m(r),e=d(f(s)),o=u([{severity:"warn",ruleId:"openapi_stats",visitor:S(t)}],e),n={problems:[],specVersion:s,visitorsData:{}},c={source:{absoluteRef:""},parsed:r},i=e.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 y({rootType:i,normalizedVisitors:o,resolvedRefMap:p,document:c,ctx:n}),{path:a.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:s}}export{x as collectOpenapiDocumentsStatistics};
|
|
@@ -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 @@
|
|
|
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 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,r=!1,t=!1){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:!(r&&o),verbose:t}),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 +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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
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{
|
|
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
|
|
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
|
-
`,
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as h from"react";import{useLocation as
|
|
1
|
+
import*as h from"react";import{useLocation as _,useNavigate as B}from"react-router-dom";import{usePageData as $,usePageSharedData as R}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 V}from"../../../../utils/tree/find-deep-first.js";function te(e,o){const r=_(),i=B(),a=$(),t=q(r),s=R("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(()=>j(o??[],e.filters),[o,e.filters]),b=a?.props?.customFields,C=h.useMemo(()=>G(o??[],e,b||{}),[o,e,b]),v=h.useCallback((l,c)=>{p(u=>{const y=u[l]?u[l]:new Set;return y instanceof Set?(y.has(c)?u.forEach((f,m)=>{f instanceof Set&&f.has(c)&&f.delete(c)}):y.add(c),[...u.slice(0,l),y,...u.slice(l+1)]):u}),w.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"toggle"}]),window.scrollTo(0,0)},[]),I=h.useCallback((l,c)=>{p(u=>{const y=u[l]instanceof Set?new Set(c?[c]:[]):{from:c?.from,to:c?.to},f=S[l];return u.map((m,F)=>F===l?y:S[F].parentFilter===f.property?new Set:m)}),w.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"select"}]),window.scrollTo(0,0)},[S]),T=()=>{const l=new URLSearchParams(Array.from(t.entries()));d?t.set("filter",d):t.delete("filter"),n.forEach((u,y)=>{const f=e.filters?.[y];if(!f)return;const m=Z(u);J(f.property,m,l)});const c=l.toString();c!==r.search.substring(1)&&i({search:c})};h.useEffect(()=>{T()},[e.filters,n,d,i,r]);const P=h.useMemo(()=>H(e.filters),[e.filters]);return h.useMemo(()=>{const l=S.map((f,m)=>({...f,toggleOption:F=>v(m,F),selectOption:F=>I(m,F),selectedOptions:n[m]??new Set,isFilterUsed:(n[m]?.size??0)>0||!!n[m]?.from})),c=D(C,l,d),u=l.map((f,m)=>{const F=l.findIndex(O=>O.property===f.parentFilter),E=f.parentFilter?(n[F]?.size??0)>0||!!n[F].from:!0,N=l.filter((O,k)=>k!==m&&!P[m]?.has(k)),z=D(C,N,d),U=j(z.map(O=>({metadata:O})),e.filters);return{...f,parentUsed:E,filteredOptions:U[m].options}});return{groups:e.groupByFirstFilter&&u.length>0?K(u,c):[{title:"APIs",items:c}],filters:u,setFilterTerm:f=>{g(f),w.sendCatalogFilterChangedMessage([{object:"catalog_filter",type:"term"}])},filterTerm:d}},[S,C,d,e.groupByFirstFilter,e.filters,n,v,I,P])}function K(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||V(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 j(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=L(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 D(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=L(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 L(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 +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
|
|
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{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
|
|
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 F=()=>{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:"view_stats",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{F as useRouteChangeTracker};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare const useTelemetry: () =>
|
|
1
|
+
import { telemetry } from '../telemetry/index.js';
|
|
2
|
+
export declare const useTelemetry: () => typeof telemetry;
|
|
3
3
|
//# sourceMappingURL=useTelemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import t,{useEffect as g,useState as s}from"react";import{useNavigate as h}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{H3 as S}from"@redocly/theme/components/Typography/H3";import{H4 as v}from"@redocly/theme/components/Typography/H4";import{Admonition as w}from"@redocly/theme/components/Admonition/Admonition";import{getPathnameForLocale as E,withPathPrefix as P}from"@redocly/theme/core/utils";import{ServerRoutes as L}from"../../../../constants/common";import{telemetry as
|
|
1
|
+
import t,{useEffect as g,useState as s}from"react";import{useNavigate as h}from"react-router-dom";import{Button as y}from"@redocly/theme/components/Button/Button";import{H3 as S}from"@redocly/theme/components/Typography/H3";import{H4 as v}from"@redocly/theme/components/Typography/H4";import{Admonition as w}from"@redocly/theme/components/Admonition/Admonition";import{getPathnameForLocale as E,withPathPrefix as P}from"@redocly/theme/core/utils";import{ServerRoutes as L}from"../../../../constants/common";import{telemetry as b}from"../../telemetry/index.js";import{buildLoginUrl as k}from"../../../../utils/auth/build-login-url";import{usePageProps as O}from"../../../providers/page-data/hooks";import{Wrapper as T,HeadingSection as C}from"./styled";import{DevLoginForm as R}from"./DevLoginForm";import{useL10nConfig as F}from"../../hooks";async function x(r){try{const{status:o}=await fetch(P(L.AUTHORIZATION),{method:"POST",body:JSON.stringify(r)});return o}catch(o){console.error(o)}}function G(){const{defaultLocale:r,locales:o,currentLocale:c}=F(),l=h(),[a,d]=s({values:{teams:[],email:"example@example.com"}}),[n,u]=s();g(()=>{const e=new URLSearchParams(window.location.search);u(e.get("redirectTo")||void 0)},[]);const i=O(),m=i?.authIdps,p=(i.rbac?.teams||[]).filter(e=>e!=="*"),f=async()=>{await x(a.values)===200&&(l(n||"/"),window.location.reload())};return t.createElement(T,null,t.createElement(C,null,t.createElement(S,{"data-cy":"login-title"},"Dev-mode login"),t.createElement(w,{type:"warning",name:"This is dev mode login simulator."},"Any email works and password is not checked.")),t.createElement(t.Fragment,null,t.createElement(R,{teams:p,formState:a,setFormState:d,onSubmit:f}),Object.keys(m||{}).length>0&&t.createElement(v,null,"Use SSO:"),Object.values(m||{}).map(e=>t.createElement("div",{key:e.idpId},t.createElement(y,{fullWidth:!0,size:"large","data-cy":"idp-login",to:k(e.idpId,E("",r,c,o),n),onClick:()=>b.sendLoginProviderButtonClickedMessage([{object:"button",provider:e.type}])},e.title||e.type)))))}export{G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as w,useState as o}from"react";import{AiSearchError as c}from"@redocly/theme/core/constants";import{withPathPrefix as
|
|
1
|
+
import{useCallback as w,useState as o}from"react";import{AiSearchError as c}from"@redocly/theme/core/constants";import{withPathPrefix as D}from"@redocly/theme/core/utils";import{ServerRoutes as K}from"../../../constants/common";import{useSearchSession as L}from"@redocly/theme/core/contexts";import{useI18nConfig as U,useCurrentProduct as _,usePageVersions as B}from"../hooks";import{telemetry as W}from"../telemetry/index.js";function re(k){const{searchSessionId:x}=L(),[E,m]=o(),[R,h]=o([]),[M,P]=o(""),[O,i]=o([]),[Q,n]=o(!1),[v,e]=o(null),[I,l]=o(null),{currentLocale:F}=U(),J=_(),{versions:N=[]}=B()||{},g=N.find(t=>t?.active),S=w(()=>{m(""),h([]),n(!1),e(null)},[m,h,e]),G=w(()=>{S(),i([])},[S,i]);return{askQuestion:async(t,H)=>{if(!t)return;I&&I.abort();const A=new AbortController;l(A),S(),n(!0),P(t);let u="";fetch(D(K.ASK_AI),{method:"POST",body:JSON.stringify({text:t,history:H||[],locale:F,product:J?.name,filter:k?.filter,version:g&&{folder:g.folderId,label:g.label}}),signal:A.signal}).then(r=>{if(!r.ok){n(!1),r.status===401?e(c.Unauthorized):r.status===403?e(c.Forbidden):e(c.HttpRequestFailed);return}let f="";const y=r.body;if(!y)return;const T=y.getReader(),C=()=>{T.read().then(({value:d,done:V})=>{if(V){n(!1),l(null),f||e(c.EmptyResponse),t.trim().length>0&&u&&W.sendSearchAIQueryMessage([{object:"search",question:t,answer:f,resources:JSON.stringify(R),searchSessionId:x,messageId:u}]);return}const j=new TextDecoder().decode(d),z=/data: (.*)/g;let b;for(;(b=z.exec(j))!==null;){if(!b[1])continue;const a=JSON.parse(b[1]);if(a.messageId)u=a.messageId,i(s=>{if(s.length===0)return s;const p=s[s.length-1];return p.role==="assistant"&&!p.messageId?[...s.slice(0,-1),{...p,messageId:u}]:s});else if(a.answer)f+=a.answer,m(f);else if(a.sources){const s=Math.floor(Math.random()*3)+4;h(a.sources.slice(0,s))}}C()}).catch(d=>{d.name!=="AbortError"&&(console.error(d),n(!1),l(null),e(c.ErrorProcessingResponse))})};C()}).catch(r=>{r.name!=="AbortError"&&(console.error(r),n(!1),l(null),e(c.HttpRequestFailed))})},isGeneratingResponse:Q,response:E,resources:R,question:M,error:v,clearConversation:G,conversation:O,setConversation:i}}export{re as useAiSearch};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as I,useEffect as y,useState as F,useRef as T}from"react";import{SEARCH_DEBOUNCE_TIME_MS as G}from"@redocly/theme/core/constants";import{withPathPrefix as
|
|
1
|
+
import{useCallback as I,useEffect as y,useState as F,useRef as T}from"react";import{SEARCH_DEBOUNCE_TIME_MS as G}from"@redocly/theme/core/constants";import{withPathPrefix as b}from"@redocly/theme/core/utils";import{SEARCH_GROUP_FACET_FIELD as _,SEARCH_PRODUCT_FIELD as N,SEARCH_VERSION_FIELD as k,ServerRoutes as O}from"../../../constants/common";import{debounce as M}from"../../../utils/time/debounce.js";import{useSearchSession as Q}from"@redocly/theme/core/contexts";import{useGlobalData as U,useI18nConfig as P}from"../hooks";import{usePageVersions as x}from"../../providers/page-data/hooks";import{useFacets as J}from"./useFacets";import{telemetry as B}from"../telemetry/index.js";const K=(s,r,e,n,a,c,i,f)=>{const{searchSessionId:d}=Q(),{currentLocale:m}=P(),l=T(""),p=I(M(async(t,h,u,S)=>{if(!t.trim().length&&!h.length){e({}),n({}),a(!1);return}const R={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:t,filter:A(h,S,c),locale:u})};try{const o=await fetch(b(O.SEARCH),R);if(l.current===t){const E=await o.json();n(E.facets),e(E.documents),t.trim().length>1&&B.sendSearchQueryMessage([{object:"search",query:t,resultCount:Object.keys(E.documents).length.toString(),searchSessionId:d}])}a(!1)}catch(o){e({}),console.log(o)}},G),[c?.version,c?.folderId,i]);return y(()=>{f||(a(!0),p(s,r,m,i),l.current=s)},[f,r,m,i,s,p,a]),{}},z=(s,r,e,n,a,c,i,f)=>{const{currentLocale:d}=P();y(()=>{m(e,s,r,d,n,a,f)},[n,f]);const m=I(async(l,p,t,h,u,S,R)=>{if(u){const{groupKey:o}=u;i(!0);const j={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:p,filter:(()=>{const g=S.find(C=>C.field===_);return g&&!t.find(L=>L.field===g?.field)?[...t,{field:g.field,values:[o]}]:A(t,R)})(),loadMore:u,locale:h})},v=await(await fetch(b(O.SEARCH),j)).json(),D=l[o]||[],H=v.documents[o],w={...l,[o]:[...D,...H]};c(w),i(!1)}},[]);return{}};function re(s,r){const{searchFeatures:e}=U(),[n,a]=F(""),[c,i]=F([]),[f,d]=F({}),[m,l]=F({}),[p,t]=F(),[h,u]=F(!1),{facets:S}=J(m),{versions:R=[]}=x()||{},o=R.find(E=>E?.active);return K(n,c,d,l,u,o,s,r),z(n,c,f,p,S,d,u,s),{query:n,setQuery:a,filter:c,setFilter:i,items:f,isSearchLoading:h,facets:S,groupField:_,setLoadMore:t,advancedSearch:e?.advanced?.enabled,askAi:e?.ai?.enabled}}function A(s,r,e){return[...s,...r?[{field:N,values:[r]}]:[],...e?[{field:k,values:[...e.default?["default"]:[e.folderId,e.version]]}]:[]]}export{re as useSearch};
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import { Telemetry } from '@redocly/realm-asyncapi-sdk/ui-telemetry';
|
|
2
|
-
|
|
2
|
+
import type { EventPayload, EventType, SendEventParams } from '@redocly/realm-asyncapi-sdk/ui-telemetry';
|
|
3
|
+
declare class UITelemetry extends Telemetry {
|
|
4
|
+
constructor();
|
|
5
|
+
send<TEventType extends EventType>(event: TEventType, data?: EventPayload<TEventType>): void;
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use send(event, data) instead.
|
|
8
|
+
*/
|
|
9
|
+
send<TEventType extends EventType>(params: SendEventParams<TEventType>): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const telemetry: UITelemetry;
|
|
12
|
+
export {};
|
|
3
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Telemetry as
|
|
1
|
+
import{Telemetry as t}from"@redocly/realm-asyncapi-sdk/ui-telemetry";class o extends t{constructor(){super()}send(e,s){typeof e=="string"?super.send(e,s):super.send(e.type,e.payload)}}const r=new o;export{r as telemetry};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{telemetry as
|
|
1
|
+
import{telemetry as s}from"./app/telemetry/index.js";s.init({otel:{isProd:process.env.NODE_ENV==="production",serviceVersion:`${x}@${process.env.REDOCLY_PORTAL_VERSION}`,version:"1.0.0",collectorTraceUrl:new URL(r(L.OTEL_TRACES),location.origin).toString(),serviceName:"realm-ui",tracerName:"client-telemetry"},disabled:!O});import e from"react";import{hydrateRoot as p}from"react-dom/client";import{RouterProvider as m,createBrowserRouter as d}from"react-router-dom";import{HelmetProvider as f}from"@dr.pogodin/react-helmet";import{getLocaleFromPathname as u,withoutPathPrefix as E,withPathPrefix as r}from"@redocly/theme/core/utils";import{DEFAULT_LOCALE_PLACEHOLDER as R,ServerRoutes as L}from"../constants/common";import{TELEMETRY_ENABLED as O}from"../server/constants/common.js";import{initL10n as _}from"./app/l10n/initL10n";import{Loader as D,useRefresh as g,globalData as t}from"./runtime/loader";import{App as h,routes as v}from"./App";import{PACKAGE_NAME as x,PRODUCT_NAME as A}from"../config/product-gates";import"./polyfills";import{ServerStyleSheet as z,StyleSheetManager as G}from"styled-components";function P(){return g(),e.createElement(f,{context:{}},e.createElement(h,null))}function b(){t?.removeAttribution&&process.env.REDOCLY_PORTAL_VERSION?console.log(`
|
|
2
2
|
%c Version: ${process.env.REDOCLY_PORTAL_VERSION} %c
|
|
3
3
|
`,"background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 3px; color: #0044D4","background:transparent"):process.env.REDOCLY_PORTAL_VERSION&&console.log(`
|
|
4
|
-
%c Redocly ${
|
|
4
|
+
%c Redocly ${A} %c ${process.env.REDOCLY_PORTAL_VERSION} %c
|
|
5
5
|
|
|
6
6
|
%chttps://redocly.com
|
|
7
|
-
`,"background:#0044D4 ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff; border:1px solid #0044D4","background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 0 3px 3px 0; color: #0044D4","background:transparent","font-size: 10px; font-style: italic;")}async function
|
|
7
|
+
`,"background:#0044D4 ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff; border:1px solid #0044D4","background:#ffffff ; padding: 1px; border:1px solid #0044D4; border-radius: 0 3px 3px 0; color: #0044D4","background:transparent","font-size: 10px; font-style: italic;")}async function N(){process.env.NODE_ENV!=="production"&&import("./runtime/ws-client").then(l=>l.listenWs()),await D.load(window.location.pathname,void 0,window.location.search),b();const o=t?.l10n,n=o?.locales||[],i=o?.defaultLocale||R,a=u(E(location.pathname),i,n);await _(o,a);const c=d([{Component:P,path:r("/*"),children:v}]);p(document.getElementById("app_root"),e.createElement(m,{future:{v7_startTransition:!1},router:c}))}N();export{z as ServerStyleSheet,G as StyleSheetManager};
|
|
@@ -37,6 +37,7 @@ export declare enum FEEDBACK_TYPES {
|
|
|
37
37
|
SCALE = "scale"
|
|
38
38
|
}
|
|
39
39
|
export declare const CATALOG_ENTITY_KEY = "entityKey";
|
|
40
|
+
export declare const CATALOG_ENTITY_ID = "entityId";
|
|
40
41
|
export declare const CATALOG_ENTITY_RELATION_ID = "entityRelationId";
|
|
41
42
|
export declare const ServerRoutes: {
|
|
42
43
|
readonly INFO: "/_info";
|
|
@@ -67,7 +68,7 @@ export declare const ServerRoutes: {
|
|
|
67
68
|
readonly OTEL_TRACES: "/_otel/v1/traces";
|
|
68
69
|
readonly HEALTH: "/_health";
|
|
69
70
|
readonly ASK_AI: "/_ask-ai";
|
|
70
|
-
readonly CATALOG_ENTITIES: "/catalog-entities/:
|
|
71
|
+
readonly CATALOG_ENTITIES: "/catalog-entities/:entityId?";
|
|
71
72
|
readonly CATALOG_ENTITIES_RELATIONS: "/catalog-entities-relations/:entityRelationId?";
|
|
72
73
|
readonly BFF_CATALOG_ENTITIES: "/bff/catalog-entities/:entityKey?";
|
|
73
74
|
readonly BFF_CATALOG_RELATED_ENTITIES: "/bff/catalog-related-entities/:entityKey";
|
|
@@ -94,6 +95,7 @@ export declare const FsErrors: {
|
|
|
94
95
|
export declare const DEFAULT_LOCALE_PLACEHOLDER = "default_locale";
|
|
95
96
|
export declare const SIDEBAR_PREFIX = "sidebar-";
|
|
96
97
|
export declare const PUBLIC_ENV_PREFIX = "PUBLIC_";
|
|
98
|
+
export declare const BRANCH_ENV_PREFIX = "branch.";
|
|
97
99
|
export declare const MARKDOC_ERROR_TYPES: readonly ["BROKEN_LINK", "MARKDOC", "RESOLVE"];
|
|
98
100
|
export declare const UI_ACCESSIBLE_CONFIG_PROPS: (keyof UiAccessibleConfig & keyof RedoclyConfig)[];
|
|
99
101
|
export declare const SEARCH_CATEGORY_FIELD = "redocly_category";
|
package/dist/constants/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const n="openapi_docs",A="asyncapi_docs",T="graphql_docs",O="/_spec-gql",p="markdoc",R="tags",i="*",L={"*":"read"},I=["openid","email"],C=1440*60,l="anonymous",S="authenticated",d="**",N="Reunite",P="translations.yaml",u="redocly.yaml",D="@redocly/theme",x="@theme",h="/app-data.json",g="/eject-component",e=process.env.SERVER_EDITOR_APP_URL||"http://127.0.0.1:3000",U=process.env.REDOCLY_CORS_ORIGINS?process.env.REDOCLY_CORS_ORIGINS.split(",").map(t=>t.trim()).filter(Boolean).concat(e):[e];var r;(function(t){t.BUILD="build",t.DEVELOP="develop",t.PREPARE="prepare"})(r||(r={}));var _;(function(t){t.RATING="rating",t.SENTIMENT="sentiment",t.COMMENT="comment",t.MOOD="mood",t.PROBLEM="problem",t.SCALE="scale"})(_||(_={}));const o="entityKey",c="entityId",s="entityRelationId",m={INFO:"/_info",EJECT_COMPONENT:"/eject-component/:componentName",SHARED_PAGE_DATA:"/page-data/shared/*",PAGE_DATA:"/page-data/*",APP_DATA:"/app-data.json",AUTHORIZATION:"/authorize",OIDC_CALLBACK:"/_auth/oidc",SAML_CALLBACK:"/_auth/saml2",REDOCLY_CALLBACK:"/_auth/redocly",REPLAY_OAUTH2_CALLBACK:"/_auth/replay-oauth2",REDOCLY_LOGIN_CALLBACK:"/_auth/redocly/redocly-login",REDOCLY_TOKEN_LOGIN:"/_auth/redocly-token-login",SEARCH:"/_search",SEARCH_FACETS:"/_search-facets",LOGOUT:"/logout",POST_LOGOUT:"/post-logout",LOGIN:"/login",IDP_LOGIN:"/_auth/idp-login",INVITE:"/invite/:code",RESOLVE_ROUTE_BY_PATH:"/resolve-route-by-path",RESOLVE_ROUTES_BY_PATHS:"/resolve-routes-by-paths",RESOLVE_ROUTE_BY_SLUG:"/resolve-route-by-slug",GET_ROUTES_BY_LINE:"/get-routes-by-line",FEEDBACK:"/feedback",TELEMETRY:"/_events",OTEL_TRACES:"/_otel/v1/traces",HEALTH:"/_health",ASK_AI:"/_ask-ai",CATALOG_ENTITIES:`/catalog-entities/:${c}?`,CATALOG_ENTITIES_RELATIONS:`/catalog-entities-relations/:${s}?`,BFF_CATALOG_ENTITIES:`/bff/catalog-entities/:${o}?`,BFF_CATALOG_RELATED_ENTITIES:`/bff/catalog-related-entities/:${o}`,BFF_CATALOG_REVISIONS:`/bff/catalog-revisions/:${o}`,MCP_OAUTH_AUTHORIZATION_SERVER:"/.well-known/oauth-authorization-server",MCP_OAUTH_PROTECTED_RESOURCE:"/.well-known/oauth-protected-resource/mcp",MCP_DYNAMIC_CLIENT_REGISTRATION:"/_mcp/register",MCP_AUTHORIZATION:"/_mcp/oauth2/auth",MCP_TOKEN_PORTAL:"/_mcp/oauth2/token-portal",MCP_CALLBACK:"/_mcp/oauth/callback",SCORECARDS:"/scorecards"};var a;(function(t){t.AI_SEARCH="aiSearch"})(a||(a={}));const M="/login",G="/invite",b={AUTH0_PASS:"/auth/auth0-pass"},H={NotExist:"ENOENT"},F="default_locale",v="sidebar-",y="PUBLIC_",B="branch.",k=["BROKEN_LINK","MARKDOC","RESOLVE"],f=["logo","navbar","products","footer","sidebar","scripts","links","feedback","search","aiAssistant","colorMode","navigation","codeSnippet","markdown","openapi","graphql","analytics","userMenu","versionPicker","breadcrumbs","catalog","entitiesCatalog","scorecard","scorecards","scorecardClassic","mcp","banner"],E="redocly_category",V="redocly_product",Y="redocly_version",K="redocly_teams",w=E,j={asyncapi:"asyncapi",apiFunctions:"apiFunctions",reactPages:"reactPages",catalog:"catalog",catalogClassic:"catalogClassic",lint:"lint",scorecard:"scorecard",scorecards:"scorecards",l10n:"l10n",openapi:"openapi",graphql:"graphql",markdown:"markdown",devOnboarding:"devOnboarding",seo:"seo",redirects:"redirects",customPlugins:"customPlugins",themeEjecting:"themeEjecting",products:"products",breadcrumbs:"breadcrumbs",mockServer:"mockServer",sso:"sso",rbac:"rbac",analytics:"analytics",removeAttribution:"removeAttribution",advancedSearch:"advancedSearch",soap:"soap",ssoDirect:"ssoDirect",codeWalkthrough:"codeWalkthrough",aiSearchLimit:"aiSearchLimit",mcp:"mcp",banner:"banner"};export{U as ALLOWED_CORS_ORIGINS,A as ASYNC_API_DOCS_TEMPLATE_ID,B as BRANCH_ENV_PREFIX,c as CATALOG_ENTITY_ID,o as CATALOG_ENTITY_KEY,s as CATALOG_ENTITY_RELATION_ID,u as CONFIG_FILE_NAME,p as CUSTOM_MARKDOC_OPTIONS_PATH,R as CUSTOM_MARKDOC_TAGS_PATH,l as DEFAULT_ANONYMOUS_VISITOR_TEAM,S as DEFAULT_AUTHENTICATED_TEAM,C as DEFAULT_COOKIE_EXPIRATION,F as DEFAULT_LOCALE_PLACEHOLDER,d as DEFAULT_RBAC_SCOPE,N as DEFAULT_SSO_IDP_TITLE,D as DEFAULT_THEME_NAME,M as DEV_LOGIN_SLUG,g as EJECT_COMPONENT_URL,b as ExternalRoutes,j as FEATURE,_ as FEEDBACK_TYPES,H as FsErrors,h as GLOBAL_DATA_URL,O as GRAPHQL_SPEC_SLUG,T as GRAPHQL_TEMPLATE_ID,G as INVITE_SLUG,k as MARKDOC_ERROR_TYPES,n as OPENAPI_DOCS_TEMPLATE_ID,y as PUBLIC_ENV_PREFIX,L as PUBLIC_RBAC_SCOPE_ITEM,i as RBAC_ALL_OTHER_TEAMS,I as REQUIRED_OIDC_SCOPES,a as RbacFeatures,E as SEARCH_CATEGORY_FIELD,w as SEARCH_GROUP_FACET_FIELD,V as SEARCH_PRODUCT_FIELD,K as SEARCH_RBAC_FIELD,Y as SEARCH_VERSION_FIELD,e as SERVER_EDITOR_APP_URL,v as SIDEBAR_PREFIX,m as ServerRoutes,P as TRANSLATIONS_FILE_NAME,f as UI_ACCESSIBLE_CONFIG_PROPS,x as USER_THEME_ALIAS,r as cliCommandNames};
|