persona-community-5/.pnpm-store/v3/files/31/1f674c2a71438c8b2160fd71521799b3186e42ebf134406f8fe06512375ebcfed9f3179186846c30a9f663cf17da4f4e2645e112aad011e841a2ff69a60ec3
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

416 lines
16 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.rootRedoclyConfigSchema = exports.redoclyConfigSchema = exports.l10nConfigSchema = exports.devOnboardingAdapterConfigSchema = exports.apigeeEdgeAdapterConfigSchema = exports.apigeeXAdapterConfigSchema = exports.apigeeAdapterAuthServiceAccountSchema = exports.apigeeAdapterAuthOauth2Schema = exports.graviteeAdapterConfigSchema = exports.graviteeAdapterAuthIdpSchema = exports.graviteeAdapterAuthStaticSchema = exports.rbacConfigSchema = exports.rbacScopeItemsSchema = exports.apiFunctionsConfigSchema = exports.seoConfigSchema = exports.apiConfigSchema = exports.redirectsConfigSchema = exports.redirectConfigSchema = exports.ssoConfigSchema = exports.ssoDirectConfigSchema = exports.authProviderConfigSchema = exports.saml2ProviderConfigSchema = exports.oidcProviderConfigSchema = exports.oidcIssuerMetadataSchema = void 0;
const constants_1 = require("./constants");
const default_theme_config_schema_1 = require("./default-theme-config-schema");
const feedback_config_schema_1 = require("./feedback-config-schema");
const graphql_config_schema_1 = require("./graphql-config-schema");
const remove_property_recursively_1 = require("./remove-property-recursively");
const reunite_config_schema_1 = require("./reunite-config-schema");
const ex_theme_config_schemas_1 = require("./ex-theme-config-schemas");
exports.oidcIssuerMetadataSchema = {
type: 'object',
properties: {
end_session_endpoint: { type: 'string' },
token_endpoint: { type: 'string' },
authorization_endpoint: { type: 'string' },
jwks_uri: { type: 'string' },
},
required: ['token_endpoint', 'authorization_endpoint'],
additionalProperties: true,
};
exports.oidcProviderConfigSchema = {
type: 'object',
properties: {
type: { type: 'string', const: constants_1.AuthProviderType.OIDC },
title: { type: 'string' },
pkce: { type: 'boolean', default: false },
configurationUrl: { type: 'string', minLength: 1 },
configuration: exports.oidcIssuerMetadataSchema,
clientId: { type: 'string', minLength: 1 },
clientSecret: { type: 'string', minLength: 0 },
teamsClaimName: { type: 'string' },
teamsClaimMap: { type: 'object', additionalProperties: { type: 'string' } },
defaultTeams: { type: 'array', items: { type: 'string' } },
scopes: { type: 'array', items: { type: 'string' } },
tokenExpirationTime: { type: 'number' },
authorizationRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
tokenRequestCustomParams: { type: 'object', additionalProperties: { type: 'string' } },
audience: { type: 'array', items: { type: 'string' } },
},
required: ['type', 'clientId'],
oneOf: [{ required: ['configurationUrl'] }, { required: ['configuration'] }],
additionalProperties: false,
};
exports.saml2ProviderConfigSchema = {
type: 'object',
properties: {
type: { type: 'string', const: constants_1.AuthProviderType.SAML2 },
title: { type: 'string' },
issuerId: { type: 'string' },
entityId: { type: 'string' },
ssoUrl: { type: 'string' },
x509PublicCert: { type: 'string' },
teamsAttributeName: { type: 'string', default: constants_1.DEFAULT_TEAM_CLAIM_NAME },
teamsAttributeMap: { type: 'object', additionalProperties: { type: 'string' } },
defaultTeams: { type: 'array', items: { type: 'string' } },
},
additionalProperties: false,
required: ['type', 'issuerId', 'ssoUrl', 'x509PublicCert'],
};
exports.authProviderConfigSchema = {
oneOf: [exports.oidcProviderConfigSchema, exports.saml2ProviderConfigSchema],
discriminator: { propertyName: 'type' },
};
exports.ssoDirectConfigSchema = {
type: 'object',
additionalProperties: exports.authProviderConfigSchema,
};
exports.ssoConfigSchema = {
oneOf: [
{
type: 'array',
items: {
type: 'string',
enum: ['REDOCLY', 'CORPORATE', 'GUEST'],
},
uniqueItems: true,
},
{
type: 'string',
enum: ['REDOCLY', 'CORPORATE', 'GUEST'],
},
],
};
exports.redirectConfigSchema = {
type: 'object',
properties: {
to: { type: 'string' },
type: { type: 'number', default: 301 },
},
additionalProperties: false,
};
exports.redirectsConfigSchema = {
type: 'object',
additionalProperties: exports.redirectConfigSchema,
default: {},
};
const rulesSchema = {
type: 'object',
additionalProperties: {
oneOf: [{ type: 'string' }, { type: 'object' }],
},
};
exports.apiConfigSchema = {
type: 'object',
properties: {
root: { type: 'string' },
output: { type: 'string', pattern: '(.ya?ml|.json)$' },
rbac: { type: 'object', additionalProperties: true },
openapi: ex_theme_config_schemas_1.openapiConfigSchema,
graphql: graphql_config_schema_1.graphqlConfigSchema,
/**
* @deprecated left for backwards compatibility
*/
theme: {
type: 'object',
properties: {
openapi: ex_theme_config_schemas_1.openapiConfigSchema,
graphql: graphql_config_schema_1.graphqlConfigSchema,
},
additionalProperties: false,
},
title: { type: 'string' },
metadata: { type: 'object', additionalProperties: true },
rules: rulesSchema,
decorators: { type: 'object', additionalProperties: true },
preprocessors: { type: 'object', additionalProperties: true },
},
required: ['root'],
};
const metadataConfigSchema = {
type: 'object',
additionalProperties: true,
};
const metadataGlobsConfigSchema = {
type: 'object',
additionalProperties: {
type: 'object',
additionalProperties: true,
},
};
exports.seoConfigSchema = {
type: 'object',
properties: {
title: { type: 'string' },
description: { type: 'string' },
siteUrl: { type: 'string' },
image: { type: 'string' },
keywords: {
oneOf: [{ type: 'array', items: { type: 'string' } }, { type: 'string' }],
},
lang: { type: 'string' },
jsonLd: { type: 'object' },
meta: {
type: 'array',
items: {
type: 'object',
properties: {
name: { type: 'string' },
content: { type: 'string' },
},
required: ['name', 'content'],
additionalProperties: false,
},
},
},
additionalProperties: false,
};
exports.apiFunctionsConfigSchema = {
type: 'object',
properties: {
folders: { type: 'array', items: { type: 'string' } },
},
additionalProperties: false,
};
exports.rbacScopeItemsSchema = {
type: 'object',
additionalProperties: { type: 'string' },
};
exports.rbacConfigSchema = {
type: 'object',
properties: {
teamNamePatterns: { type: 'array', items: { type: 'string' } },
teamFolders: { type: 'array', items: { type: 'string' } },
teamFoldersBaseRoles: exports.rbacScopeItemsSchema,
cms: exports.rbacScopeItemsSchema, // deprecated in favor of reunite
reunite: exports.rbacScopeItemsSchema,
features: {
type: 'object',
properties: {
aiSearch: exports.rbacScopeItemsSchema,
},
additionalProperties: false,
},
content: {
type: 'object',
properties: {
'**': exports.rbacScopeItemsSchema,
},
additionalProperties: exports.rbacScopeItemsSchema,
},
},
additionalProperties: exports.rbacScopeItemsSchema,
};
exports.graviteeAdapterAuthStaticSchema = {
type: 'object',
properties: { static: { type: 'string' } },
additionalProperties: false,
required: ['static'],
};
exports.graviteeAdapterAuthIdpSchema = {
type: 'object',
properties: { idp: { type: 'string' } },
additionalProperties: false,
required: ['idp'],
};
exports.graviteeAdapterConfigSchema = {
type: 'object',
properties: {
type: { type: 'string', const: 'GRAVITEE' },
apiBaseUrl: { type: 'string' },
env: { type: 'string' },
allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
stage: { type: 'string', default: 'non-production' },
auth: {
oneOf: [exports.graviteeAdapterAuthStaticSchema, exports.graviteeAdapterAuthIdpSchema],
},
},
additionalProperties: false,
required: ['type', 'apiBaseUrl'],
};
exports.apigeeAdapterAuthOauth2Schema = {
type: 'object',
properties: {
type: { type: 'string', const: constants_1.ApigeeDevOnboardingIntegrationAuthType.OAUTH2 },
tokenEndpoint: { type: 'string' },
clientId: { type: 'string' },
clientSecret: { type: 'string' },
},
additionalProperties: false,
required: ['type', 'tokenEndpoint', 'clientId', 'clientSecret'],
};
exports.apigeeAdapterAuthServiceAccountSchema = {
type: 'object',
properties: {
type: { type: 'string', const: constants_1.ApigeeDevOnboardingIntegrationAuthType.SERVICE_ACCOUNT },
serviceAccountEmail: { type: 'string' },
serviceAccountPrivateKey: { type: 'string' },
},
additionalProperties: false,
required: ['type', 'serviceAccountEmail', 'serviceAccountPrivateKey'],
};
exports.apigeeXAdapterConfigSchema = {
type: 'object',
properties: {
type: { type: 'string', const: 'APIGEE_X' },
apiUrl: { type: 'string' },
stage: { type: 'string', default: 'non-production' },
organizationName: { type: 'string' },
ignoreApiProducts: { type: 'array', items: { type: 'string' } },
allowApiProductsOutsideCatalog: { type: 'boolean', default: false },
auth: {
type: 'object',
oneOf: [exports.apigeeAdapterAuthOauth2Schema, exports.apigeeAdapterAuthServiceAccountSchema],
discriminator: { propertyName: 'type' },
},
},
additionalProperties: false,
required: ['type', 'organizationName', 'auth'],
};
exports.apigeeEdgeAdapterConfigSchema = Object.assign(Object.assign({}, exports.apigeeXAdapterConfigSchema), { properties: Object.assign(Object.assign({}, exports.apigeeXAdapterConfigSchema.properties), { type: { type: 'string', const: 'APIGEE_EDGE' } }) });
exports.devOnboardingAdapterConfigSchema = {
type: 'object',
oneOf: [exports.apigeeXAdapterConfigSchema, exports.apigeeEdgeAdapterConfigSchema, exports.graviteeAdapterConfigSchema],
discriminator: { propertyName: 'type' },
};
const devOnboardingConfigSchema = {
type: 'object',
required: ['adapters'],
additionalProperties: false,
properties: {
adapters: {
type: 'array',
items: exports.devOnboardingAdapterConfigSchema,
},
},
};
exports.l10nConfigSchema = {
type: 'object',
properties: {
defaultLocale: {
type: 'string',
},
locales: {
type: 'array',
items: {
type: 'object',
properties: {
code: {
type: 'string',
},
name: {
type: 'string',
},
},
required: ['code'],
},
},
},
additionalProperties: false,
required: ['defaultLocale'],
};
const responseHeaderSchema = {
type: 'object',
properties: {
name: { type: 'string' },
value: { type: 'string' },
},
additionalProperties: false,
required: ['name', 'value'],
};
exports.redoclyConfigSchema = {
type: 'object',
properties: {
/**
* @deprecated Should use `plugins` instead
*/
imports: {
type: 'array',
items: { type: 'string' },
},
licenseKey: { type: 'string' },
redirects: exports.redirectsConfigSchema,
seo: exports.seoConfigSchema,
rbac: exports.rbacConfigSchema,
apiFunctions: exports.apiFunctionsConfigSchema,
requiresLogin: { type: 'boolean' },
responseHeaders: {
type: 'object',
additionalProperties: {
type: 'array',
items: responseHeaderSchema,
},
},
mockServer: {
type: 'object',
properties: {
off: { type: 'boolean', default: false },
position: { type: 'string', enum: ['first', 'last', 'replace', 'off'], default: 'first' },
strictExamples: { type: 'boolean', default: false },
errorIfForcedExampleNotFound: { type: 'boolean', default: false },
description: { type: 'string' },
},
},
apis: {
type: 'object',
additionalProperties: exports.apiConfigSchema,
},
rules: rulesSchema,
decorators: { type: 'object', additionalProperties: true },
preprocessors: { type: 'object', additionalProperties: true },
ssoDirect: exports.ssoDirectConfigSchema,
sso: exports.ssoConfigSchema,
residency: { type: 'string' },
developerOnboarding: devOnboardingConfigSchema,
removeAttribution: { type: 'boolean' },
i18n: exports.l10nConfigSchema, // deprecated
l10n: exports.l10nConfigSchema,
metadata: metadataConfigSchema,
metadataGlobs: metadataGlobsConfigSchema,
ignore: {
type: 'array',
items: {
type: 'string',
},
},
/**
* @deprecated properties moved to the root of the config
*/
theme: default_theme_config_schema_1.themeConfigSchema,
reunite: reunite_config_schema_1.reuniteConfigSchema,
// Ex theme properties
logo: ex_theme_config_schemas_1.logoConfigSchema,
navbar: ex_theme_config_schemas_1.navbarConfigSchema,
products: ex_theme_config_schemas_1.productsConfigSchema,
footer: ex_theme_config_schemas_1.footerConfigSchema,
sidebar: ex_theme_config_schemas_1.sidebarConfigSchema,
scripts: ex_theme_config_schemas_1.scriptsConfigSchema,
links: ex_theme_config_schemas_1.linksConfigSchema,
feedback: feedback_config_schema_1.feedbackConfigSchema,
search: ex_theme_config_schemas_1.searchConfigSchema,
colorMode: ex_theme_config_schemas_1.colorModeConfigSchema,
navigation: ex_theme_config_schemas_1.navigationConfigSchema,
codeSnippet: ex_theme_config_schemas_1.codeSnippetConfigSchema,
markdown: ex_theme_config_schemas_1.markdownConfigSchema,
openapi: ex_theme_config_schemas_1.openapiConfigSchema,
graphql: graphql_config_schema_1.graphqlConfigSchema,
analytics: ex_theme_config_schemas_1.analyticsConfigSchema,
userMenu: ex_theme_config_schemas_1.userMenuConfigSchema,
versionPicker: ex_theme_config_schemas_1.versionPickerConfigSchema,
breadcrumbs: ex_theme_config_schemas_1.breadcrumbsConfigSchema,
catalog: ex_theme_config_schemas_1.catalogsConfigSchema,
scorecard: ex_theme_config_schemas_1.scorecardConfigSchema,
},
default: { redirects: {} },
additionalProperties: true,
};
const environmentSchema = Object.assign(Object.assign({}, (0, remove_property_recursively_1.removePropertyRecursively)(exports.redoclyConfigSchema, 'default')), { additionalProperties: false });
exports.rootRedoclyConfigSchema = Object.assign(Object.assign({ $id: 'root-redocly-config' }, exports.redoclyConfigSchema), { properties: Object.assign(Object.assign({ plugins: {
type: 'array',
items: { type: 'string' },
} }, exports.redoclyConfigSchema.properties), { env: {
type: 'object',
additionalProperties: environmentSchema, // TODO: if we want full validation we need to override apis, theme and the root
} }), default: {}, additionalProperties: false });
//# sourceMappingURL=root-config-schema.js.map