@redocly/realm 0.129.2 → 0.130.0-custom.2
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 +392 -83
- package/dist/bin.d.ts +1 -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/prepare/index.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/App.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/Sidebar/helpers/filter-out-versioned-items.d.ts +23 -0
- package/dist/client/app/Sidebar/helpers/filter-out-versioned-items.js +1 -0
- package/dist/client/app/Sidebar/useSidebarItems.d.ts +2 -2
- package/dist/client/app/Sidebar/useSidebarItems.js +1 -1
- package/dist/client/app/hooks/catalog/useCatalogClassic.d.ts +1 -1
- 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/codeHighlight/useCodeHighlight.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/message-handlers.d.ts +29 -0
- package/dist/client/app/search/message-handlers.js +1 -0
- package/dist/client/app/search/sse-parser.d.ts +10 -0
- package/dist/client/app/search/sse-parser.js +2 -0
- package/dist/client/app/search/useAiSearch.d.ts +9 -11
- 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 +5 -5
- package/dist/client/constants/ai-search.d.ts +30 -0
- package/dist/client/constants/ai-search.js +1 -0
- package/dist/client/constants/index.d.ts +2 -0
- package/dist/client/constants/index.js +1 -0
- package/dist/client/providers/hooks.js +1 -1
- package/dist/client/runtime/loader.js +1 -1
- package/dist/client/types/ai-search.d.ts +73 -0
- package/dist/client/types/ai-search.js +0 -0
- package/dist/client/types/index.d.ts +1 -0
- package/dist/config/env-config.d.ts +17 -0
- package/dist/config/env-config.js +1 -0
- package/dist/config/env-schema.d.ts +242 -0
- package/dist/config/env-schema.js +3 -0
- package/dist/config/env-schemas/api-urls.d.ts +24 -0
- package/dist/config/env-schemas/api-urls.js +1 -0
- package/dist/config/env-schemas/auth.d.ts +42 -0
- package/dist/config/env-schemas/auth.js +1 -0
- package/dist/config/env-schemas/catalog.d.ts +12 -0
- package/dist/config/env-schemas/catalog.js +1 -0
- package/dist/config/env-schemas/database.d.ts +15 -0
- package/dist/config/env-schemas/database.js +1 -0
- package/dist/config/env-schemas/environment-detection.d.ts +24 -0
- package/dist/config/env-schemas/environment-detection.js +1 -0
- package/dist/config/env-schemas/feature-flags.d.ts +24 -0
- package/dist/config/env-schemas/feature-flags.js +1 -0
- package/dist/config/env-schemas/organization-project.d.ts +27 -0
- package/dist/config/env-schemas/organization-project.js +1 -0
- package/dist/config/env-schemas/scorecards.d.ts +12 -0
- package/dist/config/env-schemas/scorecards.js +1 -0
- package/dist/config/env-schemas/search.d.ts +21 -0
- package/dist/config/env-schemas/search.js +1 -0
- package/dist/config/env-schemas/server-config.d.ts +51 -0
- package/dist/config/env-schemas/server-config.js +1 -0
- package/dist/config/env-schemas/site.d.ts +12 -0
- package/dist/config/env-schemas/site.js +1 -0
- package/dist/config/env-schemas/ssr.d.ts +18 -0
- package/dist/config/env-schemas/ssr.js +1 -0
- package/dist/config/env-schemas/telemetry.d.ts +15 -0
- package/dist/config/env-schemas/telemetry.js +1 -0
- package/dist/config/env-schemas/test.d.ts +22 -0
- package/dist/config/env-schemas/test.js +1 -0
- package/dist/constants/common.d.ts +4 -2
- 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/import-api-routes-handlers.js +1 -1
- package/dist/server/api-routes/run-api-routes-worker.js +1 -1
- package/dist/server/constants/common.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/entitlements/entitlements-provider.js +1 -1
- package/dist/server/esbuild/esbuild-logger.js +2 -2
- package/dist/server/esbuild/esbuild.js +3 -3
- package/dist/server/esbuild/plugins/assets-resolver.js +1 -1
- package/dist/server/esbuild/plugins/esbuild-compile-resolver.js +1 -1
- package/dist/server/esbuild/plugins/styled-components-ssr.js +1 -1
- package/dist/server/fs/cache.js +1 -1
- package/dist/server/fs/content-fs.d.ts +1 -0
- package/dist/server/fs/content-fs.js +1 -1
- package/dist/server/fs/last-modified-tracker.js +1 -1
- package/dist/server/fs/utils/is-loader-cache-enabled.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/analytics/adobe/index.js +1 -1
- package/dist/server/plugins/analytics/amplitude/index.js +1 -1
- package/dist/server/plugins/analytics/fullstory/index.js +1 -1
- package/dist/server/plugins/analytics/ga/index.js +1 -1
- package/dist/server/plugins/analytics/gtm/browser-hooks.js +1 -1
- package/dist/server/plugins/analytics/gtm/index.js +1 -1
- package/dist/server/plugins/analytics/heap/index.js +1 -1
- package/dist/server/plugins/analytics/rudderstack/index.js +1 -1
- package/dist/server/plugins/analytics/segment/index.js +1 -1
- package/dist/server/plugins/asyncapi-docs/asyncapi-doc-loader.js +3 -3
- package/dist/server/plugins/asyncapi-docs/get-server-props.js +1 -1
- package/dist/server/plugins/asyncapi-docs/index.js +1 -1
- package/dist/server/plugins/asyncapi-docs/search/schema-processor.js +1 -1
- package/dist/server/plugins/asyncapi-docs/search/search-resolver.js +1 -1
- package/dist/server/plugins/asyncapi-docs/store-definition-bundles.js +1 -1
- package/dist/server/plugins/asyncapi-docs/template/AsyncApiDocs.d.ts +2 -1
- package/dist/server/plugins/asyncapi-docs/template/AsyncApiDocs.js +9 -3
- package/dist/server/plugins/catalog-classic/get-server-props.d.ts +8 -3
- package/dist/server/plugins/catalog-classic/get-server-props.js +1 -1
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +38 -64
- 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 +2 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-read-model.js +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/{create-entity-relation.d.ts → create-entity-relation-read-model.d.ts} +2 -2
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-read-model.js +1 -0
- 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 +15 -4
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-bff-repository.js +38 -27
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts +36 -9
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +37 -21
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-repository.d.ts +41 -42
- 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.d.ts +7 -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 +5 -9
- 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/build-entities-exclusion-filter.d.ts +13 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/build-entities-exclusion-filter.js +1 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/build-rbac-filter.d.ts +31 -0
- package/dist/server/plugins/catalog-entities/database/repositories/utils/build-rbac-filter.js +9 -0
- 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/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 +6 -4
- 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/extensions/extractors/fs-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 +26 -164
- package/dist/server/plugins/catalog-entities/schemas/read-model-schemas.js +0 -1
- package/dist/server/plugins/catalog-entities/types/extractors.d.ts +4 -4
- package/dist/server/plugins/catalog-entities/types/openapi.d.ts +11 -0
- package/dist/server/plugins/catalog-entities/types/openapi.js +0 -0
- package/dist/server/plugins/catalog-entities/types/params.d.ts +6 -0
- package/dist/server/plugins/catalog-entities/types/params.js +0 -0
- package/dist/server/plugins/catalog-entities/utils/ajv-validator.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/catalog-data-collector.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/get-not-accessible-catalog-resources.d.ts +11 -0
- package/dist/server/plugins/catalog-entities/utils/get-not-accessible-catalog-resources.js +1 -0
- package/dist/server/plugins/config-parser/index.js +1 -1
- package/dist/server/plugins/config-parser/loaders/content-slugs-loader.js +1 -1
- package/dist/server/plugins/config-parser/loaders/nearest-redocly-config-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/entitlements/index.js +1 -1
- package/dist/server/plugins/graphql-docs/graphql-doc-loader.js +1 -1
- package/dist/server/plugins/graphql-docs/index.js +1 -1
- package/dist/server/plugins/graphql-docs/search/search-resolver.js +1 -1
- package/dist/server/plugins/graphql-docs/template/GraphQLDocs.js +6 -2
- package/dist/server/plugins/lifecycle.js +2 -2
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-link.js +1 -1
- package/dist/server/plugins/markdown/compiler.d.ts +1 -0
- package/dist/server/plugins/markdown/compiler.js +1 -1
- package/dist/server/plugins/markdown/index.js +1 -1
- package/dist/server/plugins/markdown/is-partial.d.ts +1 -1
- package/dist/server/plugins/markdown/is-partial.js +1 -1
- package/dist/server/plugins/markdown/markdoc/import-user-tags.js +1 -1
- package/dist/server/plugins/markdown/markdoc/plugins/render-mermaid.js +1 -1
- package/dist/server/plugins/markdown/markdoc/resolve-raw-partials.d.ts +1 -1
- package/dist/server/plugins/markdown/markdoc/resolve-raw-partials.js +2 -2
- package/dist/server/plugins/markdown/markdown-static-data-loader.js +1 -1
- package/dist/server/plugins/mcp/auth/auth-handlers.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/nav-utils.d.ts +1 -1
- package/dist/server/plugins/nav-utils.js +1 -1
- package/dist/server/plugins/openapi-docs/decorators.d.ts +3 -0
- package/dist/server/plugins/openapi-docs/decorators.js +1 -1
- package/dist/server/plugins/openapi-docs/get-server-props-custom-fields.d.ts +2 -4
- package/dist/server/plugins/openapi-docs/get-server-props-custom-fields.js +1 -1
- package/dist/server/plugins/openapi-docs/get-server-props.js +1 -1
- package/dist/server/plugins/openapi-docs/index.js +1 -1
- package/dist/server/plugins/openapi-docs/load-definition.d.ts +1 -0
- package/dist/server/plugins/openapi-docs/load-definition.js +3 -3
- package/dist/server/plugins/openapi-docs/openrpc-converter.d.ts +2 -0
- package/dist/server/plugins/openapi-docs/openrpc-converter.js +1 -0
- package/dist/server/plugins/openapi-docs/search/search-resolver.js +1 -1
- package/dist/server/plugins/openapi-docs/search-indexer.js +1 -1
- package/dist/server/plugins/openapi-docs/store-definition-bundles.js +1 -1
- package/dist/server/plugins/openapi-docs/template/OpenAPIDocs.js +8 -4
- package/dist/server/plugins/openapi-docs/template/helpers.d.ts +2 -2
- package/dist/server/plugins/openapi-docs/template/helpers.js +3 -3
- package/dist/server/plugins/openapi-docs/utils.d.ts +1 -0
- package/dist/server/plugins/scorecard-classic/compute-scorecard.d.ts +2 -1
- package/dist/server/plugins/scorecard-classic/compute-scorecard.js +4 -4
- package/dist/server/plugins/scorecard-classic/get-scorecard-config.d.ts +2 -1
- package/dist/server/plugins/scorecard-classic/index.js +1 -1
- package/dist/server/plugins/scorecard-classic/lint.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/lint.js +1 -1
- package/dist/server/plugins/scorecard-classic/loaders/scorecard-config.js +1 -1
- package/dist/server/plugins/scorecard-classic/loaders/scorecard.d.ts +6 -4
- package/dist/server/plugins/scorecard-classic/loaders/scorecard.js +1 -1
- package/dist/server/plugins/scorecard-classic/shared-utils.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/shared-utils.js +1 -1
- package/dist/server/plugins/scorecard-classic/template/Grid/Grid.d.ts +2 -1
- package/dist/server/plugins/scorecard-classic/template/Grid/Grid.js +3 -3
- package/dist/server/plugins/scorecard-classic/template/LevelIndicator.d.ts +1 -0
- package/dist/server/plugins/scorecard-classic/template/LevelIndicator.js +4 -4
- package/dist/server/plugins/scorecard-classic/template/components.js +1 -1
- package/dist/server/plugins/scorecard-classic/template/index.styles.d.ts +1 -0
- package/dist/server/plugins/scorecard-classic/template/index.styles.js +93 -19
- package/dist/server/plugins/scorecard-classic/template/index.types.d.ts +5 -1
- package/dist/server/plugins/scorecard-classic/template/useData.js +1 -1
- package/dist/server/plugins/scorecard-classic/template/views.js +1 -1
- package/dist/server/plugins/scorecard-classic/types.d.ts +5 -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/plugin.js +1 -1
- 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/search/engines/flexsearch/index.js +1 -1
- package/dist/server/plugins/search/engines/typesense/index.js +1 -1
- package/dist/server/plugins/search/index.js +1 -1
- package/dist/server/plugins/search/llmstxt/index.js +5 -5
- package/dist/server/plugins/search/utils.js +2 -2
- package/dist/server/plugins/sidebars/index.d.ts +0 -2
- package/dist/server/plugins/sidebars/index.js +3 -3
- 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/database-initialization-strategy.js +1 -1
- package/dist/server/providers/database/database-preconnect-service.js +1 -1
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/0005_catalog-relations-constraint-fix.sql +2 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/0006_add-catalog-entitities-attributes-table.sql +11 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/0005_snapshot.json +393 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/0006_snapshot.json +458 -0
- package/dist/server/providers/database/databases/catalog-sqlite/migrations/meta/_journal.json +14 -0
- 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/migrations/0006_change-scorecards-config-timestamps-field-types.sql +19 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/0006_snapshot.json +261 -0
- package/dist/server/providers/database/databases/main-sqlite/migrations/meta/_journal.json +7 -0
- 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/databases/sqld-sqlite/drizzle.config.js +1 -1
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0007_catalog-relations-constraint-fix.sql +2 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/0008_add-catalog-entitities-attributes-table.sql +11 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0007_snapshot.json +833 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/0008_snapshot.json +898 -0
- package/dist/server/providers/database/databases/sqld-sqlite/migrations/meta/_journal.json +14 -0
- 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/providers/database/sqld-not-running-error.d.ts +5 -0
- package/dist/server/providers/database/sqld-not-running-error.js +1 -0
- package/dist/server/ssr/render.js +1 -1
- package/dist/server/ssr/server-side-props/get-server-props-from-user-handler.js +1 -1
- package/dist/server/ssr/utils.js +8 -8
- package/dist/server/store.d.ts +14 -6
- package/dist/server/store.js +1 -1
- package/dist/server/telemetry/index.js +1 -1
- package/dist/server/tools/notifiers/formatter.js +3 -3
- package/dist/server/tools/notifiers/helpers/colors.js +1 -1
- package/dist/server/tools/notifiers/logger.js +2 -2
- package/dist/server/tools/notifiers/reporter.js +9 -9
- package/dist/server/tools/notifiers/terminal-manager.js +4 -4
- package/dist/server/types/plugins/common.d.ts +7 -1
- package/dist/server/types/plugins/markdown.d.ts +2 -0
- package/dist/server/types/plugins/scorecards.d.ts +30 -0
- package/dist/server/types/plugins/scorecards.js +0 -0
- package/dist/server/utils/envs/get-api-route-allowed-env-variables.js +1 -1
- 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/globs.js +1 -1
- package/dist/server/utils/is-catalog-entities-enabled.js +1 -1
- package/dist/server/utils/is-scorecards-enabled.js +1 -1
- package/dist/server/utils/lifecycle-hooks.js +1 -1
- package/dist/server/utils/rbac.d.ts +76 -7
- package/dist/server/utils/rbac.js +1 -1
- package/dist/server/utils/report-all-errors.js +1 -1
- package/dist/server/utils/set-execution-mode.d.ts +5 -0
- package/dist/server/utils/set-execution-mode.js +1 -0
- package/dist/server/utils/time/with-timestamp.d.ts +42 -10
- package/dist/server/utils/time/with-timestamp.js +1 -1
- package/dist/server/version.js +1 -1
- package/dist/server/web-server/auth.js +3 -3
- 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/http.js +2 -2
- package/dist/server/web-server/middleware/apiKeyMiddleware.js +1 -1
- package/dist/server/web-server/middleware/catalogAuthMiddleware.d.ts +4 -6
- package/dist/server/web-server/middleware/catalogAuthMiddleware.js +1 -1
- package/dist/server/web-server/middleware/corsMiddleware.js +1 -1
- package/dist/server/web-server/middleware/dynamic-middleware/dynamic-middleware.js +1 -1
- package/dist/server/web-server/middleware/idleTimeoutMiddleware.js +1 -1
- package/dist/server/web-server/routes/ask-ai.js +1 -1
- package/dist/server/web-server/routes/auth.js +1 -1
- package/dist/server/web-server/routes/catalog/bff-catalog-related-entities.js +1 -1
- package/dist/server/web-server/routes/catalog/bff-catalog.js +1 -1
- package/dist/server/web-server/routes/catalog/catalog-relations.js +1 -1
- package/dist/server/web-server/routes/catalog/catalog.js +1 -1
- package/dist/server/web-server/routes/catalog/dto/read-entity-dto.d.ts +3 -0
- package/dist/server/web-server/routes/catalog/dto/read-entity-dto.js +0 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-relation-update-schema.d.ts +43 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-relation-update-schema.js +1 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.d.ts +6823 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.js +1 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.d.ts +1102 -0
- package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.js +1 -0
- package/dist/server/web-server/routes/catalog/helpers/has-access-to-entity.d.ts +10 -0
- package/dist/server/web-server/routes/catalog/helpers/has-access-to-entity.js +1 -0
- package/dist/server/web-server/routes/catalog/mappers/map-entity-read-model-schema-to-entity-read-dto.d.ts +4 -0
- package/dist/server/web-server/routes/catalog/mappers/map-entity-read-model-schema-to-entity-read-dto.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entities.d.ts +4 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entities.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity-update-data.d.ts +4 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity-update-data.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity.d.ts +4 -0
- package/dist/server/web-server/routes/catalog/parsers/entities/parse-entity.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.d.ts +13 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.d.ts +13 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.js +1 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.d.ts +13 -0
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.js +1 -0
- package/dist/server/web-server/routes/dynamic-route.js +1 -1
- package/dist/server/web-server/routes/error.js +1 -1
- package/dist/server/web-server/routes/helpers/get-current-rbac-teams.d.ts +3 -0
- package/dist/server/web-server/routes/helpers/get-current-rbac-teams.js +1 -0
- package/dist/server/web-server/routes/helpers/get-rbac-restrictions-data-for-catalog.d.ts +11 -0
- package/dist/server/web-server/routes/helpers/get-rbac-restrictions-data-for-catalog.js +1 -0
- package/dist/server/web-server/routes/index.js +1 -1
- package/dist/server/web-server/routes/info.js +1 -1
- package/dist/server/web-server/routes/mcp-oauth.js +1 -1
- package/dist/server/web-server/routes/otel/otel.js +1 -1
- package/dist/server/web-server/routes/page-data.js +1 -1
- package/dist/server/web-server/routes/path-prefix-redirect.js +1 -1
- package/dist/server/web-server/utils.d.ts +2 -2
- 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/server/workers/worker-pool.js +1 -1
- package/package.json +21 -23
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation.js +0 -1
- package/dist/server/plugins/catalog-entities/entities/validate-entity.d.ts +0 -6
- package/dist/server/plugins/catalog-entities/entities/validate-entity.js +0 -1
- 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/utils/envs/is-build-mode.d.ts +0 -2
- package/dist/server/utils/envs/is-build-mode.js +0 -1
- package/dist/server/utils/envs/is-develop-mode.d.ts +0 -7
- package/dist/server/utils/envs/is-develop-mode.js +0 -1
- package/dist/server/utils/envs/is-production-mode.d.ts +0 -10
- package/dist/server/utils/envs/is-production-mode.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/dist/utils/env/is-local-development.d.ts +0 -13
- package/dist/utils/env/is-local-development.js +0 -1
- package/dist/utils/env/is-production.d.ts +0 -13
- package/dist/utils/env/is-production.js +0 -1
- package/dist/utils/env/is-web-view.d.ts +0 -14
- package/dist/utils/env/is-web-view.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{entityFileSchema as n}from"@redocly/config";import{entityBaseProperties as p}from"@redocly/config";function y(r,e){const i=n.oneOf.find(t=>t.properties.type.const===e);if(!i){const t=Object.keys(r.entityTypes??{}).find(o=>o===e);if(!t)throw new Error(`Entity type: ${e} not found`);return{type:"object",properties:{...p,type:{const:t},metadata:{additionalProperties:!0,...r.entityTypes?.[t].metadataSchema},revision:{type:"string"}},additionalProperties:!1}}return{properties:{...i.properties,revision:{type:"string"}},additionalProperties:!1}}export{y as createEntityUpdateSchema};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
import type { Store } from '../../../../store';
|
|
3
|
+
export declare function hasAccessToEntity({ ctx, store, accessLevel, entityType, entityKey, }: {
|
|
4
|
+
ctx: Context;
|
|
5
|
+
store: Store;
|
|
6
|
+
accessLevel: 'READ' | 'WRITE';
|
|
7
|
+
entityType: string;
|
|
8
|
+
entityKey: string;
|
|
9
|
+
}): boolean;
|
|
10
|
+
//# sourceMappingURL=has-access-to-entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getNotAccessibleCatalogResources as a}from"../../../../plugins/catalog-entities/utils/get-not-accessible-catalog-resources.js";import{getCurrentRbacTeams as f}from"../../helpers/get-current-rbac-teams.js";function g({ctx:e,store:t,accessLevel:s,entityType:c,entityKey:r}){const n=t.getConfig().rbac||{},o=f(e),{types:i,entities:u}=a({rbacConfig:n,currentRbacTeams:o,accessLevel:s});return!(i.includes(c)||u.includes(r))}export{g as hasAccessToEntity};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntityReadModelSchema } from '../../../../plugins/catalog-entities/schemas/read-model-schemas';
|
|
2
|
+
import type { EntityReadDto } from '../dto/read-entity-dto.js';
|
|
3
|
+
export declare function mapEntityReadModelSchemaToEntityReadDto(entity: EntityReadModelSchema | null): EntityReadDto | null;
|
|
4
|
+
//# sourceMappingURL=map-entity-read-model-schema-to-entity-read-dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(a){return a?{id:a.id,organizationId:a.organizationId,projectId:a.projectId,type:a.type,key:a.key,title:a.title,summary:a.summary,tags:a.tags,metadata:a.metadata,git:a.git,contact:a.contact,links:a.links,source:a.source,sourceFile:a.sourceFile,version:a.version,revision:a.revision,isCurrent:a.isCurrent,isDefaultVersion:a.isDefaultVersion,object:"catalogEntity",createdAt:a.createdAt,updatedAt:a.updatedAt}:null}export{r as mapEntityReadModelSchemaToEntityReadDto};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntitiesCatalogConfig } from '@redocly/config';
|
|
2
|
+
import type { EntityDtoSchema } from '../../../../../plugins/catalog-entities/schemas/dto-schemas';
|
|
3
|
+
export declare function parseEntities(entities: unknown[], catalogConfig: EntitiesCatalogConfig): EntityDtoSchema[];
|
|
4
|
+
//# sourceMappingURL=parse-entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createValidator as a}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";import{createEntitySchema as e}from"../../helpers/create-entity-schema.js";function m(t,i){const r={type:"array",items:e(i)};return a(r,{errorPrefix:"Entity validation failed:",dataVar:"entity"})(t)}export{m as parseEntities};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntitiesCatalogConfig } from '@redocly/config';
|
|
2
|
+
import type { EntityDtoSchema } from '../../../../../plugins/catalog-entities/schemas/dto-schemas';
|
|
3
|
+
export declare function parseEntityUpdateData(entityUpdateData: unknown, catalogConfig: EntitiesCatalogConfig, entityType: string): Partial<EntityDtoSchema>;
|
|
4
|
+
//# sourceMappingURL=parse-entity-update-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createValidator as i}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";import{createEntityUpdateSchema as n}from"../../helpers/create-entity-update-schema.js";function y(t,a,e){const r=n(a,e);return i(r,{errorPrefix:"Entity validation failed:",dataVar:"entity"})(t)}export{y as parseEntityUpdateData};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EntitiesCatalogConfig } from '@redocly/config';
|
|
2
|
+
import type { EntityDtoSchema } from '../../../../../plugins/catalog-entities/schemas/dto-schemas';
|
|
3
|
+
export declare function parseEntity(entity: unknown, catalogConfig: EntitiesCatalogConfig): EntityDtoSchema;
|
|
4
|
+
//# sourceMappingURL=parse-entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createValidator as i}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";import{createEntitySchema as e}from"../../helpers/create-entity-schema.js";function y(t,r){const a=e(r);return i(a,{errorPrefix:"Entity validation failed:",dataVar:"entity"})(t)}export{y as parseEntity};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const parseEntitiesRelations: (data: unknown) => {
|
|
2
|
+
sourceFile?: string | null | undefined;
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
fileHash?: string | null | undefined;
|
|
5
|
+
sourceVersion?: string | null | undefined;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
targetVersion?: string | null | undefined;
|
|
8
|
+
targetRevision?: string | null | undefined;
|
|
9
|
+
type: "extends" | "partOf" | "hasParts" | "creates" | "createdBy" | "owns" | "ownedBy" | "implements" | "implementedBy" | "dependsOn" | "dependencyOf" | "uses" | "usedBy" | "produces" | "consumes" | "linksTo" | "supersedes" | "supersededBy" | "compatibleWith" | "extendedBy" | "relatesTo" | "hasMember" | "memberOf" | "triggers" | "triggeredBy" | "returns" | "returnedBy";
|
|
10
|
+
sourceKey: string;
|
|
11
|
+
targetKey: string;
|
|
12
|
+
}[];
|
|
13
|
+
//# sourceMappingURL=parse-entities-relations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{entitiesRelationsDtoSchema as t}from"../../../../../plugins/catalog-entities/schemas/dto-schemas.js";import{createValidator as i}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";const r=i(t,{errorPrefix:"Entities relations validation failed:",dataVar:"relation"});export{r as parseEntitiesRelations};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function parseEntityRelationUpdateData(relationUpdateData: unknown): Partial<{
|
|
2
|
+
sourceFile?: string | null | undefined;
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
fileHash?: string | null | undefined;
|
|
5
|
+
sourceVersion?: string | null | undefined;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
targetVersion?: string | null | undefined;
|
|
8
|
+
targetRevision?: string | null | undefined;
|
|
9
|
+
type: "extends" | "partOf" | "hasParts" | "creates" | "createdBy" | "owns" | "ownedBy" | "implements" | "implementedBy" | "dependsOn" | "dependencyOf" | "uses" | "usedBy" | "produces" | "consumes" | "linksTo" | "supersedes" | "supersededBy" | "compatibleWith" | "extendedBy" | "relatesTo" | "hasMember" | "memberOf" | "triggers" | "triggeredBy" | "returns" | "returnedBy";
|
|
10
|
+
sourceKey: string;
|
|
11
|
+
targetKey: string;
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=parse-entity-relation-update-data.d.ts.map
|
package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createValidator as e}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";import{createEntityRelationUpdateSchema as i}from"../../helpers/create-entity-relation-update-schema.js";function l(t){const a=i();return e(a,{errorPrefix:"Entity relation validation failed:",dataVar:"relation"})(t)}export{l as parseEntityRelationUpdateData};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const parseEntityRelation: (data: unknown) => {
|
|
2
|
+
sourceFile?: string | null | undefined;
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
fileHash?: string | null | undefined;
|
|
5
|
+
sourceVersion?: string | null | undefined;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
targetVersion?: string | null | undefined;
|
|
8
|
+
targetRevision?: string | null | undefined;
|
|
9
|
+
type: "extends" | "partOf" | "hasParts" | "creates" | "createdBy" | "owns" | "ownedBy" | "implements" | "implementedBy" | "dependsOn" | "dependencyOf" | "uses" | "usedBy" | "produces" | "consumes" | "linksTo" | "supersedes" | "supersededBy" | "compatibleWith" | "extendedBy" | "relatesTo" | "hasMember" | "memberOf" | "triggers" | "triggeredBy" | "returns" | "returnedBy";
|
|
10
|
+
sourceKey: string;
|
|
11
|
+
targetKey: string;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=parse-entity-relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{entityRelationDtoSchema as t}from"../../../../../plugins/catalog-entities/schemas/dto-schemas.js";import{createValidator as a}from"../../../../../plugins/catalog-entities/utils/ajv-validator.js";const o=a(t,{errorPrefix:"Entity relation validation failed:",dataVar:"relation"});export{o as parseEntityRelation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import u from"path";import{REDOCLY_ROUTE_RBAC as E,REDOCLY_TEAMS_RBAC as w}from"@redocly/config";import{withoutPathPrefix as
|
|
1
|
+
import u from"path";import{REDOCLY_ROUTE_RBAC as E,REDOCLY_TEAMS_RBAC as w}from"@redocly/config";import{withoutPathPrefix as q,withPathPrefix as D}from"@redocly/theme/core/utils";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as L,DEFAULT_IMMUTABLE_CACHE_MAX_AGE as O}from"../../constants/common.js";import{removeTrailingSlash as v}from"../../../utils/url/remove-trailing-slash.js";import{findInIterable as F}from"../../../utils/collection/find-in-iterable.js";import{sanitizeRedirectPathname as H}from"../../../utils/url/sanitize-redirect-pathname.js";import{envConfig as z}from"../../../config/env-config.js";import{sanitizePath as B}from"../../../utils/path/sanitize-path.js";import{normalizeRouteSlug as G}from"../../../utils/path/normalize-route-slug.js";import{isPathInFolder as Y}from"../../../utils/path/is-path-in-folder.js";import{processRedirects as $}from"./helpers/process-redirects.js";import{renderPage as k,getServerProps as N}from"../../ssr/index.js";import{canAccessAsset as W,canAccessResource as _}from"../../utils/rbac.js";import{handleErrorPageRender as y,handleUnauthorized as P,handleUnauthorizedAsset as U}from"../utils.js";import{DEFAULT_MAX_AGE_FOR_MIME_TYPE as X,MIME_TYPES as j}from"../mime-types.js";import{fileExistsAsync as V}from"../../utils/index.js";import{getRedirectRoute as Z}from"../utils/legacy-openapi-redirects.js";import{telemetry as J}from"../../../cli/telemetry/index.js";import{telemetry as K}from"../../telemetry/index.js";function Ee(e,I,T){return async o=>{const h=o.get("logger"),l=o.req,i=new URL(l.url),n=q(B(decodeURIComponent(i.pathname))),R=u.parse(n).ext===".md",m=G(n),r=(l.method==="GET"||l.method==="HEAD")&&!R?e.getRouteBySlug(m,{followRedirect:!1})||F(e.routesBySlug?.values(),t=>t.hasClientRoutes&&(n===t.slug||n.startsWith(t.slug+"/"))):void 0,A=e.getRedirect(m);if(A){const t=$({redirect:A,reqUrlSearch:i.search});return K.sendRedirectMessage([{object:"redirect",from:m,templateId:t.type.toString()}]),o.newResponse(null,t.type,{Location:t.location})}const d=z.isProductionEnv?301:302;if(r?.metadata?.type==="openapi"){const t=Z(i.pathname);if(t)return h.info("Legacy OpenAPI docs redirect from "+i.pathname),o.newResponse(null,d,{Location:encodeURI(t)});if(i.pathname.match(/[A-Z]/))return h.warn("Redirect to lowercase route to avoid 404 error"),o.newResponse(null,d,{Location:encodeURI(i.pathname.toLowerCase())})}if(n.endsWith("/")&&n!=="/"){const t=H(new URL(m||"/",o.req.url).pathname);return o.newResponse(null,d,{Location:encodeURI(D((t==="/"?"/":v(t))+i.search))})}const{isAuthenticated:c,teams:f,claims:{email:p}}=o.get("auth");if(r){if(!_(r,{isAuthenticated:c,email:p,teams:f},e.config.rbac,e.config.requiresLogin))return c?y(o,e,{slug:r.slug,[w]:r[w],[E]:r[E]},403):P(o,e,r.slug);const t=await I(r),s=await N(r,o,t,e),{html:b,statusCode:M}=await k(r,s,o,e,J);return o.html(b,M,{"Cache-Control":L})}const a=u.resolve(e.outdir,"."+n);if(!Y(a,e.outdir))return U(o);if(R){const t=n==="index.html.md"?"/":n.replace(/\.md$/,""),s=e.getRouteBySlug(t,{followRedirect:!1});if(s&&!_(s,{isAuthenticated:c,email:p,teams:f},e.config.rbac,e.config.requiresLogin))return P(o,e,n)}if(!W(n,e.getGlobalConfig("rbac"),e.getGlobalConfig("requiresLogin"),e.getGlobalConfig("directoryPaths"),{isAuthenticated:c,email:p,teams:f}))return U(o);const C=j[u.extname(a)]||"text/plain",g=a.match(/assets\/.*\.[a-f0-9]{8,}\..+/)||a.match(/runtime\/chunks\/.*/)?O:X[C],S=g?{"Cache-Control":`public, max-age=${g}, immutable`,Expires:new Date(Date.now()+g*1e3).toUTCString()}:{"Cache-Control":L};if(await V(a)){const t=l.query("download")!=null,s=await T(a);return o.newResponse(s,200,{"Content-Type":C,"Access-Control-Allow-Origin":"*",...S,...t&&{"Content-Disposition":`attachment; filename="${u.basename(a)}"`}})}else return y(o,e,{slug:m},404)}}export{Ee as dynamicRouteHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{context as
|
|
1
|
+
import{context as n,SpanStatusCode as s,trace as o}from"@opentelemetry/api";import{envConfig as a}from"../../../config/env-config.js";const m=e=>{const t=o?.getSpan(n.active());return t&&(t.setStatus({code:s.ERROR,message:e.message}),t.recordException(e),t.end()),e instanceof Error&&"name"in e&&e.name==="URIError"?new Response("Malformed URL",{status:400}):a.isDevelopMode&&e?.name==="PageMissingDefaultExportError"?new Response(e.message,{status:200}):new Response("Internal Server Error",{status:500})};export{m as errorHandler};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(e){return e.get("apiKeyTeams")?.length?e.get("apiKeyTeams"):e.get("auth")?.teams||[]}export{t as getCurrentRbacTeams};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
import type { Store } from '../../../store.js';
|
|
3
|
+
export declare function getRbacRestrictionsDataForCatalog({ store, ctx }: {
|
|
4
|
+
store: Store;
|
|
5
|
+
ctx: Context;
|
|
6
|
+
}): {
|
|
7
|
+
currentRbacTeamsForRead: string[];
|
|
8
|
+
excludedTypes: string[];
|
|
9
|
+
excludedEntities: string[];
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=get-rbac-restrictions-data-for-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getNotAccessibleCatalogResources as n}from"../../../plugins/catalog-entities/utils/get-not-accessible-catalog-resources.js";import{getCurrentRbacTeams as i}from"./get-current-rbac-teams.js";import{expandTeamsForRead as m}from"../../../utils/rbac.js";function b({store:o,ctx:r}){const e=o.getConfig().rbac||{},t=i(r),a=m(e,t),{types:c,entities:s}=n({rbacConfig:e,currentRbacTeams:t});return{currentRbacTeamsForRead:a,excludedTypes:c,excludedEntities:s}}export{b as getRbacRestrictionsDataForCatalog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{serveStatic as
|
|
1
|
+
import{serveStatic as H}from"hono/serve-static";import{withPathPrefix as e,withoutPathPrefix as R}from"@redocly/theme/core/utils";import{ServerRoutes as l}from"../../../constants/common.js";import{PUBLIC_STATIC_FOLDER as C}from"../../constants/common.js";import{envConfig as L}from"../../../config/env-config.js";import{authMiddleware as c}from"../middleware/authMiddleware.js";import{ensureSearchData as g}from"../middleware/ensureSearchData.js";import{dynamicMiddleware as S}from"../middleware/dynamic-middleware/dynamic-middleware.js";import{installRoutes as I}from"../../plugins/dev-onboarding/api/routes/index.js";import{authorizeHandler as P,oidcCallbackHandler as D,logoutHandler as A,postLogoutHandler as h,idpLoginHandler as M,redoclyLoginCallbackHandler as N,samlCallbackHandler as v,redoclyTokenLoginHandler as B,inviteHandler as U}from"./auth.js";import{appDataHandler as w}from"./app-data.js";import{searchFacetsHandler as G,searchHandler as F}from"./search.js";import{dynamicRouteHandler as K}from"./dynamic-route.js";import{pageDataHandler as y,sharedPageDataHandler as k}from"./page-data.js";import{pathPrefixRedirectHandler as Y}from"./path-prefix-redirect.js";import{getRoutesByLineHandler as _,resolvePathHandler as O,resolvePathsHandler as b,resolveSlugHandler as r}from"./resolve-route.js";import{feedbackHandler as V}from"./feedback.js";import{loggerMiddleware as x}from"../middleware/loggerMiddleware.js";import{responseHeadersMiddleware as $}from"../middleware/responseHeadersMiddleware.js";import{idleTimeoutMiddleware as z}from"../middleware/idleTimeoutMiddleware.js";import{otelTracesHandler as Z}from"./otel/otel.js";import{healthCheckHandler as u}from"./health.js";import{askAiHandler as q}from"./ask-ai.js";import{replayOauth2RedirectCallbackHandler as W}from"./replay-oauth2-redirect.js";import{mcpOAuthProtectedResourceHandler as j,mcpOAuthAuthorizationServerHandler as J,mcpDynamicClientRegistrationHandler as Q,mcpAuthorizationHandler as X,mcpTokenPortalHandler as aa,mcpCallbackHandler as E}from"./mcp-oauth.js";import{corsMiddleware as T}from"../middleware/corsMiddleware.js";import{installApiRoutes as ea}from"./api-routes/api-routes.js";import{cookieMiddleware as ia}from"../middleware/cookieMiddleware.js";import{staticContentHandler as la}from"../routes/static-content.js";import{infoHandler as f}from"./info.js";import{catalogHandler as ta}from"./catalog/catalog.js";import{catalogRelationsHandler as ma}from"./catalog/catalog-relations.js";import{bffCatalogHandler as na}from"./catalog/bff-catalog.js";import{bffCatalogRevisionsHandler as da}from"./catalog/bff-catalog-revisions.js";import{bffCatalogRelatedEntitiesHandler as oa}from"./catalog/bff-catalog-related-entities.js";import{catalogAuthMiddleware as t}from"../middleware/catalogAuthMiddleware.js";import{telemetryMiddleware as pa}from"../middleware/telemetry-middleware.js";import{errorHandler as Aa}from"./error.js";function ja(a,i,m){const{resolveRouteData:d,readStaticAsset:o}=m;a.use("*",z()),a.use("*",ia()),a.use("*",S(i)),a.use("*",c(i)),a.use("*",x()),a.use("*",$(i)),a.use("*",pa()),a.use(e("*"),H({root:`./${C}`,getContent:(n,s)=>la(n,s,i,o),rewriteRequestPath:n=>R(n)})),a.use(e(l.FEEDBACK),T({allowMethods:["POST"]})),a.use(e(l.ASK_AI),T({allowMethods:["POST"]})),a.use("*",_a(i));const p=g(i);a.use(e(l.INFO),f()),L.NEW_CATALOG_ENABLED==="true"&&(a.use(e(l.CATALOG_ENTITIES),t({serverOutDir:i.serverOutDir}),ta(i)),a.use(e(l.CATALOG_ENTITIES_RELATIONS),t({serverOutDir:i.serverOutDir}),ma(i)),a.get(e(l.BFF_CATALOG_ENTITIES),t({serverOutDir:i.serverOutDir,protectReadMethods:!1}),na(i)),a.get(e(l.BFF_CATALOG_RELATED_ENTITIES),t({serverOutDir:i.serverOutDir,protectReadMethods:!1}),oa(i)),a.get(e(l.BFF_CATALOG_REVISIONS),t({serverOutDir:i.serverOutDir,protectReadMethods:!1}),da(i))),a.get(e(l.SHARED_PAGE_DATA),k(i)),a.get(e(l.PAGE_DATA),y(i,d)),a.get(e(l.APP_DATA),w(i)),a.post(e(l.SEARCH),p,F(i)),a.post(e(l.SEARCH_FACETS),p,G(i)),a.post(e(l.AUTHORIZATION),P),a.post(e(l.LOGOUT),A(i)),a.get(e(l.LOGOUT),A(i)),a.get(e(l.POST_LOGOUT),h(i)),a.get(e(l.OIDC_CALLBACK),D(i)),a.get(e(l.REDOCLY_TOKEN_LOGIN),B(i)),a.get(e(l.REDOCLY_LOGIN_CALLBACK),N()),a.get(e(l.IDP_LOGIN),M(i)),a.post(e(l.SAML_CALLBACK),v(i)),a.get(e(l.INVITE),U(i)),a.get(e(l.HEALTH),u),a.get(`${l.MCP_OAUTH_PROTECTED_RESOURCE}${e("/mcp")}`,j()),a.get(l.MCP_OAUTH_AUTHORIZATION_SERVER,J()),a.post(e(l.MCP_DYNAMIC_CLIENT_REGISTRATION),Q()),a.get(e(l.MCP_AUTHORIZATION),X()),a.post(e(l.MCP_TOKEN_PORTAL),aa()),a.get(e(l.MCP_CALLBACK),E()),a.get(e(`${l.MCP_CALLBACK}/*`),E()),I(a,i),ea(a,i),a.post(e(l.FEEDBACK),V(i)),a.post(e(l.RESOLVE_ROUTE_BY_PATH),O(i)),a.post(e(l.RESOLVE_ROUTES_BY_PATHS),b(i)),a.post(e(l.RESOLVE_ROUTE_BY_SLUG),r(i)),a.post(e(l.ASK_AI),q(i)),a.get(e(l.GET_ROUTES_BY_LINE),_(i)),a.post(e(l.OTEL_TRACES),Z),a.get(e(l.REPLAY_OAUTH2_CALLBACK),W),a.all(e("/*"),K(i,d,o)),a.get("*",Y),a.onError(Aa)}function _a(a){return async(i,m)=>{await a.waitForPluginsLifecycle(),await m()}}function Ja(a,i){a.get(e(l.INFO),f()),a.post(e(l.RESOLVE_ROUTE_BY_PATH),O(i)),a.post(e(l.RESOLVE_ROUTE_BY_SLUG),r(i)),a.get(e(l.GET_ROUTES_BY_LINE),_(i))}export{Ja as installDevRoutes,ja as installProdRoutes,_a as waitForPluginsLifecycle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
import{envConfig as r}from"../../../config/env-config.js";function e(){return async n=>n.json({version:r.REDOCLY_PORTAL_VERSION},200)}export{e as infoHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getCookie as
|
|
1
|
+
import{getCookie as y}from"hono/cookie";import{ulid as w}from"ulid";import{AUTH_URL as m,JWT_SECRET_KEY as M}from"../../constants/common.js";import{ServerRoutes as d}from"../../../constants/common.js";import{withPathPrefix as p}from"@redocly/theme/core/utils";import{telemetry as u}from"../../telemetry/index.js";import{envConfig as g}from"../../../config/env-config.js";import{createMcpAuthorizationCode as I,verifyMcpAuthorizationCode as k,createMcpSessionResource as _}from"../auth.js";import*as h from"../jwt/jwt.js";import{AlgorithmTypes as T}from"../jwt/types.js";import{getRequestOrigin as f}from"../utils/get-request-origin.js";const n=(e,r,o=200,a)=>e.json(r,o,{"Content-Type":"application/json",...a??{}});async function A(e){const r=Math.floor(Date.now()/1e3);return h.sign({type:"mcp_context",...e,iat:r,exp:r+600},M,T.HS256)}async function P(e){await h.verify(e,M,T.HS256);const{payload:r}=h.decode(e);if(r.type!=="mcp_context")throw new Error("Invalid context token type");return r}function q(){return async e=>{if(e.req.method!=="GET")return n(e,{error:"Method not allowed"},405,{Allow:"GET"});const r=f(e);return n(e,{resource:`${r}${p("/mcp")}`,authorization_servers:[r],bearer_methods_supported:["header"],resource_documentation:`${r}${d.MCP_OAUTH_AUTHORIZATION_SERVER}`,scopes_supported:["openid","profile","email","offline_access"],bearer_token_types_supported:["Bearer"]})}}function b(){return async e=>{const r=f(e);return n(e,{issuer:m||"",authorization_endpoint:`${r}${p(d.MCP_AUTHORIZATION)}`,token_endpoint:`${r}${p(d.MCP_TOKEN_PORTAL)}`,jwks_uri:`${m||""}/.well-known/jwks.json`,registration_endpoint:`${r}${p(d.MCP_DYNAMIC_CLIENT_REGISTRATION)}`,scopes_supported:["openid","profile","email","offline_access"],response_types_supported:["code"],grant_types_supported:["authorization_code","refresh_token","client_credentials"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],code_challenge_methods_supported:["S256"]})}}function N(){return async e=>{if(e.req.method!=="POST")return n(e,{error:"Method not allowed"},405);try{return n(e,{client_id:g.OAUTH_CLIENT_ID||"",client_name:"MCP Client",redirect_uris:[],grant_types:["authorization_code","refresh_token"],response_types:["code"],scope:"openid offline email",subject_type:"public",token_endpoint_auth_method:"none",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},201)}catch(r){return n(e,{error:"invalid_request",error_description:r?.message||"Unable to register client"},500)}}}function j(){return async e=>{const r=new URL(e.req.url),{searchParams:o}=r,a=o.get("redirect_uri"),t=w();u.sendMcpAuthorizationStartedMessage([{..._(t),redirect_uri:a||null}]);const s=f(e),c={isMcpFlow:!0,originalRedirectUri:a,mcpClientId:o.get("client_id"),mcpState:o.get("state"),mcpSessionId:t,timestamp:Date.now()};try{const i=await A(c),l=new URL(p(d.IDP_LOGIN),s);return l.searchParams.set("redirectTo",`${d.MCP_CALLBACK}/${i}`),l.searchParams.set("idpId","oidc"),e.redirect(l.toString())}catch(i){const l=i instanceof Error?i.message:String(i),S=i instanceof Error?i.stack:String(i);u.sendMcpAuthorizationFailedMessage([{..._(t),error:l,error_details:S}]);const C=new URL(p(`${m}/oauth2/auth`));return C.search=o.toString(),e.redirect(C.toString())}}}function F(){return async e=>{if(e.req.method!=="POST")return n(e,{error:"Method not allowed"},405);try{const r=await e.req.formData(),o=r.get("grant_type"),a=r.get("code"),t=r.get("redirect_uri")||void 0;if(o!=="authorization_code"||!a)return n(e,{error:"invalid_request",error_description:"Invalid grant type or missing authorization code"},400);try{const s=await k(a);if(t&&t!==s.redirect_uri)return n(e,{error:"invalid_grant",error_description:"redirect_uri mismatch"},400);if(g.OAUTH_CLIENT_ID&&s.client_id&&s.client_id!==g.OAUTH_CLIENT_ID)return n(e,{error:"invalid_client",error_description:"Client mismatch"},400);const c=s.id_token;return typeof c!="string"||c.length===0?n(e,{error:"invalid_grant",error_description:"Missing id_token in authorization code"},400):n(e,{access_token:c,token_type:"Bearer",expires_in:3600,scope:"openid profile email",id_token:c},200,{"Cache-Control":"no-store",Pragma:"no-cache"})}catch{return n(e,{error:"invalid_grant",error_description:"Invalid authorization code"},400)}}catch(r){const o=r instanceof Error?r.message:String(r);return n(e,{error:"server_error",error_description:"Failed to process token request",error_details:o},500)}}}function B(){return async e=>{const r=new URL(e.req.url);let o=r.searchParams.get("context");if(!o&&r.pathname.startsWith(p(`${d.MCP_CALLBACK}/`))){const t=r.pathname.split("/");o=t[t.length-1]}if(!o)return u.sendMcpAuthorizationFailedMessage([{..._(null),error:"Missing context parameter",error_details:null}]),e.text("Missing context parameter",400);let a=null;try{const t=await P(o);if(a=t.mcpSessionId||null,!t.isMcpFlow||!t.originalRedirectUri)throw new Error("Invalid MCP context");const s=y(e,"idp_id_token")||y(e,"authorization"),c=await I({idToken:s||"",clientId:t.mcpClientId||"",redirectUri:t.originalRedirectUri,ttlSec:600}),i=new URL(t.originalRedirectUri);return i.searchParams.set("code",c),t.mcpState&&i.searchParams.set("state",t.mcpState),u.sendMcpAuthorizationCompletedMessage([{..._(a),redirect_uri:t.originalRedirectUri||null}]),e.redirect(i.toString())}catch(t){const s=t instanceof Error?t.message:String(t),c=t instanceof Error?t.stack:String(t);return u.sendMcpAuthorizationFailedMessage([{..._(a),error:s,error_details:c}]),e.text(`Invalid MCP callback: ${s}`,400)}}}export{A as createMcpContextToken,j as mcpAuthorizationHandler,B as mcpCallbackHandler,N as mcpDynamicClientRegistrationHandler,b as mcpOAuthAuthorizationServerHandler,q as mcpOAuthProtectedResourceHandler,F as mcpTokenPortalHandler,P as verifyAndParseMcpContextToken};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getClientIp as v}from"../../utils/get-client-ip.js";import{PRODUCT_NAME as
|
|
1
|
+
import{envConfig as c}from"../../../../config/env-config.js";import{getClientIp as v}from"../../utils/get-client-ip.js";import{PRODUCT_NAME as d}from"../../../../config/product-gates.js";import{toAttribute as t,getAttributesStringValue as g}from"./otlp.js";const p=c.OTEL_TRACES_URL||"https://otel.cloud.redocly.com/v1/traces";async function T(e){const o=await e.req.json(),r=m(e),s={resourceSpans:o.resourceSpans.map(n=>{const u=g(n.resource.attributes.find(i=>i.key==="session_id"));return u?{...n,resource:{...n.resource,attributes:[...n.resource.attributes,...y(r,u)]},scopeSpans:n.scopeSpans.map(i=>({...i,spans:i.spans.map(a=>({...a,attributes:a.name.startsWith("event.")&&a.name!=="event.undefined"?A(a,r,u):a.attributes}))}))}:n})};return await fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),e.newResponse(null,200,{})}function m(e){const o=e.get("auth")?.claims?.id||e.get("auth")?.claims?.sub,r=v(e.req.raw)||e.req.raw.context.remoteAddr?.hostname,s=e.req.raw.headers.get("user-agent"),n=e.req.raw.headers.get("accept-language"),u=n?.split(",")[0];return{userId:o,clientIp:r,userAgent:s||void 0,acceptLanguage:n||void 0,locale:u}}function y(e,o){const r=[t("redocly.organization.id",c.ORGANIZATION_ID),t("redocly.organization.slug",c.ORGANIZATION_SLUG),t("redocly.project.id",c.PROJECT_ID),t("redocly.project.slug",c.PROJECT_SLUG),t("redocly.product.type",d.toLowerCase()),t("redocly.client.ip",e.clientIp),t("redocly.client.userAgent",e.userAgent),t("redocly.client.acceptLanguage",e.acceptLanguage),t("redocly.client.locale",e.locale)];return e.userId?r.push(t("redocly.user.id",e.userId)):r.push(t("redocly.anonymous.id",l(o))),r.filter(s=>s!==void 0)}function f(e,o,r){const s=b(e.userId,o),n=new Date(Math.floor(Number(r.startTimeUnixNano)/1e6)).toISOString(),u=r.attributes.find(_=>_.key==="cloudevents.event_data.uri"),i=u&&"stringValue"in u.value?[t("cloudevents.event_data.page.uri",u.value.stringValue)]:[];return[t("cloudevents.event_spec_version","1.0"),t("cloudevents.event_object","event"),t("cloudevents.event_origin","realm-ui"),t("cloudevents.event_source",s.uri),t("cloudevents.event_source_details.id",s.id),t("cloudevents.event_source_details.object",s.object),t("cloudevents.event_source_details.uri",s.uri),t("cloudevents.event_data_content_type","application/json; charset=utf-8"),t("cloudevents.event_organization_id",c.ORGANIZATION_ID),t("cloudevents.event_organization_slug",c.ORGANIZATION_SLUG),t("cloudevents.event_project_id",c.PROJECT_ID),t("cloudevents.event_project_slug",c.PROJECT_SLUG),t("cloudevents.event_product_type",d.toLowerCase()),t("cloudevents.event_session_id",o),t("cloudevents.event_time",n),t("cloudevents.event_client.ip",e.clientIp),t("cloudevents.event_client.user_agent",e.userAgent),t("cloudevents.event_client.accept_language",e.acceptLanguage),t("cloudevents.event_client.locale",e.locale),...i]}function A(e,o,r){return[...e.attributes.filter(n=>{const u="stringValue"in n.value&&n.value.stringValue==="",i=/cloudevents\.event_source_details\..+/.test(n.key);return!(u||i)}),...f(o,r,e)].filter(n=>n!==void 0)}function b(e,o){return e?{id:e,object:"user",uri:`${c.MAIN_API_URL}/users/${e}`}:{id:l(o),object:"anonymous",uri:`${c.MAIN_API_URL}/anonymous/${l(o)}`}}function l(e){return e.replace("ses_","ann_")}export{T as otelTracesHandler,A as toCloudEventAttributes,b as toSource};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEV_LOGIN_SLUG as
|
|
1
|
+
import{DEV_LOGIN_SLUG as U,ServerRoutes as $}from"../../../constants/common.js";import{CACHE_CONTROL_NO_CACHE_HEADER_VALUE as a,DEFAULT_TITLE as F}from"../../constants/common.js";import{findInIterable as O}from"../../../utils/collection/find-in-iterable.js";import{removeTrailingSlash as N}from"../../../utils/url/remove-trailing-slash.js";import{envConfig as E}from"../../../config/env-config.js";import{canAccessResource as q,filterDataByAccessDeep as b,isResourcePubliclyAccessible as B}from"../../utils/rbac.js";import{getServerProps as H}from"../../ssr/index.js";import{readSharedData as G}from"../../utils/index.js";import{getRedirectLoginUrl as M}from"../utils/get-redirect-login-url.js";import{processRedirects as V}from"./helpers/process-redirects.js";import{removeErrorDetails as k}from"../utils/remove-error-details.js";import{telemetry as K}from"../../telemetry/index.js";function ae(e,s){return async(o,h)=>{const l=o.get("logger"),{req:u}=o,{pathname:c}=new URL(u.url),{seo:g,ssoDirect:m}=e.getConfig(),n=g?.title||F;if(e?.compilationErrors?.length&&E.isDevelopMode)return o.json({templateId:"compilation-error",props:{compilationErrors:e?.compilationErrors},sharedDataIds:{}},500,{"Cache-Control":a});const p=c.match(/page-data(.*)data.json$/);if(!p)return h();const i=decodeURI(p[1]),d=i==="/index/"?"/":N(i),t=e.getRouteBySlug(d,{followRedirect:!1})||O(e.routesBySlug.values(),r=>r.hasClientRoutes&&i.startsWith(r.slug));if(i===$.OIDC_CALLBACK+"/")return o.json({templateId:"403OIDC",sharedDataIds:{},props:{seo:{title:`${n} - Forbidden`}}},200,{"Cache-Control":a});const{isAuthenticated:C,teams:D,claims:{name:j,picture:v,email:I}}=o.get("auth"),R={isAuthenticated:C,email:I,teams:D},f={isAuthenticated:C,name:j,picture:v,email:I,teams:D},L=e.getRedirect(d);if(L){const r=V({redirect:L}).location;return K.sendRedirectMessage([{object:"redirect",from:d,templateId:"404"}]),o.json({templateId:"404",redirectTo:r,sharedDataIds:{},props:{}},301,{"Cache-Control":a})}if(!t){const r=e.getRouteBySlug(d,{followRedirect:!0});return l.error(`Page not found: ${c}`),o.json({templateId:"404",redirectTo:r?.slug,sharedDataIds:{},props:{seo:{title:`${n} - Not Found`}},userData:f},404,{"Cache-Control":a})}if(l.verbose(`Page viewed: ${t.slug}`),!q(t,R,e.config.rbac,e.config.requiresLogin)&&t.slug!==U){if(C)return o.json({templateId:"403",sharedDataIds:{},props:{seo:{title:`${n} - Forbidden`}},userData:f},403,{"Cache-Control":a});const r=Object.keys(m||{}).length>0;return o.json({templateId:"404",sharedDataIds:{},props:{seo:{title:`${n} - Not Found`}},userData:f,...r?{redirectTo:M(e,t.slug)}:{}},r?401:404,{"Cache-Control":a})}const A=b(t.versions,R,e.config.rbac,e.config.requiresLogin),P=e.routesSharedData.get(t.slug)||{},T=await s(t),y=await H(t,o,T,e),{sharedDataIds:_,...S}=y,w={templateId:t.templateId,versions:A,sharedDataIds:{...P,..._||{}},props:E.isProductionEnv?k(S):S,slug:t.slug,userData:f,isPublic:B(t,e.config)};return o.json(w,200,{"Cache-Control":a})}}function se(e){return async(s,o)=>{const h=s.get("logger"),{req:l}=s,{pathname:u}=new URL(l.url),c=u.match(/\/page-data\/shared\/(.*)\.json/);if(!c)return o();const g=decodeURIComponent(c[1]),m=await G(g,e.outdir),{isAuthenticated:n,teams:p,claims:{email:i}}=s.get("auth"),t=g==="scorecard"?m:b(m,{isAuthenticated:n,email:i,teams:p},e.config.rbac,e.config.requiresLogin);return t?s.json(t,200,{"Cache-Control":a}):(h.error(`Shared data not found: ${u}`),s.text("Not Found",404,{"Cache-Control":a}))}}export{ae as pageDataHandler,se as sharedPageDataHandler};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getPathPrefix as i}from"@redocly/theme/core/utils";async function
|
|
1
|
+
import{getPathPrefix as i}from"@redocly/theme/core/utils";import{envConfig as a}from"../../../config/env-config.js";async function p(e,r){const t=new URL(e.req.url),n=i(),o=a.isProductionEnv?301:302;if(n&&t.pathname==="/")return e.newResponse(null,o,{Location:n});await r()}export{p as pathPrefixRedirectHandler};
|
|
@@ -12,10 +12,10 @@ export declare function handleErrorPageRender(ctx: Context, store: Store, option
|
|
|
12
12
|
};
|
|
13
13
|
}, statusCode: ClientErrorStatusCode, templateId?: string): Promise<Response>;
|
|
14
14
|
export declare function getLoginUrlWithRedirect(redirectTo: string): string;
|
|
15
|
-
export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", 100 | -1 | 500 | 400 | 200 | 302 | 401 |
|
|
15
|
+
export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", 100 | -1 | 500 | 400 | 200 | 302 | 401 | 403 | 300 | 301 | 102 | 103 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 303 | 305 | 306 | 307 | 308 | 402 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "text">>;
|
|
16
16
|
export declare function handleUnauthorizedApiRequest(ctx: Context): Response & import("hono").TypedResponse<{
|
|
17
17
|
message: string;
|
|
18
|
-
}, 100 | -1 | 500 | 400 | 200 | 302 | 401 |
|
|
18
|
+
}, 100 | -1 | 500 | 400 | 200 | 302 | 401 | 403 | 300 | 301 | 102 | 103 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 303 | 305 | 306 | 307 | 308 | 402 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
|
|
19
19
|
/**
|
|
20
20
|
* Normalize the IP address to an IPv4 address.
|
|
21
21
|
* @param address - The IP address to normalize.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getAllowedEnvs as o}from"../utils/envs/get-api-route-allowed-env-variables.js";import{WorkerPool as r}from"./worker-pool.js";const s="executeMcpTool",e=5,c=new r({workerScript:"./mcp-tool-worker",minWorkers:1,maxWorkers:e,workerType:"process",forkOpts:{env:{...o()},stdio:"inherit"},lazy:!0});export{s as MCP_TOOL_WORKER_KEY,c as mcpToolWorkers};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"workerpool";import{executeMcpTool as r}from"../plugins/mcp/workers/execute-mcp-tool.js";import{MCP_TOOL_WORKER_KEY as m}from"./mcp-tool-worker-pool.js";o.worker({[m]:r});
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ApiRoutesWorkerParams, ApiRoutesWorkerResponse } from '../types/plugins/api-routes.js';
|
|
2
2
|
import type { RenderPayload } from '../../types/ssr.js';
|
|
3
|
-
import type { ScorecardsWorkerParams, ScorecardsWorkerResponse } from '../plugins/scorecards
|
|
3
|
+
import type { ScorecardsWorkerParams, ScorecardsWorkerResponse } from '../types/plugins/scorecards.js';
|
|
4
|
+
import type { McpToolWorkerParams, McpToolWorkerResponse } from '../plugins/mcp/types.js';
|
|
4
5
|
import type { SCORECARDS_WORKER_KEY } from './scorecards-worker-pool.js';
|
|
5
6
|
import type { API_ROUTES_WORKER_KEY } from './api-routes-worker-pool.js';
|
|
6
7
|
import type { SSR_WORKER_KEY } from './ssr-worker-pool.js';
|
|
8
|
+
import type { MCP_TOOL_WORKER_KEY } from './mcp-tool-worker-pool.js';
|
|
7
9
|
export type SsrWorkerResponse = {
|
|
8
10
|
html: string;
|
|
9
11
|
statusCode: 200 | 500;
|
|
@@ -22,6 +24,10 @@ export type WorkerTypeMapping = {
|
|
|
22
24
|
params: [ScorecardsWorkerParams];
|
|
23
25
|
response: ScorecardsWorkerResponse;
|
|
24
26
|
};
|
|
27
|
+
[MCP_TOOL_WORKER_KEY]: {
|
|
28
|
+
params: [McpToolWorkerParams];
|
|
29
|
+
response: McpToolWorkerResponse;
|
|
30
|
+
};
|
|
25
31
|
};
|
|
26
32
|
export type WorkerParams<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['params'];
|
|
27
33
|
export type WorkerResponse<T extends keyof WorkerTypeMapping> = WorkerTypeMapping[T]['response'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import s from"workerpool";import{
|
|
1
|
+
import s from"workerpool";import{envConfig as l}from"../../config/env-config.js";import{fromCurrentDir as n}from"../utils/paths.js";class f{#t=null;#o;constructor(o){this.#o=o,this.#o.lazy||(this.#t=this.#i())}#i(){const{workerScript:o,lazy:e,...i}=this.#o;let t=o;return!t.endsWith(".js")&&!t.endsWith(".mjs")&&(t=n(import.meta.url,`${t}.${l.isDevelopMode?"js":"mjs"}`)),s.pool(t,{...i})}#r(){return this.#t||(this.#t=this.#i()),this.#t}async exec(o,e,i){let r=this.#r().exec(o,e);return i?.timeout&&(r=r.timeout(i.timeout)),await r}async terminate(){this.#t&&(await this.#t.terminate(),this.#t=null)}}export{f as WorkerPool};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/realm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.130.0-custom.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,17 +23,15 @@
|
|
|
23
23
|
"@opentelemetry/core": "2.0.1",
|
|
24
24
|
"@opentelemetry/exporter-trace-otlp-http": "0.202.0",
|
|
25
25
|
"@opentelemetry/instrumentation": "0.202.0",
|
|
26
|
-
"@opentelemetry/instrumentation-document-load": "0.47.0",
|
|
27
|
-
"@opentelemetry/instrumentation-fetch": "0.202.0",
|
|
28
26
|
"@opentelemetry/instrumentation-http": "0.202.0",
|
|
29
|
-
"@opentelemetry/instrumentation-xml-http-request": "0.202.0",
|
|
30
27
|
"@opentelemetry/resources": "2.0.1",
|
|
31
28
|
"@opentelemetry/sdk-trace-node": "2.0.1",
|
|
32
29
|
"@opentelemetry/sdk-trace-web": "2.0.1",
|
|
33
30
|
"@opentelemetry/semantic-conventions": "1.34.0",
|
|
34
|
-
"@redocly/ajv": "8.17.
|
|
35
|
-
"
|
|
36
|
-
"@
|
|
31
|
+
"@redocly/ajv": "8.17.2",
|
|
32
|
+
"openapi-sampler": "1.6.2",
|
|
33
|
+
"@redocly/openapi-core": "2.17.0",
|
|
34
|
+
"@shikijs/transformers": "3.21.0",
|
|
37
35
|
"@tanstack/react-query": "5.62.3",
|
|
38
36
|
"@tanstack/react-table": "8.21.3",
|
|
39
37
|
"@tanstack/react-virtual": "3.13.0",
|
|
@@ -56,7 +54,7 @@
|
|
|
56
54
|
"flexsearch": "0.7.43",
|
|
57
55
|
"graphql": "16.9.0",
|
|
58
56
|
"gray-matter": "4.0.3",
|
|
59
|
-
"hono": "4.
|
|
57
|
+
"hono": "4.11.7",
|
|
60
58
|
"htmlparser2": "8.0.2",
|
|
61
59
|
"i18next": "22.4.15",
|
|
62
60
|
"is-glob": "4.0.3",
|
|
@@ -67,19 +65,18 @@
|
|
|
67
65
|
"nanoid": "5.0.9",
|
|
68
66
|
"node-fetch": "3.3.1",
|
|
69
67
|
"nprogress": "0.2.0",
|
|
70
|
-
"openapi-sampler": "1.6.2",
|
|
71
68
|
"os-browserify": "0.3.0",
|
|
72
69
|
"path-browserify": "1.0.1",
|
|
73
70
|
"picomatch": "2.3.1",
|
|
74
|
-
"react": "19.2.
|
|
71
|
+
"react": "^19.2.4",
|
|
75
72
|
"react-calendar": "5.1.0",
|
|
76
73
|
"react-date-picker": "11.0.0",
|
|
77
|
-
"react-dom": "19.2.
|
|
78
|
-
"react-router-dom": "^6.
|
|
74
|
+
"react-dom": "^19.2.4",
|
|
75
|
+
"react-router-dom": "^6.30.3",
|
|
79
76
|
"react-select": "5.10.1",
|
|
80
77
|
"reactjs-popup": "2.0.6",
|
|
81
78
|
"semver": "7.7.3",
|
|
82
|
-
"shiki": "
|
|
79
|
+
"shiki": "3.21.0",
|
|
83
80
|
"simple-git": "3.20.0",
|
|
84
81
|
"sitemap": "7.1.1",
|
|
85
82
|
"stream-http": "3.2.0",
|
|
@@ -93,18 +90,19 @@
|
|
|
93
90
|
"xml-crypto": "6.0.1",
|
|
94
91
|
"xpath": "0.0.34",
|
|
95
92
|
"yaml-ast-parser": "0.0.43",
|
|
96
|
-
"
|
|
97
|
-
"@redocly/config": "0.
|
|
98
|
-
"@redocly/
|
|
99
|
-
"@redocly/portal-plugin-mock-server": "0.
|
|
100
|
-
"@redocly/
|
|
101
|
-
"@redocly/
|
|
102
|
-
"@redocly/
|
|
103
|
-
"@redocly/
|
|
93
|
+
"zod": "^3.25.76",
|
|
94
|
+
"@redocly/config": "0.43.0-custom.0",
|
|
95
|
+
"@redocly/graphql-docs": "1.7.0-custom.0",
|
|
96
|
+
"@redocly/portal-plugin-mock-server": "0.16.0-next.0",
|
|
97
|
+
"@redocly/portal-legacy-ui": "0.14.0-next.0",
|
|
98
|
+
"@redocly/openapi-docs": "3.18.0-custom.0",
|
|
99
|
+
"@redocly/realm-asyncapi-sdk": "0.9.0-next.0",
|
|
100
|
+
"@redocly/asyncapi-docs": "1.7.0-custom.0",
|
|
101
|
+
"@redocly/theme": "0.62.0-custom.0"
|
|
104
102
|
},
|
|
105
103
|
"peerDependencies": {
|
|
106
|
-
"react": "19.2.
|
|
107
|
-
"react-dom": "19.2.
|
|
104
|
+
"react": "^19.2.4",
|
|
105
|
+
"react-dom": "^19.2.4"
|
|
108
106
|
},
|
|
109
107
|
"nx": {
|
|
110
108
|
"implicitDependencies": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{logger as o}from"../../../../tools/notifiers/logger.js";import{entityRelationDatabaseSchema as a}from"../../schemas/database-schemas.js";import{validateWithResult as i}from"../../utils/ajv-validator.js";function c(r){const e=i(a,r);if(!e.success)return o.warn(`Invalid database catalog entity relation, error: ${e.error}`),null;const t=e.data||{};return{id:t.id,organizationId:t.organization_id,projectId:t.project_id,sourceKey:t.source_key,targetKey:t.target_key,sourceVersion:t.source_version??null,sourceRevision:t.source_revision??null,targetVersion:t.target_version??null,targetRevision:t.target_revision??null,type:t.source_to_target_relation,createdAt:t.created_at??null,updatedAt:t.updated_at??null,object:"catalogEntityRelation"}}export{c as createEntityRelation};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type EntityRelationFileSchema, type EntityBaseFileSchema } from '@redocly/config';
|
|
2
|
-
import type { EntitiesCatalogConfig } from '@redocly/config';
|
|
3
|
-
export declare function validateEntityRelation(relation: unknown): asserts relation is EntityRelationFileSchema;
|
|
4
|
-
export declare function parseAndValidateEntity(entity: unknown, catalogConfig: EntitiesCatalogConfig): EntityBaseFileSchema;
|
|
5
|
-
export declare function parseAndValidateEntities(entities: unknown[], catalogConfig: EntitiesCatalogConfig): EntityBaseFileSchema[];
|
|
6
|
-
//# sourceMappingURL=validate-entity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{entityFileSchema as r,entityRelationFileSchema as d,entityBaseProperties as l}from"@redocly/config";import{createValidator as n}from"../utils/ajv-validator.js";const s=n(d,{errorPrefix:"Entity relation validation failed:",dataVar:"relation"});function p(t){s(t)}function m(t,e){const i=o(e);return n(i,{errorPrefix:"Entity validation failed:",dataVar:"entity"})(t)}function f(t,e){const i={type:"array",items:o(e)};return n(i,{errorPrefix:"Entity validation failed:",dataVar:"entity"})(t)}function o(t){const e=Object.entries(t.entityTypes??{}).map(([i,a])=>({type:"object",properties:{...l,type:{const:i},metadata:{additionalProperties:!0,...a.metadataSchema}},required:["key","title","type"],additionalProperties:!1}));return{...r,oneOf:[...r.oneOf,...e]}}export{f as parseAndValidateEntities,m as parseAndValidateEntity,p as validateEntityRelation};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Context } from 'hono';
|
|
2
|
-
import type { ApiRoute } from '../../../types';
|
|
3
|
-
import type { Store } from '../../../store.js';
|
|
4
|
-
export declare function runMcpWorker(route: ApiRoute, ctx: Context, store: Store): Promise<Response>;
|
|
5
|
-
//# sourceMappingURL=run-api-routes-worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import*as u from"workerpool";import{withPathPrefix as d}from"@redocly/theme/core/utils";import{TimeoutExceededError as p}from"../../../api-routes/errors/timeout-exceeded.js";import{serializeRequest as l}from"../../../api-routes/helpers/serialize-request.js";import{API_ROUTES_WORKER_KEY as f}from"../../../workers/api-routes-worker-pool.js";import{mcpWorkers as h}from"../../../workers/mcp-worker-pool.js";const w=15;async function A(o,a,t){const e=a.get("auth"),i=await t.resolveRouteStaticData(o)||{},s=d(o.slug);try{const{status:r,headers:m,body:c}=await h.exec(f,[{serverOutDir:t.serverOutDir,slug:s,requestHandlerId:o.requestHandlerId,maxResponseSizeMB:w,ctxData:{user:{teams:e.teams,email:e.claims.email,claims:e.claims,idpAccessToken:e.idpAccessToken,idpId:e.claims.idpId,isAuthenticated:e.isAuthenticated},config:t.config},staticData:{...i,props:{...i.props,routeSlug:s,outdir:t.outdir}},req:await l(a.req.raw)}]),n=c.data?Buffer.from(c.data):null;return new Response(n,{status:r,headers:m})}catch(r){throw r instanceof u.Promise.TimeoutError?new p("Timeout exceeded"):r}}export{A as runMcpWorker};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cliCommandNames as N}from"../../../constants/common.js";function o(){return process.env.REDOCLY_RUNNING_COMMAND===N.BUILD||process.env.REDOCLY_RUNNING_COMMAND===N.PREPARE}export{o as isBuildMode};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if the current running command is 'develop'.
|
|
3
|
-
*
|
|
4
|
-
* @returns {boolean} - Returns `true` if the current running command is 'develop', otherwise `false`.
|
|
5
|
-
*/
|
|
6
|
-
export declare function isDevelopMode(): boolean;
|
|
7
|
-
//# sourceMappingURL=is-develop-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cliCommandNames as e}from"../../../constants/common.js";function r(){return process.env.REDOCLY_RUNNING_COMMAND===e.DEVELOP}export{r as isDevelopMode};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if the current runtime environment is set to production.
|
|
3
|
-
*
|
|
4
|
-
* This function looks at the `REDOCLY_ENV` environment variable and returns
|
|
5
|
-
* `true` if its value is `"production"`, otherwise returns `false`.
|
|
6
|
-
*
|
|
7
|
-
* @returns {boolean} `true` if the environment is production, otherwise `false`.
|
|
8
|
-
*/
|
|
9
|
-
export declare function isProductionMode(): boolean;
|
|
10
|
-
//# sourceMappingURL=is-production-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{readEnvVariable as o}from"../../utils/envs/read-env-variable.js";function i(){return o("REDOCLY_ENV")==="production"}export{i as isProductionMode};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getAllowedEnvs as r}from"../utils/envs/get-api-route-allowed-env-variables.js";import{WorkerPool as o}from"./worker-pool.js";const p="executeApiRoute",e=5,i=new o({workerScript:"./api-routes-worker",minWorkers:1,maxWorkers:e,workerType:"process",forkOpts:{env:{...r()},stdio:"inherit"},lazy:!0});export{p as API_ROUTES_WORKER_KEY,i as mcpWorkers};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if the current environment is local development.
|
|
3
|
-
*
|
|
4
|
-
* @param - This function takes no parameters.
|
|
5
|
-
* @returns `true` if the current environment is local development, otherwise `false`.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* isLocalDevelopment();
|
|
10
|
-
* // true (in local development), false (in other environments)
|
|
11
|
-
*/
|
|
12
|
-
export declare const isLocalDevelopment: () => boolean;
|
|
13
|
-
//# sourceMappingURL=is-local-development.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=()=>process.env.REDOCLY_ENV==="local";export{e as isLocalDevelopment};
|