@redocly/reef 0.138.0-next.1 → 0.138.0-next.11
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 +163 -0
- package/dist/bin.js +0 -0
- package/dist/cli/build/analytics/collect-analytics.js +1 -1
- package/dist/cli/build/analytics/collectors/get-sidebars-usage.d.ts +12 -0
- package/dist/cli/build/analytics/collectors/get-sidebars-usage.js +1 -0
- package/dist/cli/build/index.js +1 -1
- package/dist/cli/develop.js +1 -1
- package/dist/cli/eject/resolveEjectParams.js +1 -1
- package/dist/cli/generate/string-utils.js +1 -1
- package/dist/cli/stats/collectors/extension-sampling.js +1 -1
- package/dist/cli/translations/collect-config-translations.js +1 -1
- package/dist/client/App.js +1 -1
- package/dist/client/TestProvider.d.ts +3 -1
- package/dist/client/TestProvider.js +1 -1
- package/dist/client/app/Link.js +1 -1
- package/dist/client/app/ReviewComments/ReviewComments.js +2 -2
- package/dist/client/app/Sidebar/Sidebar.js +1 -1
- package/dist/client/app/Sidebar/useSidebarItems.js +1 -1
- package/dist/client/app/hooks/codeHighlight/treeview-transformer.js +1 -1
- package/dist/client/app/hooks/codeHighlight/useCodeHighlight.js +1 -1
- package/dist/client/app/hooks/index.d.ts +1 -0
- package/dist/client/app/hooks/index.js +1 -1
- package/dist/client/app/hooks/markdown/useMarkdownText.js +1 -1
- package/dist/client/app/hooks/useConsent.d.ts +11 -0
- package/dist/client/app/hooks/useConsent.js +1 -0
- package/dist/client/app/l10n/L10nContext.d.ts +10 -0
- package/dist/client/app/l10n/L10nContext.js +1 -0
- package/dist/client/app/l10n/hooks/useL10n.js +1 -1
- package/dist/client/app/l10n/hooks/useTranslate.js +1 -1
- package/dist/client/app/l10n/hooks/useTranslationKeys.d.ts +2 -0
- package/dist/client/app/l10n/hooks/useTranslationKeys.js +1 -1
- package/dist/client/app/l10n/ssrL10n.d.ts +4 -0
- package/dist/client/app/l10n/ssrL10n.js +1 -0
- package/dist/client/app/markdoc/custom-components/openapi/openapi-example.js +1 -1
- package/dist/client/app/markdoc/custom-components/openapi/openapi-response-sample.js +1 -1
- package/dist/client/app/markdoc/custom-components/openapi/replay-openapi.js +1 -1
- package/dist/client/app/markdoc/hooks/use-store.d.ts +2 -3
- package/dist/client/app/pages/DevLogin/DevLoginForm.js +1 -1
- package/dist/client/app/pages/Invite/Invite.js +1 -1
- package/dist/client/app/search/index.d.ts +1 -1
- package/dist/client/app/search/index.js +1 -1
- package/dist/client/app/search/useSearch.d.ts +3 -0
- package/dist/client/app/search/useSearch.js +1 -1
- package/dist/client/app/webmcp/index.d.ts +2 -0
- package/dist/client/app/webmcp/index.js +1 -0
- package/dist/client/app/webmcp/tools/api-tools.d.ts +8 -0
- package/dist/client/app/webmcp/tools/api-tools.js +1 -0
- package/dist/client/app/webmcp/tools/shared.d.ts +13 -0
- package/dist/client/app/webmcp/tools/shared.js +1 -0
- package/dist/client/app/webmcp/tools/site-tools.d.ts +5 -0
- package/dist/client/app/webmcp/tools/site-tools.js +3 -0
- package/dist/client/app/webmcp/types.d.ts +36 -0
- package/dist/client/app/webmcp/types.js +0 -0
- package/dist/client/app/webmcp/useWebMcpTools.d.ts +9 -0
- package/dist/client/app/webmcp/useWebMcpTools.js +1 -0
- package/dist/client/providers/page-data/hooks.d.ts +2 -0
- package/dist/client/providers/page-data/hooks.js +1 -1
- package/dist/client/providers/theme/ThemeDataProvider.js +1 -1
- package/dist/client/runtime/loader.js +1 -1
- package/dist/client/server-entry.d.ts +2 -1
- package/dist/client/server-entry.js +1 -1
- package/dist/client/templates/api-docs/helpers.js +1 -1
- package/dist/client/templates/api-docs/template.js +7 -3
- package/dist/client/utils/catalog/parse-filter-query.js +1 -1
- package/dist/client/{app/Sidebar/helpers → utils}/filter-out-versioned-items.d.ts +12 -2
- package/dist/client/utils/filter-out-versioned-items.js +1 -0
- package/dist/client/utils/navigation-tabs.d.ts +14 -0
- package/dist/client/utils/navigation-tabs.js +1 -0
- package/dist/compiled/svgo/svgo-node.js +39 -39
- package/dist/constants/common.d.ts +1 -0
- 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/markdoc/nodes/table.d.ts +2 -0
- package/dist/markdoc/nodes/table.js +1 -1
- package/dist/server/config/env-config.d.ts +0 -6
- package/dist/server/config/env-schema.d.ts +0 -15
- package/dist/server/config/env-schemas/feature-flags.d.ts +0 -12
- package/dist/server/config/env-schemas/feature-flags.js +1 -1
- package/dist/server/constants/common.d.ts +3 -1
- package/dist/server/constants/common.js +1 -1
- package/dist/server/constants/entitlements.js +1 -1
- package/dist/server/constants/plugins/consent.d.ts +3 -0
- package/dist/server/constants/plugins/consent.js +1 -0
- package/dist/server/constants/plugins/search.js +1 -1
- package/dist/server/esbuild/esbuild-logger.js +3 -3
- package/dist/server/plugins/analytics/adobe/index.js +1 -1
- package/dist/server/plugins/analytics/amplitude/browser-hooks.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/browser-hooks.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/api-docs/index.js +1 -1
- package/dist/server/plugins/api-docs/utils/apply-nav-item-to-root.d.ts +9 -0
- package/dist/server/plugins/api-docs/utils/apply-nav-item-to-root.js +1 -0
- package/dist/server/plugins/api-docs/utils/decorators.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/common/revision-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.d.ts +5 -1
- package/dist/server/plugins/catalog-entities/database/repositories/common/version-repository.js +7 -1
- package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-write-repository.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/ajv-validator.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/extract-parts-from-components-ref.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/is-valid-tag-name.js +1 -1
- package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.js +1 -1
- package/dist/server/plugins/config-parser/format-custom-tags.d.ts +1 -0
- package/dist/server/plugins/config-parser/format-custom-tags.js +1 -1
- package/dist/server/plugins/config-parser/index.js +1 -1
- package/dist/server/plugins/config-parser/loaders/redocly-config-loader.js +1 -1
- package/dist/server/plugins/config-parser/loaders/versions-config-loader.js +1 -1
- package/dist/server/plugins/config-parser/safe-parse.js +1 -1
- package/dist/server/plugins/consent/build-consent-script.d.ts +6 -0
- package/dist/server/plugins/consent/build-consent-script.js +230 -0
- package/dist/server/plugins/consent/gate-ssr-components.d.ts +5 -0
- package/dist/server/plugins/consent/gate-ssr-components.js +1 -0
- package/dist/server/plugins/consent/index.d.ts +3 -0
- package/dist/server/plugins/consent/index.js +1 -0
- package/dist/server/plugins/consent/is-consent-enabled.d.ts +8 -0
- package/dist/server/plugins/consent/is-consent-enabled.js +1 -0
- package/dist/server/plugins/consent/zone-modes.d.ts +8 -0
- package/dist/server/plugins/consent/zone-modes.js +1 -0
- package/dist/server/plugins/default-theme/extract-team-names.js +1 -1
- package/dist/server/plugins/dev-onboarding/template/App.js +5 -5
- package/dist/server/plugins/dev-onboarding/template/components/ApiKeyOverview.js +3 -3
- package/dist/server/plugins/get-reserved-routes.d.ts +4 -2
- package/dist/server/plugins/get-reserved-routes.js +1 -1
- package/dist/server/plugins/l10n/index.js +1 -1
- package/dist/server/plugins/lifecycle.js +2 -2
- package/dist/server/plugins/markdown/markdoc/markdoc-options.d.ts +2 -0
- package/dist/server/plugins/markdown/search/get-ai-search-documents.js +9 -9
- package/dist/server/plugins/markdown/search/nodes/tag-node.d.ts +1 -1
- package/dist/server/plugins/markdown/search/nodes/tag-node.js +1 -1
- package/dist/server/plugins/markdown/search/to-markdown.js +1 -1
- package/dist/server/plugins/markdown/utils/sanitize-malformed-md-content.js +1 -1
- package/dist/server/plugins/mcp/audit/audit-log.js +1 -1
- package/dist/server/plugins/mcp/audit/secret-patterns.js +1 -1
- package/dist/server/plugins/mcp/auth/assistant-anonymous-token.d.ts +9 -0
- package/dist/server/plugins/mcp/auth/assistant-anonymous-token.js +1 -0
- package/dist/server/plugins/mcp/auth/auth-handlers.d.ts +5 -3
- package/dist/server/plugins/mcp/auth/auth-handlers.js +1 -1
- package/dist/server/plugins/mcp/codemode/build-tool-list.d.ts +6 -1
- package/dist/server/plugins/mcp/codemode/build-tool-list.js +2 -2
- package/dist/server/plugins/mcp/codemode/build-tool-type-declarations.js +4 -4
- package/dist/server/plugins/mcp/codemode/capabilities/fetch/index.js +3 -3
- package/dist/server/plugins/mcp/codemode/capabilities/types.d.ts +0 -1
- package/dist/server/plugins/mcp/codemode/capabilities/utils.d.ts +1 -2
- package/dist/server/plugins/mcp/codemode/capabilities/utils.js +4 -4
- package/dist/server/plugins/mcp/codemode/code-execution-audit.d.ts +3 -2
- package/dist/server/plugins/mcp/codemode/code-execution-audit.js +1 -1
- package/dist/server/plugins/mcp/codemode/code-execution-telemetry.d.ts +3 -4
- package/dist/server/plugins/mcp/codemode/code-execution-telemetry.js +1 -1
- package/dist/server/plugins/mcp/codemode/prompts.js +1 -1
- package/dist/server/plugins/mcp/codemode/tools/describe-tools.js +2 -2
- package/dist/server/plugins/mcp/codemode/tools/execute-schema.d.ts +0 -2
- package/dist/server/plugins/mcp/codemode/tools/execute-schema.js +1 -1
- package/dist/server/plugins/mcp/codemode/tools/execute.js +1 -1
- package/dist/server/plugins/mcp/codemode/tools/manage-credentials.js +2 -2
- package/dist/server/plugins/mcp/custom-tools/scan-custom-tools.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tool-schemas.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/core/create-anonymous-session.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/core/whoami.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/constants.d.ts +2 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/constants.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/endpoint-suggestions.d.ts +6 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/endpoint-suggestions.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/get-endpoint-info.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/get-security-schemes.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/load-api-description.d.ts +2 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/load-api-description.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/utils.d.ts +6 -2
- package/dist/server/plugins/mcp/docs-mcp/tools/openapi/utils.js +1 -1
- package/dist/server/plugins/mcp/docs-mcp/utils/resolve-refs.d.ts +20 -14
- package/dist/server/plugins/mcp/docs-mcp/utils/resolve-refs.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/credential-validation.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/elicitation.d.ts +16 -10
- package/dist/server/plugins/mcp/gateway-mcp/elicitation.js +5 -5
- package/dist/server/plugins/mcp/gateway-mcp/fetch/allowed-hosts.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/fetch/fetch-bridge.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/fetch/ssrf-guard.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/fetch/url-placeholders.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/rate-limit/ip-key.js +1 -1
- package/dist/server/plugins/mcp/gateway-mcp/upstream-auth-scheme.d.ts +0 -6
- package/dist/server/plugins/mcp/gateway-mcp/upstream-auth-scheme.js +2 -2
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
- package/dist/server/plugins/mcp/handlers/mcp-credentials-handler.js +1 -1
- package/dist/server/plugins/mcp/handlers/mcp-credentials-page.js +35 -35
- package/dist/server/plugins/mcp/index.js +1 -1
- package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
- package/dist/server/plugins/mcp/servers/mcp-server.js +2 -4
- package/dist/server/plugins/mcp/types.d.ts +5 -11
- package/dist/server/plugins/mcp/utils/disabled-tools.d.ts +3 -0
- package/dist/server/plugins/mcp/utils/disabled-tools.js +1 -0
- package/dist/server/plugins/mcp/utils/json-schema-validator.d.ts +2 -2
- package/dist/server/plugins/mcp/utils/json-schema-validator.js +1 -1
- package/dist/server/plugins/mcp/utils/mcp-client.js +1 -1
- package/dist/server/plugins/mcp/utils/public-endpoint.d.ts +9 -0
- package/dist/server/plugins/mcp/utils/public-endpoint.js +1 -0
- package/dist/server/plugins/mcp/utils/telemetry-attributes.d.ts +2 -1
- package/dist/server/plugins/mcp/utils/telemetry-attributes.js +1 -1
- package/dist/server/plugins/mcp/utils/tool-registration.d.ts +2 -1
- package/dist/server/plugins/mcp/utils/tool-registration.js +1 -1
- package/dist/server/plugins/mcp/utils/xmcp-utils.d.ts +0 -7
- package/dist/server/plugins/mcp/utils/xmcp-utils.js +1 -1
- package/dist/server/plugins/mcp/workers/execute-mcp-tool.js +1 -1
- package/dist/server/plugins/mcp/workers/mcp-tool-telemetry.d.ts +5 -7
- package/dist/server/plugins/mcp/workers/mcp-tool-telemetry.js +1 -1
- package/dist/server/plugins/nav-utils.js +1 -1
- package/dist/server/plugins/scorecard-classic/index.js +1 -1
- package/dist/server/plugins/scorecard-classic/template/Grid/GridHeader.js +21 -8
- package/dist/server/plugins/scorecard-classic/template/ScorecardDashboard.js +3 -3
- package/dist/server/plugins/scorecard-classic/template/index.styles.d.ts +1 -0
- package/dist/server/plugins/scorecard-classic/template/index.styles.js +15 -5
- 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/search/engines/flexsearch/index.js +2 -1
- package/dist/server/plugins/search/engines/flexsearch/search-index.d.ts +2 -2
- package/dist/server/plugins/search/engines/flexsearch/search-index.js +1 -1
- package/dist/server/plugins/search/llmstxt/index.js +1 -1
- package/dist/server/plugins/sidebars/index.js +7 -3
- package/dist/server/plugins/sidebars/tabs.d.ts +19 -0
- package/dist/server/plugins/sidebars/tabs.js +1 -0
- package/dist/server/plugins/sso/index.js +1 -1
- package/dist/server/ssr/render.js +1 -1
- package/dist/server/store.d.ts +2 -0
- package/dist/server/store.js +1 -1
- package/dist/server/tools/notifiers/helpers/privacy/mask-subject.js +1 -1
- package/dist/server/tools/notifiers/helpers/privacy/remove-pii.js +1 -1
- package/dist/server/types/plugins/search.d.ts +7 -5
- package/dist/server/utils/catalog-classic/get-catalog-shared-data-id.d.ts +3 -0
- package/dist/server/utils/catalog-classic/get-catalog-shared-data-id.js +1 -0
- package/dist/server/utils/envs/interpolate-env-variables.js +1 -1
- package/dist/server/utils/rbac-expand.js +1 -1
- package/dist/server/utils/rbac.js +1 -1
- package/dist/server/utils/redact-url.d.ts +6 -0
- package/dist/server/utils/redact-url.js +1 -0
- package/dist/server/utils/report-all-errors.js +1 -1
- package/dist/server/utils/sandbox-context.js +1 -1
- package/dist/server/utils/search/highlight-text-for-search.d.ts +1 -0
- package/dist/server/utils/search/highlight-text-for-search.js +1 -1
- package/dist/server/utils/search/text-match.d.ts +6 -0
- package/dist/server/utils/search/text-match.js +1 -0
- package/dist/server/utils/static-data.js +1 -1
- package/dist/server/utils/write-problems-report.d.ts +3 -0
- package/dist/server/utils/write-problems-report.js +1 -0
- package/dist/server/web-server/auth.d.ts +16 -2
- package/dist/server/web-server/auth.js +4 -4
- package/dist/server/web-server/jwt/jwt.js +1 -1
- package/dist/server/web-server/jwt/token-types.d.ts +11 -0
- package/dist/server/web-server/jwt/token-types.js +1 -0
- package/dist/server/web-server/jwt/types.d.ts +4 -4
- package/dist/server/web-server/jwt/types.js +1 -1
- package/dist/server/web-server/middleware/ensureSearchData.js +1 -1
- package/dist/server/web-server/middleware/responseHeadersMiddleware.js +1 -1
- package/dist/server/web-server/middleware/telemetry-middleware.js +1 -1
- package/dist/server/web-server/routes/ask-ai.js +1 -1
- package/dist/server/web-server/routes/auth.d.ts +1 -1
- package/dist/server/web-server/routes/auth.js +1 -1
- package/dist/server/web-server/routes/cors-proxy.js +2 -2
- package/dist/server/web-server/routes/dynamic-route.js +1 -1
- package/dist/server/web-server/routes/index.js +1 -1
- package/dist/server/web-server/routes/mcp-routes/mcp-oauth.js +1 -1
- package/dist/server/web-server/routes/mcp-routes/mcp-server-card.js +1 -1
- package/dist/server/web-server/routes/semantic-search.d.ts +1 -1
- package/dist/server/web-server/routes/semantic-search.js +1 -1
- package/dist/server/web-server/routes/static-content.js +1 -1
- package/dist/server/workers/worker-pool.js +1 -1
- package/dist/types/entitlements.d.ts +1 -0
- package/dist/utils/path/parse-path-versions.js +1 -1
- package/dist/utils/string/to-kebab-case.js +1 -1
- package/package.json +9 -9
- package/dist/client/app/Sidebar/helpers/filter-out-versioned-items.js +0 -1
- package/dist/server/plugins/mcp/auth/token-audience-telemetry.d.ts +0 -7
- package/dist/server/plugins/mcp/auth/token-audience-telemetry.js +0 -1
- package/dist/server/plugins/mcp/auth/token-audience.d.ts +0 -6
- package/dist/server/plugins/mcp/auth/token-audience.js +0 -1
- /package/dist/server/{plugins/mcp/gateway-mcp/fetch → web-server/utils}/ssrf-blocklist.d.ts +0 -0
- /package/dist/server/{plugins/mcp/gateway-mcp/fetch → web-server/utils}/ssrf-blocklist.js +0 -0
- /package/dist/server/{plugins/mcp/gateway-mcp/fetch → web-server/utils}/ssrf-safe-lookup.d.ts +0 -0
- /package/dist/server/{plugins/mcp/gateway-mcp/fetch → web-server/utils}/ssrf-safe-lookup.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,153 @@
|
|
|
1
1
|
# @redocly/reef
|
|
2
2
|
|
|
3
|
+
## 0.138.0-next.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2cd84f3f268: Updated `@redocly/openapi-core` to version `2.58.1`.
|
|
8
|
+
- Updated dependencies [2cd84f3f268]
|
|
9
|
+
- @redocly/api-docs@0.3.0-next.8
|
|
10
|
+
- @redocly/portal-plugin-mock-server@0.23.0-next.1
|
|
11
|
+
|
|
12
|
+
## 0.138.0-next.10
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- bc75bbe4b25: Fixed an issue where tooltips were missing for the **Copy**, **Like**, and **Dislike** buttons in AI assistant answers.
|
|
17
|
+
- 90446d7523d: Hardened authentication.
|
|
18
|
+
- 63a6ead8690: Fixed an issue where unknown key `redocly.yaml` caused its entire object to be removed.
|
|
19
|
+
- b32564280cf: Hardened the built-in CORS proxy.
|
|
20
|
+
- 675715f661e: Improved security for API functions and custom MCP tools in projects hosted in Reunite.
|
|
21
|
+
- d4727bf4699: Fixed an issue where the search dialog reset the selected category to "All" every time it was reopened.
|
|
22
|
+
The category chosen by the user is remembered for the duration of the browser tab.
|
|
23
|
+
- Updated dependencies [bc75bbe4b25]
|
|
24
|
+
- Updated dependencies [d4727bf4699]
|
|
25
|
+
- @redocly/theme@0.70.0-next.7
|
|
26
|
+
- @redocly/api-docs@0.3.0-next.7
|
|
27
|
+
|
|
28
|
+
## 0.138.0-next.9
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- 3faa7cbcf5a: Improved the AI assistant's progress display to keep generated answers stable.
|
|
33
|
+
- 4ee9ba49be2: Added support for option order in the Markdoc `connect-mcp` tag.
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- 27d20c5f50c: Hardened CORS proxy handling of direct browser navigation to proxied responses.
|
|
38
|
+
- 61649bb626f: Fixed an issue where dropdown menus were cut off at the left or right edge of the viewport.
|
|
39
|
+
- Updated dependencies [3faa7cbcf5a]
|
|
40
|
+
- Updated dependencies [4ee9ba49be2]
|
|
41
|
+
- Updated dependencies [61649bb626f]
|
|
42
|
+
- @redocly/theme@0.70.0-next.6
|
|
43
|
+
- @redocly/api-docs@0.3.0-next.6
|
|
44
|
+
|
|
45
|
+
## 0.138.0-next.8
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- 36ac86bb3b8: Added support for project-specific MCP tools defined in an `@mcp` folder. Available on plans that include the MCP server.
|
|
50
|
+
|
|
51
|
+
## 0.138.0-next.7
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- 55a98f9decd: Hardened CORS proxy validation of request targets.
|
|
56
|
+
- 15ad3df0069: Improved keyboard navigation for catalog filters, scorecard table sorting, and the "API keys" and "Logs" tabs on app pages in developer onboarding.
|
|
57
|
+
- 15ad3df0069: Improved keyboard and screen reader accessibility for image lightboxes, feedback reasons, select menus such as the version picker, and schema variant switches in API reference.
|
|
58
|
+
- Updated dependencies [15ad3df0069]
|
|
59
|
+
- Updated dependencies [15ad3df0069]
|
|
60
|
+
- @redocly/theme@0.70.0-next.5
|
|
61
|
+
- @redocly/api-docs@0.3.0-next.5
|
|
62
|
+
|
|
63
|
+
## 0.138.0-next.6
|
|
64
|
+
|
|
65
|
+
### Patch Changes
|
|
66
|
+
|
|
67
|
+
- c634df4a861: Fixed an issue where search returned an error on built projects with a very large search index.
|
|
68
|
+
|
|
69
|
+
## 0.138.0-next.5
|
|
70
|
+
|
|
71
|
+
### Minor Changes
|
|
72
|
+
|
|
73
|
+
- fcb1b9e93bb: Added `tab` entries to `sidebars.yaml` for organizing projects into logical sections.
|
|
74
|
+
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- 59baca3ad3b: Updated `@redocly/openapi-core` to version `2.55.0`.
|
|
78
|
+
- 94e74d18b8d: Fixed an issue where the link checker reported links to the `/mcp` and `/mcp-public` MCP server setup pages as broken when those pages were served.
|
|
79
|
+
- 6bb03d3e5e6: Fixed an issue where groups in the mobile menu and drilldown sidebar collapsed if user expanded them right after a page loaded.
|
|
80
|
+
- Updated dependencies [53c31e67923]
|
|
81
|
+
- Updated dependencies [aa2cc02077f]
|
|
82
|
+
- Updated dependencies [59baca3ad3b]
|
|
83
|
+
- Updated dependencies [63e49c20ce4]
|
|
84
|
+
- Updated dependencies [295faffbd0a]
|
|
85
|
+
- Updated dependencies [6bb03d3e5e6]
|
|
86
|
+
- Updated dependencies [91d809f1ef0]
|
|
87
|
+
- Updated dependencies [48d6de8aebf]
|
|
88
|
+
- Updated dependencies [aa2cc02077f]
|
|
89
|
+
- Updated dependencies [fcb1b9e93bb]
|
|
90
|
+
- Updated dependencies [2fe28690761]
|
|
91
|
+
- @redocly/api-docs@0.3.0-next.4
|
|
92
|
+
- @redocly/theme@0.70.0-next.4
|
|
93
|
+
- @redocly/realm-asyncapi-sdk@0.16.0-next.2
|
|
94
|
+
- @redocly/portal-plugin-mock-server@0.23.0-next.0
|
|
95
|
+
|
|
96
|
+
## 0.138.0-next.4
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- 73d4f1d720f: Fixed an issue where builds of projects that use the AsciiDoc plugin failed even though JavaScript compilation succeeded.
|
|
101
|
+
- 5a51ac25f06: Fixed security issues in the web server.
|
|
102
|
+
|
|
103
|
+
## 0.138.0-next.3
|
|
104
|
+
|
|
105
|
+
### Minor Changes
|
|
106
|
+
|
|
107
|
+
- 1368d8594d7: Added the `consent` option to display a cookie consent banner or privacy choices link that loads analytics and gated scripts only after visitor approval. Set `mode` to `auto` to select opt-in or opt-out based on visitor time zone, or to `onetrust`, `cookiebot`, `trustarc`, or `tcf` to delegate consent management to those providers. This option requires the Enterprise+ plan.
|
|
108
|
+
- 220a3f8f7ae: Improved the **Expand all** and **Collapse all** controls in JSON samples.
|
|
109
|
+
- 5f0afdc4135: Added WebMCP support, which enables AI agents in the reader's browser to search, read, and navigate your documentation.
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- 220a3f8f7ae: Fixed an issue where JSON samples displayed the **Expand all** and **Collapse all** buttons even when there was nothing to expand or collapse.
|
|
114
|
+
- 0002ecc776e: Added vertical alignment support for cells in the Markdoc `table` tag.
|
|
115
|
+
- Updated dependencies [220a3f8f7ae]
|
|
116
|
+
- Updated dependencies [b8d94643e53]
|
|
117
|
+
- Updated dependencies [1368d8594d7]
|
|
118
|
+
- Updated dependencies [f47542f0aaa]
|
|
119
|
+
- Updated dependencies [220a3f8f7ae]
|
|
120
|
+
- Updated dependencies [ba418fbe7bd]
|
|
121
|
+
- Updated dependencies [0002ecc776e]
|
|
122
|
+
- Updated dependencies [bb5bd25ddf2]
|
|
123
|
+
- Updated dependencies [bb5bd25ddf2]
|
|
124
|
+
- Updated dependencies [5f0afdc4135]
|
|
125
|
+
- @redocly/theme@0.70.0-next.3
|
|
126
|
+
- @redocly/api-docs@0.3.0-next.3
|
|
127
|
+
- @redocly/realm-asyncapi-sdk@0.16.0-next.1
|
|
128
|
+
|
|
129
|
+
## 0.138.0-next.2
|
|
130
|
+
|
|
131
|
+
### Minor Changes
|
|
132
|
+
|
|
133
|
+
- 51256dcd1b9: Added output schema to the MCP `execute` tool and complete tool annotations to the MCP server tools.
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- 47f024b52c3: Fixed the AI assistant providing answers without using the project API tools on projects with protected content.
|
|
138
|
+
- e8c4c7fa4ae: Fixed an issue where a versioned API description could disappear or show the wrong version during local development.
|
|
139
|
+
- 6567a12696e: Hardened RBAC enforcement for page content.
|
|
140
|
+
- cff70028280: Fixed an issue where the AI assistant send button had no accessible name for screen readers.
|
|
141
|
+
- f7fa203bf8f: Fixed an issue where the version picker listed versions of a page that RBAC hid from the user.
|
|
142
|
+
- f7fa203bf8f: Fixed an issue where the version picker disappeared on pages that had no items in the sidebar.
|
|
143
|
+
- Updated dependencies [0ada389a199]
|
|
144
|
+
- Updated dependencies [715697934a0]
|
|
145
|
+
- Updated dependencies [22f646e90b2]
|
|
146
|
+
- Updated dependencies [46dd0b49501]
|
|
147
|
+
- Updated dependencies [cff70028280]
|
|
148
|
+
- @redocly/api-docs@0.3.0-next.2
|
|
149
|
+
- @redocly/theme@0.70.0-next.2
|
|
150
|
+
|
|
3
151
|
## 0.138.0-next.1
|
|
4
152
|
|
|
5
153
|
### Patch Changes
|
|
@@ -48,6 +196,21 @@
|
|
|
48
196
|
- @redocly/api-docs@0.3.0-next.0
|
|
49
197
|
- @redocly/realm-asyncapi-sdk@0.16.0-next.0
|
|
50
198
|
|
|
199
|
+
## 0.137.2
|
|
200
|
+
|
|
201
|
+
### Patch Changes
|
|
202
|
+
|
|
203
|
+
- 00d766157ab: Hardened the built-in CORS proxy.
|
|
204
|
+
- Updated dependencies [ab31ba75844]
|
|
205
|
+
- @redocly/api-docs@0.2.1
|
|
206
|
+
|
|
207
|
+
## 0.137.1
|
|
208
|
+
|
|
209
|
+
### Patch Changes
|
|
210
|
+
|
|
211
|
+
- 4c8c1cc37c2: Fixed an issue where builds of projects that use the AsciiDoc plugin failed even though JavaScript compilation succeeded.
|
|
212
|
+
- f94d3b5a342: Fixed security issues in the web server.
|
|
213
|
+
|
|
51
214
|
## 0.137.0
|
|
52
215
|
|
|
53
216
|
### Minor Changes
|
package/dist/bin.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getApiFunctionsUsage as c}from"./collectors/get-api-functions-usage.js";import{getAsyncApiUsage as d}from"./collectors/get-async-api-usage.js";import{getConfigStatsUsage as
|
|
1
|
+
import{getApiFunctionsUsage as c}from"./collectors/get-api-functions-usage.js";import{getAsyncApiUsage as d}from"./collectors/get-async-api-usage.js";import{getConfigStatsUsage as U}from"./collectors/get-config-stats-usage.js";import{getFileExtensionsUsage as p}from"./collectors/get-file-extensions-usage.js";import{getFrontmatterUsage as u}from"./collectors/get-frontmatter-usage.js";import{getMarkdocUsage as S}from"./collectors/get-markdoc-usage.js";import{getNestedConfigsUsage as C}from"./collectors/get-nested-configs-usage.js";import{getProcessedConfigStatsUsage as b}from"./collectors/get-processed-config-stats-usage.js";import{getRefsUsage as x}from"./collectors/get-refs-usage.js";import{getSidebarsUsage as y}from"./collectors/get-sidebars-usage.js";import{getSkillsUsage as k}from"./collectors/get-skills-usage.js";import{getThemeFolderUsage as v}from"./collectors/get-theme-folder-usage.js";import{telemetry as B}from"../../telemetry/index.js";import{envConfig as A}from"../../../server/config/env-config.js";async function _(i,n){const g=[c,d,U,p,u,S,C,b,x,y,k,v],m=await Promise.allSettled(g.map(t=>t({store:i,context:n}))),e={},s={};for(const t of m)if(t.status==="fulfilled"){const{name:a,value:r,version:f}=t.value;r&&(e[a]=r,s[a]=f)}const l={usageStats:e.usageStats,asyncApiUsage:e.asyncApiUsage,buildContext:e.buildContext,fileExtensions:e.fileExtensions,frontmatterUsage:e.frontmatterUsage,markdocUsage:e.markdocUsage,processedBuildContext:e.processedBuildContext,nestedConfigStats:e.nestedConfigStats,refsUsageStats:e.refsUsageStats,sidebarsUsage:e.sidebarsUsage,skillsUsage:e.skillsUsage,themeFolderUsage:e.themeFolderUsage,versions:JSON.stringify(s)},o=A.PROJECT_BUILD_ID||"unknown";B.sendBuildMessage([{id:o,object:"projectBuild",uri:`urn:redocly:realm:cli:projectBuild:${o}`,...l}])}export{_ as collectAnalytics};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Collector } from '../collect-analytics.js';
|
|
2
|
+
type SidebarsUsage = {
|
|
3
|
+
files: number;
|
|
4
|
+
filesWithTabs: number;
|
|
5
|
+
tabs: number;
|
|
6
|
+
menuTabs: number;
|
|
7
|
+
menuEntries: number;
|
|
8
|
+
};
|
|
9
|
+
export declare function summarizeSidebarFile(items: unknown): Omit<SidebarsUsage, 'files'>;
|
|
10
|
+
export declare const getSidebarsUsage: Collector;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=get-sidebars-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isObject as r}from"../../../../utils/guards/is-object.js";function n(t){const s={filesWithTabs:0,tabs:0,menuTabs:0,menuEntries:0};if(!Array.isArray(t))return s;const e=t.filter(a=>r(a)&&typeof a.tab=="string");if(!e.length)return s;s.filesWithTabs=1,s.tabs=e.length;for(const a of e)Array.isArray(a.menu)&&(s.menuTabs+=1,s.menuEntries+=a.menu.length);return s}const b=async({context:t})=>{const s={files:0,filesWithTabs:0,tabs:0,menuTabs:0,menuEntries:0};for(const e of t.fs.scan(/sidebars\.yaml$/)){if(e.isVirtual||await t.isPathIgnored(e.relativePath))continue;s.files+=1;const{data:a}=await t.cache.load(e.relativePath,"yaml"),i=n(a);s.filesWithTabs+=i.filesWithTabs,s.tabs+=i.tabs,s.menuTabs+=i.menuTabs,s.menuEntries+=i.menuEntries}return{version:"1",name:"sidebarsUsage",value:JSON.stringify(s)}};export{b as getSidebarsUsage,n as summarizeSidebarFile};
|
package/dist/cli/build/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import w from"node:path";import{unlink as C}from"node:fs/promises";import{writeFileSync as P}from"node:fs";import{PORTAL_VERSION as R}from"../../server/version.js";import{logger as e}from"../../server/tools/notifiers/logger.js";import{reporter as b}from"../../server/tools/notifiers/reporter.js";import{shutdowner as h}from"../../server/tools/shutdowner.js";import{promiseMapLimit as A}from"../../server/utils/async/promise-map-limit.js";import{validateReactPages as D}from"../../server/plugins/pages/validators/validate-react-pages.js";import{ensureDir as j}from"../../server/utils/index.js";import{initPlugins as E,runPlugins as M,writeClientEntries as O}from"../../server/plugins/lifecycle.js";import{createClientCompiler as x,createNodeBundleCompiler as L}from"../../server/esbuild/esbuild.js";import{validateAllMarkdowns as k}from"../../server/plugins/markdown/compiler.js";import{copyEnvFiles as J}from"./copy-env-files.js";import{EsbuildError as m,esbuildLogger as d}from"../../server/esbuild/esbuild-logger.js";import{reportAllErrors as z}from"../../server/utils/report-all-errors.js";import{writeProblemsReport as F}from"../../server/utils/write-problems-report.js";import{collectAnalytics as N}from"./analytics/collect-analytics.js";import{copyMigrationsFolder as U}from"../../server/providers/database/copy-migrations.js";import{telemetry as c}from"../telemetry/index.js";import{telemetryTraceStep as s}from"../telemetry/helpers/trace-step.js";async function li(y,i){c.initialize(R),e.info("Starting project build."),i.devLogin=y.devLogin===!0;const T=e.startTiming();await s("com.redocly.build.start",async S=>{O(i);const p=await x(i,i.outdir,"production"),u=await L(i,i.serverOutDir,"production");let o,g;try{await s("com.redocly.build.clientCompilation",async()=>{const l=e.startTiming(),n=await p.rebuild().catch(a=>{throw new m(a)});Array.isArray(n.warnings)&&d(new m({warnings:n.warnings}));const r=e.infoTime(l,"Client JavaScript compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await s("com.redocly.build.serverCompilation",async()=>{const l=e.startTiming(),n=await u.rebuild().catch(a=>{throw new m(a)});Array.isArray(n.warnings)&&d(new m({warnings:n.warnings}));const r=e.infoTime(l,"Server JavaScript compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",message:r.message,timeMs:r.timeMs}])}),await i.reloadMarkdocOptions();let t;({pluginInstances:t,lifecycleContext:o}=await E({outdir:i.outdir,serverOutDir:i.serverOutDir,contentDir:i.contentDir,devLogin:i.devLogin,setGlobalConfig:i.setGlobalConfig})),o.fs.dispose(),i.lifecycleContext=o,U(i),await M(t,i,o),g=N(i,o),await s("com.redocly.build.clientServerRecompile",async()=>{const l=e.startTiming();e.info("Re-compiling JavaScript with user code"),(await Promise.all([p.rebuild(),u.rebuild()]).catch(a=>{throw new m(a)})).forEach(({warnings:a})=>{Array.isArray(a)&&d(new m({warnings:a}))});const r=e.infoTime(l,"JavaScript re-compiled");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await s("com.redocly.build.pagesValidation",async()=>{await D(i,o),await k(i,o)}),await z(o),i.markUserCodeReady()}catch(t){S?.error(t),t instanceof m&&await d(t),await b.panic(t instanceof Error?t:String(t))}finally{g&&await g.catch(()=>{}),await p.dispose(),await u.dispose()}b.printErrors(),e.info("Rendering pages..."),await s("com.redocly.build.prepareStaticData",async t=>{const l=e.startTiming(),n=[...i.getAllRoutes(),...i.getAllApiRoutes()];t?.setAttribute("totalRoutes",n.length.toString()),await A(n,15,a=>i.writeRouteStaticData(a,o));const r=e.successTime(l,"Page static data prepared.");r&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...r}])}),await s("com.redocly.build.storeSerialization",async()=>{const t=e.startTiming();j(i.serverOutDir),P(w.join(i.serverOutDir,"store.json"),JSON.stringify(await i.toJson())),e.successTime(t,"Store serialized and written."),J(i)});const v=e.startTiming();F()&&e.successTime(v,"Broken links written."),await C(w.join(i.serverOutDir,"index.css"));const f=e.successTime(T,"All done");f&&c.sendTimingPerformedMessage([{id:"buildStep",object:"timing",uri:"urn:redocly:realm:cli:timing:buildStep",...f}])}),await h.exitWithCode(0)}export{li as build};
|
package/dist/cli/develop.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{logger as t}from"../server/tools/notifiers/logger.js";import{reporter as c}from"../server/tools/notifiers/reporter.js";import{green as v}from"../server/tools/notifiers/helpers/colors.js";import{envConfig as m}from"../server/config/env-config.js";import{resolveCache as w}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as p}from"../server/utils/index.js";import{createClientCompiler as C,createServerCompiler as S}from"../server/esbuild/esbuild.js";import{initPlugins as R,runPlugins as f,writeClientEntries as h}from"../server/plugins/lifecycle.js";import{startDevServer as E}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as
|
|
1
|
+
import{logger as t}from"../server/tools/notifiers/logger.js";import{reporter as c}from"../server/tools/notifiers/reporter.js";import{green as v}from"../server/tools/notifiers/helpers/colors.js";import{envConfig as m}from"../server/config/env-config.js";import{resolveCache as w}from"../server/esbuild/plugins/themes-resolver.js";import{getBilledPagesCount as p}from"../server/utils/index.js";import{createClientCompiler as C,createServerCompiler as S}from"../server/esbuild/esbuild.js";import{initPlugins as R,runPlugins as f,writeClientEntries as h}from"../server/plugins/lifecycle.js";import{startDevServer as E}from"../server/web-server/dev-server.js";import{validateAllMarkdowns as g}from"../server/plugins/markdown/compiler.js";import{reportAllErrors as b}from"../server/utils/report-all-errors.js";import{copyMigrationsFolder as y}from"../server/providers/database/copy-migrations.js";import{listenStdin as L}from"./utils/listen-stdin.js";async function q(i,e){t.info("Starting project preview mode."),e.devLogin=i["dev-login"]!==!1,h(e),t.startTiming("initial-js"),await D(e),t.infoTime("initial-js","JavaScript compiled");const{pluginInstances:l,lifecycleContext:n}=await R({contentDir:e.contentDir,outdir:e.outdir,serverOutDir:void 0,devLogin:e.devLogin,setGlobalConfig:e.setGlobalConfig});e.lifecycleContext=n,y(e),await f(l,e,n,{failFast:!0});const d=async()=>{const r=performance.now();c.clearErrors(),await f(l,e,n),m.REDOCLY_EXP_DISABLE_MD_VALIDATION?t.info("Skipping markdown validation step"):await g(e,n),P().then(async()=>{await b(n);const a=p(e.getAllRoutes()),o=c.summary(` \u{1F440} Last change processed in ${v(Math.round(performance.now()-r)+"ms")}`,a);e.runListeners("errors-updated",void 0,o),e.runListeners("pages-updated",void 0,a),e.runListeners("routes-updated")})};m.REDOCLY_EXP_DISABLE_MD_VALIDATION?t.info("Skipping markdown validation step"):await g(e,n),await b(n);const s=p(e.getAllRoutes());c.summary(" \u{1F440} Watching for changes...",s),e.runListeners("pages-updated",void 0,s),n.fs.watch(async()=>{w.clear(),await d()}),t.verbose("Starting development server."),await E(e,n,{port:Number(i.port||4e3)}),L()}async function D(i){let e=!0,l=!0;const n=async r=>{r==="client"?e=!0:l=!0,i.runListeners("build-started");const a=e!=l;a&&i.startEsbuildRun(),i.buildRevision>0&&await i.waitForPluginsRun(),r!=="client"&&i.noteRequestHandlersEntryBuildStart(),a&&t.startTiming("rebuild")},d=async r=>{r==="client"?e=!1:(l=!1,i.markRequestHandlersEntryUpdated()),!(e||l)&&(i.finishEsbuildRun(),i.buildRevision++,t.infoTime("rebuild","JavaScript re-compiled"),await i.reloadMarkdocOptions(),i.markUserCodeReady(),i.runListeners("build-updated"),i.lifecycleContext&&i.buildRevision>1&&i.lifecycleContext.fs.emitCodeUpdated())},s=[new Promise((r,a)=>{const o={label:"client",buildStart(){t.verbose("Start compiling client code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Client compiled"),r(!0)},rebuildStart:()=>n("client"),rebuildEnd:()=>d("client")};C(i,i.outdir,"development",o).then(u=>u.watch()).catch(a)}),new Promise((r,a)=>{const o={label:"server",buildStart(){t.verbose("Start compiling server code."),t.startTiming(this.label)},buildEnd(){t.verboseTime(this.label,"Server compiled"),r(!0)},rebuildStart:()=>n("server"),rebuildEnd:()=>d("server")};S(i,i.serverOutDir,"development",o).then(u=>u.watch()).catch(a)})];await Promise.all(s),await i.reloadMarkdocOptions()}function P(){return new Promise(i=>{setTimeout(i,0)})}export{q as develop};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as c from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as f}from"../../constants/common.js";import{logger as k}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as A}from"./resolveTheme.js";import{EntitlementsProvider as F}from"../../server/entitlements/entitlements-provider.js";const
|
|
1
|
+
import*as c from"path";import{DEFAULT_THEME_NAME as i,USER_THEME_ALIAS as f}from"../../constants/common.js";import{logger as k}from"../../server/tools/notifiers/logger.js";import{reporter as T}from"../../server/tools/notifiers/reporter.js";import{resolveTheme as A}from"./resolveTheme.js";import{EntitlementsProvider as F}from"../../server/entitlements/entitlements-provider.js";const v=["markdoc/attributes/code-walkthrough-filesets.ts","markdoc/attributes/code-walkthrough-filters.ts","markdoc/components/CodeWalkthrough/**","markdoc/tags/code-step.ts","markdoc/tags/code-toggle.ts","markdoc/tags/code-walkthrough.ts"],m=["./core/**","./markdoc/**/default.*","**/__mocks__/**","**/index.*","**/utils/**/*","**/__tests__/**/*","**/__snapshots__/**/*","**/*.stories.*","**/variables.*",...v],L=["./components/CatalogClassic/CatalogClassicCard.*","./components/ColorModeSwitcher/**","./components/ReplayGate/**","./components/ReplaySecuritySchemeActions/**","./components/ReplayTopBarActions/**","./components/Feedback/**","./components/Filter/**","./components/Footer/**","./components/LanguagePicker/**","./components/Menu/**","./components/Navbar/**","./components/PageNavigation/**","./components/Product/**","./components/Search/**","./components/NavigationTabs/**","./components/UserMenu/**","./layouts/RootLayout.*","./layouts/NotFound.*","./layouts/Forbidden.*","./layouts/DocumentationLayoutTop.*","./layouts/DocumentationLayoutBottom.*","./icons/**","./markdoc/**","./ext/**"];async function S(t){const[p,r]=t._,{theme:l,force:u,onSuccess:d,onError:g,onOverride:h,config:E}=t,_=F.instance(),s=c.resolve(t["project-dir"]);let o=l;o||(o=i);const n=await A(s,E.plugins||[],o,r);n||await T.panicOnContentError(`Theme ${o} not found. Skipping eject.`);const e=n?.config.ejectIgnore;e&&!Array.isArray(e)&&k.warn("'ejectIgnore' must be of type Array. Skipping.");const a=await _.getPackageEjectIgnore(),y={force:u,onSuccess:d,onError:g,onOverride:h,onlyFiles:o===i?L:void 0,ignoreFiles:Array.isArray(e)?[...e,...a,...m]:[...a,...m]};return{objectType:p,pathToThemeFolder:n?.pluginDirAbsolutePath,pathToPortalCustomThemeFolder:c.resolve(s,f),componentToEject:r,theme:o,options:y}}export{m as DEFAULT_IGNORED_FILES,L as EJECTABLE_FILES,S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(e){return e.length===0?e:`${e[0]?.toUpperCase()}${e.slice(1)}`}function c(e){return e.length===0?e:`${e[0]?.toLowerCase()}${e.slice(1)}`.replace(/[\W_]+(.)/g,(a,r)=>r.toUpperCase()).replace(/[\W_]/g,"")}function l(e){return/^[a-z][A-Za-z0-9]*$/.test(e)}export{c as camelCase,t as capitalize,l as isCamelCaseAlphaNumeric};
|
|
1
|
+
function t(e){return e.length===0?e:`${e[0]?.toUpperCase()}${e.slice(1)}`}function c(e){return e.length===0?e:`${e[0]?.toLowerCase()}${e.slice(1)}`.replace(/(?<![\W_])[\W_]+(.)/g,(a,r)=>r.toUpperCase()).replace(/[\W_]/g,"")}function l(e){return/^[a-z][A-Za-z0-9]*$/.test(e)}export{c as camelCase,t as capitalize,l as isCamelCaseAlphaNumeric};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isRedocExtension as
|
|
1
|
+
import{isRedocExtension as O}from"@redocly/api-docs/lib/utils/extract-extensions.js";import{REDOCLY_TEAMS_RBAC as l}from"@redocly/config";import{isRef as m}from"@redocly/openapi-core";const p=40,S=20,g=20,f="$value",x="$keys",a="<truncated>",E="<masked>",h=new Set(["x-metadata","x-enumDescriptions","x-webhooks","x-examples"]),d="x-rbac",R=/key|token|secret|password|credential|session|bearer|auth|email|phone|contact|url|uri|host|domain|address|location/i,P=/^(?=.*\d)[A-Za-z0-9+/=_-]{16,}$/,_=/:\/\//;function y(n){for(const t of n.split(/\s/)){const e=t.indexOf("@",1);if(e===-1)continue;const r=t.indexOf(".",e+2);if(r!==-1&&r<=t.length-2)return!0}return!1}function K(n){const t={enter(r,o){if(m(o.parent))return;const s=o.key.toString();O(s)&&b(n,s,r)}};return{any:{enter(r){if(!i(r))return;const o=r[l];o!==void 0&&b(n,d,o)}},SpecExtension:t,XCodeSampleList:t,ExamplesMap:t,EnumDescriptions:t,TagGroups:t,Logo:t,XServerList:t,XUsePkce:t,WebhooksMap:t}}function w(n){const t=Object.fromEntries(Object.entries(n).map(([e,{count:r,props:o}])=>[e,{count:r,props:Object.fromEntries(Object.entries(o).map(([s,c])=>[s,[...c].sort().join(", ")]))}]));return Object.keys(t).length>0?t:void 0}function b(n,t,e){const r=n[t]??={count:0,props:{}};if(r.count++,t===d){k(r.props,e);return}if(h.has(t)){j(r.props,e);return}for(const[o,s]of N(e)){const c=R.test(o)?E:A(s);u(r.props,$(o),c)}}function j(n,t){if(i(t))for(const[e,r]of Object.entries(t))u(n,x,`${X(e)}:${L(r)}`)}function k(n,t){if(i(t))for(const e of Object.values(t))u(n,f,A(e))}function L(n){return n===null?"null":Array.isArray(n)?"array":typeof n}function N(n){return i(n)?Object.entries(n):Array.isArray(n)?n.flatMap(t=>i(t)?Object.entries(t):[[f,t]]):[[f,n]]}function A(n){return n===null?"<null>":typeof n=="boolean"||typeof n=="number"?String(n):typeof n=="string"?P.test(n)||y(n)||_.test(n)?E:n.length<=p?n:`<string:${n.length}>`:Array.isArray(n)?`<array:${n.length}>`:i(n)?"$ref"in n?"<ref>":"<object>":"<unknown>"}function X(n){return y(n)||_.test(n)?E:n.length<=p?n:`<string:${n.length}>`}function u(n,t,e){!(t in n)&&Object.keys(n).length>=g&&(t=a),T(n[t]??=new Set,e)}function T(n,t){n.has(t)||n.has(a)||n.add(n.size>=S?a:t)}function $(n){return n.replace(/\./g,"_").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function i(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}export{K as createExtensionsVisitor,w as toCollectedExtensions};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const i="TranslationKey",u=async({getConfig:e,cache:t,fs:s})=>{const a=await e(),n=r(a),o=s.scan(
|
|
1
|
+
const i="TranslationKey",u=async({getConfig:e,cache:t,fs:s})=>{const a=await e(),n=r(a),o=s.scan(/sidebars.yaml$/),c=await Promise.all(o.map(f=>t.load(f.relativePath,"yaml").then(d=>d.data)));return{...r(c),...n}},r=e=>{let t={};if(!e)return{};if(Array.isArray(e))for(const s of e)t={...t,...r(s)};if(typeof e=="object")for(const[s,a]of Object.entries(e))if(s.endsWith(i)&&typeof a=="string"){const n=s.slice(0,i.length*-1),o=e[n];if(!l(n)||!l(a)||!y(o))continue;t[a]=o||""}else t={...t,...r(a)};return t},l=e=>e.trim().length>0,y=e=>e==null||typeof e=="string";export{u as collectConfigTranslations};
|
package/dist/client/App.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as o from"react";import{Outlet as g,useLocation as h,useNavigate as P}from"react-router";import{useEffect as i,useMemo as c,useState as S,Suspense as D}from"react";import{withoutPathPrefix as T}from"@redocly/theme/core/utils";import{useThemeConfig as v}from"@redocly/theme/core/hooks";import{InternalServerErrorLayout as L}from"@redocly/theme/layouts/InternalServerErrorLayout";import{RootLayout as C}from"@redocly/theme/layouts/RootLayout";import{Consent as y}from"@redocly/theme/components/Consent/Consent";import{PageLayout as R}from"@redocly/theme/layouts/PageLayout";import{components as _}from"@redocly/theme/markdoc/default";import{Sidebar as I}from"./app/Sidebar/Sidebar";import{loadAndNavigate as N}from"./app/utils/loadAndNavigate";import{useActions as O}from"./app/Sidebar/useActions";import{useScrollTracker as A}from"./app/hooks/useScrollTracker";import{useAutoScroll as b}from"./app/hooks/useAutoScroll";import{API_DOCS_TEMPLATE_ID as u}from"../constants/common";import{removeTrailingSlash as k}from"../utils/url/remove-trailing-slash";import{removeLeadingSlash as M}from"../utils/url/remove-leading-slash";import*as x from"./app/markdoc/custom-components/index";import{DefaultStyles as B}from"./styling/default-styles";import{ThemeDataProvider as G}from"./providers/theme/ThemeDataProvider";import{PageDataContext as V}from"./providers/page-data/PageDataContext";import{SeoTags as F}from"./app/seo/SeoTags";import{useRouterForLocalLinks as w,useRunningEnvironmentCheck as U}from"./providers/hooks";import{usePageData as W,usePageDataLoader as j}from"./providers/page-data/hooks";import{ErrorBoundary as q}from"./ErrorBoundary";import{ErrorDetails as f,Loader as z}from"./server-entry";import"@styles";import{useRouteChangeTracker as H}from"./app/hooks/useRouteChangeTracker";import{useWebMcpTools as J}from"./app/webmcp";import{isInIframe as K}from"./utils";import{useL10n as Q}from"./app/l10n";import{PostMessageProvider as X}from"./providers/post-message/PostMessageProvider";import{ScriptLoader as Y}from"./ScriptLoader";import{clientRoutes as Z}from"./runtime/generated/routes.js";import{DevModeFloatingBar as $}from"./app/DevModeFloatingBar";import{usePageTimeTracker as ee}from"./app/hooks/usePageTimeTracker";import{useMarkdocRenderer as oe}from"./app/hooks/markdown/useMarkdocRenderer";globalThis.__LOADER.markdocComponents={...x,..._};function te(){const{palette:e}=v();return o.createElement(B,{palette:e})}function Ue(){const e=j(),[r,n]=S(e),t=h(),m=P();Q(),i(()=>{e?n(e):N({navigate:m,to:t.pathname+t.search+t.hash}).then(()=>n(z.loadSync(t.pathname)))},[t,m]),w();const a=U();return a?(console.log(a),o.createElement(f,{error:{message:a,name:""}})):r?o.createElement(q,null,o.createElement(V.Provider,{value:e||r},o.createElement(G,null,o.createElement(te,null),o.createElement(X,{enabled:process.env.NODE_ENV==="development"||K()},o.createElement(g,null))))):null}function re(){return b(),null}function E(){H(),ee(),A(),J();const e=W(),r=O(),{layout:n}=r,t=c(()=>({layout:n}),[n]),m=process.env.NODE_ENV!=="production",a=globalThis.SSR_OMIT_SUSPENSE,s=oe(e?.props?.ast),d=k(e?.slug||"");i(()=>{document.documentElement.classList.add("ready")},[]);const l=c(()=>[u].includes(e?.templateId??"")?{...e?.props,apiOptions:t}:e?.props,[e?.props,e?.templateId,t]);if(e?.props.pagePropGetterError?.message)return m?o.createElement(f,{error:{...e?.props?.pagePropGetterError}}):o.createElement(L,null);if(!!e?.props?.compilationErrors?.length)return e?.Template?o.createElement(e.Template,{pageProps:e?.props,children:s}):null;const p=()=>o.createElement(C,null,e?.templateId!==u&&o.createElement(re,null),o.createElement(R,{sidebar:o.createElement(I,{layoutControls:r})},o.createElement(F,{seo:e?.props.seo,slug:d}),e?.Template&&l?o.createElement(e.Template,{pageProps:l,children:s}):null),process.env.NODE_ENV!=="production"&&o.createElement($,null),o.createElement(Y,null),o.createElement(y,null));return a?p():o.createElement(D,null,p())}const We=[...Z.map(e=>({Component:E,path:M(T(e).substring(1)+"/*")})),{Component:E,path:"*"}];export{Ue as App,E as Page,We as routes};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ResolvedPageData } from '../types/index.js';
|
|
3
|
-
|
|
3
|
+
import type { UiAccessibleConfig } from '@redocly/theme/config';
|
|
4
|
+
export declare function TestProvider({ children, customPageData, config, }: React.PropsWithChildren<{
|
|
4
5
|
customPageData?: Partial<ResolvedPageData>;
|
|
6
|
+
config?: UiAccessibleConfig;
|
|
5
7
|
}>): React.JSX.Element;
|
|
6
8
|
//# sourceMappingURL=TestProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import{BrowserRouter as
|
|
1
|
+
import e from"react";import{BrowserRouter as i}from"react-router";import{ThemeDataContext as u,SearchSessionProvider as m}from"@redocly/theme/core/contexts";import d from"@redocly/theme/core/templates/Markdown";import{useBreadcrumbs as l,useBanner as c,useConsent as p,useCatalogClassic as g,useCurrentProduct as h,useGlobalData as f,useI18n as T,useI18nConfig as b,useL10n as C,useL10nConfig as k,usePageData as v,usePageSharedData as S,usePageVersions as w,usePreloadHistory as y,useProducts as P,useUserMenu as D,useSubmitFeedback as $,useTranslate as E,useTranslationKeys as F,useSidebarSiblingsData as I,useNavigationTabs as L,usePageProps as M,useUserTeams as x,useMarkdownText as H,useMarkdocRenderer as R,useCodeHighlight as A,useLoadAndNavigate as B,useCatalog as G,useCatalogSort as N,useCatalogSearch as O,useFetchCatalogEntities as U,useFetchCatalogEntitiesRelations as K,useTelemetry as r,useMcpData as Q,useFetchCatalogEntityRevisions as V}from"./app/hooks";import{Link as j}from"./app/Link";import{useFacetQuery as q,useSearch as z,useSearchFeatures as J,useAiSearch as W}from"./app/search";import{useSidebarItems as X}from"./app/Sidebar/useSidebarItems";import{PageDataContext as Y}from"./providers/page-data/PageDataContext";const s={Template:({pageProps:a,children:t})=>e.createElement(d,{pageProps:{...a,metadata:{...a.metadata,markdoc:{tagList:[]}}}},t),templateId:"markdown",isPublic:!0,props:{seo:{title:"Test"},ast:{$$mdtype:"Tag",name:"div",children:[{$$mdtype:"Tag",name:"Heading",attributes:{id:"github-flavored-markdown",level:1},children:["GitHub-flavored markdown"]},{$$mdtype:"Tag",name:"p",attributes:{},children:["These exercises assume you have",{$$mdtype:"Tag",name:"a",attributes:{href:"https://docs.redoc.ly/"},children:["basic markdown knowledge"]},"."]},{$$mdtype:"Tag",name:"Heading",attributes:{id:"create-a-new-plain-markdown-page",level:2},children:["Create a new plain markdown page"]}]},lastModified:new Date("2022-01-01").toISOString()},slug:"",userData:{isAuthenticated:!1,name:"test name",picture:""},sidebar:null,sharedData:{},sharedDataIds:{}},Z={useBreadcrumbs:l,useBanner:c,useConsent:p,useCatalog:G,useCatalogSort:N,useCatalogSearch:O,useFetchCatalogEntities:U,useFetchCatalogEntitiesRelations:K,useFetchCatalogEntityRevisions:V,useCatalogClassic:g,useCurrentProduct:h,useGlobalData:f,useSearch:z,useSearchFeatures:J,useAiSearch:W,useFacetQuery:q,useI18n:T,useI18nConfig:b,useL10n:C,useL10nConfig:k,usePageData:v,usePageSharedData:S,usePageVersions:w,usePreloadHistory:y,useProducts:P,useUserMenu:D,useSidebarItems:X,useSidebarSiblingsData:I,useNavigationTabs:L,useSubmitFeedback:$,useTranslate:E,useTranslationKeys:F,useUserTeams:x,usePageProps:M,useMarkdownText:H,useMarkdocRenderer:R,useCodeHighlight:A,useLoadAndNavigate:B,useTelemetry:r,useOtelTelemetry:r,useMcpData:Q},_={LinkComponent:j},o={hooks:Z,components:_,config:{}};function me({children:a,customPageData:t,config:n}){return e.createElement(i,null,e.createElement(m,null,e.createElement(Y.Provider,{value:{...s,...t,props:{...s.props,...t?.props}}},e.createElement(u.Provider,{value:{...o,config:n??o.config}},a))))}export{me as TestProvider};
|
package/dist/client/app/Link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as l from"react";import d from"path";import{Link as U,useNavigate as z,useLocation as F}from"react-router";import{getPathnameForLocale as M,withPathPrefix as W}from"@redocly/theme/core/utils";import{removeTrailingSlash as I}from"../../utils/url/remove-trailing-slash";import{normalizeRouteSlug as h}from"../../utils/path/normalize-route-slug";import{isAbsoluteUrl as V}from"../../utils/url/is-absolute-url";import{isAssetsLink as j}from"../../utils/path/is-assets-link";import{useL10nConfig as q}from"./hooks/index.js";import{loadAndNavigate as B}from"./utils/loadAndNavigate.js";import{isForcedNavigationLinkClick as G}from"../utils/utils.js";async function g(o,t){if(V(o))return;await(typeof window<"u"?window:global).__LOADER.tryLoad(o,void 0,t)}function oe(o){const{to:t,children:n,className:v,style:i,innerRef:s,target:L,external:c,languageInsensitive:w,onClick:m,active:H,rel:y,reloadDocument:k,preventScrollReset:R,relative:P,viewTransition:C,state:E,replace:N,..._}=o,x=L||(c?"_blank":"_self"),A=c||t.match(/^(https?:\/\/|mailto:)/),f=y||(A?"noreferrer":void 0),a={className:v,target:x,...f&&{rel:f},onClick:m,..._},{defaultLocale:D,locales:S,currentLocale:b}=q(),O=F();let e=t;e.startsWith(".")&&(e=d.resolve(d.dirname(h(O.pathname)),h(t))),e=e.startsWith("#")?e:W(w?e:M(e,D,b,S));const r=e!=="/"?I(e):e,T=z(),p=typeof window<"u"?new URL(r,window.location.origin+window.location.pathname).search:void 0;return typeof t=="string"&&t.match(/^(https?:\/\/|mailto:)/)?l.createElement("a",{...a,ref:s,style:i,href:t,onMouseOver:async()=>g(t,p)},n):j(r)?l.createElement("a",{...a,ref:s,style:i,href:r},n):l.createElement(U,{...a,ref:s,style:i,to:r,reloadDocument:k,preventScrollReset:R,relative:P,viewTransition:C,state:E,replace:N,onClick:u=>{m?.(),!G(u,a.target)&&(u.preventDefault(),B({navigate:T,to:r}))},onMouseOver:async()=>g(r,p)},n)}export{oe as Link};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
`){r++,e=1,a===
|
|
1
|
+
import v,{useCallback as m,useEffect as b,useMemo as E,useRef as y}from"react";import{safeLoad as w,Kind as p}from"yaml-ast-parser";import{Helmet as N}from"@dr.pogodin/react-helmet";import{Source as P}from"@redocly/openapi-core";import{isBrowser as h}from"../../../utils/env/is-browser";import{usePageSharedData as k}from"../../providers/page-data/hooks";import{usePostMessage as S}from"../../providers/post-message/use-post-message";const f="___selected",A=10,C=h()&&window.location.search.includes("review-comments=true");function g(t){const[o="",i=""]=t.split("#"),[r,e]=i.split("-").map(n=>n.slice(1));return{fileName:o,fromLine:Number(r),toLine:Number(e)||Number(r)}}function O(t,o){Array.from(document.getElementsByClassName(f)).forEach(r=>{r.classList.remove(f)});let i;if(o)i=document.querySelectorAll(`[data-pointer="${o}"]`);else if(t){const{fileName:r,fromLine:e,toLine:n}=g(t);i=Array.from(document.querySelectorAll("[data-source]")).find(a=>{const d=a.attributes.getNamedItem("data-source")?.value||"",{fileName:c,fromLine:s,toLine:u}=g(d);return c===r&&e<=u&&n>=s})}if(i){let r=i,e=r.offsetTop;if(i instanceof NodeList){r=i[0],i.forEach(a=>{a.classList.add(f)});const l=window.pageYOffset||document.documentElement.scrollTop;e=r.getBoundingClientRect().top+l}r.classList.add(f);const n=document.querySelector("nav")?.offsetHeight||0;window.scrollTo({top:e-n-A,behavior:"smooth"})}}function T(t){return decodeURIComponent(t.replace(/~1/g,"/").replace(/~0/g,"~"))}function $(t){return t.substr(2).split("/").map(T)}function M(t,o,i){const r=$(o);if(t===void 0)return;let e=t;for(const n of r)if(e.kind===p.MAP){const l=e.mappings.find(a=>a.key.value===n);if(!l||(e=l,!l?.value))break;e=l.value}else if(e.kind===p.SEQ){const l=e.items[parseInt(n,10)];if(!l)break;e=l}if(i){const n=e.parent;return!n||n.kind===p.SEQ?e:n.kind===p.MAPPING?n.key:e}else return e}function D(t,o,i){let r=1,e=1,n={line:1,col:1};for(let a=0;a<i-1;a++){if(a===o-1&&(n={line:r,col:e+1}),t[a]===`
|
|
2
|
+
`){r++,e=1,a===o-1&&(n={line:r,col:e}),t[a+1]==="\r"&&a++;continue}e++}const l=o===i?{...n}:{line:r,col:e+1};return{start:n,end:l}}function I(t){if(t.pointer===void 0)return t;const{source:o,pointer:i,reportOnKey:r}=t,e=o.getAst(w),n=M(e,i,!!r);return{...t,pointer:void 0,...D(o.body,n?.startPosition??1,n?.endPosition??1)}}function L(t){let o=t.target;for(;o&&!o.attributes["data-source"]&&!o.attributes["data-pointer"];)o=o.parentElement;return o}function Q(){const t=k("openAPIDocsStore"),o=E(()=>!t||!t.source?{file:"",source:null}:{source:new P(t.source.absolutePath,t.source.content),file:t.source.relativePath},[t]),{sendMessage:i}=S(),r=m(c=>{const s=c.attributes["data-pointer"].value;if(!o.source)return{file:""};const u=I({pointer:`#${s}`,source:o.source});return{file:`${o.file}#L${u.start.line}${u.end?`-L${u.end.line}`:""}`,pointer:s}},[o]),e=m(c=>({file:c.attributes["data-source"].value}),[]),n=m(c=>{c.preventDefault();const s=L(c);let u={file:""};s.attributes["data-source"]&&(u=e(s)),s.attributes["data-pointer"]&&(u=r(s)),i({type:"add-review-comment",...u})},[r,e,i]),l=m(c=>{c.target.classList.remove(f),i({type:"review-hover-lines",file:""}),c.target.removeEventListener("click",n)},[n,i]),a=m(c=>{const s=L(c);if(s&&s!==d.current){s.classList.add(f);let u={file:""};s.attributes["data-source"]&&(u=e(s)),s.attributes["data-pointer"]&&(u=r(s)),i({type:"review-hover-lines",...u}),s.addEventListener("mouseleave",l,{once:!0}),s.addEventListener("click",n)}d.current=s},[n,l,e,r,i]),d=y(null);return b(()=>{if(C)return document.body.addEventListener("mousemove",a),()=>{document.body.removeEventListener("mousemove",a)}},[a]),v.createElement(N,null,v.createElement("style",null,`
|
|
3
3
|
.${f} {
|
|
4
4
|
outline: 2px solid #1677ff;
|
|
5
5
|
cursor: pointer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e,{useEffect as y,useState as b}from"react";import h from"styled-components";import{Menu as w}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as B}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as A}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as D}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as I}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as L}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as P}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as x,getBaseDataAttributes as C,generateBeforeAfterContext as T}from"@redocly/theme/core/utils";import{telemetry as
|
|
1
|
+
import e,{useEffect as y,useState as b}from"react";import h from"styled-components";import{Menu as w}from"@redocly/theme/components/Menu/Menu";import{SidebarActions as B}from"@redocly/theme/components/SidebarActions/SidebarActions";import{Sidebar as A}from"@redocly/theme/components/Sidebar/Sidebar";import{VersionPicker as D}from"@redocly/theme/components/VersionPicker/VersionPicker";import{Button as I}from"@redocly/theme/components/Button/Button";import{CatalogEntityHistoryButton as L}from"@redocly/theme/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton";import{ArrowLeftIcon as P}from"@redocly/theme/icons/ArrowLeftIcon/ArrowLeftIcon";import{withPathPrefix as x,getBaseDataAttributes as C,generateBeforeAfterContext as T}from"@redocly/theme/core/utils";import{telemetry as g}from"../telemetry/index.js";import{usePreloadHistory as M}from"../usePreloadHistory";import{useTranslate as V}from"../hooks";import{usePageSharedData as H,usePageVersions as R}from"../../providers/page-data/hooks";import{useSidebarItems as q}from"./useSidebarItems";import{renderAdmonition as j,RequestAccessButton as z}from"./RequestAccessButton";function ae({layoutControls:l}){const{versions:r=[]}=R()||{},m=r.find(t=>t?.active),{translate:a}=V(),{currentItems:c,backLink:n,versionLabel:o,pushDrilldownState:v,popDrilldownState:k}=q(m),[d,S]=b(),{collapsedSidebar:i}=l,u=H("apiDocsStore")?.apiId,E=M(),[p,s]=b(void 0);return y(()=>{const t=setTimeout(()=>s(void 0),350);return()=>clearTimeout(t)},[p]),!c.length&&r.length<2?null:e.createElement(e.Fragment,null,e.createElement(A,{collapsed:i,menuItemsAnimation:p,versions:e.createElement(D,{versions:r,onChange:t=>{g.sendVersionPickerChangedMessage([...T("versionPicker","dropdown",{version:m?.version||""},{version:t?.version||""})]);const f=location.hash?t?.link+location.hash:t?.link;f&&E.push(x(f))}}),menu:e.createElement(w,{items:c,onDrilldownOpen:t=>{s("slideInRight"),v(t)}}),footer:e.createElement("div",{style:{width:"100%"}},!i&&j(d),e.createElement(B,{...l,requestAccessButton:u?e.createElement(z,{apiId:u,status:d,setStatus:S}):null})),header:(n||o)&&e.createElement(F,null,n&&e.createElement(K,{icon:e.createElement(P,null),iconPosition:"left",variant:"ghost",size:"medium","data-component-name":"Sidebar/BackButton",to:n.slug,onClick:()=>{s("slideInLeft"),k(),g.sendSidebarDrilldownBackClickedMessage([C("sidebarDrilldownBack","button")])}},i?"":n.label?e.createElement("div",{"data-translation-key":"sidebar.menu.backToLabel"},a("sidebar.menu.backToLabel",{value:a(n.labelTranslationKey,n.label)})):e.createElement("div",{"data-translation-key":"sidebar.menu.backLabel"},a("sidebar.menu.backLabel"))),o&&!i&&e.createElement(L,{version:o}))}))}const F=h.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--menu-header-container-gap);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useLocation as A}from"react-router";import{useEffect as w,useMemo as
|
|
1
|
+
import{useLocation as A}from"react-router";import{useEffect as w,useMemo as c,useRef as _,useState as k}from"react";import{useActiveSectionId as D}from"@redocly/theme/core/hooks";import{getMenuItemType as C}from"@redocly/theme/core/utils";import{MenuItemType as v}from"@redocly/theme/core/constants";import{CATALOG_BASE_SLUG as T,CATALOG_SLUGS as h}from"../../../constants/catalog-entities";import{usePageSharedData as y,useSidebarItemsData as G,useSidebarConnectedCatalogConfig as E,useSidebarConnectedCatalogEntity as O}from"../../providers/page-data/hooks";import{mapItemsPropsToState as b}from"./utils";import{injectCatalogItems as K}from"../../utils/catalog/inject-catalog-items";import{filterOutVersionedItems as R}from"../../utils/filter-out-versioned-items";const B="catalog.backToAllLabel",M=`${T}/${h.ALL}`;function U(i){const e=G();return c(()=>R(e,i),[e,i])}function J(i){const e=A(),t=D(e,!0),a=O(),g=E(),s=U(i),u=a?K(s,a.key,g?.slug,e.search):s,m=_(null),r=c(()=>b(u,e,t),[t,e,u]),l=y("current-catalog-info"),p=c(()=>S(r),[u]),[n,d]=k(p),o=n.length>0?n[n.length-1]:void 0,I=c(()=>o&&b([...o.item.link?[{...o.item,items:[],menuStyle:void 0,separatorLine:!1}]:[],...o.item.items],e,t),[o,e,t]);w(()=>{if(!m.current||m.current!==t){const f=S(r);d(f),m.current=t}},[s,e,t]);const L=o?{slug:o.previousLink,event:"sidebar_drilldown_back_button.clicked"}:a?{label:"Back to Catalog",labelTranslationKey:B,slug:M,event:"back_to_catalog_button.clicked"}:l?{label:l.catalog.label,labelTranslationKey:l.catalog.labelTranslationKey,slug:l.catalog.link,event:"back_to_catalog_button.clicked"}:void 0;return{currentItems:I||r,allSidebarItems:r,popDrilldownState:()=>{n.length>0&&d(n.slice(0,n.length-1))},pushDrilldownState:f=>{d([...n,f])},backLink:L,versionLabel:a?.version??null}}function S(i,e=[]){for(const t of i){if(!t.active&&!t.hasActiveSubItem)continue;if(C(t)===v.DrillDown&&e.push({item:t}),t.active)return e;if(t.hasActiveSubItem)return S(t.items,e)}return e}export{U as useRawSidebarItems,J as useSidebarItems};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function u(){return{root(e){this.addClassToHast(e.children?.[0],"tree-view-root")},line(e){this.addClassToHast(e,"tree-view-line");const
|
|
1
|
+
function u(){return{root(e){this.addClassToHast(e.children?.[0],"tree-view-root")},line(e){this.addClassToHast(e,"tree-view-line");const s=e.children?.[0]?.children?.[0];if(s?.type!=="text")return e;const r=s.value||"",t=r.match(/^([^#\n]*?)((?<=[^\s]|^)\s*#.*)?$/);let a=r,i="";t&&(a=(t[1]||"").trimEnd(),i=t[2]||"");const f=a.trim().split(" "),c=[],o=[];let p=!1;f.forEach(n=>{n.match(/(\w+|\.|\/|-|_)/g)||p?(o.push(n),p=!0):c.push(n)});const l=o.join(" ").trim(),m=l.split("."),h=m.length>1?m.pop():void 0;return e.children=[{type:"element",tagName:"span",properties:{class:"tree-view-branch"},children:[{type:"text",value:c.join(" ")}]},{type:"element",tagName:"span",properties:{class:`tree-view-file ${l?"ext-"+(h||"folder"):"no-file"}`},children:[{type:"text",value:l}]}],i&&e.children.push({type:"element",tagName:"span",properties:{class:"tree-view-comment"},children:[{type:"text",value:i}]}),e}}}export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import l from"shiki/langs/bash.mjs";import d from"shiki/langs/c.mjs";import g from"shiki/langs/coffee.mjs";import u from"shiki/langs/csharp.mjs";import k from"shiki/langs/css.mjs";import w from"shiki/langs/go.mjs";import b from"shiki/langs/graphql.mjs";import y from"shiki/langs/html.mjs";import N from"shiki/langs/http.mjs";import v from"shiki/langs/java.mjs";import
|
|
1
|
+
import l from"shiki/langs/bash.mjs";import d from"shiki/langs/c.mjs";import g from"shiki/langs/coffee.mjs";import u from"shiki/langs/csharp.mjs";import k from"shiki/langs/css.mjs";import w from"shiki/langs/go.mjs";import b from"shiki/langs/graphql.mjs";import y from"shiki/langs/html.mjs";import N from"shiki/langs/http.mjs";import v from"shiki/langs/java.mjs";import H from"shiki/langs/javascript.mjs";import L from"shiki/langs/kotlin.mjs";import _ from"shiki/langs/lua.mjs";import r from"shiki/langs/markdown.mjs";import x from"shiki/langs/objective-c.mjs";import j from"shiki/langs/perl.mjs";import q from"shiki/langs/php.mjs";import T from"shiki/langs/python.mjs";import C from"shiki/langs/scala.mjs";import E from"shiki/langs/sql.mjs";import M from"shiki/langs/swift.mjs";import S from"shiki/langs/tsx.mjs";import I from"shiki/langs/typescript.mjs";import A from"shiki/langs/vim.mjs";import D from"shiki/langs/xml.mjs";import F from"shiki/langs/yaml.mjs";import R from"shiki/langs/jsonl.mjs";import{transformerNotationDiff as W,transformerNotationHighlight as G,transformerNotationWordHighlight as J,transformerNotationFocus as U,transformerNotationErrorLevel as V,transformerMetaHighlight as $,transformerMetaWordHighlight as z,transformerRemoveNotationEscape as B}from"@shikijs/transformers";import{createHighlighterCoreSync as K}from"shiki/core";import{createJavaScriptRegexEngine as O}from"shiki/engine/javascript";import P from"./ruby";import Q from"./multipart-mixed";import X from"./json-seq";import Y from"./theme";import Z from"./treeview-transformer";import rr from"./node-transformer";import or from"./line-numbers-transformer";import{mapLang as tr}from"./map-lang";const mr=[{...r[0],displayName:"Markdoc",name:"markdoc",scopeName:"source.markdoc",aliases:[],repository:{...r[0].repository,fenced_code_block:{patterns:[...r[0].repository.fenced_code_block.patterns||[],{name:"markdoc",begin:".*{%",end:"%}",patterns:[{match:"(?<={%)\\s*(/\\w+(-\\w+)?|\\w+(-\\w+)?)",name:"markdoc.tag"},{match:"\\$\\w+",name:"markdoc.variable"},{match:'".*?"',name:"markdoc.string"},{match:"\\b\\w+(?=\\()",name:"markdoc.function"},{match:"\\s+\\w+(?==|\\s)",name:"markdoc.keyword"},{match:"(?<==)false|true(?=\\s)",name:"markdoc.boolean"}]}]}}}],n="text",er=[l,d,g,u,k,w,b,y,N,v,H,L,_,r,x,j,q,T,P,C,E,M,S,I,D,A,F,mr,R,Q,X];let o;function t(){return o||(o=K({themes:[Y],langs:er,engine:O()})),o}typeof window<"u"&&typeof requestIdleCallback=="function"&&requestIdleCallback(t);const ir=[W(),G(),J(),U(),V(),$(),z(),B(),rr()],ar=(m,f,s)=>{const{withLineNumbers:p,startLineNumber:c,highlight:h,customTransformer:e}=s||{},i=tr(f?.toLowerCase()||n),a={lang:i,theme:"theme",meta:{__raw:h},transformers:[...i==="treeview"?[Z()]:[],...ir,...p?[or(c)]:[],...e?[e]:[]]};try{return t().codeToHtml(m,a)}catch{return t().codeToHtml(m,{...a,lang:n})}};function Br(){return{highlight:ar}}export{ar as highlight,Br as useCodeHighlight};
|
|
@@ -16,6 +16,7 @@ export { useSubmitFeedback } from '../Feedback/useSubmitFeedback';
|
|
|
16
16
|
export { usePreloadHistory } from '../usePreloadHistory';
|
|
17
17
|
export { useBreadcrumbs } from '../Sidebar/useBreadcrumbs';
|
|
18
18
|
export { useBanner } from './useBanner';
|
|
19
|
+
export { useConsent } from './useConsent';
|
|
19
20
|
export { useCatalog } from './catalog/useCatalog';
|
|
20
21
|
export { useCatalogSort } from './catalog/useCatalogSort';
|
|
21
22
|
export { useCatalogSearch } from './catalog/useCatalogSearch';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"../../providers/page-data/hooks";import{usePageSharedData as t}from"../../providers/hooks";import{useLoginUrl as a}from"./useLoginUrl";import{useGlobalData as f}from"../useGlobalData";import{useL10n as p}from"../l10n/hooks";import{useL10nConfig as n}from"./useL10nConfig";import{useL10n as l}from"../l10n/hooks";import{useTranslate as C}from"../l10n/hooks";import{useTranslationKeys as c}from"../l10n/hooks";import{useL10nConfig as L}from"./useL10nConfig";export*from"./useCurrentUserTeams";export*from"./products";import{usePageVersions as F}from"../../providers/page-data/hooks";import{useUserMenu as S}from"../UserMenu/useUserMenu";import{useSubmitFeedback as k}from"../Feedback/useSubmitFeedback";import{usePreloadHistory as E}from"../usePreloadHistory";import{useBreadcrumbs as R}from"../Sidebar/useBreadcrumbs";import{useBanner as B}from"./useBanner";import{
|
|
1
|
+
export*from"../../providers/page-data/hooks";import{usePageSharedData as t}from"../../providers/hooks";import{useLoginUrl as a}from"./useLoginUrl";import{useGlobalData as f}from"../useGlobalData";import{useL10n as p}from"../l10n/hooks";import{useL10nConfig as n}from"./useL10nConfig";import{useL10n as l}from"../l10n/hooks";import{useTranslate as C}from"../l10n/hooks";import{useTranslationKeys as c}from"../l10n/hooks";import{useL10nConfig as L}from"./useL10nConfig";export*from"./useCurrentUserTeams";export*from"./products";import{usePageVersions as F}from"../../providers/page-data/hooks";import{useUserMenu as S}from"../UserMenu/useUserMenu";import{useSubmitFeedback as k}from"../Feedback/useSubmitFeedback";import{usePreloadHistory as E}from"../usePreloadHistory";import{useBreadcrumbs as R}from"../Sidebar/useBreadcrumbs";import{useBanner as B}from"./useBanner";import{useConsent as I}from"./useConsent";import{useCatalog as A}from"./catalog/useCatalog";import{useCatalogSort as K}from"./catalog/useCatalogSort";import{useCatalogSearch as V}from"./catalog/useCatalogSearch";import{useFetchCatalogEntities as q}from"./catalog/useFetchCatalogEntities";import{useFetchCatalogEntitiesRelations as J}from"./catalog/useFetchCatalogEntitiesRelations";import{useFetchCatalogEntityRevisions as Q}from"./catalog/useFetchCatalogEntityRevisions";import{useCatalogClassic as X}from"./catalog/useCatalogClassic";import{useTelemetry as Z}from"./useTelemetry";import{useUserTeams as $}from"./useUserTeams";import{useMarkdownText as oe}from"./markdown/useMarkdownText";import{useMarkdocRenderer as te}from"./markdown/useMarkdocRenderer";import{useCodeHighlight as ae}from"./codeHighlight/useCodeHighlight";import{useLoadAndNavigate as fe}from"./useLoadAndNavigate";import{useUserClaims as pe}from"./useUserClaims";import{useMcpData as ne}from"./useMcpData";export{B as useBanner,R as useBreadcrumbs,A as useCatalog,X as useCatalogClassic,V as useCatalogSearch,K as useCatalogSort,ae as useCodeHighlight,I as useConsent,q as useFetchCatalogEntities,J as useFetchCatalogEntitiesRelations,Q as useFetchCatalogEntityRevisions,f as useGlobalData,p as useI18n,n as useI18nConfig,l as useL10n,L as useL10nConfig,fe as useLoadAndNavigate,a as useLoginUrl,te as useMarkdocRenderer,oe as useMarkdownText,ne as useMcpData,t as usePageSharedData,F as usePageVersions,E as usePreloadHistory,k as useSubmitFeedback,Z as useTelemetry,C as useTranslate,c as useTranslationKeys,pe as useUserClaims,S as useUserMenu,$ as useUserTeams};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import m,{useMemo as h}from"react";import{parse as p,transform as u,renderers as b,Tag as g,nodes as d}from"@markdoc/markdoc";import{CodeBlock as k}from"@redocly/theme/components/CodeBlock/CodeBlock";import{tags as C,components as y}from"@redocly/theme/markdoc/default";const N=Object.fromEntries(Object.entries(y).filter(([,t])=>typeof t=="function")),T=t=>/\{%\s*(?:\/?\w+(?:-\w+)*|\/)(?:\s
|
|
1
|
+
import m,{useMemo as h}from"react";import{parse as p,transform as u,renderers as b,Tag as g,nodes as d}from"@markdoc/markdoc";import{CodeBlock as k}from"@redocly/theme/components/CodeBlock/CodeBlock";import{tags as C,components as y}from"@redocly/theme/markdoc/default";const N=Object.fromEntries(Object.entries(y).filter(([,t])=>typeof t=="function")),T=t=>/\{%\s*(?:\/?\w+(?:-\w+)*|\/)(?:\s[^%]*)?(?:\/%|%\})/.test(t),w=(t,e)=>{try{const r=u(t,e);return Array.isArray(r)?r:[r]}catch(r){console.error("Error transforming node:",r)}return[]},l=(t,e,r,n)=>new g("CodeBlock",{...t,header:{title:n,controls:{copy:{}}},source:e,lang:r},[]),A=(t,e)=>{const r=t.transformAttributes(e),n=r["data-language"]||"markdoc",c=r["data-title"],o=t.attributes.content||"",a=l(r,o,n,c),s=[];if(!t.children||t.children.length<=1)return{codeNode:a,contentNodes:s};for(const i of t.children){if(!i)continue;const f=w(i,e);s.push(...f)}return{codeNode:a,contentNodes:s}},F=(t,e)=>{const r=t.transformAttributes(e),n=r["data-language"],c=r["data-title"],o=t.attributes.content||"";if(!T(o)||!t.children||t.children.length===0)return l(r,o,n,c);const a=t.children[0];if(!a||a.type!=="tag")return l(r,o,n,c);const{codeNode:s,contentNodes:i}=A(t,e);return new g("Fragment",{},[s,...i])},x=t=>h(()=>{if(!t)return null;const r=p(t),n=u(r,{tags:C,nodes:{document:{...d.document,render:"div"},fence:{...d.fence,attributes:{...d.fence.attributes,label:{type:String,render:"data-label"},title:{type:String,render:"data-title"},highlight:{type:String,render:"data-highlight"}},transform:F}}});return b.react(n,m,{components:{...N,CodeBlock:k,Fragment:m.Fragment}})},[t]);export{T as containsMarkdocTags,x as useMarkdownText};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ConsentRuntime, UseConsentResult } from '@redocly/theme/core/types';
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
redocly?: {
|
|
5
|
+
consent?: ConsentRuntime;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare function getConsentRuntime(): ConsentRuntime | undefined;
|
|
10
|
+
export declare function useConsent(): UseConsentResult;
|
|
11
|
+
//# sourceMappingURL=useConsent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as c,useEffect as h,useState as C}from"react";import{useThemeConfig as D}from"@redocly/theme/core/hooks";function a(){return typeof window>"u"?void 0:window.redocly?.consent}function O(t){return{mode:t.mode,state:{...t.state},decided:t.decided,gpc:t.gpc,isDialogOpen:t.dialogOpen}}function b(){const{consent:t}=D()||{},[s,d]=C(void 0);h(()=>{const e=a();if(!e)return;const n=()=>d(O(e));n();const g=e.on("change",n),u=e.on("open",n),m=e.on("close",n);return()=>{g(),u(),m()}},[]);const o=c(e=>{const n=a();n&&e(n)},[]),i=c(()=>o(e=>e.open()),[o]),f=c(()=>o(e=>e.close()),[o]),p=c(()=>o(e=>e.accept()),[o]),l=c(()=>o(e=>e.reject()),[o]),r=c(e=>o(n=>n.save(e)),[o]);return{enabled:!!s,config:t,mode:s?.mode,state:s?.state,decided:s?.decided??!1,gpc:s?.gpc??!1,isDialogOpen:s?.isDialogOpen??!1,openDialog:i,closeDialog:f,accept:p,reject:l,save:r}}export{a as getConsentRuntime,b as useConsent};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TFunction as I18nextTFunction } from 'i18next';
|
|
2
|
+
import type { TFunction } from '@redocly/theme/core/types';
|
|
3
|
+
export type L10nContextValue = {
|
|
4
|
+
lang: string;
|
|
5
|
+
translate: TFunction;
|
|
6
|
+
changeLanguage: () => Promise<I18nextTFunction>;
|
|
7
|
+
getKeys: () => string[];
|
|
8
|
+
};
|
|
9
|
+
export declare const L10nContext: import("react").Context<L10nContextValue | null>;
|
|
10
|
+
//# sourceMappingURL=L10nContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as t}from"react";const e=t(null);export{e as L10nContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"i18next";import{useSyncExternalStore as
|
|
1
|
+
import e from"i18next";import{useContext as t,useSyncExternalStore as o}from"react";import{L10nContext as r}from"../L10nContext";const u=n=>(e.on("languageChanged",n),()=>e.off("languageChanged",n)),a=()=>e.language,L=()=>{const n=t(r),g=o(u,a,a);return n?{changeLanguage:n.changeLanguage,lang:n.lang}:{changeLanguage:e.changeLanguage,lang:g}};export{L as useL10n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"i18next";import{useContext as n,useMemo as a}from"react";import{createTranslate as s}from"../../../../utils/l10n/create-translate.js";import{L10nContext as m}from"../L10nContext";import{useL10n as l}from"./useL10n";const x=()=>{const o=n(m),{lang:t}=l(),r=a(()=>s(e.t),[t]);return{translate:o?.translate??r}};export{x as useTranslate};
|