@redocly/realm 0.129.2 → 0.130.0-custom.1
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 +3 -3
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as g from"@redocly/openapi-docs";import{REDOCLY_TEAMS_RBAC as d}from"@redocly/config";import{combineUrls as
|
|
1
|
+
import*as g from"@redocly/openapi-docs";import{REDOCLY_TEAMS_RBAC as d}from"@redocly/config";import{combineUrls as u}from"@redocly/theme/core/utils";import{SEARCH_DOCUMENT_METADATA_KEY as y}from"../../constants/plugins/search.js";import{removeMarkdownLinks as c,stripFormatting as a}from"./utils.js";import{normalizeFrontmatterKeywords as x}from"../helpers/normalize-frontmatter-keywords.js";const l=g.default||g;class T{#n=[];#r;#s;#e;#i;constructor(e,t,n){this.#r=e,this.#s=t,this.#e=n}addItem(e){const{result:t}=x(e.keywords||e.operationDefinition?.keywords);t?.excludes&&e.type==="section"&&e.id===""&&(this.#i=t.excludes);try{let n;switch(e.type){case"tag":n=this.#c(e);break;case"operation":const o=this.getOperation(e);n=this.#d(o,e[d]);break;case"section":n=this.#p(e);break;case"rsrc":case"prompt":case"tool":n=this.#o(e);break}if(!n)return;const s=[...new Set([...t?.excludes?t.excludes:[],...this.#i?this.#i:[]])];return(t||s.length)&&(n[y]={curated:!0,...t,excludes:s}),this.#n.push(n),n}catch(n){console.error("Cannot add item to search indexer",n.message)}}addInfo(e,t){const n=this.#e,s={id:n,url:n,text:a(c(e.description||"")),title:a(`${e.title} (${e.version})`),metadata:t};return this.#n.push(s),s}#o(e){const t=u(this.#e,e.href);return{id:t,url:t,text:a(c(e.description||"")),title:e.name}}getResult(){return this.#n}getOperation(e){return l.getOperation(this.#r,e.operationDefinition,e.parent,{...this.#s,unstable_skipSamples:!0},e.href)}#a(e){return e.name.toString()+e.description+e.place}#d(e,t){if(e.type!=="operation")return;let n={};for(let i of e.parameters){if(i[d]||!i.name)continue;const r=i.schema?.example||i.example,p={name:i.name,description:a(c(i.description)),place:i.in+" parameters",mediaType:void 0,type:i.schema?.type.toString()||"unknown",deepLink:l.generateDeepLink(i),[d]:i[d],required:i.required,example:r?JSON.stringify(r):void 0,enum:i.schema?.enum?.length?i.schema.enum:void 0};n[this.#a(p)]=p}this.#t(n,e.requestBody?.content?.mediaTypes[0]?.schema,e.requestBody?.content?.mediaTypes[0]?.name,"request fields",!1);for(let i of e.responses){const r=`response ${i.code} fields`;this.#t(n,i.content?.mediaTypes[0]?.schema,i.content?.mediaTypes[0]?.name,r,!0)}let s=u(this.#e,e.href);return{id:s,url:s,title:a(e.name),text:a(c(e.description||"")),httpMethod:e.httpVerb,httpPath:e.path,deprecated:e.deprecated,isAdditionalOperation:e.isAdditionalOperation,security:e.security.map(i=>i.schemes.map(r=>r.id)).flat().filter(Boolean),parameters:Object.values(n),badges:e.badges.length?e.badges:void 0,[d]:t}}#t(e,t,n,s,o,i=[]){if(!(i.length>3)&&!(!t||t.isCircular)){if(t?.fields)for(let r of t.fields){if(t[d]||r.kind==="additionalProperties"||r.schema?.readOnly&&!o||r.schema?.writeOnly&&o)continue;const p=r.schema?.example||r.example,m=r.schema?.enum,h={name:r.name,description:a(r.description),place:s,mediaType:n,path:i,deepLink:l.generateDeepLink(r),type:r.schema?.type.toString()||"unknown",required:r.required||t.schema.required?.includes(r.name)||!1,example:p?JSON.stringify(p):void 0,enum:m?.length?m:void 0},f=this.#a(h);e[f]==null&&(e[f]=h,this.#t(e,r.schema,n,s,o,i.concat([r.name])))}t?.items&&this.#t(e,t.items,n,s,o,i)}}#c(e){const t=u(this.#e,e.href);return{id:t,url:t,text:a(c(e.description||"")),title:a(e.name)}}#p(e){const t=u(this.#e,e.href);return{id:t,url:t,text:a(c(e.description||"")),title:a(e.name)}}}export{T as SearchIndexer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{writeFileSync as
|
|
1
|
+
import{writeFileSync as u}from"fs";import o from"path";import{dump as x}from"js-yaml";import{PUBLIC_API_DEFINITIONS_FOLDER as g,PUBLIC_STATIC_FOLDER as c}from"../../constants/common.js";import{logger as h}from"../../tools/notifiers/logger.js";import{ensureDir as D}from"../../utils/fs.js";const a=new Map;function j(i,t){const r=g.slice(1);try{for(const n of i){const{definition:m,originalDefinition:p,relativePath:e,hash:s}=n,f=p||m;if(a.get(e)!==s){if(e.startsWith(c+"/")){const d=o.posix.extname(e);l({outDir:t,definitionFolder:".",relativePath:e.replace(c+"/",""),definitionString:d===".json"?JSON.stringify(f,null,2):x(f)}),a.set(e,s);continue}l({outDir:t,definitionFolder:r,relativePath:F(e,".json"),definitionString:JSON.stringify(f,null,2)}),a.set(e,s)}}}catch(n){h.error("failed to store definition bundles",n)}}function F(i,t){const r=o.posix.dirname(i),n=o.posix.basename(i,o.posix.extname(i))+t;return o.posix.join(r,n)}function l({outDir:i,definitionString:t,relativePath:r,definitionFolder:n}){u(D(o.resolve(i,`${n}/${r}`)),t,"utf8")}export{F as replaceFileExtension,j as storeDefinitionBundles};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import*as a from"react";import i from"styled-components";import{RedoclyOpenAPIDocs as c}from"@redocly/openapi-docs";import{LayoutVariant as s}from"@redocly/config";import{ThreePanelLayout as m}from"@redocly/theme/layouts/ThreePanelLayout";import{CatalogClassicInfoBlock as p}from"@redocly/theme/components/CatalogClassic/CatalogClassicInfoBlock";import{useUserClaims as
|
|
1
|
+
import*as a from"react";import i from"styled-components";import{RedoclyOpenAPIDocs as c}from"@redocly/openapi-docs";import{LayoutVariant as s}from"@redocly/config";import{ThreePanelLayout as m}from"@redocly/theme/layouts/ThreePanelLayout";import{CatalogClassicInfoBlock as p}from"@redocly/theme/components/CatalogClassic/CatalogClassicInfoBlock";import{useUserClaims as h}from"../../../../client/app/hooks";import{usePageSharedData as u}from"../../../../client/providers/page-data/hooks";import{usePatchedStore as d}from"./helpers.js";function f({pageProps:t}){const o=h(),e=u("openAPIDocsStore"),n=a.useMemo(()=>({layout:t.apiOptions?.layout,userClaims:o}),[t.apiOptions?.layout,o]),r=d(e,t);if(!e)return"Something went wrong";const l=t.apiOptions?.layout;return a.createElement(g,null,a.createElement(v,{layout:l},a.createElement(p,{metadata:t.metadata})),a.createElement(c,{store:{options:r.options,definition:r.definition,withState:n}}))}const v=i(m)`
|
|
2
2
|
&& {
|
|
3
3
|
padding-right: ${({layout:t})=>t===s.THREE_PANEL?"calc(var(--panel-gap-horizontal) * 2)":"var(--panel-gap-horizontal)"};
|
|
4
4
|
}
|
|
5
5
|
`,g=i.div`
|
|
6
6
|
div[id] {
|
|
7
|
-
scroll-margin-top: calc(
|
|
7
|
+
scroll-margin-top: calc(
|
|
8
|
+
var(--navbar-height) + var(--banner-height) - var(--panel-gap-vertical)
|
|
9
|
+
);
|
|
8
10
|
}
|
|
9
11
|
a[id] {
|
|
10
|
-
scroll-margin-top: calc(
|
|
12
|
+
scroll-margin-top: calc(
|
|
13
|
+
var(--navbar-height) + var(--banner-height) + var(--panel-gap-vertical)
|
|
14
|
+
);
|
|
11
15
|
}
|
|
12
16
|
|
|
13
17
|
--sidebar-width: 0px;
|
|
14
|
-
`;export{
|
|
18
|
+
`;export{f as default};
|
|
@@ -11,8 +11,8 @@ type OpenAPIDocsStore = {
|
|
|
11
11
|
};
|
|
12
12
|
export declare function joinWithSeparator(base?: string, path?: string, sep?: string): string;
|
|
13
13
|
export declare function parsePartials(partials?: Record<string, any>): Record<string, Node | Node[]> | undefined;
|
|
14
|
-
export declare function usePatchedStore(storeJs: OpenAPIDocsStore, { markdown, baseSlug }: PageProps): OpenAPIDocsStore;
|
|
14
|
+
export declare function usePatchedStore(storeJs: OpenAPIDocsStore, { markdown, baseSlug, customFields }: PageProps): OpenAPIDocsStore;
|
|
15
15
|
export declare function safeParseFunction(fnInput: EventFunctionInput): ((event: EventType) => void) | null;
|
|
16
|
-
export declare function mergeEvents(userFunction: ((event: EventType) => void) | null, telemetryEvent?: AsyncApiRealmUI.GetEventData<'openapi_docs'>['eventType']): (event: EventType) => void;
|
|
16
|
+
export declare function mergeEvents(userFunction: ((event: EventType) => void) | null, telemetryEvent?: AsyncApiRealmUI.GetEventData<'openapi_docs'>[number]['eventType']): (event: EventType) => void;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{useMemo as
|
|
1
|
+
import{useMemo as h}from"react";import{components as v}from"@redocly-markdoc/components";import{Ast as _}from"@markdoc/markdoc";import{PageNavigation as S}from"@redocly/theme/components/PageNavigation/PageNavigation";import{tags as y,components as w}from"@redocly/theme/markdoc/default";import{Breadcrumbs as P}from"@redocly/theme/components/Breadcrumbs/Breadcrumbs";import{withPathPrefix as f}from"@redocly/theme/core/utils";import{OPENAPI_DOCS_TEMPLATE_ID as O,ServerRoutes as b}from"../../../../constants/common.js";import{isBrowser as C}from"../../../../utils/env/is-browser.js";import*as E from"../../markdown/markdoc/custom-components/index.js";import*as x from"../../markdown/markdoc/nodes/index.js";import A from"../../markdown/markdoc/tags/index.js";import{usePageData as T,useSidebarSiblingsData as D}from"../../../../client/providers/page-data/hooks";import{telemetry as I}from"../../../../client/app/telemetry/index.js";import{getMockServerDocsConfig as $}from"./mock-server-config";function K(e="",o="",t="/"){return e.endsWith(t)&&(e=e.slice(0,-t.length)),o.startsWith(t)&&(o=o.slice(t.length)),!e||!o?e+o:e+t+o}function F(e){if(e)return Object.entries(e).reduce((o,[t,s])=>(o[t]=_.fromJSON(JSON.stringify(s)),o),{})}function Z(e,{markdown:o,baseSlug:t,customFields:s}){return h(()=>{const u=C();function m(n,i){return n?.replace(/\/$/,"")===i?.replace(/\/$/,"")}function d(n){return e.definition.servers?.find(i=>m(i.url,n.host))?.description||(n.environment?n.environment+" server":null)||"Computed server"}const a=s?.computedServers||e.definition["x-computed-servers"];if(a){const n=e.definition.servers?.filter(r=>!a.some(c=>m(c.host,r.url))),i=a.map(r=>{const c=d(r);return{...r,url:r.host,"x-isLive":!0,description:c,"x-labels":[r.tenant?{label:"Gateway Name",color:"gold",value:r.tenant}:null,r.environment?{label:"Env",color:"blue",value:r.environment}:null,r.version?{label:"Version",color:"green",value:r.version}:null].filter(Boolean)}});e.definition.servers=[...i||[],...n||[]]}e.options.oAuth2RedirectURI=u?`${window.location.origin}${f(b.REPLAY_OAUTH2_CALLBACK)}`:null,e.options.routingBasePath=f(t),e.options.mockServer=$(e.options.mockServer,t),e.options.scrollYOffset=u?parseInt(getComputedStyle(document.documentElement).getPropertyValue("--navbar-height"),10):0,e.options.markdocOptions={tags:{...A,...y},nodes:{...x},components:{...E,...w,...v,...globalThis.__LOADER.markdocComponents},...o,partials:F(o?.partials)},e.options.unstable_hooks={...e.options.unstable_hooks,MiddlePanelFooter:()=>{const{templateId:n}=T()||{},{nextPage:i,prevPage:r}=D()||{};return n===O?null:S({nextPage:i,prevPage:r})},MiddlePanelHeader:()=>P({})};const g={codeSamplesLanguageSwitch:"samples_language_switch",codeSamplesCopy:"code_samples_copy",panelToggle:"panel_toggle",targetServerSwitch:"target_server_switch",tryItOpen:"try_it_toggle",tryItSent:"try_it_sent"},p={};for(const[n,i]of Object.entries(g)){const r=L(e.options.events?.[n]);p[n]=N(r,i)}return e.options.events=p,e},[e,o,t,s])}function L(e){if(typeof window>"u")return null;if(typeof e=="function")return e;if(typeof e!="string")return null;try{const o=e.trim();if(!o.match(/^(\([^)]*\)\s*=>\s*.+|[a-zA-Z_$][\w$]*\s*=>\s*.+)$/))throw new Error("Invalid function format. Only arrow functions allowed.");if(["eval","Function","constructor","prototype","__proto__","import","require","process","global","window","document"].some(l=>o.includes(l)))throw new Error("Function contains prohibited keywords");return new Function("event",`
|
|
2
2
|
'use strict';
|
|
3
|
-
const userFn = ${
|
|
3
|
+
const userFn = ${o};
|
|
4
4
|
return userFn(event);
|
|
5
|
-
`)}catch(
|
|
5
|
+
`)}catch(o){return console.error("Function parsing error:",o),null}}function N(e,o){return t=>{if(e)try{e(t)}catch(s){console.error("User event handler error:",s)}if(o)try{I.sendOpenapiDocsMessage([{object:"openapi_docs",eventType:o,operationHttpVerb:t.operationHttpVerb,operationPath:t.operationPath,lang:"lang"in t?t.lang:void 0,action:t.action,state:"state"in t?t.state:void 0,serverUrl:"serverUrl"in t?t.serverUrl:void 0}])}catch{}}}export{K as joinWithSeparator,N as mergeEvents,F as parsePartials,L as safeParseFunction,Z as usePatchedStore};
|
|
@@ -3,6 +3,7 @@ import type { ItemBadge, NavItem, ResolvedNavItem } from '@redocly/config';
|
|
|
3
3
|
export type IMenuItemExtended = {
|
|
4
4
|
httpVerb?: string;
|
|
5
5
|
isWebhook?: boolean;
|
|
6
|
+
isRpc?: boolean;
|
|
6
7
|
badges?: ItemBadge[];
|
|
7
8
|
} & IMenuItem;
|
|
8
9
|
export declare function convertOpenAPIDocs2Sidebar(data: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { LifecycleContext, ProcessContentActions } from '../../types';
|
|
2
2
|
import type { DetailedScorecardData } from './types.js';
|
|
3
3
|
import { type ScorecardConfig, type RedoclyConfig } from '@redocly/theme/config';
|
|
4
|
-
export declare function computeScorecard({ actions, context, scorecardConfig, reuniteConfig, }: {
|
|
4
|
+
export declare function computeScorecard({ actions, context, scorecardConfig, reuniteConfig, configHash, }: {
|
|
5
5
|
actions: ProcessContentActions;
|
|
6
6
|
context: LifecycleContext;
|
|
7
7
|
scorecardConfig: ScorecardConfig;
|
|
8
8
|
reuniteConfig: RedoclyConfig['reunite'];
|
|
9
|
+
configHash: string;
|
|
9
10
|
}): Promise<Record<string, DetailedScorecardData>>;
|
|
10
11
|
//# sourceMappingURL=compute-scorecard.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
- ${
|
|
3
|
-
- `)}`;
|
|
4
|
-
... and ${
|
|
1
|
+
import u from"node:path";import{existsSync as V,readFileSync as L}from"node:fs";import $ from"picomatch";import{removeLeadingSlash as b}from"@redocly/theme/core/utils";import{parsePathVersions as E}from"../../../utils/path/parse-path-versions.js";import{logger as a}from"../../tools/notifiers/logger.js";import{envConfig as M}from"../../../config/env-config.js";import{ScorecardStatus as m}from"./types.js";import{getTarget as k}from"./loaders/scorecard.js";import{sha1 as z}from"../../utils/crypto/sha1.js";const h=15;async function ie({actions:n,context:s,scorecardConfig:r,reuniteConfig:l,configHash:i}){a.info("Computing scorecard...");const o=r.levels||[],p=o[0];let t=await n.loadOpenApiDefinitions(s);const N=r.ignore||[],_=$(N),D=new Set,x=a.startTiming(),c={};let g={};V(u.resolve(n.outdir,"_scorecard","meta.json"))&&(g=JSON.parse(L(u.resolve(n.outdir,"_scorecard","meta.json"),"utf-8")));let v=0;M.isDevelopMode&&!M.DEV_FULL_SCORECARD&&(t=t.slice(0,50));for(const e of t){if(e.definition?.["x-redocly-openrpc"]||e.isVirtual||!e.definition)continue;const P=e.definition.info?.["x-metadata"]||{},y=b(e.realRelativePath);if(c[e.realRelativePath])continue;const T=e.customOutputRelativeFile||e.realRelativePath;D.add(T);const A=k(r.targets,P),{minimumLevel:S=p.name,ignore:B}=A||{};if(B||_(y)){a.info(`Skipping scorecard calculation for ignored file: ${e.realRelativePath}`);continue}let d;const f=g[e.realRelativePath],O=z(e.hash+i+JSON.stringify(P));f&&f.hash===O?(v++,d=JSON.parse(L(u.resolve(n.outdir,f.filename),"utf-8"))):{data:d}=await s.cache.load(e.realRelativePath,"scorecard");const{levels:C,scorecardLevelIdx:R,scorecardLevel:I}=d,w=o.findIndex(J=>J.name===S),j=R-1<w?m.BelowMinimum:w<o.length-1?m.Minimum:m.Highest,F=E(e.realRelativePath)?.versionName,H={levels:C,status:j,targetLevel:S,scorecardLevel:I,scorecardLevelIdx:R,relativePath:e.realRelativePath,title:e.definition.info?.title,version:F,hash:O};c[e.realRelativePath]=H}return a.infoTime(x,"Scorecard processed, reused: %s/%s",v,t.length),U(c,l,r),c}function U(n,s,r){const l=Object.values(n).filter(t=>t.status===m.BelowMinimum);if(l.length===0)return;const i=l.map(t=>t.relativePath);let o=`Detected OpenAPI definitions with score below minimum level:
|
|
2
|
+
- ${i.slice(0,h).map(()=>"%rp").join(`
|
|
3
|
+
- `)}`;i.length>h&&(o+=`
|
|
4
|
+
... and ${i.length-h} more`),s?.ignoreLint??r.ignoreNonCompliant?a.warn(o,...i):a.error(o,...i)}export{ie as computeScorecard};
|
|
@@ -124,13 +124,14 @@ export declare const getScorecardConfig: (config: Partial<RedoclyConfig>) => {
|
|
|
124
124
|
property?: string | undefined;
|
|
125
125
|
} | undefined;
|
|
126
126
|
targets?: {
|
|
127
|
+
ignore?: boolean | undefined;
|
|
127
128
|
rules?: {
|
|
128
129
|
[x: string]: unknown;
|
|
129
130
|
} | undefined;
|
|
130
131
|
minimumLevel?: string | undefined;
|
|
131
132
|
where: {
|
|
132
133
|
metadata: {
|
|
133
|
-
[x: string]:
|
|
134
|
+
[x: string]: unknown;
|
|
134
135
|
};
|
|
135
136
|
};
|
|
136
137
|
}[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{writeFileSync as
|
|
1
|
+
import{writeFileSync as I}from"node:fs";import v from"path";import{SCORECARD_OUTPUT_FILE_NAME as N}from"../../constants/common.js";import{mapObject as P}from"../../../utils/object/map-object.js";import{envConfig as F}from"../../../config/env-config.js";import{removeLeadingSlash as U}from"../../../utils/url/remove-leading-slash.js";import{combineUrls as D}from"@redocly/theme/core/utils";import{logger as O}from"../../tools/notifiers/logger.js";import{getRouteSlugToCatalogSlugMap as k}from"../../utils/catalog-classic/get-route-slug-to-catalog-slug-map.js";import{deepEqual as j}from"../../../utils/object/deep-equal.js";import{ensureDir as q}from"../../utils/index.js";import{getTemplatePath as M}from"./get-template-path.js";import{getAllRuleNames as J}from"./lint.js";import{getScorecardConfig as b}from"./get-scorecard-config.js";import{CUSTOM_FIELDS_SERVER_PROPS_GETTER_ID as W}from"../catalog-classic/index.js";import{getScorecardSlug as $}from"./shared-utils.js";import{scorecardConfigLoader as G}from"./loaders/scorecard-config.js";import{scorecardLoader as H}from"./loaders/scorecard.js";import{computeScorecard as x}from"./compute-scorecard.js";import{telemetryTraceStep as B}from"../../../cli/telemetry/helpers/trace-step.js";const V="scorecardClassic";let n={},L={};async function fe({id:w,requiredEntitlements:A,loadersPrefix:y=""}){let g=null,E=null,R=!1;return{id:w??"scorecardClassic",requiredEntitlements:A??["scorecard"],loaders:{[`${y}scorecard-config`]:G,[`${y}scorecard`]:H},async processContent(t,c){await B("build.plugin.scorecard_classic",async m=>{const a=t.createTemplate(V,M("./template/index.js")),s=await c.getConfig(),l=b(s),f=s?.reunite??{},d=[()=>g===null,()=>!j(n,l),()=>!j(L,f)].some(e=>e());n=l,m?.setAttribute("config",JSON.stringify(n||{})),L=f;const p=s.catalogClassic??{},u=n.levels||[];if(u.length<1)throw Error("Invalid configuration of levels config");d&&(g=await x({actions:t,context:c,scorecardConfig:n,reuniteConfig:L,configHash:s.hash||""}));const{data:{configs:S}}=await c.cache.load("",`${y}scorecard-config`),{perLevel:r,all:i}=J(S);E={levelNames:u.map(e=>e.name),rules:i,rulesPerLevel:r};for(const[e,o]of Object.entries(p)){const T=D(o.slug,"scorecard/");t.addRoute({duplicateInAllLocales:!0,slug:T,fsPath:D(o.slug,"scorecard/"),templateId:a,hasClientRoutes:!0,excludeFromSidebar:!0,serverPropsGetterIds:[W],sharedData:[{id:"scorecard",key:"scorecard"},{key:"catalog",id:"catalog-"+e}],getNavText:()=>Promise.resolve(o.title||"API design scorecard"),getStaticData:async()=>({props:{catalogId:e,catalogConfig:{...o,items:void 0},scorecardConfig:n,scorecardInfo:E}})})}})},afterRoutesCreated:async(t,c)=>{const m=await c.getConfig(),a=m.catalogClassic??{},s=b(m),l={},f=O.startTiming("Injecting scorecard data into routes..."),d={};if(Object.keys(a).length){const u=Object.keys(a).length>1?await k(t,c,a):null;for(const[S,r]of Object.entries(g||{})){const i=t.getRouteByFsPath(S),e=i?.slug;if(!e)continue;if(i&&!s.ignoreMetadata){const C=u?u.get(e)??Object.values(a)[0].slug:Object.values(a)[0].slug,h=D(C,"scorecard/");i.metadata={...i.metadata,scorecardStatus:r.status,scorecardLevel:r.scorecardLevel,scorecardLevelIdx:r.scorecardLevelIdx,scorecardLevels:P(r.levels,_=>({uniqueErrors:_.uniqueErrors,uniqueWarnings:_.uniqueWarnings})),scoreCardSlug:h+"apis/"+encodeURIComponent(U(e))}}const o=v.join("_scorecard",$(e)),T=v.resolve(t.outdir,o);d[e]={detailsChunkPath:o,...r,levels:P(r.levels,C=>({...C,problems:C.problems.map(h=>({ruleId:h.ruleId,severity:h.severity}))}))},R||(I(q(T),JSON.stringify(r)),l[S]={hash:r.hash,filename:o})}I(v.resolve(t.outdir,"_scorecard","meta.json"),JSON.stringify(l)),await t.createSharedData("scorecard",d)}O.infoTime(f,"Injecting scorecard data into routes...");const p=F.REDOCLY_METADATA_OUTPUT_FOLDER;!R&&p&&(O.info("Writing scorecard data..."),I(v.join(p,N),JSON.stringify({scorecardData:d,...E})),g=null,O.info("Scorecard data written...")),R=!0}}}export{fe as scorecardClassicPlugin};
|
|
@@ -5,7 +5,7 @@ export declare function lintDefinition(content: {
|
|
|
5
5
|
relativePath: string;
|
|
6
6
|
content: string;
|
|
7
7
|
parsed: any;
|
|
8
|
-
}, config: Config, context: LifecycleContext, externalRefResolver: ExternalResolver): Promise<{
|
|
8
|
+
}, config: Config, context: LifecycleContext, externalRefResolver: ExternalResolver, ignoreStructRule?: boolean): Promise<{
|
|
9
9
|
uniqueErrors: number;
|
|
10
10
|
uniqueWarnings: number;
|
|
11
11
|
problems: ProblemWithCodeframe[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as l from"path";import{lintDocument as
|
|
1
|
+
import*as l from"path";import{lintDocument as b,getTotals as g,getLineColLocation as P,Source as v,getCodeframe as h}from"@redocly/openapi-core";import{slash as m}from"../../../utils/path/slash.js";import{getUniqueProblemsCount as w}from"./shared-utils.js";const p=10;async function C(a,r,t,e,s=!1){const o=l.resolve(t.fs.cwd,a.relativePath),n=r.resolvedConfig.apis??{},i=Object.keys(n).find(f=>l.resolve(r.configPath?l.dirname(r.configPath):t.fs.cwd,n[f].root)===o),c={config:r.forAlias(i),base:l.dirname(o),document:{source:new v(o,a.content),parsed:a.parsed},externalRefResolver:e},u=await b(c),d=w(u);return{...g(u),uniqueErrors:d.errors,uniqueWarnings:d.warnings,problems:y(u,t.fs.cwd).filter(f=>!f.ignored||s&&f.ruleId!=="struct")}}function E(a){const r=new Set,t={};for(const[e,s]of Object.entries(a)){const o=t[e]=t[e]||new Set,n=s.rules.oas3_0;for(const i of Object.keys(n))if(i==="assertions"){if(!Array.isArray(n[i]))continue;for(const c of n[i])c&&(o.add(c.assertionId),r.add(c.assertionId))}else r.add(i),o.add(i)}return{perLevel:Object.fromEntries(Object.entries(t).map(([e,s])=>[e,Array.from(s)])),all:Array.from(r)}}function y(a,r){const t={};return a.map(e=>{const s=t[e.ruleId]||0;t[e.ruleId]=s+1;const o=e.location[0];if(s>p)return{...e,codeframe:`Only first ${p} code frames are shown.`,location:{...o,source:{absoluteRef:m(l.relative(r,o.source.absoluteRef))}},from:void 0};const n=P(o);return{...e,codeframe:h(n,!1),location:{...o,source:{absoluteRef:m(l.relative(r,o.source.absoluteRef))}},from:void 0}})}export{E as getAllRuleNames,C as lintDefinition};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import g from"node:path";import{createConfig as u,loadIgnoreConfig as m}from"@redocly/openapi-core";import{ruleTypes as p}from"@redocly/config";import{ExternalResolver as C}from"../../../fs/utils/external-ref-resolver.js";import{deepMerge as d}from"../../../../utils/object/deep-merge.js";import{CONFIG_FILE_NAME as v}from"../../../../constants/common.js";import{getScorecardConfig as w}from"../get-scorecard-config.js";async function N(t,o){const e=await o.getConfig(),n=w(e),s=n.levels??[],r=g.join(o.fs.cwd,v),a=new C(o.fs),i=await m(r,a),c=await f(s,e.plugins,r,i),l=await y(n.targets,s,e.plugins,r,i);return{levelsConfig:s,configs:c,targets:l}}async function f(t,o=[],e,n){const s={};for(const r of t)r.name!=="Baseline"&&(r.rules=r.rules??{struct:"error"},r.rules.struct="error"),s[r.name]=await u({...r,plugins:o},{configPath:e,ignore:n});return s}async function y(t,o,e=[],n,s){return t?Promise.all(t?.filter(r=>!!r.rules).map(async r=>{const a=o.map(i=>({name:i.name,...L(i,r.rules)}));return{...r,configs:await f(a,e,n,s)}})||[]):[]}function L(t,o){return p.reduce((e,n)=>(e[n]=d(t[n]??{},o??{}),e),{})}export{N as scorecardConfigLoader};
|
|
@@ -8,11 +8,13 @@ export type ScorecardLoaderResult = {
|
|
|
8
8
|
export declare function scorecardLoader(relativePath: string, context: LifecycleContext): Promise<ScorecardLoaderResult>;
|
|
9
9
|
export declare function getTarget<T extends object>(targets: Array<{
|
|
10
10
|
where: {
|
|
11
|
-
metadata: Record<string,
|
|
11
|
+
metadata: Record<string, unknown>;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
minimumLevel?: string;
|
|
14
|
+
} & T> | undefined, metadata: Record<string, unknown>): ({
|
|
14
15
|
where: {
|
|
15
|
-
metadata: Record<string,
|
|
16
|
+
metadata: Record<string, unknown>;
|
|
16
17
|
};
|
|
17
|
-
|
|
18
|
+
minimumLevel?: string;
|
|
19
|
+
} & T) | undefined;
|
|
18
20
|
//# sourceMappingURL=scorecard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import b from"node:path";import{reporter as v}from"../../../tools/notifiers/reporter.js";import{lintDefinition as k}from"../lint.js";import{ExternalResolver as C}from"../../../fs/utils/external-ref-resolver.js";const I="Non-conformant";async function R(r,e){const{data:{levelsConfig:s,configs:n,targets:t}}=await e.cache.load("","scorecard-config"),a={};let o=I,f=!1;const d=await e.fs.read(r),{data:c}=await e.cache.load(r,"yaml"),p=new C(e.fs);let l={};const u=await e.getConfig(b.posix.dirname(r)),x=c?.info?.["x-metadata"],g={title:c.info?.title,version:c.info?.version,...x,...u.metadata};t.length&&(l=M(t,g)?.configs||{});for(const i of s){const h=i.name!=="Baseline",m=await k({parsed:{...c,info:{...c?.info,"x-metadata":g}},content:d,relativePath:r},l[i.name]||n[i.name],e,p,h);a[i.name]=m,m.errors===0&&!f?o=i.name:f=!0}let w=s.findIndex(i=>i.name===o);return{levels:a,scorecardLevel:o,scorecardLevelIdx:w+1}}function M(r,e){if(r)for(const s of r){let n=!0;for(const[t,a]of Object.entries(s.where?.metadata||{}))if(String(a).match(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}Z)?\/(\d{4}-\d{2}-\d{2})?$/)){if(!e[t]){n=!1;break}const[o,f]=String(a).split("/"),d=new Date(e[t]);if(d<new Date(o)||f&&d>new Date(f)){n=!1;break}}else if(String(a).match(/^\/.*\//)){if(!e[t]){n=!1;break}try{if(!new RegExp(String(a).slice(1,-1)).test(e[t])){n=!1;break}}catch{v.panicOnBuild(`Invalid regex in scorecard target "${t}": ${a}`),n=!1;break}}else if(e[t]!==a){n=!1;break}if(n)return s}}export{M as getTarget,R as scorecardLoader};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NormalizedProblem } from '@redocly/openapi-core';
|
|
2
|
-
export declare function getUniqueProblemsCount<T extends Pick<NormalizedProblem, 'severity' | 'ruleId'>>(problems: T[]): {
|
|
2
|
+
export declare function getUniqueProblemsCount<T extends Pick<NormalizedProblem, 'severity' | 'ruleId'>>(problems: T[], ignoreSpecRule?: boolean): {
|
|
3
3
|
errors: number;
|
|
4
4
|
warnings: number;
|
|
5
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function o
|
|
1
|
+
function t(e,o){const r={error:new Set,warn:new Set};for(const n of e)o&&n.ruleId==="spec"||r[n.severity]?.add(n.ruleId);return{errors:r.error.size,warnings:r.warn.size}}function s(e){return e==="/"?"index.json":e.substring(1,e.length-1)+".json"}export{s as getScorecardSlug,t as getUniqueProblemsCount};
|
|
@@ -10,11 +10,12 @@ export type GridProps = {
|
|
|
10
10
|
data: PossibleRowData[];
|
|
11
11
|
columns: ColumnDef<PossibleRowData>[];
|
|
12
12
|
};
|
|
13
|
-
export declare const Grid: ({ data, columns, sortBy, empty, subRowKey, slug, groupHeaderTitle, }: GridProps & {
|
|
13
|
+
export declare const Grid: ({ data, columns, sortBy, empty, subRowKey, slug, groupHeaderTitle, virtualized, }: GridProps & {
|
|
14
14
|
sortBy?: SortingState;
|
|
15
15
|
empty?: ReactElement | string;
|
|
16
16
|
subRowKey?: string;
|
|
17
17
|
slug?: string;
|
|
18
18
|
groupHeaderTitle?: string;
|
|
19
|
+
virtualized?: boolean;
|
|
19
20
|
}) => React.JSX.Element;
|
|
20
21
|
//# sourceMappingURL=Grid.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import t,{useMemo as
|
|
1
|
+
import t,{useMemo as c,useState as z,useEffect as G}from"react";import{useReactTable as $,getCoreRowModel as k,getSortedRowModel as A,getExpandedRowModel as I}from"@tanstack/react-table";import g from"styled-components";import{useWindowVirtualizer as H}from"@tanstack/react-virtual";import{SpinnerLoader as L}from"@redocly/theme/components/Loaders/SpinnerLoader";import{GridRow as p}from"./GridRow";import{GridHeader as V}from"./GridHeader";const P=({data:i,columns:n,sortBy:l,empty:w,subRowKey:s="subrows",slug:f,groupHeaderTitle:E,virtualized:R=!0})=>{const h=c(()=>l||[],[l]),v=$({columns:n,data:i,getCoreRowModel:k(),getSortedRowModel:A(),getExpandedRowModel:I(),getSubRows:e=>{const o=e?.[s];return Array.isArray(o)?o:[]},...l?{initialState:{sorting:h}}:{},autoResetExpanded:!1}),{getHeaderGroups:y,getRowModel:x}=v,C=y(),{rows:M}=x(),r=M.filter(e=>e.depth===0),[d,S]=z(!1);G(()=>{S(!0)},[]);const m=H({count:r.length,estimateSize:()=>54,overscan:R?15:9999,getItemKey(e){return`vi-row-${r[e].id}-${r.length}`}}),T=d?m.getVirtualItems():[],b=r.slice(0,50),a=c(()=>i.some(o=>{const u=o[s];return Array.isArray(u)&&u.length>0})?`50px repeat(${n.length-1}, 1fr)`:`25% repeat(${n.length-1}, 1fr)`,[n.length,i,s]);return t.createElement("div",{role:"table"},t.createElement(V,{headerGroups:C,gridTemplateColumns:a,groupHeaderTitle:E}),t.createElement(j,{style:{height:d?m.getTotalSize():"auto"},role:"rowgroup"},r.length>0?d?T.map(e=>{const o=r[e.index];return t.createElement(p,{key:e.key,variant:"virtualized",row:o,slug:f,virtualRow:e,virtualizer:m,gridTemplateColumns:a})}):t.createElement(t.Fragment,null,b.map(e=>t.createElement(p,{key:`ssr-row-${e.id}`,variant:"ssr",row:e,gridTemplateColumns:a})),t.createElement(D,null,t.createElement(L,{color:"var(--link-color-primary)",size:"20px"}))):t.createElement(p,{variant:"noData",empty:w,gridTemplateColumns:a})))},j=g.div`
|
|
2
2
|
position: relative;
|
|
3
|
-
`,
|
|
3
|
+
`,D=g.div`
|
|
4
4
|
display: flex;
|
|
5
5
|
justify-content: center;
|
|
6
6
|
align-items: center;
|
|
7
7
|
margin: 10px;
|
|
8
|
-
`;export{
|
|
8
|
+
`;export{P as Grid};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as r from"react";import a from"styled-components";import{CloseFilledIcon as
|
|
1
|
+
import*as r from"react";import a from"styled-components";import{CloseFilledIcon as s}from"@redocly/theme/icons/CloseFilledIcon/CloseFilledIcon";import{WarningAltFilled as m}from"@redocly/theme/icons/WarningAltFilled/WarningAltFilled";import{CheckboxFilledIcon as d}from"@redocly/theme/icons/CheckboxFilledIcon/CheckboxFilledIcon";const o={Pass:{background:"--color-green-1",icon:"--color-green-6"},Warn:{background:"--color-carrot-1",icon:"--color-carrot-6"},Error:{background:"--color-raspberry-1",icon:"--color-raspberry-6"}},b=({uniqueErrors:e,uniqueWarnings:l,customDisplay:i,id:n})=>{const c=[];return e===0&&c.push(r.createElement(t,{key:`${n}-pass`,color:`var(${o.Pass.background})`},r.createElement(d,{size:"13px",color:`var(${o.Pass.icon})`}))),e>0&&c.push(r.createElement(t,{key:`${n}-error`,color:`var(${o.Error.background})`},r.createElement(s,{size:"12px",color:`var(${o.Error.icon})`}),r.createElement(p,{color:`var(${o.Error.icon})`},i||e))),l>0&&c.push(r.createElement(t,{key:`${n}-warning`,color:`var(${o.Warn.background})`},r.createElement(m,{size:"12px",color:`var(${o.Warn.icon})`}),r.createElement(p,{color:`var(${o.Warn.icon})`},i||l))),r.createElement(g,null,c)},g=a.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
gap: 4px;
|
|
@@ -10,8 +10,8 @@ import*as r from"react";import a from"styled-components";import{CloseFilledIcon
|
|
|
10
10
|
padding: 4px;
|
|
11
11
|
border-radius: 4px;
|
|
12
12
|
height: 20px;
|
|
13
|
-
`,
|
|
13
|
+
`,p=a.span`
|
|
14
14
|
color: ${({color:e})=>e};
|
|
15
15
|
font-size: 12px;
|
|
16
16
|
margin-left: 4px;
|
|
17
|
-
`;export{
|
|
17
|
+
`;export{b as LevelIndicator,o as SEVERITY_TO_COLOR_ICON};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as t from"react";import{useState as
|
|
1
|
+
import*as t from"react";import{useState as s}from"react";import{getScorecardColorVariable as i}from"@redocly/theme/core/utils";import{Button as m}from"@redocly/theme/components/Button/Button";import{SubtractIcon as u}from"@redocly/theme/icons/SubtractIcon/SubtractIcon";import{AddIcon as E}from"@redocly/theme/icons/AddIcon/AddIcon";import{Gauge as p}from"./Gauge";import{Code as f,Dot as l,FilePreview as d,InstanceControlsWrap as I,InstanceMessage as v,InstanceReference as x,InstanceWrap as C,ContentWithDotWrap as c,EmojiWrap as g}from"./index.styles";import{SEVERITY_TO_COLOR as S,severityColor as b,severityIcon as R}from"./utils";function j({level:e,colorVariable:r}){return t.createElement(c,null,t.createElement(l,{colorVariable:r}),t.createElement("span",null,e))}function w({summary:e}){const r=Object.keys(e.levels).length;return t.createElement(p,{chunks:Object.entries(e.levels).map(([a,n],o)=>({share:n/e.total*100,colorVariable:i(o,r),title:`${n} ${a}`}))})}function D({severity:e}){return t.createElement(l,{colorVariable:S[e]})}function P({errors:e,warnings:r}){return t.createElement(c,null,t.createElement(l,{colorVariable:`--scorecard-color-${e>0?"error":r>0?"warning":"success"}`}),e>0?"Problem":r>0?"Warning":"Normal")}function T({errors:e,warnings:r}){return t.createElement(l,{colorVariable:`--scorecard-color-${e>0?"error":r>0?"warning":"success"}`})}function V({problem:e}){const[r,a]=s(!1),n=!!e.codeframe;return t.createElement(I,{onClick:()=>a(o=>!o),className:r?"expanded":""},n?t.createElement(m,{variant:"text",size:"medium",icon:r?t.createElement(u,null):t.createElement(E,null)}):null,t.createElement(C,{borderColor:b(e.severity)},t.createElement("div",null,t.createElement(v,null,t.createElement(g,null,R(e.severity))," ",t.createElement("span",{dangerouslySetInnerHTML:{__html:e.message}}))),r&&n?t.createElement(d,{onClick:o=>o.stopPropagation()},t.createElement(x,null,t.createElement("strong",null,e.location.source.absoluteRef),e.location.pointer),t.createElement(f,null,e.codeframe)):null))}const A=e=>t.createElement(V,{problem:e});export{j as ApiLevel,V as Instance,D as InstanceStatus,T as LevelStatus,P as RuleStatus,w as StatusDistribution,A as renderRowSubComponent};
|
|
@@ -11,6 +11,7 @@ export declare const CardsWrapper: import("styled-components").StyledComponent<"
|
|
|
11
11
|
export declare const Dot: import("styled-components").StyledComponent<"span", any, {
|
|
12
12
|
colorVariable: string;
|
|
13
13
|
}, never>;
|
|
14
|
+
export declare const StyledTable: import("styled-components").StyledComponent<"table", any, {}, never>;
|
|
14
15
|
export declare const CatalogDescription: import("styled-components").StyledComponent<"p", any, {}, never>;
|
|
15
16
|
export declare const CatalogPageWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
16
17
|
export declare const StyledInput: import("styled-components").StyledComponent<"input", any, {}, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import r from"styled-components";import{Popup as
|
|
1
|
+
import r from"styled-components";import{Popup as e}from"reactjs-popup";import{Button as t}from"@redocly/theme/components/Button/Button";const c=r.div.attrs({"data-component-name":"Scorecard/Card"})`
|
|
2
2
|
color: var(--text-color-primary);
|
|
3
3
|
background-color: var(--bg-color-raised);
|
|
4
4
|
border-radius: 4px;
|
|
@@ -24,7 +24,7 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
24
24
|
display: flex;
|
|
25
25
|
flex-direction: column;
|
|
26
26
|
gap: 5px;
|
|
27
|
-
`,
|
|
27
|
+
`,b=r.div`
|
|
28
28
|
display: flex;
|
|
29
29
|
flex-direction: row;
|
|
30
30
|
gap: 10px;
|
|
@@ -38,11 +38,11 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
38
38
|
`,a=r.span`
|
|
39
39
|
vertical-align: middle;
|
|
40
40
|
display: inline-block;
|
|
41
|
-
`,
|
|
41
|
+
`,f=r(a)`
|
|
42
42
|
margin-right: 0;
|
|
43
43
|
text-align: right;
|
|
44
44
|
width: 65px;
|
|
45
|
-
`,
|
|
45
|
+
`,g=r.div`
|
|
46
46
|
display: flex;
|
|
47
47
|
flex-wrap: wrap;
|
|
48
48
|
gap: 20px;
|
|
@@ -55,6 +55,80 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
55
55
|
border: 1px solid var(--border-color-primary);
|
|
56
56
|
background-color: var(${o=>o.colorVariable});
|
|
57
57
|
margin-top: 1px;
|
|
58
|
+
`,h=r.table`
|
|
59
|
+
width: 100%;
|
|
60
|
+
border-spacing: 0;
|
|
61
|
+
border-radius: var(--border-radius);
|
|
62
|
+
overflow: auto;
|
|
63
|
+
|
|
64
|
+
table-layout: fixed;
|
|
65
|
+
|
|
66
|
+
thead {
|
|
67
|
+
display: block;
|
|
68
|
+
border-top: 1px solid var(--border-color-primary);
|
|
69
|
+
border-bottom: 1px solid var(--border-color-primary);
|
|
70
|
+
position: sticky;
|
|
71
|
+
top: 0;
|
|
72
|
+
z-index: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
thead tr {
|
|
76
|
+
display: flex;
|
|
77
|
+
width: 100%;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
thead th {
|
|
81
|
+
padding: 5px 15px;
|
|
82
|
+
background-color: var(--bg-color-raised);
|
|
83
|
+
|
|
84
|
+
&:first-child {
|
|
85
|
+
flex-basis: 25%;
|
|
86
|
+
flex-grow: 0;
|
|
87
|
+
}
|
|
88
|
+
&:last-child {
|
|
89
|
+
flex-grow: 1;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
tr.toggle {
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
th,
|
|
98
|
+
td {
|
|
99
|
+
padding: 5px 15px;
|
|
100
|
+
text-align: left;
|
|
101
|
+
flex: 1;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
th:has(${t}),
|
|
105
|
+
td:has(${t}) {
|
|
106
|
+
padding: 2px 4px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
th {
|
|
110
|
+
font-weight: bold;
|
|
111
|
+
color: var(--text-color-secondary);
|
|
112
|
+
cursor: pointer;
|
|
113
|
+
white-space: nowrap;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
tr.nested-hide {
|
|
117
|
+
display: none;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
th.controls-col {
|
|
121
|
+
width: 20px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
tbody tr {
|
|
125
|
+
border-bottom: 1px solid var(--border-color-primary);
|
|
126
|
+
align-items: center;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
tbody tr td:first-child {
|
|
130
|
+
flex-grow: 0;
|
|
131
|
+
}
|
|
58
132
|
`,v=r.p`
|
|
59
133
|
margin: 16px 0 32px 0;
|
|
60
134
|
font-size: 16px;
|
|
@@ -119,20 +193,20 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
119
193
|
&:-webkit-autofill {
|
|
120
194
|
background-color: var(--filter-input-bg-color);
|
|
121
195
|
}
|
|
122
|
-
`,
|
|
196
|
+
`,y=r.div`
|
|
123
197
|
display: flex;
|
|
124
198
|
flex-direction: row;
|
|
125
199
|
margin-bottom: 10px;
|
|
126
200
|
border-radius: 4px;
|
|
127
201
|
justify-content: flex-start;
|
|
128
|
-
`,
|
|
202
|
+
`,w=r.div`
|
|
129
203
|
padding: 5px 10px;
|
|
130
204
|
cursor: pointer;
|
|
131
205
|
font-weight: bold;
|
|
132
206
|
background-color: ${({isActive:o})=>o?"var(--bg-color-raised)":"transparent"};
|
|
133
207
|
margin-left: 2px;
|
|
134
208
|
border-bottom: ${({isActive:o})=>o?"1px solid var(--text-color-secondary);":"1px solid transparent"};
|
|
135
|
-
`,
|
|
209
|
+
`,C=r.div`
|
|
136
210
|
max-width: 100%;
|
|
137
211
|
overflow: auto;
|
|
138
212
|
visibility: ${({isActive:o})=>o?"visible":"hidden"};
|
|
@@ -140,10 +214,10 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
140
214
|
opacity: ${({isActive:o})=>o?"1":"0"};
|
|
141
215
|
position: ${({isActive:o})=>o?"static":"absolute"};
|
|
142
216
|
pointer-events: ${({isActive:o})=>o?"auto":"none"};
|
|
143
|
-
`,
|
|
217
|
+
`,k=r(n)`
|
|
144
218
|
padding: 20px 40px;
|
|
145
219
|
display: block;
|
|
146
|
-
`,
|
|
220
|
+
`,S=r(e)`
|
|
147
221
|
&-content {
|
|
148
222
|
border-radius: var(--border-radius);
|
|
149
223
|
background-color: var(--button-bg-color-secondary-hover);
|
|
@@ -156,18 +230,18 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
156
230
|
fill: var(--button-bg-color-secondary);
|
|
157
231
|
}
|
|
158
232
|
}
|
|
159
|
-
|
|
233
|
+
`,$=r.span`
|
|
160
234
|
font-family: monospace;
|
|
161
235
|
`,j=r.div`
|
|
162
236
|
width: 100%;
|
|
163
237
|
padding: 0 10px;
|
|
164
238
|
border-left: 2px solid ${o=>o.borderColor||"var(--bg-color-raised)"};
|
|
165
239
|
margin: 5px 0;
|
|
166
|
-
|
|
240
|
+
`,z=r.div``,W=r.div`
|
|
167
241
|
padding: 5px 10px;
|
|
168
242
|
background: var(--bg-color-raised);
|
|
169
243
|
border-bottom: 1px solid var(--border-color-primary);
|
|
170
|
-
`,
|
|
244
|
+
`,T=r.pre`
|
|
171
245
|
font-size: 12px;
|
|
172
246
|
margin: 0;
|
|
173
247
|
padding: 10px;
|
|
@@ -177,7 +251,7 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
177
251
|
margin-top: 10px;
|
|
178
252
|
margin-left: 22px;
|
|
179
253
|
cursor: text;
|
|
180
|
-
`,
|
|
254
|
+
`,P=r.div`
|
|
181
255
|
display: flex;
|
|
182
256
|
flex-direction: row;
|
|
183
257
|
cursor: pointer;
|
|
@@ -187,29 +261,29 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
187
261
|
align-items: flex-start;
|
|
188
262
|
}
|
|
189
263
|
|
|
190
|
-
${
|
|
264
|
+
${t} {
|
|
191
265
|
margin-right: 10px;
|
|
192
266
|
align-items: flex-start;
|
|
193
267
|
}
|
|
194
|
-
`,
|
|
268
|
+
`,E=r.th`
|
|
195
269
|
border-bottom: 0 !important;
|
|
196
270
|
span {
|
|
197
271
|
text-align: center;
|
|
198
272
|
display: block;
|
|
199
273
|
}
|
|
200
|
-
`,
|
|
274
|
+
`,B=r(i)`
|
|
201
275
|
display: flex;
|
|
202
276
|
flex-direction: row;
|
|
203
277
|
justify-content: space-between;
|
|
204
278
|
gap: 10px;
|
|
205
|
-
`,
|
|
279
|
+
`,M=r.div`
|
|
206
280
|
display: flex;
|
|
207
281
|
flex-direction: row;
|
|
208
282
|
align-items: center;
|
|
209
283
|
gap: 5px;
|
|
210
284
|
white-space: nowrap;
|
|
211
285
|
justify-content: flex-end;
|
|
212
|
-
`,
|
|
286
|
+
`,D=r.span`
|
|
213
287
|
font-family:
|
|
214
288
|
'Twemoji Mozilla',
|
|
215
289
|
Apple Color Emoji,
|
|
@@ -217,4 +291,4 @@ import r from"styled-components";import{Popup as t}from"reactjs-popup";import{Bu
|
|
|
217
291
|
'Noto Color Emoji',
|
|
218
292
|
'EmojiOne Color';
|
|
219
293
|
vertical-align: middle;
|
|
220
|
-
`;export{
|
|
294
|
+
`;export{k as AppPageWrapper,b as CardRow,a as CardValue,g as CardsWrapper,v as CatalogDescription,n as CatalogPageWrapper,T as Code,M as ContentWithDotWrap,m as Dot,D as EmojiWrap,I as FilePreview,f as GaugeNumber,E as GroupTh,P as InstanceControlsWrap,z as InstanceMessage,W as InstanceReference,j as InstanceWrap,B as LevelComplianceCardTitle,w as ModeSwitcherTab,y as ModeSwitcherTabs,x as ProblemsByStatusCardBody,s as ScoreCardStatusCardBody,c as ScorecardCard,i as ScorecardCardTitle,$ as SortIcon,u as StyledInput,S as StyledPopup,h as StyledTable,C as TableWrap};
|
|
@@ -15,7 +15,11 @@ export type Problem = {
|
|
|
15
15
|
};
|
|
16
16
|
export type Levels = keyof ScorecardData['levels'];
|
|
17
17
|
export type RuleProblem = {
|
|
18
|
-
apis: CatalogItem
|
|
18
|
+
apis: Record<string, CatalogItem & {
|
|
19
|
+
count: number;
|
|
20
|
+
problems: ProblemSummary[];
|
|
21
|
+
severity: 'error' | 'warning';
|
|
22
|
+
}>;
|
|
19
23
|
ruleId: string;
|
|
20
24
|
count: number;
|
|
21
25
|
status: number;
|