@redocly/redoc 0.134.0-next.3 → 0.134.0-next.5
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 +33 -0
- package/dist/cli/eject/ejectComponent.d.ts +1 -1
- package/dist/cli/eject/ejectTheme.d.ts +1 -1
- package/dist/cli/eject/themeOperations.d.ts +2 -2
- package/dist/cli/telemetry/index.d.ts +1 -1
- package/dist/client/ErrorBoundary.d.ts +1 -1
- package/dist/client/TestProvider.d.ts +1 -1
- package/dist/client/app/CircularProgress.d.ts +1 -1
- package/dist/client/app/ConditionalLink.d.ts +2 -2
- package/dist/client/app/Link.js +1 -1
- package/dist/client/app/Sidebar/useSidebarItems.d.ts +2 -2
- package/dist/client/app/hooks/catalog/useCatalogFilter.d.ts +12 -12
- package/dist/client/app/hooks/catalog/useCatalogSort.d.ts +2 -2
- package/dist/client/app/hooks/catalog/useFetchCatalogEntities.d.ts +1 -1
- package/dist/client/app/hooks/catalog/useFetchCatalogEntitiesRelations.d.ts +2 -2
- package/dist/client/app/hooks/catalog/useFetchCatalogEntityRevisions.d.ts +1 -1
- package/dist/client/app/hooks/catalog/useSearchTracker.d.ts +1 -1
- package/dist/client/app/hooks/products/useProducts.d.ts +3 -3
- package/dist/client/app/hooks/useUserClaims.js +1 -1
- package/dist/client/app/l10n/index.d.ts +1 -1
- package/dist/client/app/markdoc/custom-components/openapi/get-operation/get-operation.d.ts +1 -1
- package/dist/client/app/markdoc/custom-components/styled.elements.d.ts +2 -4
- package/dist/client/app/pages/DevLogin/DevLoginForm.d.ts +1 -1
- package/dist/client/app/pages/DevLogin/styled.d.ts +3 -3
- package/dist/client/app/search/useSearch.d.ts +2 -0
- package/dist/client/app/search/useSearch.js +1 -1
- package/dist/client/app/useGlobalData.d.ts +1 -1
- package/dist/client/app/utils/loadAndNavigate.d.ts +1 -1
- package/dist/client/browser-entry.d.ts +0 -1
- package/dist/client/browser-entry.js +3 -3
- package/dist/client/constants/ai-search.d.ts +7 -7
- package/dist/client/providers/page-data/hooks.d.ts +3 -3
- package/dist/client/templates/asyncapi-docs/helpers.d.ts +4 -181
- package/dist/client/templates/asyncapi-docs/helpers.js +1 -1
- package/dist/client/templates/openapi-docs/helpers.d.ts +1 -1
- package/dist/client/templates/openapi-docs/helpers.js +2 -2
- package/dist/client/templates/openapi-docs/mock-server-config.d.ts +3 -3
- package/dist/client/templates/openapi-docs/template.d.ts +1 -1
- package/dist/client/types/sidebar.d.ts +4 -4
- package/dist/constants/common.d.ts +73 -66
- 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/helpers/normalize-custom-tags.d.ts +2 -0
- package/dist/markdoc/helpers/normalize-custom-tags.js +1 -0
- package/dist/markdoc/nodes/index.d.ts +6 -6
- package/dist/markdoc/tags/index.d.ts +2 -48
- package/dist/server/api-routes/helpers/read-stream-with-size-limit.d.ts +1 -1
- package/dist/server/api-routes/run-api-routes-worker.d.ts +1 -1
- package/dist/server/config/env-config.d.ts +17 -17
- package/dist/server/config/env-schema.d.ts +46 -46
- package/dist/server/config/env-schemas/auth.d.ts +4 -4
- package/dist/server/config/env-schemas/catalog.d.ts +2 -2
- package/dist/server/config/env-schemas/environment-detection.d.ts +8 -8
- package/dist/server/config/env-schemas/feature-flags.d.ts +10 -10
- package/dist/server/config/env-schemas/search.d.ts +3 -3
- package/dist/server/config/env-schemas/server-config.d.ts +2 -2
- package/dist/server/fs/content-fs.d.ts +1 -1
- package/dist/server/persistence/cache/mappers/create-cache-db-record.d.ts +1 -1
- package/dist/server/persistence/file-hashes/mappers/create-file-hash-db-record.d.ts +1 -1
- package/dist/server/persistence/kv/mappers/create-kv-db-record.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/catalog-entities-service.d.ts +5 -5
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-attributes-db-record.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-db-record.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/create-entity-relation-db-record-from-file-schema.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/mappers/field-transformations.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/database/remote-publish-lock-service.d.ts +3 -3
- package/dist/server/plugins/catalog-entities/database/repositories/bffEntities/bff-entities-read-repository.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/database/repositories/common/filters-repository.d.ts +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/entities/entities-read-repository.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/entities/entities-write-repository.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/database/repositories/entityAttributes/entity-attributes-write-repository.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/relations/relations-read-repository.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/database/repositories/utils.d.ts +4 -4
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/base.d.ts +2 -2
- package/dist/server/plugins/catalog-entities/extensions/extractors/fs-entities-extractor.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/schemas/database-schemas.d.ts +78 -78
- package/dist/server/plugins/catalog-entities/schemas/dto-schemas.d.ts +28 -28
- package/dist/server/plugins/catalog-entities/utils/get-not-accessible-catalog-resources.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/utils/is-predefined-catalog-type.d.ts +1 -1
- package/dist/server/plugins/catalog-entities/utils/openapi-component-content-extractor.d.ts +1 -1
- package/dist/server/plugins/config-parser/normalize-redirect-sources.d.ts +1 -1
- package/dist/server/plugins/default-theme/resolve-products-config.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/index.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/App.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/ApiKeyItem.d.ts +62 -4
- package/dist/server/plugins/dev-onboarding/template/components/ApiKeyProductStatus.js +2 -2
- package/dist/server/plugins/dev-onboarding/template/components/ApiKeySecret.js +2 -2
- package/dist/server/plugins/dev-onboarding/template/components/ApiKeys.d.ts +8 -2
- package/dist/server/plugins/dev-onboarding/template/components/ApiLogItem.js +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/CharacterCounter.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/Container.d.ts +14 -2
- package/dist/server/plugins/dev-onboarding/template/components/DialogStyledComponents.d.ts +31 -11
- package/dist/server/plugins/dev-onboarding/template/components/MenuItemButton.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/Paper.d.ts +15 -3
- package/dist/server/plugins/dev-onboarding/template/components/PopupMenuUl.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/RevokeAPIKey.d.ts +2 -2
- package/dist/server/plugins/dev-onboarding/template/components/RevokeAPIKey.js +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/RollAPIKey.d.ts +2 -2
- package/dist/server/plugins/dev-onboarding/template/components/RollAPIKey.js +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/ShadowButton.d.ts +1 -1
- package/dist/server/plugins/dev-onboarding/template/components/ShadowButton.js +2 -2
- package/dist/server/plugins/dev-onboarding/template/components/StatusBadge.d.ts +1 -3
- package/dist/server/plugins/dev-onboarding/template/components/useSortableData.d.ts +2 -2
- package/dist/server/plugins/graphql-docs/constants.d.ts +1 -1
- package/dist/server/plugins/graphql-docs/search/ai/utils.d.ts +1 -1
- package/dist/server/plugins/markdown/markdoc/markdoc-options.d.ts +36 -18
- package/dist/server/plugins/markdown/markdoc/markdoc-options.js +1 -1
- package/dist/server/plugins/markdown/search/get-ai-search-documents.d.ts +1 -1
- package/dist/server/plugins/markdown/search/nodes/tag-node.d.ts +1 -1
- package/dist/server/plugins/markdown/utils/resolve-markdown-template.d.ts +1 -1
- package/dist/server/plugins/mcp/constants.d.ts +1 -1
- package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +8 -8
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.d.ts +1 -1
- package/dist/server/plugins/mcp/docs-mcp/utils.d.ts +2 -2
- 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/servers/docs-server.d.ts +1 -1
- package/dist/server/plugins/mcp/utils/jwt.js +1 -1
- package/dist/server/plugins/mcp/workers/execute-mcp-tool.js +1 -1
- package/dist/server/plugins/scorecard-classic/compute-scorecard.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/get-scorecard-config.d.ts +63 -63
- package/dist/server/plugins/scorecard-classic/index.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/lint.d.ts +3 -3
- package/dist/server/plugins/scorecard-classic/template/Gauge.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/template/components.d.ts +1 -1
- package/dist/server/plugins/scorecard-classic/template/index.styles.d.ts +61 -33
- package/dist/server/plugins/scorecard-classic/template/useData.d.ts +58 -58
- package/dist/server/plugins/scorecard-classic/template/utils.d.ts +1 -1
- package/dist/server/plugins/search/ai-indexer/prepare-semantic-documents.d.ts +1 -1
- package/dist/server/plugins/search/engines/search-engine.d.ts +1 -1
- package/dist/server/plugins/search/llmstxt/index.d.ts +1 -1
- package/dist/server/plugins/sidebars/index.d.ts +1 -1
- package/dist/server/providers/database/database-path-generator.d.ts +2 -2
- package/dist/server/providers/database/databases/sqlite-db/schemas/cache-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/entities-attributes-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/entities-relations-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/entities-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/file-hashes-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/kv-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-config-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-evaluation-runs-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-level-results-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-levels-rules-results-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-results-table.d.ts +1 -1
- package/dist/server/providers/database/databases/sqlite-db/schemas/scorecards-rule-results-table.d.ts +1 -1
- package/dist/server/providers/database/pagination/constants.d.ts +2 -2
- package/dist/server/providers/database/utils/storage-limit-validator.d.ts +1 -1
- package/dist/server/ssr/render.js +1 -1
- package/dist/server/ssr/server-side-props/get-default-static-props.d.ts +9 -9
- package/dist/server/ssr/server-side-props/get-server-props-from-user-handler.d.ts +1 -1
- package/dist/server/ssr/server-side-props/prepare-context-variables.d.ts +1 -1
- package/dist/server/ssr/template.d.ts +1 -1
- package/dist/server/store.d.ts +2 -2
- package/dist/server/tools/notifiers/reporter.d.ts +12 -12
- package/dist/server/utils/cookie.d.ts +1 -0
- package/dist/server/utils/cookie.js +1 -1
- package/dist/server/utils/envs/env-boolean-string.d.ts +3 -3
- package/dist/server/utils/product.d.ts +1 -1
- package/dist/server/utils/rbac.d.ts +33 -33
- package/dist/server/web-server/auth.d.ts +2 -2
- package/dist/server/web-server/auth.js +4 -4
- package/dist/server/web-server/middleware/catalogAuthMiddleware.d.ts +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/helpers/create-entity-relation-update-schema.d.ts +12 -12
- package/dist/server/web-server/routes/catalog/helpers/create-entity-schema.d.ts +1967 -1967
- package/dist/server/web-server/routes/catalog/helpers/create-entity-update-schema.d.ts +357 -357
- package/dist/server/web-server/routes/catalog/helpers/has-access-to-entity.d.ts +1 -1
- package/dist/server/web-server/routes/catalog/helpers/upsert-pages-stats.d.ts +1 -1
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.d.ts +7 -7
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation-update-data.d.ts +7 -7
- package/dist/server/web-server/routes/catalog/parsers/relations/parse-entity-relation.d.ts +7 -7
- package/dist/server/web-server/routes/feedback.d.ts +1 -1
- package/dist/server/web-server/routes/helpers/process-redirects.d.ts +1 -1
- package/dist/server/web-server/routes/mcp-routes/mcp-oauth.js +1 -1
- package/dist/server/web-server/utils/prepare-list-response.d.ts +1 -1
- package/dist/server/web-server/utils.d.ts +2 -2
- package/dist/utils/path/sanitize-path.js +1 -1
- package/dist/utils/should-forward-prop.d.ts +9 -0
- package/dist/utils/should-forward-prop.js +1 -0
- package/package.json +13 -12
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
2
|
import type { Store } from '../../../../store';
|
|
3
|
-
export declare function hasAccessToEntity({ ctx, store, accessLevel, entityType, entityKey
|
|
3
|
+
export declare function hasAccessToEntity({ ctx, store, accessLevel, entityType, entityKey }: {
|
|
4
4
|
ctx: Context;
|
|
5
5
|
store: Store;
|
|
6
6
|
accessLevel: 'READ' | 'WRITE';
|
|
@@ -7,6 +7,6 @@ type UpsertPagesStatsParams = {
|
|
|
7
7
|
addedEntities?: EntityReadModelSchema[];
|
|
8
8
|
removedEntities?: EntityReadModelSchema[];
|
|
9
9
|
};
|
|
10
|
-
export declare function upsertPagesStats({ ctx, catalogEntitiesService, addedEntities, removedEntities
|
|
10
|
+
export declare function upsertPagesStats({ ctx, catalogEntitiesService, addedEntities, removedEntities }: UpsertPagesStatsParams): Promise<void>;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=upsert-pages-stats.d.ts.map
|
package/dist/server/web-server/routes/catalog/parsers/relations/parse-entities-relations.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare const parseEntitiesRelations: (data: unknown) => {
|
|
2
|
-
sourceFile?: string | null | undefined;
|
|
3
|
-
isDeleted?: boolean | null | undefined;
|
|
4
|
-
sourceVersion?: string | null | undefined;
|
|
5
|
-
sourceRevision?: string | null | undefined;
|
|
6
|
-
targetVersion?: string | null | undefined;
|
|
7
|
-
targetRevision?: string | null | undefined;
|
|
8
2
|
fileHash?: string | null | undefined;
|
|
9
|
-
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
sourceFile?: string | null | undefined;
|
|
10
5
|
sourceKey: string;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
sourceVersion?: string | null | undefined;
|
|
11
8
|
targetKey: string;
|
|
9
|
+
targetRevision?: string | null | undefined;
|
|
10
|
+
targetVersion?: string | null | undefined;
|
|
11
|
+
type: "compatibleWith" | "consumes" | "createdBy" | "creates" | "dependencyOf" | "dependsOn" | "extendedBy" | "extends" | "hasMember" | "hasParts" | "implementedBy" | "implements" | "linksTo" | "memberOf" | "ownedBy" | "owns" | "partOf" | "produces" | "relatesTo" | "returnedBy" | "returns" | "supersededBy" | "supersedes" | "triggeredBy" | "triggers" | "usedBy" | "uses";
|
|
12
12
|
}[];
|
|
13
13
|
//# sourceMappingURL=parse-entities-relations.d.ts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare function parseEntityRelationUpdateData(relationUpdateData: unknown): Partial<{
|
|
2
|
-
sourceFile?: string | null | undefined;
|
|
3
|
-
isDeleted?: boolean | null | undefined;
|
|
4
|
-
sourceVersion?: string | null | undefined;
|
|
5
|
-
sourceRevision?: string | null | undefined;
|
|
6
|
-
targetVersion?: string | null | undefined;
|
|
7
|
-
targetRevision?: string | null | undefined;
|
|
8
2
|
fileHash?: string | null | undefined;
|
|
9
|
-
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
sourceFile?: string | null | undefined;
|
|
10
5
|
sourceKey: string;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
sourceVersion?: string | null | undefined;
|
|
11
8
|
targetKey: string;
|
|
9
|
+
targetRevision?: string | null | undefined;
|
|
10
|
+
targetVersion?: string | null | undefined;
|
|
11
|
+
type: "compatibleWith" | "consumes" | "createdBy" | "creates" | "dependencyOf" | "dependsOn" | "extendedBy" | "extends" | "hasMember" | "hasParts" | "implementedBy" | "implements" | "linksTo" | "memberOf" | "ownedBy" | "owns" | "partOf" | "produces" | "relatesTo" | "returnedBy" | "returns" | "supersededBy" | "supersedes" | "triggeredBy" | "triggers" | "usedBy" | "uses";
|
|
12
12
|
}>;
|
|
13
13
|
//# sourceMappingURL=parse-entity-relation-update-data.d.ts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare const parseEntityRelation: (data: unknown) => {
|
|
2
|
-
sourceFile?: string | null | undefined;
|
|
3
|
-
isDeleted?: boolean | null | undefined;
|
|
4
|
-
sourceVersion?: string | null | undefined;
|
|
5
|
-
sourceRevision?: string | null | undefined;
|
|
6
|
-
targetVersion?: string | null | undefined;
|
|
7
|
-
targetRevision?: string | null | undefined;
|
|
8
2
|
fileHash?: string | null | undefined;
|
|
9
|
-
|
|
3
|
+
isDeleted?: boolean | null | undefined;
|
|
4
|
+
sourceFile?: string | null | undefined;
|
|
10
5
|
sourceKey: string;
|
|
6
|
+
sourceRevision?: string | null | undefined;
|
|
7
|
+
sourceVersion?: string | null | undefined;
|
|
11
8
|
targetKey: string;
|
|
9
|
+
targetRevision?: string | null | undefined;
|
|
10
|
+
targetVersion?: string | null | undefined;
|
|
11
|
+
type: "compatibleWith" | "consumes" | "createdBy" | "creates" | "dependencyOf" | "dependsOn" | "extendedBy" | "extends" | "hasMember" | "hasParts" | "implementedBy" | "implements" | "linksTo" | "memberOf" | "ownedBy" | "owns" | "partOf" | "produces" | "relatesTo" | "returnedBy" | "returns" | "supersededBy" | "supersedes" | "triggeredBy" | "triggers" | "usedBy" | "uses";
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=parse-entity-relation.d.ts.map
|
|
@@ -16,7 +16,7 @@ type FeedbackData = {
|
|
|
16
16
|
email?: string;
|
|
17
17
|
};
|
|
18
18
|
export declare function normalizeFeedbackMetadata(metadata?: FeedbackData['metadata']): Record<string, any> | undefined;
|
|
19
|
-
export declare function normalizeFeedbackData({ component, path, location, lang, agent, targetFeature, score, max, reasons, comment, metadata, email
|
|
19
|
+
export declare function normalizeFeedbackData({ component, path, location, lang, agent, targetFeature, score, max, reasons, comment, metadata, email }: FeedbackData): {
|
|
20
20
|
feedbackComponent: string;
|
|
21
21
|
path: string | undefined;
|
|
22
22
|
location: string | undefined;
|
|
@@ -22,7 +22,7 @@ import type { StatusCode } from 'hono/utils/http-status';
|
|
|
22
22
|
* processRedirects({ redirect: { to: 'https://example.com', type: 302 } });
|
|
23
23
|
* // Returns: { location: 'https://example.com', type: 302 }
|
|
24
24
|
*/
|
|
25
|
-
export declare function processRedirects({ redirect, reqUrlSearch
|
|
25
|
+
export declare function processRedirects({ redirect, reqUrlSearch }: {
|
|
26
26
|
redirect: WithRequired<RedirectConfig, 'to'>;
|
|
27
27
|
reqUrlSearch?: string;
|
|
28
28
|
}): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getCookie as C}from"hono/cookie";import{createHash as
|
|
1
|
+
import{getCookie as C}from"hono/cookie";import{createHash as U,timingSafeEqual as R}from"node:crypto";import{ulid as v}from"ulid";import{AUTH_URL as f,JWT_SECRET_KEY as M}from"../../../constants/common.js";import{AuthCookieNames as T,ServerRoutes as _}from"../../../../constants/common.js";import{withPathPrefix as u}from"@redocly/theme/core/utils";import{telemetry as m}from"../../../telemetry/index.js";import{envConfig as A}from"../../../config/env-config.js";import{createMcpAuthorizationCode as O,verifyMcpAuthorizationCode as D,createMcpSessionResource as h}from"../../auth.js";import*as g from"../../jwt/jwt.js";import{AlgorithmTypes as S}from"../../jwt/types.js";import{getRequestOrigin as y}from"../../utils/get-request-origin.js";import{fetchClientMetadataDocument as L,isClientMetadataDocumentUrl as k,isRedirectUriRegistered as H}from"./mcp-client-metadata.js";const o=(e,r,n=200,a)=>e.json(r,n,{"Content-Type":"application/json",...a??{}}),I=new Set(["S256"]),q="https://claude.ai/oauth/claude-code-client-metadata";function z(e,r,n){if(!I.has(r||""))return!1;const a=U("sha256").update(n).digest("base64url"),t=Buffer.from(a),s=Buffer.from(e);return t.length!==s.length?!1:R(t,s)}async function $(e){const r=Math.floor(Date.now()/1e3);return g.sign({type:"mcp_context",...e,iat:r,exp:r+600},M,S.HS256)}async function N(e){await g.verify(e,M,S.HS256);const{payload:r}=g.decode(e);if(r.type!=="mcp_context")throw new Error("Invalid context token type");return r}function X(){return async e=>{if(e.req.method!=="GET")return o(e,{error:"Method not allowed"},405,{Allow:"GET"});const r=y(e);return o(e,{resource:`${r}${u("/mcp")}`,authorization_servers:[r,f].filter(Boolean),bearer_methods_supported:["header"],resource_documentation:`${r}${_.MCP_OAUTH_AUTHORIZATION_SERVER}`,scopes_supported:["openid","profile","email","offline_access"],bearer_token_types_supported:["Bearer"]})}}function x(){return async e=>{const r=y(e);return o(e,{issuer:f||"",authorization_endpoint:`${r}${u(_.MCP_AUTHORIZATION)}`,token_endpoint:`${r}${u(_.MCP_TOKEN_PORTAL)}`,jwks_uri:`${f||""}/.well-known/jwks.json`,scopes_supported:["openid","profile","email","offline_access"],registration_endpoint:`${r}${u(_.MCP_DYNAMIC_CLIENT_REGISTRATION)}`,response_types_supported:["code"],grant_types_supported:["authorization_code","refresh_token","client_credentials"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],code_challenge_methods_supported:["S256"],token_endpoint_auth_methods_supported:["none"],client_id_metadata_document_supported:!0})}}function ee(){return async e=>{if(e.req.method!=="POST")return o(e,{error:"Method not allowed"},405);try{return o(e,{client_id:A.OAUTH_CLIENT_ID||"",client_name:"MCP Client",redirect_uris:[],grant_types:["authorization_code","refresh_token"],response_types:["code"],scope:"openid offline email",subject_type:"public",token_endpoint_auth_method:"none",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},201)}catch(r){return o(e,{error:"invalid_request",error_description:r?.message||"Unable to register client"},500)}}}function re(){return async e=>{const r=new URL(e.req.url),{searchParams:n}=r,a=n.get("redirect_uri"),t=n.get("client_id"),s=n.get("code_challenge"),i=n.get("code_challenge_method"),d=v();if(s&&!I.has(i||""))return o(e,{error:"invalid_request",error_description:`Unsupported code_challenge_method. Supported: ${[...I].join(", ")}`},400);if(k(t)&&!s)return o(e,{error:"invalid_request",error_description:"code_challenge is required for client_id_metadata_document clients"},400);if(k(t)&&a)try{const c=await L(t),l=t===q;if(!H(a,c.redirect_uris,{ignorePort:l}))return o(e,{error:"invalid_request",error_description:"redirect_uri is not registered for this client"},400)}catch(c){const l=c instanceof Error?c.message:String(c);return o(e,{error:"invalid_client",error_description:`Unable to resolve client metadata document: ${l}`},400)}m.sendMcpAuthorizationStartedMessage([{...h(d),redirect_uri:a||null}]);const p=y(e),w={isMcpFlow:!0,originalRedirectUri:a,mcpClientId:t,mcpState:n.get("state"),mcpSessionId:d,mcpCodeChallenge:s,mcpCodeChallengeMethod:s?i:null,timestamp:Date.now()};try{const c=await $(w),l=new URL(u(_.IDP_LOGIN),p);return l.searchParams.set("redirectTo",`${_.MCP_CALLBACK}/${c}`),l.searchParams.set("idpId","oidc"),e.redirect(l.toString())}catch(c){const l=c instanceof Error?c.message:String(c),P=c instanceof Error?c.stack:String(c);m.sendMcpAuthorizationFailedMessage([{...h(d),error:l,error_details:P}]);const E=new URL(u(`${f}/oauth2/auth`));return E.search=n.toString(),e.redirect(E.toString())}}}function te(){return async e=>{if(e.req.method!=="POST")return o(e,{error:"Method not allowed"},405);try{const r=await e.req.formData(),n=r.get("grant_type"),a=r.get("code"),t=r.get("redirect_uri")||void 0,s=r.get("code_verifier")||void 0;if(n!=="authorization_code"||!a)return o(e,{error:"invalid_request",error_description:"Invalid grant type or missing authorization code"},400);try{const i=await D(a);if(t&&t!==i.redirect_uri)return o(e,{error:"invalid_grant",error_description:"redirect_uri mismatch"},400);if(i.code_challenge){if(!s)return o(e,{error:"invalid_grant",error_description:"code_verifier required"},400);if(!z(i.code_challenge,i.code_challenge_method,s))return o(e,{error:"invalid_grant",error_description:"code_verifier mismatch"},400)}if(A.OAUTH_CLIENT_ID&&i.client_id&&!k(i.client_id)&&i.client_id!==A.OAUTH_CLIENT_ID)return o(e,{error:"invalid_client",error_description:"Client mismatch"},400);const d=i.id_token;if(typeof d!="string"||d.length===0)return o(e,{error:"invalid_grant",error_description:"Missing id_token in authorization code"},400);let p=d;if(i.idp_access_token){const{payload:c,header:{kid:l}}=g.decode(d);p=await g.sign({...c,idp_access_token:i.idp_access_token},M,S.HS256,l)}return o(e,{access_token:p,token_type:"Bearer",expires_in:3600,scope:"openid profile email",id_token:d},200,{"Cache-Control":"no-store",Pragma:"no-cache"})}catch{return o(e,{error:"invalid_grant",error_description:"Invalid authorization code"},400)}}catch(r){const n=r instanceof Error?r.message:String(r);return o(e,{error:"server_error",error_description:"Failed to process token request",error_details:n},500)}}}function oe(){return async e=>{const r=new URL(e.req.url);let n=r.searchParams.get("context");if(!n&&r.pathname.startsWith(u(`${_.MCP_CALLBACK}/`))){const t=r.pathname.split("/");n=t[t.length-1]}if(!n)return m.sendMcpAuthorizationFailedMessage([{...h(null),error:"Missing context parameter",error_details:null}]),e.text("Missing context parameter",400);let a=null;try{const t=await N(n);if(a=t.mcpSessionId||null,!t.isMcpFlow||!t.originalRedirectUri)throw new Error("Invalid MCP context");const s=C(e,T.IDP_ID_TOKEN)||C(e,T.AUTHORIZATION),i=C(e,T.IDP_ACCESS_TOKEN);if(!s)return m.sendMcpAuthorizationFailedMessage([{...h(a),error:"Authentication required",error_details:null}]),e.text("Authentication required",401);const d=await O({idToken:s,idpAccessToken:i||void 0,clientId:t.mcpClientId||"",redirectUri:t.originalRedirectUri,codeChallenge:t.mcpCodeChallenge||void 0,codeChallengeMethod:t.mcpCodeChallengeMethod||void 0,ttlSec:600}),p=new URL(t.originalRedirectUri);return p.searchParams.set("code",d),t.mcpState&&p.searchParams.set("state",t.mcpState),m.sendMcpAuthorizationCompletedMessage([{...h(a),redirect_uri:t.originalRedirectUri||null}]),e.redirect(p.toString())}catch(t){const s=t instanceof Error?t.message:String(t),i=t instanceof Error?t.stack:String(t);return m.sendMcpAuthorizationFailedMessage([{...h(a),error:s,error_details:i}]),e.text(`Invalid MCP callback: ${s}`,400)}}}export{$ as createMcpContextToken,re as mcpAuthorizationHandler,oe as mcpCallbackHandler,ee as mcpDynamicClientRegistrationHandler,x as mcpOAuthAuthorizationServerHandler,X as mcpOAuthProtectedResourceHandler,te as mcpTokenPortalHandler,N as verifyAndParseMcpContextToken,z as verifyPkce};
|
|
@@ -15,7 +15,7 @@ export type ListResponseResult<T extends {
|
|
|
15
15
|
};
|
|
16
16
|
export declare function prepareListResponse<T extends {
|
|
17
17
|
id: string;
|
|
18
|
-
}>({ data, params, totalCount, nameTransformationsFromDatabase, hasMore
|
|
18
|
+
}>({ data, params, totalCount, nameTransformationsFromDatabase, hasMore }: {
|
|
19
19
|
data: T[];
|
|
20
20
|
params: PaginationParams;
|
|
21
21
|
totalCount?: number;
|
|
@@ -12,10 +12,10 @@ export declare function handleErrorPageRender(ctx: Context, store: Store, option
|
|
|
12
12
|
};
|
|
13
13
|
}, statusCode: ClientErrorStatusCode, templateId?: string): Promise<Response>;
|
|
14
14
|
export declare function getLoginUrlWithRedirect(redirectTo: string): string;
|
|
15
|
-
export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden",
|
|
15
|
+
export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", -1 | 100 | 102 | 103 | 200 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "text">>;
|
|
16
16
|
export declare function handleUnauthorizedApiRequest(ctx: Context): Response & import("hono").TypedResponse<{
|
|
17
17
|
message: string;
|
|
18
|
-
},
|
|
18
|
+
}, -1 | 100 | 102 | 103 | 200 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
|
|
19
19
|
/**
|
|
20
20
|
* Normalize the IP address to an IPv4 address.
|
|
21
21
|
* @param address - The IP address to normalize.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function n(r){return r.split("\0").join("")}export{n as sanitizePath};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ShouldForwardProp } from 'styled-components';
|
|
2
|
+
/**
|
|
3
|
+
* @redocly/theme, @redocly/realm, @redocly/openapi, @redocly/api-docs, @redocly/replay
|
|
4
|
+
* These packages use non-transient styled props.
|
|
5
|
+
* Every app that uses these packages must wrap root component with StyleSheetManager and use shouldForwardProp.
|
|
6
|
+
* @see https://styled-components.com/docs/faqs#shouldforwardprop-is-no-longer-provided-by-default
|
|
7
|
+
*/
|
|
8
|
+
export declare function shouldForwardProp(...args: Parameters<ShouldForwardProp<'web'>>): boolean;
|
|
9
|
+
//# sourceMappingURL=should-forward-prop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"@emotion/is-prop-valid";function i(...r){const[o,t]=r;return typeof t=="string"?e(o):!0}export{i as shouldForwardProp};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/redoc",
|
|
3
|
-
"version": "0.134.0-next.
|
|
3
|
+
"version": "0.134.0-next.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
"author": "",
|
|
15
15
|
"license": "SEE LICENSE IN LICENSE",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@babel/core": "7.
|
|
17
|
+
"@babel/core": "7.29.7",
|
|
18
18
|
"@dr.pogodin/react-helmet": "3.0.2",
|
|
19
|
+
"@emotion/is-prop-valid": "^1.3.1",
|
|
19
20
|
"@libsql/client": "0.17.3",
|
|
20
21
|
"@markdoc/markdoc": "0.5.2",
|
|
21
22
|
"@opentelemetry/api": "1.9.0",
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
"@opentelemetry/sdk-trace-web": "2.6.1",
|
|
30
31
|
"@opentelemetry/semantic-conventions": "1.40.0",
|
|
31
32
|
"@redocly/ajv": "8.18.0",
|
|
32
|
-
"@redocly/openapi-core": "2.31.
|
|
33
|
+
"@redocly/openapi-core": "2.31.6",
|
|
33
34
|
"@shikijs/transformers": "3.21.0",
|
|
34
35
|
"@tanstack/react-query": "5.62.3",
|
|
35
36
|
"@tanstack/react-table": "8.21.3",
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
"simple-git": "3.36.0",
|
|
80
81
|
"sitemap": "7.1.1",
|
|
81
82
|
"stream-http": "3.2.0",
|
|
82
|
-
"styled-components": "
|
|
83
|
+
"styled-components": "^6.4.2",
|
|
83
84
|
"tty-browserify": "0.0.1",
|
|
84
85
|
"typesense": "2.1.0",
|
|
85
86
|
"ulid": "^2.3.0",
|
|
@@ -90,14 +91,14 @@
|
|
|
90
91
|
"xpath": "0.0.34",
|
|
91
92
|
"yaml-ast-parser": "0.0.43",
|
|
92
93
|
"zod": "^3.25.76",
|
|
94
|
+
"@redocly/asyncapi-docs": "1.11.0-next.4",
|
|
93
95
|
"@redocly/config": "0.49.0",
|
|
94
|
-
"@redocly/
|
|
95
|
-
"@redocly/
|
|
96
|
-
"@redocly/
|
|
97
|
-
"@redocly/portal-
|
|
98
|
-
"@redocly/
|
|
99
|
-
"@redocly/
|
|
100
|
-
"@redocly/theme": "0.66.0-next.2"
|
|
96
|
+
"@redocly/graphql-docs": "1.11.0-next.4",
|
|
97
|
+
"@redocly/openapi-docs": "3.22.0-next.4",
|
|
98
|
+
"@redocly/portal-legacy-ui": "0.17.0-next.1",
|
|
99
|
+
"@redocly/portal-plugin-mock-server": "0.19.0-next.4",
|
|
100
|
+
"@redocly/realm-asyncapi-sdk": "0.12.0-next.3",
|
|
101
|
+
"@redocly/theme": "0.66.0-next.4"
|
|
101
102
|
},
|
|
102
103
|
"peerDependencies": {
|
|
103
104
|
"react": "^19.2.4",
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
},
|
|
111
112
|
"scripts": {
|
|
112
113
|
"clean": "rimraf \"dist\"",
|
|
113
|
-
"compile": "
|
|
114
|
+
"compile": "tsgo --build tsconfig.json && tsc-alias -p tsconfig.json",
|
|
114
115
|
"build": "npm run clean && npm run compile && npm run post-build && npm run build:minify",
|
|
115
116
|
"post-build": "cross-env PACKAGE=redoc node --loader ts-node/esm ../../scripts/post-build.ts",
|
|
116
117
|
"build:minify": "esbuild-minify-dir \"dist\""
|