@sovity.de/edc-client 10.5.0 → 11.0.0
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/README.md +22 -6
- package/dist/sovity-edc-client.d.ts +447 -202
- package/dist/sovity-edc-client.js +2710 -2373
- package/dist/sovity-edc-client.js.map +1 -1
- package/dist/sovity-edc-client.umd.cjs +1 -1
- package/dist/sovity-edc-client.umd.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sovity-edc-client.js","sources":["../src/generated/runtime.ts","../src/generated/models/DataSourceAvailability.ts","../src/generated/models/UiAsset.ts","../src/generated/models/AssetPage.ts","../src/generated/models/CatalogFilterExpressionLiteralType.ts","../src/generated/models/CatalogFilterExpressionLiteral.ts","../src/generated/models/CatalogFilterExpressionOperator.ts","../src/generated/models/CatalogFilterExpression.ts","../src/generated/models/CatalogQuery.ts","../src/generated/models/ConnectorLimits.ts","../src/generated/models/ContractAgreementDirection.ts","../src/generated/models/ContractTerminatedBy.ts","../src/generated/models/ContractAgreementTerminationInfo.ts","../src/generated/models/TransferProcessSimplifiedState.ts","../src/generated/models/TransferProcessState.ts","../src/generated/models/ContractAgreementTransferProcess.ts","../src/generated/models/ContractTerminationStatus.ts","../src/generated/models/OperatorDto.ts","../src/generated/models/UiPolicyLiteralType.ts","../src/generated/models/UiPolicyLiteral.ts","../src/generated/models/UiPolicyConstraint.ts","../src/generated/models/UiPolicyExpressionType.ts","../src/generated/models/UiPolicyExpression.ts","../src/generated/models/UiPolicy.ts","../src/generated/models/ContractAgreementCard.ts","../src/generated/models/ContractAgreementPage.ts","../src/generated/models/ContractAgreementPageQuery.ts","../src/generated/models/UiCriterionLiteralType.ts","../src/generated/models/UiCriterionLiteral.ts","../src/generated/models/UiCriterionOperator.ts","../src/generated/models/UiCriterion.ts","../src/generated/models/ContractDefinitionEntry.ts","../src/generated/models/ContractDefinitionPage.ts","../src/generated/models/ContractDefinitionRequest.ts","../src/generated/models/ContractNegotiationRequest.ts","../src/generated/models/ContractNegotiationSimplifiedState.ts","../src/generated/models/ContractNegotiationState.ts","../src/generated/models/ContractTerminationRequest.ts","../src/generated/models/DashboardDapsConfig.ts","../src/generated/models/DashboardMiwConfig.ts","../src/generated/models/DashboardTransferAmounts.ts","../src/generated/models/DashboardPage.ts","../src/generated/models/DataSourceType.ts","../src/generated/models/SecretValue.ts","../src/generated/models/UiDataSourceHttpDataMethod.ts","../src/generated/models/UiDataSourceHttpData.ts","../src/generated/models/UiDataSourceOnRequest.ts","../src/generated/models/UiDataSource.ts","../src/generated/models/UiAssetCreateRequest.ts","../src/generated/models/DataOfferCreationRequest.ts","../src/generated/models/IdAvailabilityResponse.ts","../src/generated/models/IdResponseDto.ts","../src/generated/models/InitiateCustomTransferRequest.ts","../src/generated/models/InitiateTransferRequest.ts","../src/generated/models/TransferProcessStatesDto.ts","../src/generated/models/KpiResult.ts","../src/generated/models/PolicyDefinitionCreateDto.ts","../src/generated/models/UiPolicyCreateRequest.ts","../src/generated/models/PolicyDefinitionCreateRequest.ts","../src/generated/models/PolicyDefinitionDto.ts","../src/generated/models/PolicyDefinitionPage.ts","../src/generated/models/TransferHistoryEntry.ts","../src/generated/models/TransferHistoryPage.ts","../src/generated/models/UiAssetEditRequest.ts","../src/generated/models/UiContractNegotiation.ts","../src/generated/models/UiContractOffer.ts","../src/generated/models/UiDataOffer.ts","../src/generated/apis/EnterpriseEditionApi.ts","../src/generated/apis/UIApi.ts","../src/generated/apis/UseCaseApi.ts","../node_modules/zod/lib/index.mjs","../src/oauth2/utils/HttpUtils.ts","../src/oauth2/utils/FetchUtils.ts","../src/oauth2/AccessTokenService.ts","../src/oauth2/utils/RequestUtils.ts","../src/oauth2/Middleware.ts","../src/EdcClient.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport const BASE_PATH = 'https://my-connector/api/management'.replace(\n /\\/+$/,\n '',\n);\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?:\n | string\n | Promise<string>\n | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null\n ? this.configuration.basePath\n : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken():\n | ((name?: string, scopes?: string[]) => string | Promise<string>)\n | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function'\n ? accessToken\n : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n private static readonly jsonRegex = new RegExp(\n '^(:?application/json|[^;/ \\t]+/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$',\n 'i',\n );\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(\n this: T,\n ...preMiddlewares: Array<Middleware['pre']>\n ) {\n const middlewares = preMiddlewares.map((pre) => ({pre}));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(\n this: T,\n ...postMiddlewares: Array<Middleware['post']>\n ) {\n const middlewares = postMiddlewares.map((post) => ({post}));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(\n context: RequestOpts,\n initOverrides?: RequestInit | InitOverrideFunction,\n ): Promise<Response> {\n const {url, init} = await this.createFetchParams(\n context,\n initOverrides,\n );\n const response = await this.fetchApi(url, init);\n if (response && response.status >= 200 && response.status < 300) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(\n context: RequestOpts,\n initOverrides?: RequestInit | InitOverrideFunction,\n ) {\n let url = this.configuration.basePath + context.path;\n if (\n context.query !== undefined &&\n Object.keys(context.query).length !== 0\n ) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign(\n {},\n this.configuration.headers,\n context.headers,\n );\n Object.keys(headers).forEach((key) =>\n headers[key] === undefined ? delete headers[key] : {},\n );\n\n const initOverrideFn =\n typeof initOverrides === 'function'\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n })),\n };\n\n const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.body),\n };\n\n return {url, init};\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = {url, init};\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams =\n (await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n })) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(\n fetchParams.url,\n fetchParams.init,\n );\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response =\n (await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n })) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(\n e,\n 'The request failed and the interceptors did not return an alternative response',\n );\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response =\n (await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n })) || response;\n }\n }\n return response;\n };\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n}\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: 'ResponseError' = 'ResponseError';\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: 'FetchError' = 'FetchError';\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: 'RequiredError' = 'RequiredError';\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: ',',\n ssv: ' ',\n tsv: '\\t',\n pipes: '|',\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod =\n | 'GET'\n | 'POST'\n | 'PUT'\n | 'PATCH'\n | 'DELETE'\n | 'OPTIONS'\n | 'HEAD';\nexport type HTTPHeaders = {[key: string]: string};\nexport type HTTPQuery = {\n [key: string]:\n | string\n | number\n | null\n | boolean\n | Array<string | number | null | boolean>\n | Set<string | number | null | boolean>\n | HTTPQuery;\n};\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = {\n headers?: HTTPHeaders;\n method: HTTPMethod;\n credentials?: RequestCredentials;\n body?: HTTPBody;\n};\nexport type ModelPropertyNaming =\n | 'camelCase'\n | 'snake_case'\n | 'PascalCase'\n | 'original';\n\nexport type InitOverrideFunction = (requestContext: {\n init: HTTPRequestInit;\n context: RequestOpts;\n}) => Promise<RequestInit>;\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map((key) => querystringSingleKey(key, params[key], prefix))\n .filter((part) => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(\n key: string,\n value:\n | string\n | number\n | null\n | undefined\n | boolean\n | Array<string | number | null | boolean>\n | Set<string | number | null | boolean>\n | HTTPQuery,\n keyPrefix: string = '',\n): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value\n .map((singleValue) => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(\n value.toISOString(),\n )}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(\n String(value),\n )}`;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n return Object.keys(data).reduce(\n (acc, key) => ({...acc, [key]: fn(data[key])}),\n {},\n );\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(\n public raw: Response,\n private transformer: ResponseTransformer<T> = (jsonValue: any) =>\n jsonValue,\n ) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n }\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Differentiate 'Live' Data Offers that have a real data source from 'On Request' Data Offers that contain only a contact email address for requesting an individual data offer.\n * @export\n */\nexport const DataSourceAvailability = {\n Live: 'LIVE',\n OnRequest: 'ON_REQUEST',\n} as const;\nexport type DataSourceAvailability =\n (typeof DataSourceAvailability)[keyof typeof DataSourceAvailability];\n\nexport function DataSourceAvailabilityFromJSON(\n json: any,\n): DataSourceAvailability {\n return DataSourceAvailabilityFromJSONTyped(json, false);\n}\n\nexport function DataSourceAvailabilityFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataSourceAvailability {\n return json as DataSourceAvailability;\n}\n\nexport function DataSourceAvailabilityToJSON(\n value?: DataSourceAvailability | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {DataSourceAvailability} from './DataSourceAvailability';\nimport {\n DataSourceAvailabilityFromJSON,\n DataSourceAvailabilityFromJSONTyped,\n DataSourceAvailabilityToJSON,\n} from './DataSourceAvailability';\n\n/**\n * Type-safe data offer metadata as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAsset\n */\nexport interface UiAsset {\n /**\n *\n * @type {DataSourceAvailability}\n * @memberof UiAsset\n */\n dataSourceAvailability: DataSourceAvailability;\n /**\n * Asset Id\n * @type {string}\n * @memberof UiAsset\n */\n assetId: string;\n /**\n * Providing Connector's Connector Endpoint\n * @type {string}\n * @memberof UiAsset\n */\n connectorEndpoint: string;\n /**\n * Providing Connector's Participant ID\n * @type {string}\n * @memberof UiAsset\n */\n participantId: string;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAsset\n */\n title: string;\n /**\n * Asset Organization Name\n * @type {string}\n * @memberof UiAsset\n */\n creatorOrganizationName: string;\n /**\n * Contact E-Mail address. Only for dataSourceAvailability ON_REQUEST.\n * @type {string}\n * @memberof UiAsset\n */\n onRequestContactEmail?: string;\n /**\n * Contact Preferred E-Mail Subject. Only for dataSourceAvailability ON_REQUEST.\n * @type {string}\n * @memberof UiAsset\n */\n onRequestContactEmailSubject?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAsset\n */\n language?: string;\n /**\n * Asset Description. Supports markdown.\n * @type {string}\n * @memberof UiAsset\n */\n description?: string;\n /**\n * Asset Description Short Text generated from description. Contains no markdown.\n * @type {string}\n * @memberof UiAsset\n */\n descriptionShortText?: string;\n /**\n * Flag that indicates whether this asset is created by this connector.\n * @type {boolean}\n * @memberof UiAsset\n */\n isOwnConnector: boolean;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAsset\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAsset\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAsset\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAsset\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAsset\n */\n mediaType?: string;\n /**\n * Homepage URL associated with the Asset\n * @type {string}\n * @memberof UiAsset\n */\n landingPageUrl?: string;\n /**\n * HTTP Datasource Hint: Proxy Method. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyMethod?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Path. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyPath?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Query Params. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyQueryParams?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Body. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyBody?: boolean;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAsset\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAsset\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAsset\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAsset\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAsset\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAsset\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAsset\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAsset\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAsset\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAsset\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAsset\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAsset\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAsset\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAsset\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAsset\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains the entire asset in the JSON-LD format\n * @type {string}\n * @memberof UiAsset\n */\n assetJsonLd?: string;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAsset\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAsset\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAsset\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAsset\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAsset interface.\n */\nexport function instanceOfUiAsset(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'dataSourceAvailability' in value;\n isInstance = isInstance && 'assetId' in value;\n isInstance = isInstance && 'connectorEndpoint' in value;\n isInstance = isInstance && 'participantId' in value;\n isInstance = isInstance && 'title' in value;\n isInstance = isInstance && 'creatorOrganizationName' in value;\n isInstance = isInstance && 'isOwnConnector' in value;\n\n return isInstance;\n}\n\nexport function UiAssetFromJSON(json: any): UiAsset {\n return UiAssetFromJSONTyped(json, false);\n}\n\nexport function UiAssetFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAsset {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n dataSourceAvailability: DataSourceAvailabilityFromJSON(\n json['dataSourceAvailability'],\n ),\n assetId: json['assetId'],\n connectorEndpoint: json['connectorEndpoint'],\n participantId: json['participantId'],\n title: json['title'],\n creatorOrganizationName: json['creatorOrganizationName'],\n onRequestContactEmail: !exists(json, 'onRequestContactEmail')\n ? undefined\n : json['onRequestContactEmail'],\n onRequestContactEmailSubject: !exists(\n json,\n 'onRequestContactEmailSubject',\n )\n ? undefined\n : json['onRequestContactEmailSubject'],\n language: !exists(json, 'language') ? undefined : json['language'],\n description: !exists(json, 'description')\n ? undefined\n : json['description'],\n descriptionShortText: !exists(json, 'descriptionShortText')\n ? undefined\n : json['descriptionShortText'],\n isOwnConnector: json['isOwnConnector'],\n publisherHomepage: !exists(json, 'publisherHomepage')\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: !exists(json, 'licenseUrl')\n ? undefined\n : json['licenseUrl'],\n version: !exists(json, 'version') ? undefined : json['version'],\n keywords: !exists(json, 'keywords') ? undefined : json['keywords'],\n mediaType: !exists(json, 'mediaType') ? undefined : json['mediaType'],\n landingPageUrl: !exists(json, 'landingPageUrl')\n ? undefined\n : json['landingPageUrl'],\n httpDatasourceHintsProxyMethod: !exists(\n json,\n 'httpDatasourceHintsProxyMethod',\n )\n ? undefined\n : json['httpDatasourceHintsProxyMethod'],\n httpDatasourceHintsProxyPath: !exists(\n json,\n 'httpDatasourceHintsProxyPath',\n )\n ? undefined\n : json['httpDatasourceHintsProxyPath'],\n httpDatasourceHintsProxyQueryParams: !exists(\n json,\n 'httpDatasourceHintsProxyQueryParams',\n )\n ? undefined\n : json['httpDatasourceHintsProxyQueryParams'],\n httpDatasourceHintsProxyBody: !exists(\n json,\n 'httpDatasourceHintsProxyBody',\n )\n ? undefined\n : json['httpDatasourceHintsProxyBody'],\n dataCategory: !exists(json, 'dataCategory')\n ? undefined\n : json['dataCategory'],\n dataSubcategory: !exists(json, 'dataSubcategory')\n ? undefined\n : json['dataSubcategory'],\n dataModel: !exists(json, 'dataModel') ? undefined : json['dataModel'],\n geoReferenceMethod: !exists(json, 'geoReferenceMethod')\n ? undefined\n : json['geoReferenceMethod'],\n transportMode: !exists(json, 'transportMode')\n ? undefined\n : json['transportMode'],\n sovereignLegalName: !exists(json, 'sovereignLegalName')\n ? undefined\n : json['sovereignLegalName'],\n geoLocation: !exists(json, 'geoLocation')\n ? undefined\n : json['geoLocation'],\n nutsLocations: !exists(json, 'nutsLocations')\n ? undefined\n : json['nutsLocations'],\n dataSampleUrls: !exists(json, 'dataSampleUrls')\n ? undefined\n : json['dataSampleUrls'],\n referenceFileUrls: !exists(json, 'referenceFileUrls')\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription: !exists(json, 'referenceFilesDescription')\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse: !exists(json, 'conditionsForUse')\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency: !exists(json, 'dataUpdateFrequency')\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom: !exists(json, 'temporalCoverageFrom')\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive: !exists(\n json,\n 'temporalCoverageToInclusive',\n )\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n assetJsonLd: !exists(json, 'assetJsonLd')\n ? undefined\n : json['assetJsonLd'],\n customJsonAsString: !exists(json, 'customJsonAsString')\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString: !exists(json, 'customJsonLdAsString')\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString: !exists(json, 'privateCustomJsonAsString')\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: !exists(\n json,\n 'privateCustomJsonLdAsString',\n )\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetToJSON(value?: UiAsset | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n dataSourceAvailability: DataSourceAvailabilityToJSON(\n value.dataSourceAvailability,\n ),\n assetId: value.assetId,\n connectorEndpoint: value.connectorEndpoint,\n participantId: value.participantId,\n title: value.title,\n creatorOrganizationName: value.creatorOrganizationName,\n onRequestContactEmail: value.onRequestContactEmail,\n onRequestContactEmailSubject: value.onRequestContactEmailSubject,\n language: value.language,\n description: value.description,\n descriptionShortText: value.descriptionShortText,\n isOwnConnector: value.isOwnConnector,\n publisherHomepage: value.publisherHomepage,\n licenseUrl: value.licenseUrl,\n version: value.version,\n keywords: value.keywords,\n mediaType: value.mediaType,\n landingPageUrl: value.landingPageUrl,\n httpDatasourceHintsProxyMethod: value.httpDatasourceHintsProxyMethod,\n httpDatasourceHintsProxyPath: value.httpDatasourceHintsProxyPath,\n httpDatasourceHintsProxyQueryParams:\n value.httpDatasourceHintsProxyQueryParams,\n httpDatasourceHintsProxyBody: value.httpDatasourceHintsProxyBody,\n dataCategory: value.dataCategory,\n dataSubcategory: value.dataSubcategory,\n dataModel: value.dataModel,\n geoReferenceMethod: value.geoReferenceMethod,\n transportMode: value.transportMode,\n sovereignLegalName: value.sovereignLegalName,\n geoLocation: value.geoLocation,\n nutsLocations: value.nutsLocations,\n dataSampleUrls: value.dataSampleUrls,\n referenceFileUrls: value.referenceFileUrls,\n referenceFilesDescription: value.referenceFilesDescription,\n conditionsForUse: value.conditionsForUse,\n dataUpdateFrequency: value.dataUpdateFrequency,\n temporalCoverageFrom:\n value.temporalCoverageFrom === undefined\n ? undefined\n : value.temporalCoverageFrom.toISOString().substr(0, 10),\n temporalCoverageToInclusive:\n value.temporalCoverageToInclusive === undefined\n ? undefined\n : value.temporalCoverageToInclusive.toISOString().substr(0, 10),\n assetJsonLd: value.assetJsonLd,\n customJsonAsString: value.customJsonAsString,\n customJsonLdAsString: value.customJsonLdAsString,\n privateCustomJsonAsString: value.privateCustomJsonAsString,\n privateCustomJsonLdAsString: value.privateCustomJsonLdAsString,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiAsset} from './UiAsset';\nimport {UiAssetFromJSON, UiAssetFromJSONTyped, UiAssetToJSON} from './UiAsset';\n\n/**\n * All data for the Asset Page\n * @export\n * @interface AssetPage\n */\nexport interface AssetPage {\n /**\n * Visible Assets\n * @type {Array<UiAsset>}\n * @memberof AssetPage\n */\n assets: Array<UiAsset>;\n}\n\n/**\n * Check if a given object implements the AssetPage interface.\n */\nexport function instanceOfAssetPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'assets' in value;\n\n return isInstance;\n}\n\nexport function AssetPageFromJSON(json: any): AssetPage {\n return AssetPageFromJSONTyped(json, false);\n}\n\nexport function AssetPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): AssetPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n assets: (json['assets'] as Array<any>).map(UiAssetFromJSON),\n };\n}\n\nexport function AssetPageToJSON(value?: AssetPage | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n assets: (value.assets as Array<any>).map(UiAssetToJSON),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Value type of a filter expression criterion\n * @export\n */\nexport const CatalogFilterExpressionLiteralType = {\n Value: 'VALUE',\n ValueList: 'VALUE_LIST',\n} as const;\nexport type CatalogFilterExpressionLiteralType =\n (typeof CatalogFilterExpressionLiteralType)[keyof typeof CatalogFilterExpressionLiteralType];\n\nexport function CatalogFilterExpressionLiteralTypeFromJSON(\n json: any,\n): CatalogFilterExpressionLiteralType {\n return CatalogFilterExpressionLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionLiteralType {\n return json as CatalogFilterExpressionLiteralType;\n}\n\nexport function CatalogFilterExpressionLiteralTypeToJSON(\n value?: CatalogFilterExpressionLiteralType | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {CatalogFilterExpressionLiteralType} from './CatalogFilterExpressionLiteralType';\nimport {\n CatalogFilterExpressionLiteralTypeFromJSON,\n CatalogFilterExpressionLiteralTypeFromJSONTyped,\n CatalogFilterExpressionLiteralTypeToJSON,\n} from './CatalogFilterExpressionLiteralType';\n\n/**\n * FilterExpression Criterion Literal\n * @export\n * @interface CatalogFilterExpressionLiteral\n */\nexport interface CatalogFilterExpressionLiteral {\n /**\n *\n * @type {CatalogFilterExpressionLiteralType}\n * @memberof CatalogFilterExpressionLiteral\n */\n type?: CatalogFilterExpressionLiteralType;\n /**\n * Only for type VALUE. The single value representation.\n * @type {string}\n * @memberof CatalogFilterExpressionLiteral\n */\n value?: string;\n /**\n * Only for type VALUE_LIST. List of values, e.g. for the IN-Operator.\n * @type {Array<string>}\n * @memberof CatalogFilterExpressionLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the CatalogFilterExpressionLiteral interface.\n */\nexport function instanceOfCatalogFilterExpressionLiteral(\n value: object,\n): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function CatalogFilterExpressionLiteralFromJSON(\n json: any,\n): CatalogFilterExpressionLiteral {\n return CatalogFilterExpressionLiteralFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionLiteral {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n type: !exists(json, 'type')\n ? undefined\n : CatalogFilterExpressionLiteralTypeFromJSON(json['type']),\n value: !exists(json, 'value') ? undefined : json['value'],\n valueList: !exists(json, 'valueList') ? undefined : json['valueList'],\n };\n}\n\nexport function CatalogFilterExpressionLiteralToJSON(\n value?: CatalogFilterExpressionLiteral | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n type: CatalogFilterExpressionLiteralTypeToJSON(value.type),\n value: value.value,\n valueList: value.valueList,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Operator for filter expressions\n * @export\n */\nexport const CatalogFilterExpressionOperator = {\n Like: 'LIKE',\n Eq: 'EQ',\n In: 'IN',\n} as const;\nexport type CatalogFilterExpressionOperator =\n (typeof CatalogFilterExpressionOperator)[keyof typeof CatalogFilterExpressionOperator];\n\nexport function CatalogFilterExpressionOperatorFromJSON(\n json: any,\n): CatalogFilterExpressionOperator {\n return CatalogFilterExpressionOperatorFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionOperatorFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionOperator {\n return json as CatalogFilterExpressionOperator;\n}\n\nexport function CatalogFilterExpressionOperatorToJSON(\n value?: CatalogFilterExpressionOperator | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {CatalogFilterExpressionLiteral} from './CatalogFilterExpressionLiteral';\nimport {\n CatalogFilterExpressionLiteralFromJSON,\n CatalogFilterExpressionLiteralFromJSONTyped,\n CatalogFilterExpressionLiteralToJSON,\n} from './CatalogFilterExpressionLiteral';\nimport type {CatalogFilterExpressionOperator} from './CatalogFilterExpressionOperator';\nimport {\n CatalogFilterExpressionOperatorFromJSON,\n CatalogFilterExpressionOperatorFromJSONTyped,\n CatalogFilterExpressionOperatorToJSON,\n} from './CatalogFilterExpressionOperator';\n\n/**\n * Generic expression for filtering the data offers in the catalog\n * @export\n * @interface CatalogFilterExpression\n */\nexport interface CatalogFilterExpression {\n /**\n * Asset property name\n * @type {string}\n * @memberof CatalogFilterExpression\n */\n operandLeft: string;\n /**\n *\n * @type {CatalogFilterExpressionOperator}\n * @memberof CatalogFilterExpression\n */\n operator: CatalogFilterExpressionOperator;\n /**\n *\n * @type {CatalogFilterExpressionLiteral}\n * @memberof CatalogFilterExpression\n */\n operandRight: CatalogFilterExpressionLiteral;\n}\n\n/**\n * Check if a given object implements the CatalogFilterExpression interface.\n */\nexport function instanceOfCatalogFilterExpression(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'operandLeft' in value;\n isInstance = isInstance && 'operator' in value;\n isInstance = isInstance && 'operandRight' in value;\n\n return isInstance;\n}\n\nexport function CatalogFilterExpressionFromJSON(\n json: any,\n): CatalogFilterExpression {\n return CatalogFilterExpressionFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpression {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n operandLeft: json['operandLeft'],\n operator: CatalogFilterExpressionOperatorFromJSON(json['operator']),\n operandRight: CatalogFilterExpressionLiteralFromJSON(\n json['operandRight'],\n ),\n };\n}\n\nexport function CatalogFilterExpressionToJSON(\n value?: CatalogFilterExpression | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n operandLeft: value.operandLeft,\n operator: CatalogFilterExpressionOperatorToJSON(value.operator),\n operandRight: CatalogFilterExpressionLiteralToJSON(value.operandRight),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {CatalogFilterExpression} from './CatalogFilterExpression';\nimport {\n CatalogFilterExpressionFromJSON,\n CatalogFilterExpressionFromJSONTyped,\n CatalogFilterExpressionToJSON,\n} from './CatalogFilterExpression';\n\n/**\n * Catalog query parameters\n * @export\n * @interface CatalogQuery\n */\nexport interface CatalogQuery {\n /**\n * Target EDC DSP endpoint URL\n * @type {string}\n * @memberof CatalogQuery\n */\n connectorEndpoint: string;\n /**\n * Limit the number of results\n * @type {number}\n * @memberof CatalogQuery\n */\n limit?: number;\n /**\n * Offset for returned results, e.g. start at result 2\n * @type {number}\n * @memberof CatalogQuery\n */\n offset?: number;\n /**\n * Filter expressions for catalog filtering\n * @type {Array<CatalogFilterExpression>}\n * @memberof CatalogQuery\n */\n filterExpressions?: Array<CatalogFilterExpression>;\n}\n\n/**\n * Check if a given object implements the CatalogQuery interface.\n */\nexport function instanceOfCatalogQuery(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'connectorEndpoint' in value;\n\n return isInstance;\n}\n\nexport function CatalogQueryFromJSON(json: any): CatalogQuery {\n return CatalogQueryFromJSONTyped(json, false);\n}\n\nexport function CatalogQueryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogQuery {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n connectorEndpoint: json['connectorEndpoint'],\n limit: !exists(json, 'limit') ? undefined : json['limit'],\n offset: !exists(json, 'offset') ? undefined : json['offset'],\n filterExpressions: !exists(json, 'filterExpressions')\n ? undefined\n : (json['filterExpressions'] as Array<any>).map(\n CatalogFilterExpressionFromJSON,\n ),\n };\n}\n\nexport function CatalogQueryToJSON(value?: CatalogQuery | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n connectorEndpoint: value.connectorEndpoint,\n limit: value.limit,\n offset: value.offset,\n filterExpressions:\n value.filterExpressions === undefined\n ? undefined\n : (value.filterExpressions as Array<any>).map(\n CatalogFilterExpressionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Available and used resources of a connector.\n * @export\n * @interface ConnectorLimits\n */\nexport interface ConnectorLimits {\n /**\n * Current amount of active consuming contract agreements.\n * @type {number}\n * @memberof ConnectorLimits\n */\n numActiveConsumingContractAgreements: number;\n /**\n * Maximum amount of active consuming contract agreements. A value of 'null' or a negative value means that there are no limit.\n * @type {number}\n * @memberof ConnectorLimits\n */\n maxActiveConsumingContractAgreements?: number;\n}\n\n/**\n * Check if a given object implements the ConnectorLimits interface.\n */\nexport function instanceOfConnectorLimits(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'numActiveConsumingContractAgreements' in value;\n\n return isInstance;\n}\n\nexport function ConnectorLimitsFromJSON(json: any): ConnectorLimits {\n return ConnectorLimitsFromJSONTyped(json, false);\n}\n\nexport function ConnectorLimitsFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ConnectorLimits {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n numActiveConsumingContractAgreements:\n json['numActiveConsumingContractAgreements'],\n maxActiveConsumingContractAgreements: !exists(\n json,\n 'maxActiveConsumingContractAgreements',\n )\n ? undefined\n : json['maxActiveConsumingContractAgreements'],\n };\n}\n\nexport function ConnectorLimitsToJSON(value?: ConnectorLimits | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n numActiveConsumingContractAgreements:\n value.numActiveConsumingContractAgreements,\n maxActiveConsumingContractAgreements:\n value.maxActiveConsumingContractAgreements,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Whether the contract agreement is incoming or outgoing\n * @export\n */\nexport const ContractAgreementDirection = {\n Consuming: 'CONSUMING',\n Providing: 'PROVIDING',\n} as const;\nexport type ContractAgreementDirection =\n (typeof ContractAgreementDirection)[keyof typeof ContractAgreementDirection];\n\nexport function ContractAgreementDirectionFromJSON(\n json: any,\n): ContractAgreementDirection {\n return ContractAgreementDirectionFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementDirectionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementDirection {\n return json as ContractAgreementDirection;\n}\n\nexport function ContractAgreementDirectionToJSON(\n value?: ContractAgreementDirection | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Whether the contract termination was initiated by this EDC or a counterparty EDC.\n * @export\n */\nexport const ContractTerminatedBy = {\n Self: 'SELF',\n Counterparty: 'COUNTERPARTY',\n} as const;\nexport type ContractTerminatedBy =\n (typeof ContractTerminatedBy)[keyof typeof ContractTerminatedBy];\n\nexport function ContractTerminatedByFromJSON(json: any): ContractTerminatedBy {\n return ContractTerminatedByFromJSONTyped(json, false);\n}\n\nexport function ContractTerminatedByFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminatedBy {\n return json as ContractTerminatedBy;\n}\n\nexport function ContractTerminatedByToJSON(\n value?: ContractTerminatedBy | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractTerminatedBy} from './ContractTerminatedBy';\nimport {\n ContractTerminatedByFromJSON,\n ContractTerminatedByFromJSONTyped,\n ContractTerminatedByToJSON,\n} from './ContractTerminatedBy';\n\n/**\n * Contract's agreement metadata\n * @export\n * @interface ContractAgreementTerminationInfo\n */\nexport interface ContractAgreementTerminationInfo {\n /**\n * Termination's date and time\n * @type {Date}\n * @memberof ContractAgreementTerminationInfo\n */\n terminatedAt: Date;\n /**\n * The termination's nature e.g. User Termination\n * @type {string}\n * @memberof ContractAgreementTerminationInfo\n */\n reason: string;\n /**\n * Detailed message from the terminating party about why the contract was terminated.\n * @type {string}\n * @memberof ContractAgreementTerminationInfo\n */\n detail: string;\n /**\n *\n * @type {ContractTerminatedBy}\n * @memberof ContractAgreementTerminationInfo\n */\n terminatedBy: ContractTerminatedBy;\n}\n\n/**\n * Check if a given object implements the ContractAgreementTerminationInfo interface.\n */\nexport function instanceOfContractAgreementTerminationInfo(\n value: object,\n): boolean {\n let isInstance = true;\n isInstance = isInstance && 'terminatedAt' in value;\n isInstance = isInstance && 'reason' in value;\n isInstance = isInstance && 'detail' in value;\n isInstance = isInstance && 'terminatedBy' in value;\n\n return isInstance;\n}\n\nexport function ContractAgreementTerminationInfoFromJSON(\n json: any,\n): ContractAgreementTerminationInfo {\n return ContractAgreementTerminationInfoFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementTerminationInfoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementTerminationInfo {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n terminatedAt: new Date(json['terminatedAt']),\n reason: json['reason'],\n detail: json['detail'],\n terminatedBy: ContractTerminatedByFromJSON(json['terminatedBy']),\n };\n}\n\nexport function ContractAgreementTerminationInfoToJSON(\n value?: ContractAgreementTerminationInfo | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n terminatedAt: value.terminatedAt.toISOString(),\n reason: value.reason,\n detail: value.detail,\n terminatedBy: ContractTerminatedByToJSON(value.terminatedBy),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Simplified Transfer Process State to be used in UI\n * @export\n */\nexport const TransferProcessSimplifiedState = {\n Running: 'RUNNING',\n Ok: 'OK',\n Error: 'ERROR',\n} as const;\nexport type TransferProcessSimplifiedState =\n (typeof TransferProcessSimplifiedState)[keyof typeof TransferProcessSimplifiedState];\n\nexport function TransferProcessSimplifiedStateFromJSON(\n json: any,\n): TransferProcessSimplifiedState {\n return TransferProcessSimplifiedStateFromJSONTyped(json, false);\n}\n\nexport function TransferProcessSimplifiedStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessSimplifiedState {\n return json as TransferProcessSimplifiedState;\n}\n\nexport function TransferProcessSimplifiedStateToJSON(\n value?: TransferProcessSimplifiedState | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {TransferProcessSimplifiedState} from './TransferProcessSimplifiedState';\nimport {\n TransferProcessSimplifiedStateFromJSON,\n TransferProcessSimplifiedStateFromJSONTyped,\n TransferProcessSimplifiedStateToJSON,\n} from './TransferProcessSimplifiedState';\n\n/**\n * Transfer Process State interpreted\n * @export\n * @interface TransferProcessState\n */\nexport interface TransferProcessState {\n /**\n * State name or 'CUSTOM'. State names only exist for original EDC Transfer Process States.\n * @type {string}\n * @memberof TransferProcessState\n */\n name: string;\n /**\n * State code\n * @type {number}\n * @memberof TransferProcessState\n */\n code: number;\n /**\n *\n * @type {TransferProcessSimplifiedState}\n * @memberof TransferProcessState\n */\n simplifiedState: TransferProcessSimplifiedState;\n}\n\n/**\n * Check if a given object implements the TransferProcessState interface.\n */\nexport function instanceOfTransferProcessState(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'name' in value;\n isInstance = isInstance && 'code' in value;\n isInstance = isInstance && 'simplifiedState' in value;\n\n return isInstance;\n}\n\nexport function TransferProcessStateFromJSON(json: any): TransferProcessState {\n return TransferProcessStateFromJSONTyped(json, false);\n}\n\nexport function TransferProcessStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessState {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n name: json['name'],\n code: json['code'],\n simplifiedState: TransferProcessSimplifiedStateFromJSON(\n json['simplifiedState'],\n ),\n };\n}\n\nexport function TransferProcessStateToJSON(\n value?: TransferProcessState | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n name: value.name,\n code: value.code,\n simplifiedState: TransferProcessSimplifiedStateToJSON(\n value.simplifiedState,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {TransferProcessState} from './TransferProcessState';\nimport {\n TransferProcessStateFromJSON,\n TransferProcessStateFromJSONTyped,\n TransferProcessStateToJSON,\n} from './TransferProcessState';\n\n/**\n * A Contract Agreement's Transfer Process\n * @export\n * @interface ContractAgreementTransferProcess\n */\nexport interface ContractAgreementTransferProcess {\n /**\n * Transfer Process ID\n * @type {string}\n * @memberof ContractAgreementTransferProcess\n */\n transferProcessId: string;\n /**\n * Last Change Date\n * @type {Date}\n * @memberof ContractAgreementTransferProcess\n */\n lastUpdatedDate: Date;\n /**\n *\n * @type {TransferProcessState}\n * @memberof ContractAgreementTransferProcess\n */\n state: TransferProcessState;\n /**\n * Error Message\n * @type {string}\n * @memberof ContractAgreementTransferProcess\n */\n errorMessage?: string;\n}\n\n/**\n * Check if a given object implements the ContractAgreementTransferProcess interface.\n */\nexport function instanceOfContractAgreementTransferProcess(\n value: object,\n): boolean {\n let isInstance = true;\n isInstance = isInstance && 'transferProcessId' in value;\n isInstance = isInstance && 'lastUpdatedDate' in value;\n isInstance = isInstance && 'state' in value;\n\n return isInstance;\n}\n\nexport function ContractAgreementTransferProcessFromJSON(\n json: any,\n): ContractAgreementTransferProcess {\n return ContractAgreementTransferProcessFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementTransferProcessFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementTransferProcess {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n transferProcessId: json['transferProcessId'],\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n state: TransferProcessStateFromJSON(json['state']),\n errorMessage: !exists(json, 'errorMessage')\n ? undefined\n : json['errorMessage'],\n };\n}\n\nexport function ContractAgreementTransferProcessToJSON(\n value?: ContractAgreementTransferProcess | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n transferProcessId: value.transferProcessId,\n lastUpdatedDate: value.lastUpdatedDate.toISOString(),\n state: TransferProcessStateToJSON(value.state),\n errorMessage: value.errorMessage,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The contract termination status\n * @export\n */\nexport const ContractTerminationStatus = {\n Ongoing: 'ONGOING',\n Terminated: 'TERMINATED',\n} as const;\nexport type ContractTerminationStatus =\n (typeof ContractTerminationStatus)[keyof typeof ContractTerminationStatus];\n\nexport function ContractTerminationStatusFromJSON(\n json: any,\n): ContractTerminationStatus {\n return ContractTerminationStatusFromJSONTyped(json, false);\n}\n\nexport function ContractTerminationStatusFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminationStatus {\n return json as ContractTerminationStatus;\n}\n\nexport function ContractTerminationStatusToJSON(\n value?: ContractTerminationStatus | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Type-Safe ODRL Policy Operator as supported by the sovity product landscape\n * @export\n */\nexport const OperatorDto = {\n Eq: 'EQ',\n Neq: 'NEQ',\n Gt: 'GT',\n Geq: 'GEQ',\n Lt: 'LT',\n Leq: 'LEQ',\n In: 'IN',\n HasPart: 'HAS_PART',\n IsA: 'IS_A',\n IsAllOf: 'IS_ALL_OF',\n IsAnyOf: 'IS_ANY_OF',\n IsNoneOf: 'IS_NONE_OF',\n} as const;\nexport type OperatorDto = (typeof OperatorDto)[keyof typeof OperatorDto];\n\nexport function OperatorDtoFromJSON(json: any): OperatorDto {\n return OperatorDtoFromJSONTyped(json, false);\n}\n\nexport function OperatorDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): OperatorDto {\n return json as OperatorDto;\n}\n\nexport function OperatorDtoToJSON(value?: OperatorDto | null): any {\n return value as any;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported Types of values for the right hand side of an expression\n * @export\n */\nexport const UiPolicyLiteralType = {\n String: 'STRING',\n StringList: 'STRING_LIST',\n Json: 'JSON',\n} as const;\nexport type UiPolicyLiteralType =\n (typeof UiPolicyLiteralType)[keyof typeof UiPolicyLiteralType];\n\nexport function UiPolicyLiteralTypeFromJSON(json: any): UiPolicyLiteralType {\n return UiPolicyLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function UiPolicyLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyLiteralType {\n return json as UiPolicyLiteralType;\n}\n\nexport function UiPolicyLiteralTypeToJSON(\n value?: UiPolicyLiteralType | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyLiteralType} from './UiPolicyLiteralType';\nimport {\n UiPolicyLiteralTypeFromJSON,\n UiPolicyLiteralTypeFromJSONTyped,\n UiPolicyLiteralTypeToJSON,\n} from './UiPolicyLiteralType';\n\n/**\n * Sum type: A String, a list of Strings or a generic JSON value.\n * @export\n * @interface UiPolicyLiteral\n */\nexport interface UiPolicyLiteral {\n /**\n *\n * @type {UiPolicyLiteralType}\n * @memberof UiPolicyLiteral\n */\n type: UiPolicyLiteralType;\n /**\n * Only for types STRING and JSON\n * @type {string}\n * @memberof UiPolicyLiteral\n */\n value?: string;\n /**\n * Only for type STRING_LIST\n * @type {Array<string>}\n * @memberof UiPolicyLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiPolicyLiteral interface.\n */\nexport function instanceOfUiPolicyLiteral(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'type' in value;\n\n return isInstance;\n}\n\nexport function UiPolicyLiteralFromJSON(json: any): UiPolicyLiteral {\n return UiPolicyLiteralFromJSONTyped(json, false);\n}\n\nexport function UiPolicyLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyLiteral {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n type: UiPolicyLiteralTypeFromJSON(json['type']),\n value: !exists(json, 'value') ? undefined : json['value'],\n valueList: !exists(json, 'valueList') ? undefined : json['valueList'],\n };\n}\n\nexport function UiPolicyLiteralToJSON(value?: UiPolicyLiteral | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n type: UiPolicyLiteralTypeToJSON(value.type),\n value: value.value,\n valueList: value.valueList,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {OperatorDto} from './OperatorDto';\nimport {\n OperatorDtoFromJSON,\n OperatorDtoFromJSONTyped,\n OperatorDtoToJSON,\n} from './OperatorDto';\nimport type {UiPolicyLiteral} from './UiPolicyLiteral';\nimport {\n UiPolicyLiteralFromJSON,\n UiPolicyLiteralFromJSONTyped,\n UiPolicyLiteralToJSON,\n} from './UiPolicyLiteral';\n\n/**\n * ODRL AtomicConstraint as supported by the sovity product landscape. For example 'a EQ b', 'c IN [d, e, f]'\n * @export\n * @interface UiPolicyConstraint\n */\nexport interface UiPolicyConstraint {\n /**\n * Left side of the expression.\n * @type {string}\n * @memberof UiPolicyConstraint\n */\n left: string;\n /**\n *\n * @type {OperatorDto}\n * @memberof UiPolicyConstraint\n */\n operator: OperatorDto;\n /**\n *\n * @type {UiPolicyLiteral}\n * @memberof UiPolicyConstraint\n */\n right: UiPolicyLiteral;\n}\n\n/**\n * Check if a given object implements the UiPolicyConstraint interface.\n */\nexport function instanceOfUiPolicyConstraint(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'left' in value;\n isInstance = isInstance && 'operator' in value;\n isInstance = isInstance && 'right' in value;\n\n return isInstance;\n}\n\nexport function UiPolicyConstraintFromJSON(json: any): UiPolicyConstraint {\n return UiPolicyConstraintFromJSONTyped(json, false);\n}\n\nexport function UiPolicyConstraintFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyConstraint {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n left: json['left'],\n operator: OperatorDtoFromJSON(json['operator']),\n right: UiPolicyLiteralFromJSON(json['right']),\n };\n}\n\nexport function UiPolicyConstraintToJSON(\n value?: UiPolicyConstraint | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n left: value.left,\n operator: OperatorDtoToJSON(value.operator),\n right: UiPolicyLiteralToJSON(value.right),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Ui Policy Expression types:\n * * `CONSTRAINT` - Expression 'a=b'\n * * `AND` - Conjunction of several expressions. Evaluates to true iff all child expressions are true.\n * * `OR` - Disjunction of several expressions. Evaluates to true iff at least one child expression is true.\n * * `XONE` - XONE operation. Evaluates to true iff exactly one child expression is true.\n * @export\n */\nexport const UiPolicyExpressionType = {\n Empty: 'EMPTY',\n Constraint: 'CONSTRAINT',\n And: 'AND',\n Or: 'OR',\n Xone: 'XONE',\n} as const;\nexport type UiPolicyExpressionType =\n (typeof UiPolicyExpressionType)[keyof typeof UiPolicyExpressionType];\n\nexport function UiPolicyExpressionTypeFromJSON(\n json: any,\n): UiPolicyExpressionType {\n return UiPolicyExpressionTypeFromJSONTyped(json, false);\n}\n\nexport function UiPolicyExpressionTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyExpressionType {\n return json as UiPolicyExpressionType;\n}\n\nexport function UiPolicyExpressionTypeToJSON(\n value?: UiPolicyExpressionType | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyConstraint} from './UiPolicyConstraint';\nimport {\n UiPolicyConstraintFromJSON,\n UiPolicyConstraintFromJSONTyped,\n UiPolicyConstraintToJSON,\n} from './UiPolicyConstraint';\nimport type {UiPolicyExpressionType} from './UiPolicyExpressionType';\nimport {\n UiPolicyExpressionTypeFromJSON,\n UiPolicyExpressionTypeFromJSONTyped,\n UiPolicyExpressionTypeToJSON,\n} from './UiPolicyExpressionType';\n\n/**\n * ODRL constraint as supported by the sovity product landscape\n * @export\n * @interface UiPolicyExpression\n */\nexport interface UiPolicyExpression {\n /**\n *\n * @type {UiPolicyExpressionType}\n * @memberof UiPolicyExpression\n */\n type: UiPolicyExpressionType;\n /**\n * Only for types AND, OR, XONE. List of sub-expressions to be evaluated according to the expressionType.\n * @type {Array<UiPolicyExpression>}\n * @memberof UiPolicyExpression\n */\n expressions?: Array<UiPolicyExpression>;\n /**\n *\n * @type {UiPolicyConstraint}\n * @memberof UiPolicyExpression\n */\n constraint?: UiPolicyConstraint;\n}\n\n/**\n * Check if a given object implements the UiPolicyExpression interface.\n */\nexport function instanceOfUiPolicyExpression(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'type' in value;\n\n return isInstance;\n}\n\nexport function UiPolicyExpressionFromJSON(json: any): UiPolicyExpression {\n return UiPolicyExpressionFromJSONTyped(json, false);\n}\n\nexport function UiPolicyExpressionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyExpression {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n type: UiPolicyExpressionTypeFromJSON(json['type']),\n expressions: !exists(json, 'expressions')\n ? undefined\n : (json['expressions'] as Array<any>).map(\n UiPolicyExpressionFromJSON,\n ),\n constraint: !exists(json, 'constraint')\n ? undefined\n : UiPolicyConstraintFromJSON(json['constraint']),\n };\n}\n\nexport function UiPolicyExpressionToJSON(\n value?: UiPolicyExpression | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n type: UiPolicyExpressionTypeToJSON(value.type),\n expressions:\n value.expressions === undefined\n ? undefined\n : (value.expressions as Array<any>).map(\n UiPolicyExpressionToJSON,\n ),\n constraint: UiPolicyConstraintToJSON(value.constraint),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n} from './UiPolicyExpression';\n\n/**\n * Type-Safe OpenAPI generator friendly ODLR policy subset as endorsed by sovity.\n * @export\n * @interface UiPolicy\n */\nexport interface UiPolicy {\n /**\n * EDC Policy JSON-LD. This is required because the EDC requires the full policy when initiating contract negotiations.\n * @type {string}\n * @memberof UiPolicy\n */\n policyJsonLd: string;\n /**\n *\n * @type {UiPolicyExpression}\n * @memberof UiPolicy\n */\n expression?: UiPolicyExpression;\n /**\n * When trying to reduce the policy JSON-LD to our opinionated subset of functionalities, many fields and functionalities are unsupported. Should any discrepancies occur during the mapping process, we'll collect them here.\n * @type {Array<string>}\n * @memberof UiPolicy\n */\n errors: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiPolicy interface.\n */\nexport function instanceOfUiPolicy(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'policyJsonLd' in value;\n isInstance = isInstance && 'errors' in value;\n\n return isInstance;\n}\n\nexport function UiPolicyFromJSON(json: any): UiPolicy {\n return UiPolicyFromJSONTyped(json, false);\n}\n\nexport function UiPolicyFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicy {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n policyJsonLd: json['policyJsonLd'],\n expression: !exists(json, 'expression')\n ? undefined\n : UiPolicyExpressionFromJSON(json['expression']),\n errors: json['errors'],\n };\n}\n\nexport function UiPolicyToJSON(value?: UiPolicy | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n policyJsonLd: value.policyJsonLd,\n expression: UiPolicyExpressionToJSON(value.expression),\n errors: value.errors,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractAgreementDirection} from './ContractAgreementDirection';\nimport {\n ContractAgreementDirectionFromJSON,\n ContractAgreementDirectionFromJSONTyped,\n ContractAgreementDirectionToJSON,\n} from './ContractAgreementDirection';\nimport type {ContractAgreementTerminationInfo} from './ContractAgreementTerminationInfo';\nimport {\n ContractAgreementTerminationInfoFromJSON,\n ContractAgreementTerminationInfoFromJSONTyped,\n ContractAgreementTerminationInfoToJSON,\n} from './ContractAgreementTerminationInfo';\nimport type {ContractAgreementTransferProcess} from './ContractAgreementTransferProcess';\nimport {\n ContractAgreementTransferProcessFromJSON,\n ContractAgreementTransferProcessFromJSONTyped,\n ContractAgreementTransferProcessToJSON,\n} from './ContractAgreementTransferProcess';\nimport type {ContractTerminationStatus} from './ContractTerminationStatus';\nimport {\n ContractTerminationStatusFromJSON,\n ContractTerminationStatusFromJSONTyped,\n ContractTerminationStatusToJSON,\n} from './ContractTerminationStatus';\nimport type {UiAsset} from './UiAsset';\nimport {UiAssetFromJSON, UiAssetFromJSONTyped, UiAssetToJSON} from './UiAsset';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n} from './UiPolicy';\n\n/**\n * Contract Agreement for Contract Agreement Page\n * @export\n * @interface ContractAgreementCard\n */\nexport interface ContractAgreementCard {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n contractAgreementId: string;\n /**\n * Contract Negotiation ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n contractNegotiationId: string;\n /**\n *\n * @type {ContractAgreementDirection}\n * @memberof ContractAgreementCard\n */\n direction: ContractAgreementDirection;\n /**\n * Other Connector's Endpoint\n * @type {string}\n * @memberof ContractAgreementCard\n */\n counterPartyAddress: string;\n /**\n * Other Connector's ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n counterPartyId: string;\n /**\n * Contract Agreements Signing Date\n * @type {Date}\n * @memberof ContractAgreementCard\n */\n contractSigningDate: Date;\n /**\n *\n * @type {UiAsset}\n * @memberof ContractAgreementCard\n */\n asset: UiAsset;\n /**\n *\n * @type {UiPolicy}\n * @memberof ContractAgreementCard\n */\n contractPolicy: UiPolicy;\n /**\n * Contract Agreement's Transfer Processes\n * @type {Array<ContractAgreementTransferProcess>}\n * @memberof ContractAgreementCard\n */\n transferProcesses: Array<ContractAgreementTransferProcess>;\n /**\n *\n * @type {ContractTerminationStatus}\n * @memberof ContractAgreementCard\n */\n terminationStatus: ContractTerminationStatus;\n /**\n *\n * @type {ContractAgreementTerminationInfo}\n * @memberof ContractAgreementCard\n */\n terminationInformation?: ContractAgreementTerminationInfo;\n}\n\n/**\n * Check if a given object implements the ContractAgreementCard interface.\n */\nexport function instanceOfContractAgreementCard(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractAgreementId' in value;\n isInstance = isInstance && 'contractNegotiationId' in value;\n isInstance = isInstance && 'direction' in value;\n isInstance = isInstance && 'counterPartyAddress' in value;\n isInstance = isInstance && 'counterPartyId' in value;\n isInstance = isInstance && 'contractSigningDate' in value;\n isInstance = isInstance && 'asset' in value;\n isInstance = isInstance && 'contractPolicy' in value;\n isInstance = isInstance && 'transferProcesses' in value;\n isInstance = isInstance && 'terminationStatus' in value;\n\n return isInstance;\n}\n\nexport function ContractAgreementCardFromJSON(\n json: any,\n): ContractAgreementCard {\n return ContractAgreementCardFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementCardFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementCard {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n contractNegotiationId: json['contractNegotiationId'],\n direction: ContractAgreementDirectionFromJSON(json['direction']),\n counterPartyAddress: json['counterPartyAddress'],\n counterPartyId: json['counterPartyId'],\n contractSigningDate: new Date(json['contractSigningDate']),\n asset: UiAssetFromJSON(json['asset']),\n contractPolicy: UiPolicyFromJSON(json['contractPolicy']),\n transferProcesses: (json['transferProcesses'] as Array<any>).map(\n ContractAgreementTransferProcessFromJSON,\n ),\n terminationStatus: ContractTerminationStatusFromJSON(\n json['terminationStatus'],\n ),\n terminationInformation: !exists(json, 'terminationInformation')\n ? undefined\n : ContractAgreementTerminationInfoFromJSON(\n json['terminationInformation'],\n ),\n };\n}\n\nexport function ContractAgreementCardToJSON(\n value?: ContractAgreementCard | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractAgreementId: value.contractAgreementId,\n contractNegotiationId: value.contractNegotiationId,\n direction: ContractAgreementDirectionToJSON(value.direction),\n counterPartyAddress: value.counterPartyAddress,\n counterPartyId: value.counterPartyId,\n contractSigningDate: value.contractSigningDate.toISOString(),\n asset: UiAssetToJSON(value.asset),\n contractPolicy: UiPolicyToJSON(value.contractPolicy),\n transferProcesses: (value.transferProcesses as Array<any>).map(\n ContractAgreementTransferProcessToJSON,\n ),\n terminationStatus: ContractTerminationStatusToJSON(\n value.terminationStatus,\n ),\n terminationInformation: ContractAgreementTerminationInfoToJSON(\n value.terminationInformation,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractAgreementCard} from './ContractAgreementCard';\nimport {\n ContractAgreementCardFromJSON,\n ContractAgreementCardFromJSONTyped,\n ContractAgreementCardToJSON,\n} from './ContractAgreementCard';\n\n/**\n * Data as required by the UI's Contract Agreement Page\n * @export\n * @interface ContractAgreementPage\n */\nexport interface ContractAgreementPage {\n /**\n * Contract Agreement Cards\n * @type {Array<ContractAgreementCard>}\n * @memberof ContractAgreementPage\n */\n contractAgreements: Array<ContractAgreementCard>;\n}\n\n/**\n * Check if a given object implements the ContractAgreementPage interface.\n */\nexport function instanceOfContractAgreementPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractAgreements' in value;\n\n return isInstance;\n}\n\nexport function ContractAgreementPageFromJSON(\n json: any,\n): ContractAgreementPage {\n return ContractAgreementPageFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractAgreements: (json['contractAgreements'] as Array<any>).map(\n ContractAgreementCardFromJSON,\n ),\n };\n}\n\nexport function ContractAgreementPageToJSON(\n value?: ContractAgreementPage | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractAgreements: (value.contractAgreements as Array<any>).map(\n ContractAgreementCardToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractTerminationStatus} from './ContractTerminationStatus';\nimport {\n ContractTerminationStatusFromJSON,\n ContractTerminationStatusFromJSONTyped,\n ContractTerminationStatusToJSON,\n} from './ContractTerminationStatus';\n\n/**\n * Filters for querying a Contract Contract Agreement Page\n * @export\n * @interface ContractAgreementPageQuery\n */\nexport interface ContractAgreementPageQuery {\n /**\n *\n * @type {ContractTerminationStatus}\n * @memberof ContractAgreementPageQuery\n */\n terminationStatus?: ContractTerminationStatus;\n}\n\n/**\n * Check if a given object implements the ContractAgreementPageQuery interface.\n */\nexport function instanceOfContractAgreementPageQuery(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function ContractAgreementPageQueryFromJSON(\n json: any,\n): ContractAgreementPageQuery {\n return ContractAgreementPageQueryFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageQueryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementPageQuery {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n terminationStatus: !exists(json, 'terminationStatus')\n ? undefined\n : ContractTerminationStatusFromJSON(json['terminationStatus']),\n };\n}\n\nexport function ContractAgreementPageQueryToJSON(\n value?: ContractAgreementPageQuery | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n terminationStatus: ContractTerminationStatusToJSON(\n value.terminationStatus,\n ),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Value type of an asset selector criterion right expression value\n * @export\n */\nexport const UiCriterionLiteralType = {\n Value: 'VALUE',\n ValueList: 'VALUE_LIST',\n} as const;\nexport type UiCriterionLiteralType =\n (typeof UiCriterionLiteralType)[keyof typeof UiCriterionLiteralType];\n\nexport function UiCriterionLiteralTypeFromJSON(\n json: any,\n): UiCriterionLiteralType {\n return UiCriterionLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function UiCriterionLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionLiteralType {\n return json as UiCriterionLiteralType;\n}\n\nexport function UiCriterionLiteralTypeToJSON(\n value?: UiCriterionLiteralType | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiCriterionLiteralType} from './UiCriterionLiteralType';\nimport {\n UiCriterionLiteralTypeFromJSON,\n UiCriterionLiteralTypeFromJSONTyped,\n UiCriterionLiteralTypeToJSON,\n} from './UiCriterionLiteralType';\n\n/**\n * Criterion Literal\n * @export\n * @interface UiCriterionLiteral\n */\nexport interface UiCriterionLiteral {\n /**\n *\n * @type {UiCriterionLiteralType}\n * @memberof UiCriterionLiteral\n */\n type?: UiCriterionLiteralType;\n /**\n * Only for type VALUE. The single value representation.\n * @type {string}\n * @memberof UiCriterionLiteral\n */\n value?: string;\n /**\n * Only for type VALUE_LIST. List of values, e.g. for the IN-Operator.\n * @type {Array<string>}\n * @memberof UiCriterionLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiCriterionLiteral interface.\n */\nexport function instanceOfUiCriterionLiteral(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function UiCriterionLiteralFromJSON(json: any): UiCriterionLiteral {\n return UiCriterionLiteralFromJSONTyped(json, false);\n}\n\nexport function UiCriterionLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionLiteral {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n type: !exists(json, 'type')\n ? undefined\n : UiCriterionLiteralTypeFromJSON(json['type']),\n value: !exists(json, 'value') ? undefined : json['value'],\n valueList: !exists(json, 'valueList') ? undefined : json['valueList'],\n };\n}\n\nexport function UiCriterionLiteralToJSON(\n value?: UiCriterionLiteral | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n type: UiCriterionLiteralTypeToJSON(value.type),\n value: value.value,\n valueList: value.valueList,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Operator for constraints\n * @export\n */\nexport const UiCriterionOperator = {\n Eq: 'EQ',\n In: 'IN',\n Like: 'LIKE',\n} as const;\nexport type UiCriterionOperator =\n (typeof UiCriterionOperator)[keyof typeof UiCriterionOperator];\n\nexport function UiCriterionOperatorFromJSON(json: any): UiCriterionOperator {\n return UiCriterionOperatorFromJSONTyped(json, false);\n}\n\nexport function UiCriterionOperatorFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionOperator {\n return json as UiCriterionOperator;\n}\n\nexport function UiCriterionOperatorToJSON(\n value?: UiCriterionOperator | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiCriterionLiteral} from './UiCriterionLiteral';\nimport {\n UiCriterionLiteralFromJSON,\n UiCriterionLiteralFromJSONTyped,\n UiCriterionLiteralToJSON,\n} from './UiCriterionLiteral';\nimport type {UiCriterionOperator} from './UiCriterionOperator';\nimport {\n UiCriterionOperatorFromJSON,\n UiCriterionOperatorFromJSONTyped,\n UiCriterionOperatorToJSON,\n} from './UiCriterionOperator';\n\n/**\n * Contract Definition Criterion as supported by the UI\n * @export\n * @interface UiCriterion\n */\nexport interface UiCriterion {\n /**\n * Left Operand\n * @type {string}\n * @memberof UiCriterion\n */\n operandLeft: string;\n /**\n *\n * @type {UiCriterionOperator}\n * @memberof UiCriterion\n */\n operator: UiCriterionOperator;\n /**\n *\n * @type {UiCriterionLiteral}\n * @memberof UiCriterion\n */\n operandRight: UiCriterionLiteral;\n}\n\n/**\n * Check if a given object implements the UiCriterion interface.\n */\nexport function instanceOfUiCriterion(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'operandLeft' in value;\n isInstance = isInstance && 'operator' in value;\n isInstance = isInstance && 'operandRight' in value;\n\n return isInstance;\n}\n\nexport function UiCriterionFromJSON(json: any): UiCriterion {\n return UiCriterionFromJSONTyped(json, false);\n}\n\nexport function UiCriterionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterion {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n operandLeft: json['operandLeft'],\n operator: UiCriterionOperatorFromJSON(json['operator']),\n operandRight: UiCriterionLiteralFromJSON(json['operandRight']),\n };\n}\n\nexport function UiCriterionToJSON(value?: UiCriterion | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n operandLeft: value.operandLeft,\n operator: UiCriterionOperatorToJSON(value.operator),\n operandRight: UiCriterionLiteralToJSON(value.operandRight),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiCriterion} from './UiCriterion';\nimport {\n UiCriterionFromJSON,\n UiCriterionFromJSONTyped,\n UiCriterionToJSON,\n} from './UiCriterion';\n\n/**\n * Contract Definition List Entry for Contract Definition Page\n * @export\n * @interface ContractDefinitionEntry\n */\nexport interface ContractDefinitionEntry {\n /**\n * Contract Definition ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n contractDefinitionId: string;\n /**\n * Access Policy ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n accessPolicyId: string;\n /**\n * Contract Policy ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n contractPolicyId: string;\n /**\n * Criteria for the contract\n * @type {Array<UiCriterion>}\n * @memberof ContractDefinitionEntry\n */\n assetSelector: Array<UiCriterion>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionEntry interface.\n */\nexport function instanceOfContractDefinitionEntry(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractDefinitionId' in value;\n isInstance = isInstance && 'accessPolicyId' in value;\n isInstance = isInstance && 'contractPolicyId' in value;\n isInstance = isInstance && 'assetSelector' in value;\n\n return isInstance;\n}\n\nexport function ContractDefinitionEntryFromJSON(\n json: any,\n): ContractDefinitionEntry {\n return ContractDefinitionEntryFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionEntryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionEntry {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractDefinitionId: json['contractDefinitionId'],\n accessPolicyId: json['accessPolicyId'],\n contractPolicyId: json['contractPolicyId'],\n assetSelector: (json['assetSelector'] as Array<any>).map(\n UiCriterionFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionEntryToJSON(\n value?: ContractDefinitionEntry | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractDefinitionId: value.contractDefinitionId,\n accessPolicyId: value.accessPolicyId,\n contractPolicyId: value.contractPolicyId,\n assetSelector: (value.assetSelector as Array<any>).map(\n UiCriterionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractDefinitionEntry} from './ContractDefinitionEntry';\nimport {\n ContractDefinitionEntryFromJSON,\n ContractDefinitionEntryFromJSONTyped,\n ContractDefinitionEntryToJSON,\n} from './ContractDefinitionEntry';\n\n/**\n *\n * @export\n * @interface ContractDefinitionPage\n */\nexport interface ContractDefinitionPage {\n /**\n * Contract Definition Entries\n * @type {Array<ContractDefinitionEntry>}\n * @memberof ContractDefinitionPage\n */\n contractDefinitions: Array<ContractDefinitionEntry>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionPage interface.\n */\nexport function instanceOfContractDefinitionPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractDefinitions' in value;\n\n return isInstance;\n}\n\nexport function ContractDefinitionPageFromJSON(\n json: any,\n): ContractDefinitionPage {\n return ContractDefinitionPageFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractDefinitions: (json['contractDefinitions'] as Array<any>).map(\n ContractDefinitionEntryFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionPageToJSON(\n value?: ContractDefinitionPage | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractDefinitions: (value.contractDefinitions as Array<any>).map(\n ContractDefinitionEntryToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiCriterion} from './UiCriterion';\nimport {\n UiCriterionFromJSON,\n UiCriterionFromJSONTyped,\n UiCriterionToJSON,\n} from './UiCriterion';\n\n/**\n * Data for creating a Contract Definition\n * @export\n * @interface ContractDefinitionRequest\n */\nexport interface ContractDefinitionRequest {\n /**\n * Contract Definition ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n contractDefinitionId: string;\n /**\n * Contract Policy ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n contractPolicyId: string;\n /**\n * Access Policy ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n accessPolicyId: string;\n /**\n * List of Criteria for the contract\n * @type {Array<UiCriterion>}\n * @memberof ContractDefinitionRequest\n */\n assetSelector: Array<UiCriterion>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionRequest interface.\n */\nexport function instanceOfContractDefinitionRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractDefinitionId' in value;\n isInstance = isInstance && 'contractPolicyId' in value;\n isInstance = isInstance && 'accessPolicyId' in value;\n isInstance = isInstance && 'assetSelector' in value;\n\n return isInstance;\n}\n\nexport function ContractDefinitionRequestFromJSON(\n json: any,\n): ContractDefinitionRequest {\n return ContractDefinitionRequestFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractDefinitionId: json['contractDefinitionId'],\n contractPolicyId: json['contractPolicyId'],\n accessPolicyId: json['accessPolicyId'],\n assetSelector: (json['assetSelector'] as Array<any>).map(\n UiCriterionFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionRequestToJSON(\n value?: ContractDefinitionRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractDefinitionId: value.contractDefinitionId,\n contractPolicyId: value.contractPolicyId,\n accessPolicyId: value.accessPolicyId,\n assetSelector: (value.assetSelector as Array<any>).map(\n UiCriterionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Data for initiating a Contract Negotiation\n * @export\n * @interface ContractNegotiationRequest\n */\nexport interface ContractNegotiationRequest {\n /**\n * Counter Party Address\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n counterPartyAddress: string;\n /**\n * Counter Party Participant ID\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n counterPartyParticipantId: string;\n /**\n * Contract Offer Dto\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n contractOfferId: string;\n /**\n * Policy JsonLd\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n policyJsonLd: string;\n /**\n * Asset ID\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n assetId: string;\n}\n\n/**\n * Check if a given object implements the ContractNegotiationRequest interface.\n */\nexport function instanceOfContractNegotiationRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'counterPartyAddress' in value;\n isInstance = isInstance && 'counterPartyParticipantId' in value;\n isInstance = isInstance && 'contractOfferId' in value;\n isInstance = isInstance && 'policyJsonLd' in value;\n isInstance = isInstance && 'assetId' in value;\n\n return isInstance;\n}\n\nexport function ContractNegotiationRequestFromJSON(\n json: any,\n): ContractNegotiationRequest {\n return ContractNegotiationRequestFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n counterPartyAddress: json['counterPartyAddress'],\n counterPartyParticipantId: json['counterPartyParticipantId'],\n contractOfferId: json['contractOfferId'],\n policyJsonLd: json['policyJsonLd'],\n assetId: json['assetId'],\n };\n}\n\nexport function ContractNegotiationRequestToJSON(\n value?: ContractNegotiationRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n counterPartyAddress: value.counterPartyAddress,\n counterPartyParticipantId: value.counterPartyParticipantId,\n contractOfferId: value.contractOfferId,\n policyJsonLd: value.policyJsonLd,\n assetId: value.assetId,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Simplified Contract Negotiation State to be used in UI\n * @export\n */\nexport const ContractNegotiationSimplifiedState = {\n InProgress: 'IN_PROGRESS',\n Agreed: 'AGREED',\n Terminated: 'TERMINATED',\n} as const;\nexport type ContractNegotiationSimplifiedState =\n (typeof ContractNegotiationSimplifiedState)[keyof typeof ContractNegotiationSimplifiedState];\n\nexport function ContractNegotiationSimplifiedStateFromJSON(\n json: any,\n): ContractNegotiationSimplifiedState {\n return ContractNegotiationSimplifiedStateFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationSimplifiedStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationSimplifiedState {\n return json as ContractNegotiationSimplifiedState;\n}\n\nexport function ContractNegotiationSimplifiedStateToJSON(\n value?: ContractNegotiationSimplifiedState | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractNegotiationSimplifiedState} from './ContractNegotiationSimplifiedState';\nimport {\n ContractNegotiationSimplifiedStateFromJSON,\n ContractNegotiationSimplifiedStateFromJSONTyped,\n ContractNegotiationSimplifiedStateToJSON,\n} from './ContractNegotiationSimplifiedState';\n\n/**\n * Contract Negotiation State interpreted\n * @export\n * @interface ContractNegotiationState\n */\nexport interface ContractNegotiationState {\n /**\n * State name or 'CUSTOM'. State names only exist for original EDC Contract Negotiation States.\n * @type {string}\n * @memberof ContractNegotiationState\n */\n name: string;\n /**\n * State code\n * @type {number}\n * @memberof ContractNegotiationState\n */\n code: number;\n /**\n *\n * @type {ContractNegotiationSimplifiedState}\n * @memberof ContractNegotiationState\n */\n simplifiedState: ContractNegotiationSimplifiedState;\n}\n\n/**\n * Check if a given object implements the ContractNegotiationState interface.\n */\nexport function instanceOfContractNegotiationState(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'name' in value;\n isInstance = isInstance && 'code' in value;\n isInstance = isInstance && 'simplifiedState' in value;\n\n return isInstance;\n}\n\nexport function ContractNegotiationStateFromJSON(\n json: any,\n): ContractNegotiationState {\n return ContractNegotiationStateFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationState {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n name: json['name'],\n code: json['code'],\n simplifiedState: ContractNegotiationSimplifiedStateFromJSON(\n json['simplifiedState'],\n ),\n };\n}\n\nexport function ContractNegotiationStateToJSON(\n value?: ContractNegotiationState | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n name: value.name,\n code: value.code,\n simplifiedState: ContractNegotiationSimplifiedStateToJSON(\n value.simplifiedState,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Data for terminating a Contract Agreement\n * @export\n * @interface ContractTerminationRequest\n */\nexport interface ContractTerminationRequest {\n /**\n * A user explanation to detail why the contract was terminated.\n * @type {string}\n * @memberof ContractTerminationRequest\n */\n detail: string;\n /**\n * A short reason why this contract was terminated\n * @type {string}\n * @memberof ContractTerminationRequest\n */\n reason: string;\n}\n\n/**\n * Check if a given object implements the ContractTerminationRequest interface.\n */\nexport function instanceOfContractTerminationRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'detail' in value;\n isInstance = isInstance && 'reason' in value;\n\n return isInstance;\n}\n\nexport function ContractTerminationRequestFromJSON(\n json: any,\n): ContractTerminationRequest {\n return ContractTerminationRequestFromJSONTyped(json, false);\n}\n\nexport function ContractTerminationRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminationRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n detail: json['detail'],\n reason: json['reason'],\n };\n}\n\nexport function ContractTerminationRequestToJSON(\n value?: ContractTerminationRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n detail: value.detail,\n reason: value.reason,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * DAPS Config\n * @export\n * @interface DashboardDapsConfig\n */\nexport interface DashboardDapsConfig {\n /**\n * Your Connector's DAPS Token URL\n * @type {string}\n * @memberof DashboardDapsConfig\n */\n tokenUrl: string;\n /**\n * Your Connector's DAPS JWKS URL\n * @type {string}\n * @memberof DashboardDapsConfig\n */\n jwksUrl: string;\n}\n\n/**\n * Check if a given object implements the DashboardDapsConfig interface.\n */\nexport function instanceOfDashboardDapsConfig(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'tokenUrl' in value;\n isInstance = isInstance && 'jwksUrl' in value;\n\n return isInstance;\n}\n\nexport function DashboardDapsConfigFromJSON(json: any): DashboardDapsConfig {\n return DashboardDapsConfigFromJSONTyped(json, false);\n}\n\nexport function DashboardDapsConfigFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardDapsConfig {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n tokenUrl: json['tokenUrl'],\n jwksUrl: json['jwksUrl'],\n };\n}\n\nexport function DashboardDapsConfigToJSON(\n value?: DashboardDapsConfig | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n tokenUrl: value.tokenUrl,\n jwksUrl: value.jwksUrl,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Managed Identity Wallet (MIW) Config\n * @export\n * @interface DashboardMiwConfig\n */\nexport interface DashboardMiwConfig {\n /**\n * Your Connector's MIW's URL\n * @type {string}\n * @memberof DashboardMiwConfig\n */\n url: string;\n /**\n * Your Connector's MIW's Token URL\n * @type {string}\n * @memberof DashboardMiwConfig\n */\n tokenUrl: string;\n /**\n * Your Connector's MIW's Authority ID\n * @type {string}\n * @memberof DashboardMiwConfig\n */\n authorityId: string;\n}\n\n/**\n * Check if a given object implements the DashboardMiwConfig interface.\n */\nexport function instanceOfDashboardMiwConfig(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'url' in value;\n isInstance = isInstance && 'tokenUrl' in value;\n isInstance = isInstance && 'authorityId' in value;\n\n return isInstance;\n}\n\nexport function DashboardMiwConfigFromJSON(json: any): DashboardMiwConfig {\n return DashboardMiwConfigFromJSONTyped(json, false);\n}\n\nexport function DashboardMiwConfigFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardMiwConfig {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n url: json['url'],\n tokenUrl: json['tokenUrl'],\n authorityId: json['authorityId'],\n };\n}\n\nexport function DashboardMiwConfigToJSON(\n value?: DashboardMiwConfig | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n url: value.url,\n tokenUrl: value.tokenUrl,\n authorityId: value.authorityId,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Number of Transfer Processes for given direction.\n * @export\n * @interface DashboardTransferAmounts\n */\nexport interface DashboardTransferAmounts {\n /**\n * Number of Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numTotal: number;\n /**\n * Number of running Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numRunning: number;\n /**\n * Number of successful Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numOk: number;\n /**\n * Number of failed Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numError: number;\n}\n\n/**\n * Check if a given object implements the DashboardTransferAmounts interface.\n */\nexport function instanceOfDashboardTransferAmounts(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'numTotal' in value;\n isInstance = isInstance && 'numRunning' in value;\n isInstance = isInstance && 'numOk' in value;\n isInstance = isInstance && 'numError' in value;\n\n return isInstance;\n}\n\nexport function DashboardTransferAmountsFromJSON(\n json: any,\n): DashboardTransferAmounts {\n return DashboardTransferAmountsFromJSONTyped(json, false);\n}\n\nexport function DashboardTransferAmountsFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardTransferAmounts {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n numTotal: json['numTotal'],\n numRunning: json['numRunning'],\n numOk: json['numOk'],\n numError: json['numError'],\n };\n}\n\nexport function DashboardTransferAmountsToJSON(\n value?: DashboardTransferAmounts | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n numTotal: value.numTotal,\n numRunning: value.numRunning,\n numOk: value.numOk,\n numError: value.numError,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {DashboardDapsConfig} from './DashboardDapsConfig';\nimport {\n DashboardDapsConfigFromJSON,\n DashboardDapsConfigFromJSONTyped,\n DashboardDapsConfigToJSON,\n} from './DashboardDapsConfig';\nimport type {DashboardMiwConfig} from './DashboardMiwConfig';\nimport {\n DashboardMiwConfigFromJSON,\n DashboardMiwConfigFromJSONTyped,\n DashboardMiwConfigToJSON,\n} from './DashboardMiwConfig';\nimport type {DashboardTransferAmounts} from './DashboardTransferAmounts';\nimport {\n DashboardTransferAmountsFromJSON,\n DashboardTransferAmountsFromJSONTyped,\n DashboardTransferAmountsToJSON,\n} from './DashboardTransferAmounts';\n\n/**\n * Data as required by the UI's Dashboard Page\n * @export\n * @interface DashboardPage\n */\nexport interface DashboardPage {\n /**\n * Number of Assets\n * @type {number}\n * @memberof DashboardPage\n */\n numAssets: number;\n /**\n * Number of Policies\n * @type {number}\n * @memberof DashboardPage\n */\n numPolicies: number;\n /**\n * Number of Contract Definitions\n * @type {number}\n * @memberof DashboardPage\n */\n numContractDefinitions: number;\n /**\n * Number of consuming Contract Agreements\n * @type {number}\n * @memberof DashboardPage\n */\n numContractAgreementsConsuming: number;\n /**\n * Number of providing Contract Agreements\n * @type {number}\n * @memberof DashboardPage\n */\n numContractAgreementsProviding: number;\n /**\n *\n * @type {DashboardTransferAmounts}\n * @memberof DashboardPage\n */\n transferProcessesConsuming: DashboardTransferAmounts;\n /**\n *\n * @type {DashboardTransferAmounts}\n * @memberof DashboardPage\n */\n transferProcessesProviding: DashboardTransferAmounts;\n /**\n * Your Connector's Connector Endpoint\n * @type {string}\n * @memberof DashboardPage\n */\n connectorEndpoint: string;\n /**\n * Your Connector's Participant ID\n * @type {string}\n * @memberof DashboardPage\n */\n connectorParticipantId: string;\n /**\n * Your Connector's Title\n * @type {string}\n * @memberof DashboardPage\n */\n connectorTitle: string;\n /**\n * Your Connector's Description\n * @type {string}\n * @memberof DashboardPage\n */\n connectorDescription: string;\n /**\n * Your Organization Homepage\n * @type {string}\n * @memberof DashboardPage\n */\n connectorCuratorUrl: string;\n /**\n * Your Organization Name\n * @type {string}\n * @memberof DashboardPage\n */\n connectorCuratorName: string;\n /**\n * Your Connector's Maintainer's Organization Homepage\n * @type {string}\n * @memberof DashboardPage\n */\n connectorMaintainerUrl: string;\n /**\n * Your Connector's Maintainer's Organization Name\n * @type {string}\n * @memberof DashboardPage\n */\n connectorMaintainerName: string;\n /**\n *\n * @type {DashboardDapsConfig}\n * @memberof DashboardPage\n */\n connectorDapsConfig?: DashboardDapsConfig;\n /**\n *\n * @type {DashboardMiwConfig}\n * @memberof DashboardPage\n */\n connectorMiwConfig?: DashboardMiwConfig;\n}\n\n/**\n * Check if a given object implements the DashboardPage interface.\n */\nexport function instanceOfDashboardPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'numAssets' in value;\n isInstance = isInstance && 'numPolicies' in value;\n isInstance = isInstance && 'numContractDefinitions' in value;\n isInstance = isInstance && 'numContractAgreementsConsuming' in value;\n isInstance = isInstance && 'numContractAgreementsProviding' in value;\n isInstance = isInstance && 'transferProcessesConsuming' in value;\n isInstance = isInstance && 'transferProcessesProviding' in value;\n isInstance = isInstance && 'connectorEndpoint' in value;\n isInstance = isInstance && 'connectorParticipantId' in value;\n isInstance = isInstance && 'connectorTitle' in value;\n isInstance = isInstance && 'connectorDescription' in value;\n isInstance = isInstance && 'connectorCuratorUrl' in value;\n isInstance = isInstance && 'connectorCuratorName' in value;\n isInstance = isInstance && 'connectorMaintainerUrl' in value;\n isInstance = isInstance && 'connectorMaintainerName' in value;\n\n return isInstance;\n}\n\nexport function DashboardPageFromJSON(json: any): DashboardPage {\n return DashboardPageFromJSONTyped(json, false);\n}\n\nexport function DashboardPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n numAssets: json['numAssets'],\n numPolicies: json['numPolicies'],\n numContractDefinitions: json['numContractDefinitions'],\n numContractAgreementsConsuming: json['numContractAgreementsConsuming'],\n numContractAgreementsProviding: json['numContractAgreementsProviding'],\n transferProcessesConsuming: DashboardTransferAmountsFromJSON(\n json['transferProcessesConsuming'],\n ),\n transferProcessesProviding: DashboardTransferAmountsFromJSON(\n json['transferProcessesProviding'],\n ),\n connectorEndpoint: json['connectorEndpoint'],\n connectorParticipantId: json['connectorParticipantId'],\n connectorTitle: json['connectorTitle'],\n connectorDescription: json['connectorDescription'],\n connectorCuratorUrl: json['connectorCuratorUrl'],\n connectorCuratorName: json['connectorCuratorName'],\n connectorMaintainerUrl: json['connectorMaintainerUrl'],\n connectorMaintainerName: json['connectorMaintainerName'],\n connectorDapsConfig: !exists(json, 'connectorDapsConfig')\n ? undefined\n : DashboardDapsConfigFromJSON(json['connectorDapsConfig']),\n connectorMiwConfig: !exists(json, 'connectorMiwConfig')\n ? undefined\n : DashboardMiwConfigFromJSON(json['connectorMiwConfig']),\n };\n}\n\nexport function DashboardPageToJSON(value?: DashboardPage | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n numAssets: value.numAssets,\n numPolicies: value.numPolicies,\n numContractDefinitions: value.numContractDefinitions,\n numContractAgreementsConsuming: value.numContractAgreementsConsuming,\n numContractAgreementsProviding: value.numContractAgreementsProviding,\n transferProcessesConsuming: DashboardTransferAmountsToJSON(\n value.transferProcessesConsuming,\n ),\n transferProcessesProviding: DashboardTransferAmountsToJSON(\n value.transferProcessesProviding,\n ),\n connectorEndpoint: value.connectorEndpoint,\n connectorParticipantId: value.connectorParticipantId,\n connectorTitle: value.connectorTitle,\n connectorDescription: value.connectorDescription,\n connectorCuratorUrl: value.connectorCuratorUrl,\n connectorCuratorName: value.connectorCuratorName,\n connectorMaintainerUrl: value.connectorMaintainerUrl,\n connectorMaintainerName: value.connectorMaintainerName,\n connectorDapsConfig: DashboardDapsConfigToJSON(\n value.connectorDapsConfig,\n ),\n connectorMiwConfig: DashboardMiwConfigToJSON(value.connectorMiwConfig),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported Data Source Types by UiDataSource\n * @export\n */\nexport const DataSourceType = {\n HttpData: 'HTTP_DATA',\n OnRequest: 'ON_REQUEST',\n Custom: 'CUSTOM',\n} as const;\nexport type DataSourceType =\n (typeof DataSourceType)[keyof typeof DataSourceType];\n\nexport function DataSourceTypeFromJSON(json: any): DataSourceType {\n return DataSourceTypeFromJSONTyped(json, false);\n}\n\nexport function DataSourceTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataSourceType {\n return json as DataSourceType;\n}\n\nexport function DataSourceTypeToJSON(value?: DataSourceType | null): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * A value either inlined or to be fetched from the Vault. Raw secret values will land in the database and will be retrievable via the Eclipse EDC Management API.\n * @export\n * @interface SecretValue\n */\nexport interface SecretValue {\n /**\n * Secret Name / Vault Key Name.\n * @type {string}\n * @memberof SecretValue\n */\n secretName?: string;\n /**\n * Raw inline Value.\n * @type {string}\n * @memberof SecretValue\n */\n rawValue?: string;\n}\n\n/**\n * Check if a given object implements the SecretValue interface.\n */\nexport function instanceOfSecretValue(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function SecretValueFromJSON(json: any): SecretValue {\n return SecretValueFromJSONTyped(json, false);\n}\n\nexport function SecretValueFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): SecretValue {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n secretName: !exists(json, 'secretName')\n ? undefined\n : json['secretName'],\n rawValue: !exists(json, 'rawValue') ? undefined : json['rawValue'],\n };\n}\n\nexport function SecretValueToJSON(value?: SecretValue | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n secretName: value.secretName,\n rawValue: value.rawValue,\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported HTTP Methods by UiDataSource\n * @export\n */\nexport const UiDataSourceHttpDataMethod = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Options: 'OPTIONS',\n} as const;\nexport type UiDataSourceHttpDataMethod =\n (typeof UiDataSourceHttpDataMethod)[keyof typeof UiDataSourceHttpDataMethod];\n\nexport function UiDataSourceHttpDataMethodFromJSON(\n json: any,\n): UiDataSourceHttpDataMethod {\n return UiDataSourceHttpDataMethodFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceHttpDataMethodFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceHttpDataMethod {\n return json as UiDataSourceHttpDataMethod;\n}\n\nexport function UiDataSourceHttpDataMethodToJSON(\n value?: UiDataSourceHttpDataMethod | null,\n): any {\n return value as any;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {SecretValue} from './SecretValue';\nimport {\n SecretValueFromJSON,\n SecretValueFromJSONTyped,\n SecretValueToJSON,\n} from './SecretValue';\nimport type {UiDataSourceHttpDataMethod} from './UiDataSourceHttpDataMethod';\nimport {\n UiDataSourceHttpDataMethodFromJSON,\n UiDataSourceHttpDataMethodFromJSONTyped,\n UiDataSourceHttpDataMethodToJSON,\n} from './UiDataSourceHttpDataMethod';\n\n/**\n * HTTP_DATA type Data Source.\n * @export\n * @interface UiDataSourceHttpData\n */\nexport interface UiDataSourceHttpData {\n /**\n *\n * @type {UiDataSourceHttpDataMethod}\n * @memberof UiDataSourceHttpData\n */\n method?: UiDataSourceHttpDataMethod;\n /**\n * HTTP Request URL. If parameterized, additional pathParams will be joined onto existing one.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n baseUrl: string;\n /**\n * HTTP Request Query Params / Query String.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n queryString?: string;\n /**\n * Auth Header name. The auth header is handled specially by the EDC as its value can be read from a vault.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n authHeaderName?: string;\n /**\n *\n * @type {SecretValue}\n * @memberof UiDataSourceHttpData\n */\n authHeaderValue?: SecretValue;\n /**\n * HTTP Request Headers. HTTP Header Parameterization is not available.\n * @type {{ [key: string]: string; }}\n * @memberof UiDataSourceHttpData\n */\n headers?: {[key: string]: string};\n /**\n * Enable Method Parameterization. This forces consumers to provide a method, otherwise the transfer will fail.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableMethodParameterization?: boolean;\n /**\n * Enable Path Parameterization.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enablePathParameterization?: boolean;\n /**\n * Enable Query Parameterization. Any additionally provided queryString will be merged with the existing one.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableQueryParameterization?: boolean;\n /**\n * Enable Body Parameterization. Forces the provider to provide both a request body and a content type. Only Methods POST, PUT and PATCH allow request bodies.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableBodyParameterization?: boolean;\n}\n\n/**\n * Check if a given object implements the UiDataSourceHttpData interface.\n */\nexport function instanceOfUiDataSourceHttpData(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'baseUrl' in value;\n\n return isInstance;\n}\n\nexport function UiDataSourceHttpDataFromJSON(json: any): UiDataSourceHttpData {\n return UiDataSourceHttpDataFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceHttpDataFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceHttpData {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n method: !exists(json, 'method')\n ? undefined\n : UiDataSourceHttpDataMethodFromJSON(json['method']),\n baseUrl: json['baseUrl'],\n queryString: !exists(json, 'queryString')\n ? undefined\n : json['queryString'],\n authHeaderName: !exists(json, 'authHeaderName')\n ? undefined\n : json['authHeaderName'],\n authHeaderValue: !exists(json, 'authHeaderValue')\n ? undefined\n : SecretValueFromJSON(json['authHeaderValue']),\n headers: !exists(json, 'headers') ? undefined : json['headers'],\n enableMethodParameterization: !exists(\n json,\n 'enableMethodParameterization',\n )\n ? undefined\n : json['enableMethodParameterization'],\n enablePathParameterization: !exists(json, 'enablePathParameterization')\n ? undefined\n : json['enablePathParameterization'],\n enableQueryParameterization: !exists(\n json,\n 'enableQueryParameterization',\n )\n ? undefined\n : json['enableQueryParameterization'],\n enableBodyParameterization: !exists(json, 'enableBodyParameterization')\n ? undefined\n : json['enableBodyParameterization'],\n };\n}\n\nexport function UiDataSourceHttpDataToJSON(\n value?: UiDataSourceHttpData | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n method: UiDataSourceHttpDataMethodToJSON(value.method),\n baseUrl: value.baseUrl,\n queryString: value.queryString,\n authHeaderName: value.authHeaderName,\n authHeaderValue: SecretValueToJSON(value.authHeaderValue),\n headers: value.headers,\n enableMethodParameterization: value.enableMethodParameterization,\n enablePathParameterization: value.enablePathParameterization,\n enableQueryParameterization: value.enableQueryParameterization,\n enableBodyParameterization: value.enableBodyParameterization,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * ON_REQUEST type Data Source.\n * @export\n * @interface UiDataSourceOnRequest\n */\nexport interface UiDataSourceOnRequest {\n /**\n * Contact E-Mail address\n * @type {string}\n * @memberof UiDataSourceOnRequest\n */\n contactEmail: string;\n /**\n * Contact Preferred E-Mail Subject\n * @type {string}\n * @memberof UiDataSourceOnRequest\n */\n contactPreferredEmailSubject: string;\n}\n\n/**\n * Check if a given object implements the UiDataSourceOnRequest interface.\n */\nexport function instanceOfUiDataSourceOnRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contactEmail' in value;\n isInstance = isInstance && 'contactPreferredEmailSubject' in value;\n\n return isInstance;\n}\n\nexport function UiDataSourceOnRequestFromJSON(\n json: any,\n): UiDataSourceOnRequest {\n return UiDataSourceOnRequestFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceOnRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceOnRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contactEmail: json['contactEmail'],\n contactPreferredEmailSubject: json['contactPreferredEmailSubject'],\n };\n}\n\nexport function UiDataSourceOnRequestToJSON(\n value?: UiDataSourceOnRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contactEmail: value.contactEmail,\n contactPreferredEmailSubject: value.contactPreferredEmailSubject,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {DataSourceType} from './DataSourceType';\nimport {\n DataSourceTypeFromJSON,\n DataSourceTypeFromJSONTyped,\n DataSourceTypeToJSON,\n} from './DataSourceType';\nimport type {UiDataSourceHttpData} from './UiDataSourceHttpData';\nimport {\n UiDataSourceHttpDataFromJSON,\n UiDataSourceHttpDataFromJSONTyped,\n UiDataSourceHttpDataToJSON,\n} from './UiDataSourceHttpData';\nimport type {UiDataSourceOnRequest} from './UiDataSourceOnRequest';\nimport {\n UiDataSourceOnRequestFromJSON,\n UiDataSourceOnRequestFromJSONTyped,\n UiDataSourceOnRequestToJSON,\n} from './UiDataSourceOnRequest';\n\n/**\n * Type-safe data source as supported by the sovity product landscape. Contains extension points for using custom data address properties.\n * @export\n * @interface UiDataSource\n */\nexport interface UiDataSource {\n /**\n *\n * @type {DataSourceType}\n * @memberof UiDataSource\n */\n type: DataSourceType;\n /**\n *\n * @type {UiDataSourceHttpData}\n * @memberof UiDataSource\n */\n httpData?: UiDataSourceHttpData;\n /**\n *\n * @type {UiDataSourceOnRequest}\n * @memberof UiDataSource\n */\n onRequest?: UiDataSourceOnRequest;\n /**\n * For all types. Custom Data Address Properties.\n * @type {{ [key: string]: string; }}\n * @memberof UiDataSource\n */\n customProperties?: {[key: string]: string};\n}\n\n/**\n * Check if a given object implements the UiDataSource interface.\n */\nexport function instanceOfUiDataSource(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'type' in value;\n\n return isInstance;\n}\n\nexport function UiDataSourceFromJSON(json: any): UiDataSource {\n return UiDataSourceFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSource {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n type: DataSourceTypeFromJSON(json['type']),\n httpData: !exists(json, 'httpData')\n ? undefined\n : UiDataSourceHttpDataFromJSON(json['httpData']),\n onRequest: !exists(json, 'onRequest')\n ? undefined\n : UiDataSourceOnRequestFromJSON(json['onRequest']),\n customProperties: !exists(json, 'customProperties')\n ? undefined\n : json['customProperties'],\n };\n}\n\nexport function UiDataSourceToJSON(value?: UiDataSource | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n type: DataSourceTypeToJSON(value.type),\n httpData: UiDataSourceHttpDataToJSON(value.httpData),\n onRequest: UiDataSourceOnRequestToJSON(value.onRequest),\n customProperties: value.customProperties,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiDataSource} from './UiDataSource';\nimport {\n UiDataSourceFromJSON,\n UiDataSourceFromJSONTyped,\n UiDataSourceToJSON,\n} from './UiDataSource';\n\n/**\n * Type-safe data offer metadata for creating an asset as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAssetCreateRequest\n */\nexport interface UiAssetCreateRequest {\n /**\n *\n * @type {UiDataSource}\n * @memberof UiAssetCreateRequest\n */\n dataSource: UiDataSource;\n /**\n * Asset Id\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n id: string;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n title?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n language?: string;\n /**\n * Asset Description\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n description?: string;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n mediaType?: string;\n /**\n * Landing Page URL\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n landingPageUrl?: string;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAssetCreateRequest\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAssetCreateRequest\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAssetCreateRequest interface.\n */\nexport function instanceOfUiAssetCreateRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'dataSource' in value;\n isInstance = isInstance && 'id' in value;\n\n return isInstance;\n}\n\nexport function UiAssetCreateRequestFromJSON(json: any): UiAssetCreateRequest {\n return UiAssetCreateRequestFromJSONTyped(json, false);\n}\n\nexport function UiAssetCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAssetCreateRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n dataSource: UiDataSourceFromJSON(json['dataSource']),\n id: json['id'],\n title: !exists(json, 'title') ? undefined : json['title'],\n language: !exists(json, 'language') ? undefined : json['language'],\n description: !exists(json, 'description')\n ? undefined\n : json['description'],\n publisherHomepage: !exists(json, 'publisherHomepage')\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: !exists(json, 'licenseUrl')\n ? undefined\n : json['licenseUrl'],\n version: !exists(json, 'version') ? undefined : json['version'],\n keywords: !exists(json, 'keywords') ? undefined : json['keywords'],\n mediaType: !exists(json, 'mediaType') ? undefined : json['mediaType'],\n landingPageUrl: !exists(json, 'landingPageUrl')\n ? undefined\n : json['landingPageUrl'],\n dataCategory: !exists(json, 'dataCategory')\n ? undefined\n : json['dataCategory'],\n dataSubcategory: !exists(json, 'dataSubcategory')\n ? undefined\n : json['dataSubcategory'],\n dataModel: !exists(json, 'dataModel') ? undefined : json['dataModel'],\n geoReferenceMethod: !exists(json, 'geoReferenceMethod')\n ? undefined\n : json['geoReferenceMethod'],\n transportMode: !exists(json, 'transportMode')\n ? undefined\n : json['transportMode'],\n sovereignLegalName: !exists(json, 'sovereignLegalName')\n ? undefined\n : json['sovereignLegalName'],\n geoLocation: !exists(json, 'geoLocation')\n ? undefined\n : json['geoLocation'],\n nutsLocations: !exists(json, 'nutsLocations')\n ? undefined\n : json['nutsLocations'],\n dataSampleUrls: !exists(json, 'dataSampleUrls')\n ? undefined\n : json['dataSampleUrls'],\n referenceFileUrls: !exists(json, 'referenceFileUrls')\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription: !exists(json, 'referenceFilesDescription')\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse: !exists(json, 'conditionsForUse')\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency: !exists(json, 'dataUpdateFrequency')\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom: !exists(json, 'temporalCoverageFrom')\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive: !exists(\n json,\n 'temporalCoverageToInclusive',\n )\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n customJsonAsString: !exists(json, 'customJsonAsString')\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString: !exists(json, 'customJsonLdAsString')\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString: !exists(json, 'privateCustomJsonAsString')\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: !exists(\n json,\n 'privateCustomJsonLdAsString',\n )\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetCreateRequestToJSON(\n value?: UiAssetCreateRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n dataSource: UiDataSourceToJSON(value.dataSource),\n id: value.id,\n title: value.title,\n language: value.language,\n description: value.description,\n publisherHomepage: value.publisherHomepage,\n licenseUrl: value.licenseUrl,\n version: value.version,\n keywords: value.keywords,\n mediaType: value.mediaType,\n landingPageUrl: value.landingPageUrl,\n dataCategory: value.dataCategory,\n dataSubcategory: value.dataSubcategory,\n dataModel: value.dataModel,\n geoReferenceMethod: value.geoReferenceMethod,\n transportMode: value.transportMode,\n sovereignLegalName: value.sovereignLegalName,\n geoLocation: value.geoLocation,\n nutsLocations: value.nutsLocations,\n dataSampleUrls: value.dataSampleUrls,\n referenceFileUrls: value.referenceFileUrls,\n referenceFilesDescription: value.referenceFilesDescription,\n conditionsForUse: value.conditionsForUse,\n dataUpdateFrequency: value.dataUpdateFrequency,\n temporalCoverageFrom:\n value.temporalCoverageFrom === undefined\n ? undefined\n : value.temporalCoverageFrom.toISOString().substr(0, 10),\n temporalCoverageToInclusive:\n value.temporalCoverageToInclusive === undefined\n ? undefined\n : value.temporalCoverageToInclusive.toISOString().substr(0, 10),\n customJsonAsString: value.customJsonAsString,\n customJsonLdAsString: value.customJsonLdAsString,\n privateCustomJsonAsString: value.privateCustomJsonAsString,\n privateCustomJsonLdAsString: value.privateCustomJsonLdAsString,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiAssetCreateRequest} from './UiAssetCreateRequest';\nimport {\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestFromJSONTyped,\n UiAssetCreateRequestToJSON,\n} from './UiAssetCreateRequest';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n} from './UiPolicyExpression';\n\n/**\n * Request to create a data offer\n * @export\n * @interface DataOfferCreationRequest\n */\nexport interface DataOfferCreationRequest {\n /**\n *\n * @type {UiAssetCreateRequest}\n * @memberof DataOfferCreationRequest\n */\n uiAssetCreateRequest: UiAssetCreateRequest;\n /**\n * Which policy to apply to this asset creation.\n * @type {string}\n * @memberof DataOfferCreationRequest\n */\n policy: DataOfferCreationRequestPolicyEnum;\n /**\n *\n * @type {UiPolicyExpression}\n * @memberof DataOfferCreationRequest\n */\n uiPolicyExpression?: UiPolicyExpression;\n}\n\n/**\n * @export\n */\nexport const DataOfferCreationRequestPolicyEnum = {\n DontPublish: 'DONT_PUBLISH',\n PublishUnrestricted: 'PUBLISH_UNRESTRICTED',\n PublishRestricted: 'PUBLISH_RESTRICTED',\n} as const;\nexport type DataOfferCreationRequestPolicyEnum =\n (typeof DataOfferCreationRequestPolicyEnum)[keyof typeof DataOfferCreationRequestPolicyEnum];\n\n/**\n * Check if a given object implements the DataOfferCreationRequest interface.\n */\nexport function instanceOfDataOfferCreationRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'uiAssetCreateRequest' in value;\n isInstance = isInstance && 'policy' in value;\n\n return isInstance;\n}\n\nexport function DataOfferCreationRequestFromJSON(\n json: any,\n): DataOfferCreationRequest {\n return DataOfferCreationRequestFromJSONTyped(json, false);\n}\n\nexport function DataOfferCreationRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataOfferCreationRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n uiAssetCreateRequest: UiAssetCreateRequestFromJSON(\n json['uiAssetCreateRequest'],\n ),\n policy: json['policy'],\n uiPolicyExpression: !exists(json, 'uiPolicyExpression')\n ? undefined\n : UiPolicyExpressionFromJSON(json['uiPolicyExpression']),\n };\n}\n\nexport function DataOfferCreationRequestToJSON(\n value?: DataOfferCreationRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n uiAssetCreateRequest: UiAssetCreateRequestToJSON(\n value.uiAssetCreateRequest,\n ),\n policy: value.policy,\n uiPolicyExpression: UiPolicyExpressionToJSON(value.uiPolicyExpression),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Object indicates whether an ID for the given object type is already taken or not\n * @export\n * @interface IdAvailabilityResponse\n */\nexport interface IdAvailabilityResponse {\n /**\n * ID\n * @type {string}\n * @memberof IdAvailabilityResponse\n */\n id: string;\n /**\n *\n * @type {boolean}\n * @memberof IdAvailabilityResponse\n */\n available?: boolean;\n}\n\n/**\n * Check if a given object implements the IdAvailabilityResponse interface.\n */\nexport function instanceOfIdAvailabilityResponse(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'id' in value;\n\n return isInstance;\n}\n\nexport function IdAvailabilityResponseFromJSON(\n json: any,\n): IdAvailabilityResponse {\n return IdAvailabilityResponseFromJSONTyped(json, false);\n}\n\nexport function IdAvailabilityResponseFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): IdAvailabilityResponse {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n id: json['id'],\n available: !exists(json, 'available') ? undefined : json['available'],\n };\n}\n\nexport function IdAvailabilityResponseToJSON(\n value?: IdAvailabilityResponse | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n id: value.id,\n available: value.available,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Marks the operation as successful\n * @export\n * @interface IdResponseDto\n */\nexport interface IdResponseDto {\n /**\n * ID\n * @type {string}\n * @memberof IdResponseDto\n */\n id: string;\n /**\n * Change Date\n * @type {Date}\n * @memberof IdResponseDto\n */\n lastUpdatedDate: Date;\n}\n\n/**\n * Check if a given object implements the IdResponseDto interface.\n */\nexport function instanceOfIdResponseDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'id' in value;\n isInstance = isInstance && 'lastUpdatedDate' in value;\n\n return isInstance;\n}\n\nexport function IdResponseDtoFromJSON(json: any): IdResponseDto {\n return IdResponseDtoFromJSONTyped(json, false);\n}\n\nexport function IdResponseDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): IdResponseDto {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n id: json['id'],\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n };\n}\n\nexport function IdResponseDtoToJSON(value?: IdResponseDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n id: value.id,\n lastUpdatedDate: value.lastUpdatedDate.toISOString(),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Required data for starting a Contract Agreement's Transfer Process\n * @export\n * @interface InitiateCustomTransferRequest\n */\nexport interface InitiateCustomTransferRequest {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof InitiateCustomTransferRequest\n */\n contractAgreementId: string;\n /**\n * Partial TransferProcessRequestJsonLd JSON-LD. Fields participantId, connectorEndpoint, assetId and contractId can be omitted, they will be overridden with information from the contract.\n * @type {string}\n * @memberof InitiateCustomTransferRequest\n */\n transferProcessRequestJsonLd: string;\n}\n\n/**\n * Check if a given object implements the InitiateCustomTransferRequest interface.\n */\nexport function instanceOfInitiateCustomTransferRequest(\n value: object,\n): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractAgreementId' in value;\n isInstance = isInstance && 'transferProcessRequestJsonLd' in value;\n\n return isInstance;\n}\n\nexport function InitiateCustomTransferRequestFromJSON(\n json: any,\n): InitiateCustomTransferRequest {\n return InitiateCustomTransferRequestFromJSONTyped(json, false);\n}\n\nexport function InitiateCustomTransferRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): InitiateCustomTransferRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n transferProcessRequestJsonLd: json['transferProcessRequestJsonLd'],\n };\n}\n\nexport function InitiateCustomTransferRequestToJSON(\n value?: InitiateCustomTransferRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractAgreementId: value.contractAgreementId,\n transferProcessRequestJsonLd: value.transferProcessRequestJsonLd,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * For type PARAMS_ONLY: Required data for starting a Transfer Process\n * @export\n * @interface InitiateTransferRequest\n */\nexport interface InitiateTransferRequest {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof InitiateTransferRequest\n */\n contractAgreementId: string;\n /**\n * Data Sink / Data Address\n * @type {{ [key: string]: string; }}\n * @memberof InitiateTransferRequest\n */\n dataSinkProperties: {[key: string]: string};\n /**\n * Additional transfer process properties. These are not passed to the consumer EDC\n * @type {{ [key: string]: string; }}\n * @memberof InitiateTransferRequest\n */\n transferProcessProperties: {[key: string]: string};\n}\n\n/**\n * Check if a given object implements the InitiateTransferRequest interface.\n */\nexport function instanceOfInitiateTransferRequest(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractAgreementId' in value;\n isInstance = isInstance && 'dataSinkProperties' in value;\n isInstance = isInstance && 'transferProcessProperties' in value;\n\n return isInstance;\n}\n\nexport function InitiateTransferRequestFromJSON(\n json: any,\n): InitiateTransferRequest {\n return InitiateTransferRequestFromJSONTyped(json, false);\n}\n\nexport function InitiateTransferRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): InitiateTransferRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n dataSinkProperties: json['dataSinkProperties'],\n transferProcessProperties: json['transferProcessProperties'],\n };\n}\n\nexport function InitiateTransferRequestToJSON(\n value?: InitiateTransferRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractAgreementId: value.contractAgreementId,\n dataSinkProperties: value.dataSinkProperties,\n transferProcessProperties: value.transferProcessProperties,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\n\n/**\n * Counts of incoming and outgoing TransferProcesses and status\n * @export\n * @interface TransferProcessStatesDto\n */\nexport interface TransferProcessStatesDto {\n /**\n * States and count of incoming transferprocess counts\n * @type {{ [key: string]: number; }}\n * @memberof TransferProcessStatesDto\n */\n incomingTransferProcessCounts: {[key: string]: number};\n /**\n * States and counts of outgoing transferprocess counts\n * @type {{ [key: string]: number; }}\n * @memberof TransferProcessStatesDto\n */\n outgoingTransferProcessCounts: {[key: string]: number};\n}\n\n/**\n * Check if a given object implements the TransferProcessStatesDto interface.\n */\nexport function instanceOfTransferProcessStatesDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'incomingTransferProcessCounts' in value;\n isInstance = isInstance && 'outgoingTransferProcessCounts' in value;\n\n return isInstance;\n}\n\nexport function TransferProcessStatesDtoFromJSON(\n json: any,\n): TransferProcessStatesDto {\n return TransferProcessStatesDtoFromJSONTyped(json, false);\n}\n\nexport function TransferProcessStatesDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessStatesDto {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n incomingTransferProcessCounts: json['incomingTransferProcessCounts'],\n outgoingTransferProcessCounts: json['outgoingTransferProcessCounts'],\n };\n}\n\nexport function TransferProcessStatesDtoToJSON(\n value?: TransferProcessStatesDto | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n incomingTransferProcessCounts: value.incomingTransferProcessCounts,\n outgoingTransferProcessCounts: value.outgoingTransferProcessCounts,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {TransferProcessStatesDto} from './TransferProcessStatesDto';\nimport {\n TransferProcessStatesDtoFromJSON,\n TransferProcessStatesDtoFromJSONTyped,\n TransferProcessStatesDtoToJSON,\n} from './TransferProcessStatesDto';\n\n/**\n * EDC-status-defining KPIs\n * @export\n * @interface KpiResult\n */\nexport interface KpiResult {\n /**\n * Counts of assets\n * @type {number}\n * @memberof KpiResult\n */\n assetsCount: number;\n /**\n * Counts of policies\n * @type {number}\n * @memberof KpiResult\n */\n policiesCount: number;\n /**\n * Counts of contract definitions\n * @type {number}\n * @memberof KpiResult\n */\n contractDefinitionsCount: number;\n /**\n * Counts of contract agreements\n * @type {number}\n * @memberof KpiResult\n */\n contractAgreementsCount: number;\n /**\n *\n * @type {TransferProcessStatesDto}\n * @memberof KpiResult\n */\n transferProcessDto: TransferProcessStatesDto;\n}\n\n/**\n * Check if a given object implements the KpiResult interface.\n */\nexport function instanceOfKpiResult(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'assetsCount' in value;\n isInstance = isInstance && 'policiesCount' in value;\n isInstance = isInstance && 'contractDefinitionsCount' in value;\n isInstance = isInstance && 'contractAgreementsCount' in value;\n isInstance = isInstance && 'transferProcessDto' in value;\n\n return isInstance;\n}\n\nexport function KpiResultFromJSON(json: any): KpiResult {\n return KpiResultFromJSONTyped(json, false);\n}\n\nexport function KpiResultFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): KpiResult {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n assetsCount: json['assetsCount'],\n policiesCount: json['policiesCount'],\n contractDefinitionsCount: json['contractDefinitionsCount'],\n contractAgreementsCount: json['contractAgreementsCount'],\n transferProcessDto: TransferProcessStatesDtoFromJSON(\n json['transferProcessDto'],\n ),\n };\n}\n\nexport function KpiResultToJSON(value?: KpiResult | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n assetsCount: value.assetsCount,\n policiesCount: value.policiesCount,\n contractDefinitionsCount: value.contractDefinitionsCount,\n contractAgreementsCount: value.contractAgreementsCount,\n transferProcessDto: TransferProcessStatesDtoToJSON(\n value.transferProcessDto,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n} from './UiPolicyExpression';\n\n/**\n * Create a Policy Definition\n * @export\n * @interface PolicyDefinitionCreateDto\n */\nexport interface PolicyDefinitionCreateDto {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionCreateDto\n */\n policyDefinitionId: string;\n /**\n *\n * @type {UiPolicyExpression}\n * @memberof PolicyDefinitionCreateDto\n */\n expression: UiPolicyExpression;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionCreateDto interface.\n */\nexport function instanceOfPolicyDefinitionCreateDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'policyDefinitionId' in value;\n isInstance = isInstance && 'expression' in value;\n\n return isInstance;\n}\n\nexport function PolicyDefinitionCreateDtoFromJSON(\n json: any,\n): PolicyDefinitionCreateDto {\n return PolicyDefinitionCreateDtoFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionCreateDto {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n expression: UiPolicyExpressionFromJSON(json['expression']),\n };\n}\n\nexport function PolicyDefinitionCreateDtoToJSON(\n value?: PolicyDefinitionCreateDto | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n policyDefinitionId: value.policyDefinitionId,\n expression: UiPolicyExpressionToJSON(value.expression),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyConstraint} from './UiPolicyConstraint';\nimport {\n UiPolicyConstraintFromJSON,\n UiPolicyConstraintFromJSONTyped,\n UiPolicyConstraintToJSON,\n} from './UiPolicyConstraint';\n\n/**\n * [Deprecated] Conjunction of constraints (simplified UiPolicyExpression)\n * @export\n * @interface UiPolicyCreateRequest\n */\nexport interface UiPolicyCreateRequest {\n /**\n * Conjunction of required constraints\n * @type {Array<UiPolicyConstraint>}\n * @memberof UiPolicyCreateRequest\n * @deprecated\n */\n constraints?: Array<UiPolicyConstraint>;\n}\n\n/**\n * Check if a given object implements the UiPolicyCreateRequest interface.\n */\nexport function instanceOfUiPolicyCreateRequest(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function UiPolicyCreateRequestFromJSON(\n json: any,\n): UiPolicyCreateRequest {\n return UiPolicyCreateRequestFromJSONTyped(json, false);\n}\n\nexport function UiPolicyCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyCreateRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n constraints: !exists(json, 'constraints')\n ? undefined\n : (json['constraints'] as Array<any>).map(\n UiPolicyConstraintFromJSON,\n ),\n };\n}\n\nexport function UiPolicyCreateRequestToJSON(\n value?: UiPolicyCreateRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n constraints:\n value.constraints === undefined\n ? undefined\n : (value.constraints as Array<any>).map(\n UiPolicyConstraintToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicyCreateRequest} from './UiPolicyCreateRequest';\nimport {\n UiPolicyCreateRequestFromJSON,\n UiPolicyCreateRequestFromJSONTyped,\n UiPolicyCreateRequestToJSON,\n} from './UiPolicyCreateRequest';\n\n/**\n * [Deprecated] Create a Policy Definition. Use PolicyDefinitionCreateDto\n * @export\n * @interface PolicyDefinitionCreateRequest\n */\nexport interface PolicyDefinitionCreateRequest {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionCreateRequest\n */\n policyDefinitionId: string;\n /**\n *\n * @type {UiPolicyCreateRequest}\n * @memberof PolicyDefinitionCreateRequest\n * @deprecated\n */\n policy: UiPolicyCreateRequest;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionCreateRequest interface.\n */\nexport function instanceOfPolicyDefinitionCreateRequest(\n value: object,\n): boolean {\n let isInstance = true;\n isInstance = isInstance && 'policyDefinitionId' in value;\n isInstance = isInstance && 'policy' in value;\n\n return isInstance;\n}\n\nexport function PolicyDefinitionCreateRequestFromJSON(\n json: any,\n): PolicyDefinitionCreateRequest {\n return PolicyDefinitionCreateRequestFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionCreateRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n policy: UiPolicyCreateRequestFromJSON(json['policy']),\n };\n}\n\nexport function PolicyDefinitionCreateRequestToJSON(\n value?: PolicyDefinitionCreateRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n policyDefinitionId: value.policyDefinitionId,\n policy: UiPolicyCreateRequestToJSON(value.policy),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n} from './UiPolicy';\n\n/**\n * Policy Definition as required for the Policy Definition Page\n * @export\n * @interface PolicyDefinitionDto\n */\nexport interface PolicyDefinitionDto {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionDto\n */\n policyDefinitionId: string;\n /**\n *\n * @type {UiPolicy}\n * @memberof PolicyDefinitionDto\n */\n policy: UiPolicy;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionDto interface.\n */\nexport function instanceOfPolicyDefinitionDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'policyDefinitionId' in value;\n isInstance = isInstance && 'policy' in value;\n\n return isInstance;\n}\n\nexport function PolicyDefinitionDtoFromJSON(json: any): PolicyDefinitionDto {\n return PolicyDefinitionDtoFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionDto {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n policy: UiPolicyFromJSON(json['policy']),\n };\n}\n\nexport function PolicyDefinitionDtoToJSON(\n value?: PolicyDefinitionDto | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n policyDefinitionId: value.policyDefinitionId,\n policy: UiPolicyToJSON(value.policy),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {PolicyDefinitionDto} from './PolicyDefinitionDto';\nimport {\n PolicyDefinitionDtoFromJSON,\n PolicyDefinitionDtoFromJSONTyped,\n PolicyDefinitionDtoToJSON,\n} from './PolicyDefinitionDto';\n\n/**\n * All data for the policy definition page as required by the UI\n * @export\n * @interface PolicyDefinitionPage\n */\nexport interface PolicyDefinitionPage {\n /**\n * Policy Definition Entries\n * @type {Array<PolicyDefinitionDto>}\n * @memberof PolicyDefinitionPage\n */\n policies: Array<PolicyDefinitionDto>;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionPage interface.\n */\nexport function instanceOfPolicyDefinitionPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'policies' in value;\n\n return isInstance;\n}\n\nexport function PolicyDefinitionPageFromJSON(json: any): PolicyDefinitionPage {\n return PolicyDefinitionPageFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n policies: (json['policies'] as Array<any>).map(\n PolicyDefinitionDtoFromJSON,\n ),\n };\n}\n\nexport function PolicyDefinitionPageToJSON(\n value?: PolicyDefinitionPage | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n policies: (value.policies as Array<any>).map(PolicyDefinitionDtoToJSON),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractAgreementDirection} from './ContractAgreementDirection';\nimport {\n ContractAgreementDirectionFromJSON,\n ContractAgreementDirectionFromJSONTyped,\n ContractAgreementDirectionToJSON,\n} from './ContractAgreementDirection';\nimport type {TransferProcessState} from './TransferProcessState';\nimport {\n TransferProcessStateFromJSON,\n TransferProcessStateFromJSONTyped,\n TransferProcessStateToJSON,\n} from './TransferProcessState';\n\n/**\n * Transfer History Entry for Transfer History Page\n * @export\n * @interface TransferHistoryEntry\n */\nexport interface TransferHistoryEntry {\n /**\n * Transfer Process ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n transferProcessId: string;\n /**\n * Created Date\n * @type {Date}\n * @memberof TransferHistoryEntry\n */\n createdDate: Date;\n /**\n * Last Change Date\n * @type {Date}\n * @memberof TransferHistoryEntry\n */\n lastUpdatedDate: Date;\n /**\n *\n * @type {TransferProcessState}\n * @memberof TransferHistoryEntry\n */\n state: TransferProcessState;\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n contractAgreementId: string;\n /**\n *\n * @type {ContractAgreementDirection}\n * @memberof TransferHistoryEntry\n */\n direction: ContractAgreementDirection;\n /**\n * Other Connector's Endpoint\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n counterPartyConnectorEndpoint: string;\n /**\n * Other Connector's Participant ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n counterPartyParticipantId: string;\n /**\n * Asset Name\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n assetName: string;\n /**\n * Asset ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n assetId: string;\n /**\n * Error Message\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n errorMessage?: string;\n}\n\n/**\n * Check if a given object implements the TransferHistoryEntry interface.\n */\nexport function instanceOfTransferHistoryEntry(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'transferProcessId' in value;\n isInstance = isInstance && 'createdDate' in value;\n isInstance = isInstance && 'lastUpdatedDate' in value;\n isInstance = isInstance && 'state' in value;\n isInstance = isInstance && 'contractAgreementId' in value;\n isInstance = isInstance && 'direction' in value;\n isInstance = isInstance && 'counterPartyConnectorEndpoint' in value;\n isInstance = isInstance && 'counterPartyParticipantId' in value;\n isInstance = isInstance && 'assetName' in value;\n isInstance = isInstance && 'assetId' in value;\n\n return isInstance;\n}\n\nexport function TransferHistoryEntryFromJSON(json: any): TransferHistoryEntry {\n return TransferHistoryEntryFromJSONTyped(json, false);\n}\n\nexport function TransferHistoryEntryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferHistoryEntry {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n transferProcessId: json['transferProcessId'],\n createdDate: new Date(json['createdDate']),\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n state: TransferProcessStateFromJSON(json['state']),\n contractAgreementId: json['contractAgreementId'],\n direction: ContractAgreementDirectionFromJSON(json['direction']),\n counterPartyConnectorEndpoint: json['counterPartyConnectorEndpoint'],\n counterPartyParticipantId: json['counterPartyParticipantId'],\n assetName: json['assetName'],\n assetId: json['assetId'],\n errorMessage: !exists(json, 'errorMessage')\n ? undefined\n : json['errorMessage'],\n };\n}\n\nexport function TransferHistoryEntryToJSON(\n value?: TransferHistoryEntry | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n transferProcessId: value.transferProcessId,\n createdDate: value.createdDate.toISOString(),\n lastUpdatedDate: value.lastUpdatedDate.toISOString(),\n state: TransferProcessStateToJSON(value.state),\n contractAgreementId: value.contractAgreementId,\n direction: ContractAgreementDirectionToJSON(value.direction),\n counterPartyConnectorEndpoint: value.counterPartyConnectorEndpoint,\n counterPartyParticipantId: value.counterPartyParticipantId,\n assetName: value.assetName,\n assetId: value.assetId,\n errorMessage: value.errorMessage,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {TransferHistoryEntry} from './TransferHistoryEntry';\nimport {\n TransferHistoryEntryFromJSON,\n TransferHistoryEntryFromJSONTyped,\n TransferHistoryEntryToJSON,\n} from './TransferHistoryEntry';\n\n/**\n * Data as required by the UI's Transfer History Page\n * @export\n * @interface TransferHistoryPage\n */\nexport interface TransferHistoryPage {\n /**\n * Transfer History Page Entries\n * @type {Array<TransferHistoryEntry>}\n * @memberof TransferHistoryPage\n */\n transferEntries: Array<TransferHistoryEntry>;\n}\n\n/**\n * Check if a given object implements the TransferHistoryPage interface.\n */\nexport function instanceOfTransferHistoryPage(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'transferEntries' in value;\n\n return isInstance;\n}\n\nexport function TransferHistoryPageFromJSON(json: any): TransferHistoryPage {\n return TransferHistoryPageFromJSONTyped(json, false);\n}\n\nexport function TransferHistoryPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferHistoryPage {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n transferEntries: (json['transferEntries'] as Array<any>).map(\n TransferHistoryEntryFromJSON,\n ),\n };\n}\n\nexport function TransferHistoryPageToJSON(\n value?: TransferHistoryPage | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n transferEntries: (value.transferEntries as Array<any>).map(\n TransferHistoryEntryToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiDataSource} from './UiDataSource';\nimport {\n UiDataSourceFromJSON,\n UiDataSourceFromJSONTyped,\n UiDataSourceToJSON,\n} from './UiDataSource';\n\n/**\n * Type-safe data offer metadata for editing an asset as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAssetEditRequest\n */\nexport interface UiAssetEditRequest {\n /**\n *\n * @type {UiDataSource}\n * @memberof UiAssetEditRequest\n */\n dataSourceOverrideOrNull?: UiDataSource;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n title?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n language?: string;\n /**\n * Asset Description\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n description?: string;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n mediaType?: string;\n /**\n * Landing Page URL\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n landingPageUrl?: string;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAssetEditRequest\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAssetEditRequest\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAssetEditRequest interface.\n */\nexport function instanceOfUiAssetEditRequest(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function UiAssetEditRequestFromJSON(json: any): UiAssetEditRequest {\n return UiAssetEditRequestFromJSONTyped(json, false);\n}\n\nexport function UiAssetEditRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAssetEditRequest {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n dataSourceOverrideOrNull: !exists(json, 'dataSourceOverrideOrNull')\n ? undefined\n : UiDataSourceFromJSON(json['dataSourceOverrideOrNull']),\n title: !exists(json, 'title') ? undefined : json['title'],\n language: !exists(json, 'language') ? undefined : json['language'],\n description: !exists(json, 'description')\n ? undefined\n : json['description'],\n publisherHomepage: !exists(json, 'publisherHomepage')\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: !exists(json, 'licenseUrl')\n ? undefined\n : json['licenseUrl'],\n version: !exists(json, 'version') ? undefined : json['version'],\n keywords: !exists(json, 'keywords') ? undefined : json['keywords'],\n mediaType: !exists(json, 'mediaType') ? undefined : json['mediaType'],\n landingPageUrl: !exists(json, 'landingPageUrl')\n ? undefined\n : json['landingPageUrl'],\n dataCategory: !exists(json, 'dataCategory')\n ? undefined\n : json['dataCategory'],\n dataSubcategory: !exists(json, 'dataSubcategory')\n ? undefined\n : json['dataSubcategory'],\n dataModel: !exists(json, 'dataModel') ? undefined : json['dataModel'],\n geoReferenceMethod: !exists(json, 'geoReferenceMethod')\n ? undefined\n : json['geoReferenceMethod'],\n transportMode: !exists(json, 'transportMode')\n ? undefined\n : json['transportMode'],\n sovereignLegalName: !exists(json, 'sovereignLegalName')\n ? undefined\n : json['sovereignLegalName'],\n geoLocation: !exists(json, 'geoLocation')\n ? undefined\n : json['geoLocation'],\n nutsLocations: !exists(json, 'nutsLocations')\n ? undefined\n : json['nutsLocations'],\n dataSampleUrls: !exists(json, 'dataSampleUrls')\n ? undefined\n : json['dataSampleUrls'],\n referenceFileUrls: !exists(json, 'referenceFileUrls')\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription: !exists(json, 'referenceFilesDescription')\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse: !exists(json, 'conditionsForUse')\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency: !exists(json, 'dataUpdateFrequency')\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom: !exists(json, 'temporalCoverageFrom')\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive: !exists(\n json,\n 'temporalCoverageToInclusive',\n )\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n customJsonAsString: !exists(json, 'customJsonAsString')\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString: !exists(json, 'customJsonLdAsString')\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString: !exists(json, 'privateCustomJsonAsString')\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: !exists(\n json,\n 'privateCustomJsonLdAsString',\n )\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetEditRequestToJSON(\n value?: UiAssetEditRequest | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n dataSourceOverrideOrNull: UiDataSourceToJSON(\n value.dataSourceOverrideOrNull,\n ),\n title: value.title,\n language: value.language,\n description: value.description,\n publisherHomepage: value.publisherHomepage,\n licenseUrl: value.licenseUrl,\n version: value.version,\n keywords: value.keywords,\n mediaType: value.mediaType,\n landingPageUrl: value.landingPageUrl,\n dataCategory: value.dataCategory,\n dataSubcategory: value.dataSubcategory,\n dataModel: value.dataModel,\n geoReferenceMethod: value.geoReferenceMethod,\n transportMode: value.transportMode,\n sovereignLegalName: value.sovereignLegalName,\n geoLocation: value.geoLocation,\n nutsLocations: value.nutsLocations,\n dataSampleUrls: value.dataSampleUrls,\n referenceFileUrls: value.referenceFileUrls,\n referenceFilesDescription: value.referenceFilesDescription,\n conditionsForUse: value.conditionsForUse,\n dataUpdateFrequency: value.dataUpdateFrequency,\n temporalCoverageFrom:\n value.temporalCoverageFrom === undefined\n ? undefined\n : value.temporalCoverageFrom.toISOString().substr(0, 10),\n temporalCoverageToInclusive:\n value.temporalCoverageToInclusive === undefined\n ? undefined\n : value.temporalCoverageToInclusive.toISOString().substr(0, 10),\n customJsonAsString: value.customJsonAsString,\n customJsonLdAsString: value.customJsonLdAsString,\n privateCustomJsonAsString: value.privateCustomJsonAsString,\n privateCustomJsonLdAsString: value.privateCustomJsonLdAsString,\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {ContractNegotiationState} from './ContractNegotiationState';\nimport {\n ContractNegotiationStateFromJSON,\n ContractNegotiationStateFromJSONTyped,\n ContractNegotiationStateToJSON,\n} from './ContractNegotiationState';\n\n/**\n * Contract Negotiation Information\n * @export\n * @interface UiContractNegotiation\n */\nexport interface UiContractNegotiation {\n /**\n * Contract Negotiation Id\n * @type {string}\n * @memberof UiContractNegotiation\n */\n contractNegotiationId: string;\n /**\n * Contract Negotiation Creation Time\n * @type {Date}\n * @memberof UiContractNegotiation\n */\n createdAt: Date;\n /**\n * Contract Agreement Id\n * @type {string}\n * @memberof UiContractNegotiation\n */\n contractAgreementId?: string;\n /**\n *\n * @type {ContractNegotiationState}\n * @memberof UiContractNegotiation\n */\n state: ContractNegotiationState;\n}\n\n/**\n * Check if a given object implements the UiContractNegotiation interface.\n */\nexport function instanceOfUiContractNegotiation(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractNegotiationId' in value;\n isInstance = isInstance && 'createdAt' in value;\n isInstance = isInstance && 'state' in value;\n\n return isInstance;\n}\n\nexport function UiContractNegotiationFromJSON(\n json: any,\n): UiContractNegotiation {\n return UiContractNegotiationFromJSONTyped(json, false);\n}\n\nexport function UiContractNegotiationFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiContractNegotiation {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractNegotiationId: json['contractNegotiationId'],\n createdAt: new Date(json['createdAt']),\n contractAgreementId: !exists(json, 'contractAgreementId')\n ? undefined\n : json['contractAgreementId'],\n state: ContractNegotiationStateFromJSON(json['state']),\n };\n}\n\nexport function UiContractNegotiationToJSON(\n value?: UiContractNegotiation | null,\n): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractNegotiationId: value.contractNegotiationId,\n createdAt: value.createdAt.toISOString(),\n contractAgreementId: value.contractAgreementId,\n state: ContractNegotiationStateToJSON(value.state),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n} from './UiPolicy';\n\n/**\n * Catalog Data Offer's Contract Offer as required by the UI\n * @export\n * @interface UiContractOffer\n */\nexport interface UiContractOffer {\n /**\n * Contract Offer ID\n * @type {string}\n * @memberof UiContractOffer\n */\n contractOfferId: string;\n /**\n *\n * @type {UiPolicy}\n * @memberof UiContractOffer\n */\n policy: UiPolicy;\n}\n\n/**\n * Check if a given object implements the UiContractOffer interface.\n */\nexport function instanceOfUiContractOffer(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'contractOfferId' in value;\n isInstance = isInstance && 'policy' in value;\n\n return isInstance;\n}\n\nexport function UiContractOfferFromJSON(json: any): UiContractOffer {\n return UiContractOfferFromJSONTyped(json, false);\n}\n\nexport function UiContractOfferFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiContractOffer {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n contractOfferId: json['contractOfferId'],\n policy: UiPolicyFromJSON(json['policy']),\n };\n}\n\nexport function UiContractOfferToJSON(value?: UiContractOffer | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n contractOfferId: value.contractOfferId,\n policy: UiPolicyToJSON(value.policy),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {exists, mapValues} from '../runtime';\nimport type {UiAsset} from './UiAsset';\nimport {UiAssetFromJSON, UiAssetFromJSONTyped, UiAssetToJSON} from './UiAsset';\nimport type {UiContractOffer} from './UiContractOffer';\nimport {\n UiContractOfferFromJSON,\n UiContractOfferFromJSONTyped,\n UiContractOfferToJSON,\n} from './UiContractOffer';\n\n/**\n * Catalog Data Offer as required by the UI\n * @export\n * @interface UiDataOffer\n */\nexport interface UiDataOffer {\n /**\n * Connector Endpoint\n * @type {string}\n * @memberof UiDataOffer\n */\n endpoint: string;\n /**\n * Participant ID. Required for initiating transfers.\n * @type {string}\n * @memberof UiDataOffer\n */\n participantId: string;\n /**\n *\n * @type {UiAsset}\n * @memberof UiDataOffer\n */\n asset: UiAsset;\n /**\n * Available Contract Offers\n * @type {Array<UiContractOffer>}\n * @memberof UiDataOffer\n */\n contractOffers: Array<UiContractOffer>;\n}\n\n/**\n * Check if a given object implements the UiDataOffer interface.\n */\nexport function instanceOfUiDataOffer(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && 'endpoint' in value;\n isInstance = isInstance && 'participantId' in value;\n isInstance = isInstance && 'asset' in value;\n isInstance = isInstance && 'contractOffers' in value;\n\n return isInstance;\n}\n\nexport function UiDataOfferFromJSON(json: any): UiDataOffer {\n return UiDataOfferFromJSONTyped(json, false);\n}\n\nexport function UiDataOfferFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataOffer {\n if (json === undefined || json === null) {\n return json;\n }\n return {\n endpoint: json['endpoint'],\n participantId: json['participantId'],\n asset: UiAssetFromJSON(json['asset']),\n contractOffers: (json['contractOffers'] as Array<any>).map(\n UiContractOfferFromJSON,\n ),\n };\n}\n\nexport function UiDataOfferToJSON(value?: UiDataOffer | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n endpoint: value.endpoint,\n participantId: value.participantId,\n asset: UiAssetToJSON(value.asset),\n contractOffers: (value.contractOffers as Array<any>).map(\n UiContractOfferToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {ConnectorLimits, UiAssetCreateRequest} from '../models';\nimport {\n ConnectorLimitsFromJSON,\n ConnectorLimitsToJSON,\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestToJSON,\n} from '../models';\nimport * as runtime from '../runtime';\n\nexport interface FileUploadCreateAssetRequest {\n blobId: string;\n uiAssetCreateRequest: UiAssetCreateRequest;\n}\n\n/**\n *\n */\nexport class EnterpriseEditionApi extends runtime.BaseAPI {\n /**\n * Available and used resources of a connector.\n */\n async connectorLimitsRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ConnectorLimits>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ee/connector-limits`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ConnectorLimitsFromJSON(jsonValue),\n );\n }\n\n /**\n * Available and used resources of a connector.\n */\n async connectorLimits(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ConnectorLimits> {\n const response = await this.connectorLimitsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Creates an asset using the uploaded file as data source.\n * Create an asset from an uploaded file.\n */\n async fileUploadCreateAssetRaw(\n requestParameters: FileUploadCreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<void>> {\n if (\n requestParameters.blobId === null ||\n requestParameters.blobId === undefined\n ) {\n throw new runtime.RequiredError(\n 'blobId',\n 'Required parameter requestParameters.blobId was null or undefined when calling fileUploadCreateAsset.',\n );\n }\n\n if (\n requestParameters.uiAssetCreateRequest === null ||\n requestParameters.uiAssetCreateRequest === undefined\n ) {\n throw new runtime.RequiredError(\n 'uiAssetCreateRequest',\n 'Required parameter requestParameters.uiAssetCreateRequest was null or undefined when calling fileUploadCreateAsset.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ee/file-upload/blobs/{blobId}/asset`.replace(\n `{${'blobId'}}`,\n encodeURIComponent(String(requestParameters.blobId)),\n ),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetCreateRequestToJSON(\n requestParameters.uiAssetCreateRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Creates an asset using the uploaded file as data source.\n * Create an asset from an uploaded file.\n */\n async fileUploadCreateAsset(\n requestParameters: FileUploadCreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<void> {\n await this.fileUploadCreateAssetRaw(requestParameters, initOverrides);\n }\n\n /**\n * Requests a Blob URL with a SAS Token so that the UI can directly upload the file to the Azure Blob Storage. Returns the Blob ID / Token.\n * Requests a Blob for file upload.\n */\n async fileUploadRequestSasTokenRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ee/file-upload/blobs`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse<string>(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Requests a Blob URL with a SAS Token so that the UI can directly upload the file to the Azure Blob Storage. Returns the Blob ID / Token.\n * Requests a Blob for file upload.\n */\n async fileUploadRequestSasToken(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<string> {\n const response = await this.fileUploadRequestSasTokenRaw(initOverrides);\n return await response.value();\n }\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {\n AssetPage,\n ContractAgreementCard,\n ContractAgreementPage,\n ContractAgreementPageQuery,\n ContractDefinitionPage,\n ContractDefinitionRequest,\n ContractNegotiationRequest,\n ContractTerminationRequest,\n DashboardPage,\n DataOfferCreationRequest,\n IdAvailabilityResponse,\n IdResponseDto,\n InitiateCustomTransferRequest,\n InitiateTransferRequest,\n PolicyDefinitionCreateDto,\n PolicyDefinitionCreateRequest,\n PolicyDefinitionPage,\n TransferHistoryPage,\n UiAsset,\n UiAssetCreateRequest,\n UiAssetEditRequest,\n UiContractNegotiation,\n UiDataOffer,\n} from '../models';\nimport {\n AssetPageFromJSON,\n AssetPageToJSON,\n ContractAgreementCardFromJSON,\n ContractAgreementCardToJSON,\n ContractAgreementPageFromJSON,\n ContractAgreementPageQueryFromJSON,\n ContractAgreementPageQueryToJSON,\n ContractAgreementPageToJSON,\n ContractDefinitionPageFromJSON,\n ContractDefinitionPageToJSON,\n ContractDefinitionRequestFromJSON,\n ContractDefinitionRequestToJSON,\n ContractNegotiationRequestFromJSON,\n ContractNegotiationRequestToJSON,\n ContractTerminationRequestFromJSON,\n ContractTerminationRequestToJSON,\n DashboardPageFromJSON,\n DashboardPageToJSON,\n DataOfferCreationRequestFromJSON,\n DataOfferCreationRequestToJSON,\n IdAvailabilityResponseFromJSON,\n IdAvailabilityResponseToJSON,\n IdResponseDtoFromJSON,\n IdResponseDtoToJSON,\n InitiateCustomTransferRequestFromJSON,\n InitiateCustomTransferRequestToJSON,\n InitiateTransferRequestFromJSON,\n InitiateTransferRequestToJSON,\n PolicyDefinitionCreateDtoFromJSON,\n PolicyDefinitionCreateDtoToJSON,\n PolicyDefinitionCreateRequestFromJSON,\n PolicyDefinitionCreateRequestToJSON,\n PolicyDefinitionPageFromJSON,\n PolicyDefinitionPageToJSON,\n TransferHistoryPageFromJSON,\n TransferHistoryPageToJSON,\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestToJSON,\n UiAssetEditRequestFromJSON,\n UiAssetEditRequestToJSON,\n UiAssetFromJSON,\n UiAssetToJSON,\n UiContractNegotiationFromJSON,\n UiContractNegotiationToJSON,\n UiDataOfferFromJSON,\n UiDataOfferToJSON,\n} from '../models';\nimport * as runtime from '../runtime';\n\nexport interface CreateAssetRequest {\n uiAssetCreateRequest?: UiAssetCreateRequest;\n}\n\nexport interface CreateContractDefinitionRequest {\n contractDefinitionRequest?: ContractDefinitionRequest;\n}\n\nexport interface CreateDataOfferRequest {\n dataOfferCreationRequest?: DataOfferCreationRequest;\n}\n\nexport interface CreatePolicyDefinitionRequest {\n policyDefinitionCreateRequest?: PolicyDefinitionCreateRequest;\n}\n\nexport interface CreatePolicyDefinitionV2Request {\n policyDefinitionCreateDto?: PolicyDefinitionCreateDto;\n}\n\nexport interface DeleteAssetRequest {\n assetId: string;\n}\n\nexport interface DeleteContractDefinitionRequest {\n contractDefinitionId: string;\n}\n\nexport interface DeletePolicyDefinitionRequest {\n policyId: string;\n}\n\nexport interface EditAssetRequest {\n assetId: string;\n uiAssetEditRequest?: UiAssetEditRequest;\n}\n\nexport interface GetCatalogPageDataOffersRequest {\n connectorEndpoint?: string;\n}\n\nexport interface GetContractAgreementCardRequest {\n contractAgreementId: string;\n}\n\nexport interface GetContractAgreementPageRequest {\n contractAgreementPageQuery?: ContractAgreementPageQuery;\n}\n\nexport interface GetContractNegotiationRequest {\n contractNegotiationId: string;\n}\n\nexport interface GetTransferProcessAssetRequest {\n transferProcessId: string;\n}\n\nexport interface InitiateContractNegotiationRequest {\n contractNegotiationRequest?: ContractNegotiationRequest;\n}\n\nexport interface InitiateCustomTransferOperationRequest {\n initiateCustomTransferRequest?: InitiateCustomTransferRequest;\n}\n\nexport interface InitiateTransferOperationRequest {\n initiateTransferRequest?: InitiateTransferRequest;\n}\n\nexport interface IsAssetIdAvailableRequest {\n assetId: string;\n}\n\nexport interface IsContractDefinitionIdAvailableRequest {\n contractDefinitionId: string;\n}\n\nexport interface IsPolicyIdAvailableRequest {\n policyId: string;\n}\n\nexport interface TerminateContractAgreementRequest {\n contractAgreementId: string;\n contractTerminationRequest?: ContractTerminationRequest;\n}\n\n/**\n *\n */\nexport class UIApi extends runtime.BaseAPI {\n /**\n * Create a new Asset\n */\n async createAssetRaw(\n requestParameters: CreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetCreateRequestToJSON(\n requestParameters.uiAssetCreateRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Asset\n */\n async createAsset(\n requestParameters: CreateAssetRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new Contract Definition\n */\n async createContractDefinitionRaw(\n requestParameters: CreateContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page/contract-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractDefinitionRequestToJSON(\n requestParameters.contractDefinitionRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Contract Definition\n */\n async createContractDefinition(\n requestParameters: CreateContractDefinitionRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createContractDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new asset, contract definition and optional policies. Uses the same id for the asset, the contract policy, the access policy and the contract definition\n */\n async createDataOfferRaw(\n requestParameters: CreateDataOfferRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/create-data-offer`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataOfferCreationRequestToJSON(\n requestParameters.dataOfferCreationRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new asset, contract definition and optional policies. Uses the same id for the asset, the contract policy, the access policy and the contract definition\n */\n async createDataOffer(\n requestParameters: CreateDataOfferRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createDataOfferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * [Deprecated] Create a new Policy Definition from a list of constraints. Use createPolicyDefinitionV2 instead.\n */\n async createPolicyDefinitionRaw(\n requestParameters: CreatePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page/policy-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PolicyDefinitionCreateRequestToJSON(\n requestParameters.policyDefinitionCreateRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * [Deprecated] Create a new Policy Definition from a list of constraints. Use createPolicyDefinitionV2 instead.\n */\n async createPolicyDefinition(\n requestParameters: CreatePolicyDefinitionRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createPolicyDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new Policy Definition\n */\n async createPolicyDefinitionV2Raw(\n requestParameters: CreatePolicyDefinitionV2Request,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/v2/pages/policy-page/policy-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PolicyDefinitionCreateDtoToJSON(\n requestParameters.policyDefinitionCreateDto,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Policy Definition\n */\n async createPolicyDefinitionV2(\n requestParameters: CreatePolicyDefinitionV2Request = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createPolicyDefinitionV2Raw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete an Asset\n */\n async deleteAssetRaw(\n requestParameters: DeleteAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (\n requestParameters.assetId === null ||\n requestParameters.assetId === undefined\n ) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter requestParameters.assetId was null or undefined when calling deleteAsset.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters.assetId)),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete an Asset\n */\n async deleteAsset(\n requestParameters: DeleteAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deleteAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete a Contract Definition\n */\n async deleteContractDefinitionRaw(\n requestParameters: DeleteContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (\n requestParameters.contractDefinitionId === null ||\n requestParameters.contractDefinitionId === undefined\n ) {\n throw new runtime.RequiredError(\n 'contractDefinitionId',\n 'Required parameter requestParameters.contractDefinitionId was null or undefined when calling deleteContractDefinition.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page/contract-definitions/{contractDefinitionId}`.replace(\n `{${'contractDefinitionId'}}`,\n encodeURIComponent(\n String(requestParameters.contractDefinitionId),\n ),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete a Contract Definition\n */\n async deleteContractDefinition(\n requestParameters: DeleteContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deleteContractDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete a Policy Definition\n */\n async deletePolicyDefinitionRaw(\n requestParameters: DeletePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (\n requestParameters.policyId === null ||\n requestParameters.policyId === undefined\n ) {\n throw new runtime.RequiredError(\n 'policyId',\n 'Required parameter requestParameters.policyId was null or undefined when calling deletePolicyDefinition.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page/policy-definitions/{policyId}`.replace(\n `{${'policyId'}}`,\n encodeURIComponent(String(requestParameters.policyId)),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete a Policy Definition\n */\n async deletePolicyDefinition(\n requestParameters: DeletePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deletePolicyDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Updates an Asset\\'s metadata and optionally also the data source.\n */\n async editAssetRaw(\n requestParameters: EditAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (\n requestParameters.assetId === null ||\n requestParameters.assetId === undefined\n ) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter requestParameters.assetId was null or undefined when calling editAsset.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters.assetId)),\n ),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetEditRequestToJSON(\n requestParameters.uiAssetEditRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Updates an Asset\\'s metadata and optionally also the data source.\n */\n async editAsset(\n requestParameters: EditAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.editAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for Asset Page\n */\n async getAssetPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<AssetPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n AssetPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Asset Page\n */\n async getAssetPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<AssetPage> {\n const response = await this.getAssetPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async getCatalogPageDataOffersRaw(\n requestParameters: GetCatalogPageDataOffersRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<UiDataOffer>>> {\n const queryParameters: any = {};\n\n if (requestParameters.connectorEndpoint !== undefined) {\n queryParameters['connectorEndpoint'] =\n requestParameters.connectorEndpoint;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/data-offers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n jsonValue.map(UiDataOfferFromJSON),\n );\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async getCatalogPageDataOffers(\n requestParameters: GetCatalogPageDataOffersRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<UiDataOffer>> {\n const response = await this.getCatalogPageDataOffersRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Get a single contract agreement card by its identifier\n */\n async getContractAgreementCardRaw(\n requestParameters: GetContractAgreementCardRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractAgreementCard>> {\n if (\n requestParameters.contractAgreementId === null ||\n requestParameters.contractAgreementId === undefined\n ) {\n throw new runtime.RequiredError(\n 'contractAgreementId',\n 'Required parameter requestParameters.contractAgreementId was null or undefined when calling getContractAgreementCard.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/{contractAgreementId}`.replace(\n `{${'contractAgreementId'}}`,\n encodeURIComponent(\n String(requestParameters.contractAgreementId),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractAgreementCardFromJSON(jsonValue),\n );\n }\n\n /**\n * Get a single contract agreement card by its identifier\n */\n async getContractAgreementCard(\n requestParameters: GetContractAgreementCardRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractAgreementCard> {\n const response = await this.getContractAgreementCardRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect filtered data for the Contract Agreement Page\n */\n async getContractAgreementPageRaw(\n requestParameters: GetContractAgreementPageRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractAgreementPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractAgreementPageQueryToJSON(\n requestParameters.contractAgreementPageQuery,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractAgreementPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect filtered data for the Contract Agreement Page\n */\n async getContractAgreementPage(\n requestParameters: GetContractAgreementPageRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractAgreementPage> {\n const response = await this.getContractAgreementPageRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for Contract Definition Page\n */\n async getContractDefinitionPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractDefinitionPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractDefinitionPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Contract Definition Page\n */\n async getContractDefinitionPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractDefinitionPage> {\n const response = await this.getContractDefinitionPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Get Contract Negotiation Information\n */\n async getContractNegotiationRaw(\n requestParameters: GetContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiContractNegotiation>> {\n if (\n requestParameters.contractNegotiationId === null ||\n requestParameters.contractNegotiationId === undefined\n ) {\n throw new runtime.RequiredError(\n 'contractNegotiationId',\n 'Required parameter requestParameters.contractNegotiationId was null or undefined when calling getContractNegotiation.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/contract-negotiations/{contractNegotiationId}`.replace(\n `{${'contractNegotiationId'}}`,\n encodeURIComponent(\n String(requestParameters.contractNegotiationId),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiContractNegotiationFromJSON(jsonValue),\n );\n }\n\n /**\n * Get Contract Negotiation Information\n */\n async getContractNegotiation(\n requestParameters: GetContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiContractNegotiation> {\n const response = await this.getContractNegotiationRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for the Dashboard Page\n */\n async getDashboardPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<DashboardPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/dashboard-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n DashboardPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for the Dashboard Page\n */\n async getDashboardPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<DashboardPage> {\n const response = await this.getDashboardPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Collect all data for Policy Definition Page\n */\n async getPolicyDefinitionPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<PolicyDefinitionPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n PolicyDefinitionPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Policy Definition Page\n */\n async getPolicyDefinitionPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<PolicyDefinitionPage> {\n const response = await this.getPolicyDefinitionPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Collect all data for the Transfer History Page\n */\n async getTransferHistoryPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<TransferHistoryPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/transfer-history-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n TransferHistoryPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for the Transfer History Page\n */\n async getTransferHistoryPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<TransferHistoryPage> {\n const response = await this.getTransferHistoryPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Queries a transfer process\\' asset\n */\n async getTransferProcessAssetRaw(\n requestParameters: GetTransferProcessAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiAsset>> {\n if (\n requestParameters.transferProcessId === null ||\n requestParameters.transferProcessId === undefined\n ) {\n throw new runtime.RequiredError(\n 'transferProcessId',\n 'Required parameter requestParameters.transferProcessId was null or undefined when calling getTransferProcessAsset.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/transfer-history-page/transfer-processes/{transferProcessId}/asset`.replace(\n `{${'transferProcessId'}}`,\n encodeURIComponent(\n String(requestParameters.transferProcessId),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiAssetFromJSON(jsonValue),\n );\n }\n\n /**\n * Queries a transfer process\\' asset\n */\n async getTransferProcessAsset(\n requestParameters: GetTransferProcessAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiAsset> {\n const response = await this.getTransferProcessAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a new Contract Negotiation\n */\n async initiateContractNegotiationRaw(\n requestParameters: InitiateContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiContractNegotiation>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/contract-negotiations`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractNegotiationRequestToJSON(\n requestParameters.contractNegotiationRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiContractNegotiationFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a new Contract Negotiation\n */\n async initiateContractNegotiation(\n requestParameters: InitiateContractNegotiationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiContractNegotiation> {\n const response = await this.initiateContractNegotiationRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a Transfer Process via a custom Transfer Process JSON-LD. Fields such as connectorId, assetId, providerConnectorId, providerConnectorAddress will be set automatically.\n */\n async initiateCustomTransferRaw(\n requestParameters: InitiateCustomTransferOperationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/transfers/custom`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: InitiateCustomTransferRequestToJSON(\n requestParameters.initiateCustomTransferRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a Transfer Process via a custom Transfer Process JSON-LD. Fields such as connectorId, assetId, providerConnectorId, providerConnectorAddress will be set automatically.\n */\n async initiateCustomTransfer(\n requestParameters: InitiateCustomTransferOperationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.initiateCustomTransferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a Transfer Process\n */\n async initiateTransferRaw(\n requestParameters: InitiateTransferOperationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/transfers`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: InitiateTransferRequestToJSON(\n requestParameters.initiateTransferRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a Transfer Process\n */\n async initiateTransfer(\n requestParameters: InitiateTransferOperationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.initiateTransferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided assetId is already taken\n */\n async isAssetIdAvailableRaw(\n requestParameters: IsAssetIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (\n requestParameters.assetId === null ||\n requestParameters.assetId === undefined\n ) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter requestParameters.assetId was null or undefined when calling isAssetIdAvailable.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-asset-id/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters.assetId)),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided assetId is already taken\n */\n async isAssetIdAvailable(\n requestParameters: IsAssetIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isAssetIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided contractDefinitionId is already taken\n */\n async isContractDefinitionIdAvailableRaw(\n requestParameters: IsContractDefinitionIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (\n requestParameters.contractDefinitionId === null ||\n requestParameters.contractDefinitionId === undefined\n ) {\n throw new runtime.RequiredError(\n 'contractDefinitionId',\n 'Required parameter requestParameters.contractDefinitionId was null or undefined when calling isContractDefinitionIdAvailable.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-contract-definition-id/{contractDefinitionId}`.replace(\n `{${'contractDefinitionId'}}`,\n encodeURIComponent(\n String(requestParameters.contractDefinitionId),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided contractDefinitionId is already taken\n */\n async isContractDefinitionIdAvailable(\n requestParameters: IsContractDefinitionIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isContractDefinitionIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided policyId is already taken\n */\n async isPolicyIdAvailableRaw(\n requestParameters: IsPolicyIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (\n requestParameters.policyId === null ||\n requestParameters.policyId === undefined\n ) {\n throw new runtime.RequiredError(\n 'policyId',\n 'Required parameter requestParameters.policyId was null or undefined when calling isPolicyIdAvailable.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-policy-id/{policyId}`.replace(\n `{${'policyId'}}`,\n encodeURIComponent(String(requestParameters.policyId)),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided policyId is already taken\n */\n async isPolicyIdAvailable(\n requestParameters: IsPolicyIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isPolicyIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Terminates a contract agreement designated by its contract agreement id.\n */\n async terminateContractAgreementRaw(\n requestParameters: TerminateContractAgreementRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (\n requestParameters.contractAgreementId === null ||\n requestParameters.contractAgreementId === undefined\n ) {\n throw new runtime.RequiredError(\n 'contractAgreementId',\n 'Required parameter requestParameters.contractAgreementId was null or undefined when calling terminateContractAgreement.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/content-agreement-page/{contractAgreementId}/terminate`.replace(\n `{${'contractAgreementId'}}`,\n encodeURIComponent(\n String(requestParameters.contractAgreementId),\n ),\n ),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractTerminationRequestToJSON(\n requestParameters.contractTerminationRequest,\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Terminates a contract agreement designated by its contract agreement id.\n */\n async terminateContractAgreement(\n requestParameters: TerminateContractAgreementRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.terminateContractAgreementRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {CatalogQuery, KpiResult, UiDataOffer} from '../models';\nimport {\n CatalogQueryFromJSON,\n CatalogQueryToJSON,\n KpiResultFromJSON,\n KpiResultToJSON,\n UiDataOfferFromJSON,\n UiDataOfferToJSON,\n} from '../models';\nimport * as runtime from '../runtime';\n\nexport interface QueryCatalogRequest {\n catalogQuery: CatalogQuery;\n}\n\n/**\n *\n */\nexport class UseCaseApi extends runtime.BaseAPI {\n /**\n * Basic KPIs about the running EDC Connector.\n */\n async getKpisRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<KpiResult>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/kpis`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n KpiResultFromJSON(jsonValue),\n );\n }\n\n /**\n * Basic KPIs about the running EDC Connector.\n */\n async getKpis(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<KpiResult> {\n const response = await this.getKpisRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * List available functions in policies, prohibitions and obligations.\n */\n async getSupportedFunctionsRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<string>>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/supported-policy-functions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * List available functions in policies, prohibitions and obligations.\n */\n async getSupportedFunctions(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<string>> {\n const response = await this.getSupportedFunctionsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async queryCatalogRaw(\n requestParameters: QueryCatalogRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<UiDataOffer>>> {\n if (\n requestParameters.catalogQuery === null ||\n requestParameters.catalogQuery === undefined\n ) {\n throw new runtime.RequiredError(\n 'catalogQuery',\n 'Required parameter requestParameters.catalogQuery was null or undefined when calling queryCatalog.',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/catalog`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: CatalogQueryToJSON(requestParameters.catalogQuery),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n jsonValue.map(UiDataOfferFromJSON),\n );\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async queryCatalog(\n requestParameters: QueryCatalogRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<UiDataOffer>> {\n const response = await this.queryCatalogRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n}\n","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this, this._def);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_+-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\n// Adapted from https://stackoverflow.com/a/3143231\nconst datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\n};\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return Object.keys(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.issues.length) {\n return {\n status: \"dirty\",\n value: ctx.data,\n };\n }\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect<any>\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n if (isValid(result)) {\n result.value = Object.freeze(result.value);\n }\n return result;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nconst custom = (check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","/**\n * Checks if the given HTTP status code is either 401 (Unauthorized) or 403 (Forbidden).\n * @param httpStatus\n */\nexport function needsAuthentication(httpStatus: number) {\n return httpStatus === 401 || httpStatus === 403;\n}\n\nexport function createUrlEncodedParamsString(obj: Record<string, string>) {\n return Object.entries(obj)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n .join('&');\n}\n","import {z} from 'zod';\nimport {ClientCredentials} from '../model/ClientCredentials';\nimport {createUrlEncodedParamsString} from './HttpUtils';\n\nconst ClientCredentialsResponseSchema = z.object({\n access_token: z.string().min(1),\n token_type: z.string(),\n expires_in: z.number(),\n scope: z.string(),\n});\nexport type ClientCredentialsResponse = z.infer<\n typeof ClientCredentialsResponseSchema\n>;\n\nexport async function fetchClientCredentials(\n clientCredentials: ClientCredentials,\n): Promise<ClientCredentialsResponse> {\n let response = await fetch(clientCredentials.tokenUrl, {\n method: 'POST',\n body: createUrlEncodedParamsString({\n grant_type: 'client_credentials',\n client_id: clientCredentials.clientId,\n client_secret: clientCredentials.clientSecret,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n });\n let json: unknown = await response.json();\n return parseTokenResponse(json);\n}\n\nfunction parseTokenResponse(json: unknown): ClientCredentialsResponse {\n const tokenResponseParsed = ClientCredentialsResponseSchema.safeParse(json);\n if (!tokenResponseParsed.success) {\n throw new Error('Bad access token response');\n }\n return tokenResponseParsed.data;\n}\n","import {ClientCredentials} from './model/ClientCredentials';\nimport {\n ClientCredentialsResponse,\n fetchClientCredentials,\n} from './utils/FetchUtils';\n\nexport class AccessTokenService {\n private activeRequest: Promise<ClientCredentialsResponse> | null = null;\n private refreshTimeout?: NodeJS.Timeout;\n private accessToken: string | null = null;\n\n constructor(private clientCredentials: ClientCredentials) {}\n\n async getAccessToken(): Promise<string> {\n if (!this.accessToken) {\n return await this.refreshAccessToken();\n }\n return this.accessToken;\n }\n\n /**\n * Synchronized refreshing of the access token\n */\n async refreshAccessToken(): Promise<string> {\n if (this.activeRequest) {\n await this.activeRequest;\n return this.accessToken!;\n }\n\n this.accessToken = null;\n this.activeRequest = fetchClientCredentials(this.clientCredentials);\n const response = await this.activeRequest;\n this.scheduleNextRefresh(response);\n this.accessToken = response.access_token;\n this.activeRequest = null;\n\n return this.accessToken;\n }\n\n private scheduleNextRefresh(response: ClientCredentialsResponse) {\n clearTimeout(this.refreshTimeout);\n const ms = (response.expires_in - 2) * 1000;\n this.refreshTimeout = setTimeout(() => {\n this.accessToken = null;\n }, ms);\n }\n}\n","export function injectAccessTokenHeader(init: RequestInit, token: string) {\n init.headers = withHeader('Authorization', `Bearer ${token}`, init.headers);\n}\n\nfunction withHeader(\n headerName: string,\n headerValue: string,\n headers?: HeadersInit,\n): HeadersInit {\n if (!headers) {\n headers = {};\n headers[headerName] = headerValue;\n return headers;\n }\n\n if (Array.isArray(headers)) {\n return headers.map(([a, b]) =>\n a !== headerName ? [a, b] : [headerName, headerValue],\n );\n }\n\n if (isHeaders(headers)) {\n if (headers.has(headerName)) {\n headers.set(headerName, headerValue);\n } else {\n headers.append(headerName, headerValue);\n }\n return headers;\n }\n\n headers[headerName] = headerValue;\n return headers;\n}\n\nfunction isHeaders(object: any): object is Headers {\n return (\n 'append' in object &&\n 'delete' in object &&\n 'get' in object &&\n 'has' in object &&\n 'set' in object &&\n 'forEach' in object\n );\n}\n","import {Middleware, RequestContext, ResponseContext} from '../generated';\nimport {AccessTokenService} from './AccessTokenService';\nimport {ClientCredentials} from './model/ClientCredentials';\nimport {needsAuthentication} from './utils/HttpUtils';\nimport {injectAccessTokenHeader} from './utils/RequestUtils';\n\nexport function buildOAuthMiddleware(\n clientCredentials: ClientCredentials,\n): Middleware {\n const accessTokenService = new AccessTokenService(clientCredentials);\n\n return {\n pre: async (ctx: RequestContext) => {\n const accessToken = await accessTokenService.getAccessToken();\n injectAccessTokenHeader(ctx.init, accessToken);\n\n return Promise.resolve({\n url: ctx.url,\n init: ctx.init,\n });\n },\n post: async (ctx: ResponseContext): Promise<Response> => {\n if (needsAuthentication(ctx.response.status)) {\n const accessToken =\n await accessTokenService.refreshAccessToken();\n injectAccessTokenHeader(ctx.init, accessToken);\n // Use normal fetch to not trigger middleware on retry\n return await fetch(ctx.url, ctx.init);\n }\n\n return Promise.resolve(ctx.response);\n },\n };\n}\n","import {\n Configuration,\n ConfigurationParameters,\n EnterpriseEditionApi,\n Middleware,\n UIApi,\n UseCaseApi,\n} from './generated';\nimport {buildOAuthMiddleware} from './oauth2/Middleware';\nimport {ClientCredentials} from './oauth2/model/ClientCredentials';\n\n/**\n * API Client for our sovity EDC\n */\nexport interface EdcClient {\n uiApi: UIApi;\n useCaseApi: UseCaseApi;\n enterpriseEditionApi: EnterpriseEditionApi;\n}\n\n/**\n * Configure & Build new EDC Client\n * @param opts opts\n */\nexport function buildEdcClient(opts: EdcClientOptions): EdcClient {\n let middleware: Middleware[] = [];\n let headers: Record<string, string> = {};\n\n if (opts.clientCredentials) {\n middleware.push(buildOAuthMiddleware(opts.clientCredentials));\n }\n if (opts.managementApiKey) {\n headers = buildApiKeyHeader(opts.managementApiKey);\n }\n\n const config = new Configuration({\n basePath: opts.managementApiUrl,\n headers,\n credentials: 'same-origin',\n middleware,\n ...opts.configOverrides,\n });\n\n return {\n uiApi: new UIApi(config),\n useCaseApi: new UseCaseApi(config),\n enterpriseEditionApi: new EnterpriseEditionApi(config),\n };\n}\n\nfunction buildApiKeyHeader(key: string) {\n return {\n 'X-Api-Key': key,\n };\n}\n\n/**\n * Options for instantiating an EDC API Client\n */\nexport interface EdcClientOptions {\n managementApiUrl: string;\n managementApiKey?: string;\n clientCredentials?: ClientCredentials;\n configOverrides?: Partial<ConfigurationParameters>;\n}\n"],"names":["BASE_PATH","Configuration","configuration","querystring","apiKey","accessToken","DefaultConfig","_BaseAPI","__publicField","url","init","fetchParams","middleware","response","e","FetchError","middlewares","next","preMiddlewares","pre","postMiddlewares","post","mime","context","initOverrides","ResponseError","headers","key","initOverrideFn","initParams","overriddenInit","isFormData","isBlob","constructor","BaseAPI","value","msg","cause","RequiredError","field","COLLECTION_FORMATS","exists","json","params","prefix","querystringSingleKey","part","keyPrefix","fullKey","multiValue","singleValue","valueAsArray","mapValues","data","fn","acc","canConsumeForm","consumes","consume","JSONApiResponse","raw","transformer","jsonValue","VoidApiResponse","BlobApiResponse","TextApiResponse","DataSourceAvailability","DataSourceAvailabilityFromJSON","DataSourceAvailabilityFromJSONTyped","ignoreDiscriminator","DataSourceAvailabilityToJSON","instanceOfUiAsset","isInstance","UiAssetFromJSON","UiAssetFromJSONTyped","UiAssetToJSON","instanceOfAssetPage","AssetPageFromJSON","AssetPageFromJSONTyped","AssetPageToJSON","CatalogFilterExpressionLiteralType","CatalogFilterExpressionLiteralTypeFromJSON","CatalogFilterExpressionLiteralTypeFromJSONTyped","CatalogFilterExpressionLiteralTypeToJSON","instanceOfCatalogFilterExpressionLiteral","CatalogFilterExpressionLiteralFromJSON","CatalogFilterExpressionLiteralFromJSONTyped","CatalogFilterExpressionLiteralToJSON","CatalogFilterExpressionOperator","CatalogFilterExpressionOperatorFromJSON","CatalogFilterExpressionOperatorFromJSONTyped","CatalogFilterExpressionOperatorToJSON","instanceOfCatalogFilterExpression","CatalogFilterExpressionFromJSON","CatalogFilterExpressionFromJSONTyped","CatalogFilterExpressionToJSON","instanceOfCatalogQuery","CatalogQueryFromJSON","CatalogQueryFromJSONTyped","CatalogQueryToJSON","instanceOfConnectorLimits","ConnectorLimitsFromJSON","ConnectorLimitsFromJSONTyped","ConnectorLimitsToJSON","ContractAgreementDirection","ContractAgreementDirectionFromJSON","ContractAgreementDirectionFromJSONTyped","ContractAgreementDirectionToJSON","ContractTerminatedBy","ContractTerminatedByFromJSON","ContractTerminatedByFromJSONTyped","ContractTerminatedByToJSON","instanceOfContractAgreementTerminationInfo","ContractAgreementTerminationInfoFromJSON","ContractAgreementTerminationInfoFromJSONTyped","ContractAgreementTerminationInfoToJSON","TransferProcessSimplifiedState","TransferProcessSimplifiedStateFromJSON","TransferProcessSimplifiedStateFromJSONTyped","TransferProcessSimplifiedStateToJSON","instanceOfTransferProcessState","TransferProcessStateFromJSON","TransferProcessStateFromJSONTyped","TransferProcessStateToJSON","instanceOfContractAgreementTransferProcess","ContractAgreementTransferProcessFromJSON","ContractAgreementTransferProcessFromJSONTyped","ContractAgreementTransferProcessToJSON","ContractTerminationStatus","ContractTerminationStatusFromJSON","ContractTerminationStatusFromJSONTyped","ContractTerminationStatusToJSON","OperatorDto","OperatorDtoFromJSON","OperatorDtoFromJSONTyped","OperatorDtoToJSON","UiPolicyLiteralType","UiPolicyLiteralTypeFromJSON","UiPolicyLiteralTypeFromJSONTyped","UiPolicyLiteralTypeToJSON","instanceOfUiPolicyLiteral","UiPolicyLiteralFromJSON","UiPolicyLiteralFromJSONTyped","UiPolicyLiteralToJSON","instanceOfUiPolicyConstraint","UiPolicyConstraintFromJSON","UiPolicyConstraintFromJSONTyped","UiPolicyConstraintToJSON","UiPolicyExpressionType","UiPolicyExpressionTypeFromJSON","UiPolicyExpressionTypeFromJSONTyped","UiPolicyExpressionTypeToJSON","instanceOfUiPolicyExpression","UiPolicyExpressionFromJSON","UiPolicyExpressionFromJSONTyped","UiPolicyExpressionToJSON","instanceOfUiPolicy","UiPolicyFromJSON","UiPolicyFromJSONTyped","UiPolicyToJSON","instanceOfContractAgreementCard","ContractAgreementCardFromJSON","ContractAgreementCardFromJSONTyped","ContractAgreementCardToJSON","instanceOfContractAgreementPage","ContractAgreementPageFromJSON","ContractAgreementPageFromJSONTyped","ContractAgreementPageToJSON","instanceOfContractAgreementPageQuery","ContractAgreementPageQueryFromJSON","ContractAgreementPageQueryFromJSONTyped","ContractAgreementPageQueryToJSON","UiCriterionLiteralType","UiCriterionLiteralTypeFromJSON","UiCriterionLiteralTypeFromJSONTyped","UiCriterionLiteralTypeToJSON","instanceOfUiCriterionLiteral","UiCriterionLiteralFromJSON","UiCriterionLiteralFromJSONTyped","UiCriterionLiteralToJSON","UiCriterionOperator","UiCriterionOperatorFromJSON","UiCriterionOperatorFromJSONTyped","UiCriterionOperatorToJSON","instanceOfUiCriterion","UiCriterionFromJSON","UiCriterionFromJSONTyped","UiCriterionToJSON","instanceOfContractDefinitionEntry","ContractDefinitionEntryFromJSON","ContractDefinitionEntryFromJSONTyped","ContractDefinitionEntryToJSON","instanceOfContractDefinitionPage","ContractDefinitionPageFromJSON","ContractDefinitionPageFromJSONTyped","ContractDefinitionPageToJSON","instanceOfContractDefinitionRequest","ContractDefinitionRequestFromJSON","ContractDefinitionRequestFromJSONTyped","ContractDefinitionRequestToJSON","instanceOfContractNegotiationRequest","ContractNegotiationRequestFromJSON","ContractNegotiationRequestFromJSONTyped","ContractNegotiationRequestToJSON","ContractNegotiationSimplifiedState","ContractNegotiationSimplifiedStateFromJSON","ContractNegotiationSimplifiedStateFromJSONTyped","ContractNegotiationSimplifiedStateToJSON","instanceOfContractNegotiationState","ContractNegotiationStateFromJSON","ContractNegotiationStateFromJSONTyped","ContractNegotiationStateToJSON","instanceOfContractTerminationRequest","ContractTerminationRequestFromJSON","ContractTerminationRequestFromJSONTyped","ContractTerminationRequestToJSON","instanceOfDashboardDapsConfig","DashboardDapsConfigFromJSON","DashboardDapsConfigFromJSONTyped","DashboardDapsConfigToJSON","instanceOfDashboardMiwConfig","DashboardMiwConfigFromJSON","DashboardMiwConfigFromJSONTyped","DashboardMiwConfigToJSON","instanceOfDashboardTransferAmounts","DashboardTransferAmountsFromJSON","DashboardTransferAmountsFromJSONTyped","DashboardTransferAmountsToJSON","instanceOfDashboardPage","DashboardPageFromJSON","DashboardPageFromJSONTyped","DashboardPageToJSON","DataSourceType","DataSourceTypeFromJSON","DataSourceTypeFromJSONTyped","DataSourceTypeToJSON","instanceOfSecretValue","SecretValueFromJSON","SecretValueFromJSONTyped","SecretValueToJSON","UiDataSourceHttpDataMethod","UiDataSourceHttpDataMethodFromJSON","UiDataSourceHttpDataMethodFromJSONTyped","UiDataSourceHttpDataMethodToJSON","instanceOfUiDataSourceHttpData","UiDataSourceHttpDataFromJSON","UiDataSourceHttpDataFromJSONTyped","UiDataSourceHttpDataToJSON","instanceOfUiDataSourceOnRequest","UiDataSourceOnRequestFromJSON","UiDataSourceOnRequestFromJSONTyped","UiDataSourceOnRequestToJSON","instanceOfUiDataSource","UiDataSourceFromJSON","UiDataSourceFromJSONTyped","UiDataSourceToJSON","instanceOfUiAssetCreateRequest","UiAssetCreateRequestFromJSON","UiAssetCreateRequestFromJSONTyped","UiAssetCreateRequestToJSON","DataOfferCreationRequestPolicyEnum","instanceOfDataOfferCreationRequest","DataOfferCreationRequestFromJSON","DataOfferCreationRequestFromJSONTyped","DataOfferCreationRequestToJSON","instanceOfIdAvailabilityResponse","IdAvailabilityResponseFromJSON","IdAvailabilityResponseFromJSONTyped","IdAvailabilityResponseToJSON","instanceOfIdResponseDto","IdResponseDtoFromJSON","IdResponseDtoFromJSONTyped","IdResponseDtoToJSON","instanceOfInitiateCustomTransferRequest","InitiateCustomTransferRequestFromJSON","InitiateCustomTransferRequestFromJSONTyped","InitiateCustomTransferRequestToJSON","instanceOfInitiateTransferRequest","InitiateTransferRequestFromJSON","InitiateTransferRequestFromJSONTyped","InitiateTransferRequestToJSON","instanceOfTransferProcessStatesDto","TransferProcessStatesDtoFromJSON","TransferProcessStatesDtoFromJSONTyped","TransferProcessStatesDtoToJSON","instanceOfKpiResult","KpiResultFromJSON","KpiResultFromJSONTyped","KpiResultToJSON","instanceOfPolicyDefinitionCreateDto","PolicyDefinitionCreateDtoFromJSON","PolicyDefinitionCreateDtoFromJSONTyped","PolicyDefinitionCreateDtoToJSON","instanceOfUiPolicyCreateRequest","UiPolicyCreateRequestFromJSON","UiPolicyCreateRequestFromJSONTyped","UiPolicyCreateRequestToJSON","instanceOfPolicyDefinitionCreateRequest","PolicyDefinitionCreateRequestFromJSON","PolicyDefinitionCreateRequestFromJSONTyped","PolicyDefinitionCreateRequestToJSON","instanceOfPolicyDefinitionDto","PolicyDefinitionDtoFromJSON","PolicyDefinitionDtoFromJSONTyped","PolicyDefinitionDtoToJSON","instanceOfPolicyDefinitionPage","PolicyDefinitionPageFromJSON","PolicyDefinitionPageFromJSONTyped","PolicyDefinitionPageToJSON","instanceOfTransferHistoryEntry","TransferHistoryEntryFromJSON","TransferHistoryEntryFromJSONTyped","TransferHistoryEntryToJSON","instanceOfTransferHistoryPage","TransferHistoryPageFromJSON","TransferHistoryPageFromJSONTyped","TransferHistoryPageToJSON","instanceOfUiAssetEditRequest","UiAssetEditRequestFromJSON","UiAssetEditRequestFromJSONTyped","UiAssetEditRequestToJSON","instanceOfUiContractNegotiation","UiContractNegotiationFromJSON","UiContractNegotiationFromJSONTyped","UiContractNegotiationToJSON","instanceOfUiContractOffer","UiContractOfferFromJSON","UiContractOfferFromJSONTyped","UiContractOfferToJSON","instanceOfUiDataOffer","UiDataOfferFromJSON","UiDataOfferFromJSONTyped","UiDataOfferToJSON","EnterpriseEditionApi","runtime.BaseAPI","queryParameters","headerParameters","runtime.JSONApiResponse","requestParameters","runtime.RequiredError","runtime.VoidApiResponse","runtime.TextApiResponse","UIApi","UseCaseApi","util","val","assertIs","_arg","assertNever","_x","items","obj","item","validKeys","k","filtered","object","keys","arr","checker","joinValues","array","separator","_","objectUtil","first","second","ZodParsedType","getParsedType","ZodIssueCode","quotelessJson","ZodError","issues","sub","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","error","curr","i","el","formErrors","errorMap","_ctx","message","overrideErrorMap","setErrorMap","map","getErrorMap","makeIssue","path","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","EMPTY_PATH","addIssueToContext","ctx","x","ParseStatus","status","results","arrayValue","s","INVALID","pairs","syncPairs","pair","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync","errorUtil","ParseInputLazyPath","parent","handleResult","result","processCreateParams","invalid_type_error","required_error","description","iss","ZodType","def","input","_a","maybeAsyncResult","check","getIssueProperties","setError","refinementData","refinement","ZodEffects","ZodFirstPartyTypeKind","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","transform","defaultValueFunc","ZodDefault","ZodBranded","catchValueFunc","ZodCatch","This","target","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","_emojiRegex","emojiRegex","ipv4Regex","ipv6Regex","datetimeRegex","args","isValidIP","ip","version","ZodString","tooBig","tooSmall","regex","validation","options","minLength","maxLength","len","ch","min","max","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","valInt","stepInt","ZodNumber","kind","inclusive","ZodBigInt","ZodBoolean","ZodDate","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","ZodVoid","schema","deepPartialify","ZodObject","newShape","fieldSchema","ZodTuple","shape","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","_b","_c","_d","defaultError","augmentation","merging","index","mask","newField","createZodEnum","handleResults","unionErrors","childCtx","dirty","types","getDiscriminator","type","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","a","b","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","merged","left","right","itemIndex","rest","schemas","ZodRecord","keyType","valueType","third","ZodMap","finalMap","ZodSet","finalizeSet","elements","parsedSet","element","minSize","maxSize","size","ZodFunction","makeArgsIssue","makeReturnsIssue","returns","me","parsedArgs","parsedReturns","returnType","func","getter","values","expectedValues","enumValues","opt","nativeEnumValues","promisified","effect","checkCtx","arg","processed","executeRefinement","inner","base","preprocess","newCtx","ZodNaN","BRAND","inResult","custom","fatal","p","_fatal","p2","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","onumber","oboolean","coerce","NEVER","z","needsAuthentication","httpStatus","createUrlEncodedParamsString","v","ClientCredentialsResponseSchema","fetchClientCredentials","clientCredentials","parseTokenResponse","tokenResponseParsed","AccessTokenService","ms","injectAccessTokenHeader","token","withHeader","headerName","headerValue","isHeaders","buildOAuthMiddleware","accessTokenService","buildEdcClient","opts","buildApiKeyHeader","config"],"mappings":"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","x_google_ignoreList":[70]}
|
|
1
|
+
{"version":3,"file":"sovity-edc-client.js","sources":["../src/generated/runtime.ts","../src/generated/models/DataSourceAvailability.ts","../src/generated/models/UiAsset.ts","../src/generated/models/AssetPage.ts","../src/generated/models/BuildInfo.ts","../src/generated/models/CatalogFilterExpressionLiteralType.ts","../src/generated/models/CatalogFilterExpressionLiteral.ts","../src/generated/models/CatalogFilterExpressionOperator.ts","../src/generated/models/CatalogFilterExpression.ts","../src/generated/models/CatalogQuery.ts","../src/generated/models/ConnectorLimits.ts","../src/generated/models/ContractAgreementDirection.ts","../src/generated/models/ContractTerminatedBy.ts","../src/generated/models/ContractAgreementTerminationInfo.ts","../src/generated/models/TransferProcessSimplifiedState.ts","../src/generated/models/TransferProcessState.ts","../src/generated/models/ContractAgreementTransferProcess.ts","../src/generated/models/ContractTerminationStatus.ts","../src/generated/models/OperatorDto.ts","../src/generated/models/UiPolicyLiteralType.ts","../src/generated/models/UiPolicyLiteral.ts","../src/generated/models/UiPolicyConstraint.ts","../src/generated/models/UiPolicyExpressionType.ts","../src/generated/models/UiPolicyExpression.ts","../src/generated/models/UiPolicy.ts","../src/generated/models/ContractAgreementCard.ts","../src/generated/models/ContractAgreementPage.ts","../src/generated/models/ContractAgreementPageQuery.ts","../src/generated/models/UiCriterionLiteralType.ts","../src/generated/models/UiCriterionLiteral.ts","../src/generated/models/UiCriterionOperator.ts","../src/generated/models/UiCriterion.ts","../src/generated/models/ContractDefinitionEntry.ts","../src/generated/models/ContractDefinitionPage.ts","../src/generated/models/ContractDefinitionRequest.ts","../src/generated/models/ContractNegotiationRequest.ts","../src/generated/models/ContractNegotiationSimplifiedState.ts","../src/generated/models/ContractNegotiationState.ts","../src/generated/models/ContractTerminationRequest.ts","../src/generated/models/DashboardCxDidConfig.ts","../src/generated/models/DashboardDapsConfig.ts","../src/generated/models/DashboardTransferAmounts.ts","../src/generated/models/DashboardPage.ts","../src/generated/models/DataOfferPublishType.ts","../src/generated/models/DataSourceType.ts","../src/generated/models/SecretValue.ts","../src/generated/models/UiDataSourceHttpDataMethod.ts","../src/generated/models/UiDataSourceHttpData.ts","../src/generated/models/UiDataSourceOnRequest.ts","../src/generated/models/UiDataSource.ts","../src/generated/models/UiAssetCreateRequest.ts","../src/generated/models/DataOfferCreateRequest.ts","../src/generated/models/IdAvailabilityResponse.ts","../src/generated/models/IdResponseDto.ts","../src/generated/models/InitiateCustomTransferRequest.ts","../src/generated/models/InitiateTransferRequest.ts","../src/generated/models/TransferProcessStatesDto.ts","../src/generated/models/KpiResult.ts","../src/generated/models/PolicyDefinitionCreateDto.ts","../src/generated/models/UiPolicyCreateRequest.ts","../src/generated/models/PolicyDefinitionCreateRequest.ts","../src/generated/models/PolicyDefinitionDto.ts","../src/generated/models/PolicyDefinitionPage.ts","../src/generated/models/TransferHistoryEntry.ts","../src/generated/models/TransferHistoryPage.ts","../src/generated/models/UiAssetEditRequest.ts","../src/generated/models/UiContractNegotiation.ts","../src/generated/models/UiContractOffer.ts","../src/generated/models/UiDataOffer.ts","../src/generated/apis/EnterpriseEditionApi.ts","../src/generated/apis/UIApi.ts","../src/generated/apis/UseCaseApi.ts","../node_modules/zod/lib/index.mjs","../src/oauth2/utils/HttpUtils.ts","../src/oauth2/utils/FetchUtils.ts","../src/oauth2/AccessTokenService.ts","../src/oauth2/utils/RequestUtils.ts","../src/oauth2/Middleware.ts","../src/EdcClient.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport const BASE_PATH = 'https://my-connector/api/management'.replace(\n /\\/+$/,\n '',\n);\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?:\n | string\n | Promise<string>\n | ((name: string) => string | Promise<string>); // parameter for apiKey security\n accessToken?:\n | string\n | Promise<string>\n | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null\n ? this.configuration.basePath\n : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise<string>) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken():\n | ((name?: string, scopes?: string[]) => string | Promise<string>)\n | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function'\n ? accessToken\n : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n private static readonly jsonRegex = new RegExp(\n '^(:?application/json|[^;/ \\t]+/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$',\n 'i',\n );\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(\n this: T,\n ...preMiddlewares: Array<Middleware['pre']>\n ) {\n const middlewares = preMiddlewares.map((pre) => ({pre}));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(\n this: T,\n ...postMiddlewares: Array<Middleware['post']>\n ) {\n const middlewares = postMiddlewares.map((post) => ({post}));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(\n context: RequestOpts,\n initOverrides?: RequestInit | InitOverrideFunction,\n ): Promise<Response> {\n const {url, init} = await this.createFetchParams(\n context,\n initOverrides,\n );\n const response = await this.fetchApi(url, init);\n if (response && response.status >= 200 && response.status < 300) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(\n context: RequestOpts,\n initOverrides?: RequestInit | InitOverrideFunction,\n ) {\n let url = this.configuration.basePath + context.path;\n if (\n context.query !== undefined &&\n Object.keys(context.query).length !== 0\n ) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign(\n {},\n this.configuration.headers,\n context.headers,\n );\n Object.keys(headers).forEach((key) =>\n headers[key] === undefined ? delete headers[key] : {},\n );\n\n const initOverrideFn =\n typeof initOverrides === 'function'\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n })),\n };\n\n let body: any;\n if (\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body,\n };\n\n return {url, init};\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = {url, init};\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams =\n (await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n })) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(\n fetchParams.url,\n fetchParams.init,\n );\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response =\n (await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n })) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(\n e,\n 'The request failed and the interceptors did not return an alternative response',\n );\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response =\n (await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n })) || response;\n }\n }\n return response;\n };\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n}\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: 'ResponseError' = 'ResponseError';\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: 'FetchError' = 'FetchError';\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: 'RequiredError' = 'RequiredError';\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: ',',\n ssv: ' ',\n tsv: '\\t',\n pipes: '|',\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod =\n | 'GET'\n | 'POST'\n | 'PUT'\n | 'PATCH'\n | 'DELETE'\n | 'OPTIONS'\n | 'HEAD';\nexport type HTTPHeaders = {[key: string]: string};\nexport type HTTPQuery = {\n [key: string]:\n | string\n | number\n | null\n | boolean\n | Array<string | number | null | boolean>\n | Set<string | number | null | boolean>\n | HTTPQuery;\n};\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = {\n headers?: HTTPHeaders;\n method: HTTPMethod;\n credentials?: RequestCredentials;\n body?: HTTPBody;\n};\nexport type ModelPropertyNaming =\n | 'camelCase'\n | 'snake_case'\n | 'PascalCase'\n | 'original';\n\nexport type InitOverrideFunction = (requestContext: {\n init: HTTPRequestInit;\n context: RequestOpts;\n}) => Promise<RequestInit>;\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map((key) => querystringSingleKey(key, params[key], prefix))\n .filter((part) => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(\n key: string,\n value:\n | string\n | number\n | null\n | undefined\n | boolean\n | Array<string | number | null | boolean>\n | Set<string | number | null | boolean>\n | HTTPQuery,\n keyPrefix: string = '',\n): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value\n .map((singleValue) => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(\n value.toISOString(),\n )}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(\n String(value),\n )}`;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n return Object.keys(data).reduce(\n (acc, key) => ({...acc, [key]: fn(data[key])}),\n {},\n );\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(\n public raw: Response,\n private transformer: ResponseTransformer<T> = (jsonValue: any) =>\n jsonValue,\n ) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n }\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Differentiate 'Live' Data Offers that have a real data source from 'On Request' Data Offers that contain only a contact email address for requesting an individual data offer.\n * @export\n */\nexport const DataSourceAvailability = {\n Live: 'LIVE',\n OnRequest: 'ON_REQUEST',\n} as const;\nexport type DataSourceAvailability =\n (typeof DataSourceAvailability)[keyof typeof DataSourceAvailability];\n\nexport function instanceOfDataSourceAvailability(value: any): boolean {\n for (const key in DataSourceAvailability) {\n if (Object.prototype.hasOwnProperty.call(DataSourceAvailability, key)) {\n if (\n DataSourceAvailability[\n key as keyof typeof DataSourceAvailability\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function DataSourceAvailabilityFromJSON(\n json: any,\n): DataSourceAvailability {\n return DataSourceAvailabilityFromJSONTyped(json, false);\n}\n\nexport function DataSourceAvailabilityFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataSourceAvailability {\n return json as DataSourceAvailability;\n}\n\nexport function DataSourceAvailabilityToJSON(\n value?: DataSourceAvailability | null,\n): any {\n return value as any;\n}\n\nexport function DataSourceAvailabilityToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): DataSourceAvailability {\n return value as DataSourceAvailability;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {DataSourceAvailability} from './DataSourceAvailability';\nimport {\n DataSourceAvailabilityFromJSON,\n DataSourceAvailabilityFromJSONTyped,\n DataSourceAvailabilityToJSON,\n DataSourceAvailabilityToJSONTyped,\n} from './DataSourceAvailability';\n\n/**\n * Type-safe data offer metadata as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAsset\n */\nexport interface UiAsset {\n /**\n * 'Live' vs 'On Request'\n * @type {DataSourceAvailability}\n * @memberof UiAsset\n */\n dataSourceAvailability: DataSourceAvailability;\n /**\n * Asset Id\n * @type {string}\n * @memberof UiAsset\n */\n assetId: string;\n /**\n * Providing Connector's Connector Endpoint\n * @type {string}\n * @memberof UiAsset\n */\n connectorEndpoint: string;\n /**\n * Providing Connector's Participant ID\n * @type {string}\n * @memberof UiAsset\n */\n participantId: string;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAsset\n */\n title: string;\n /**\n * Asset Organization Name\n * @type {string}\n * @memberof UiAsset\n */\n creatorOrganizationName: string;\n /**\n * Contact E-Mail address. Only for dataSourceAvailability ON_REQUEST.\n * @type {string}\n * @memberof UiAsset\n */\n onRequestContactEmail?: string;\n /**\n * Contact Preferred E-Mail Subject. Only for dataSourceAvailability ON_REQUEST.\n * @type {string}\n * @memberof UiAsset\n */\n onRequestContactEmailSubject?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAsset\n */\n language?: string;\n /**\n * Asset Description. Supports markdown.\n * @type {string}\n * @memberof UiAsset\n */\n description?: string;\n /**\n * Asset Description Short Text generated from description. Contains no markdown.\n * @type {string}\n * @memberof UiAsset\n */\n descriptionShortText?: string;\n /**\n * Flag that indicates whether this asset is created by this connector.\n * @type {boolean}\n * @memberof UiAsset\n */\n isOwnConnector: boolean;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAsset\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAsset\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAsset\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAsset\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAsset\n */\n mediaType?: string;\n /**\n * Homepage URL associated with the Asset\n * @type {string}\n * @memberof UiAsset\n */\n landingPageUrl?: string;\n /**\n * HTTP Datasource Hint: Proxy Method. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyMethod?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Path. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyPath?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Query Params. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyQueryParams?: boolean;\n /**\n * HTTP Datasource Hint: Proxy Body. Only for dataSourceAvailability LIVE with an underlying HTTP_DATA Data Source.\n * @type {boolean}\n * @memberof UiAsset\n */\n httpDatasourceHintsProxyBody?: boolean;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAsset\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAsset\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAsset\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAsset\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAsset\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAsset\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAsset\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAsset\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAsset\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAsset\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAsset\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAsset\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAsset\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAsset\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAsset\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains the entire asset in the JSON-LD format\n * @type {string}\n * @memberof UiAsset\n */\n assetJsonLd?: string;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAsset\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAsset\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAsset\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAsset\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAsset interface.\n */\nexport function instanceOfUiAsset(value: any): value is UiAsset {\n if (\n !('dataSourceAvailability' in value) ||\n value['dataSourceAvailability'] === undefined\n )\n return false;\n if (!('assetId' in value) || value['assetId'] === undefined) return false;\n if (\n !('connectorEndpoint' in value) ||\n value['connectorEndpoint'] === undefined\n )\n return false;\n if (!('participantId' in value) || value['participantId'] === undefined)\n return false;\n if (!('title' in value) || value['title'] === undefined) return false;\n if (\n !('creatorOrganizationName' in value) ||\n value['creatorOrganizationName'] === undefined\n )\n return false;\n if (!('isOwnConnector' in value) || value['isOwnConnector'] === undefined)\n return false;\n return true;\n}\n\nexport function UiAssetFromJSON(json: any): UiAsset {\n return UiAssetFromJSONTyped(json, false);\n}\n\nexport function UiAssetFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAsset {\n if (json == null) {\n return json;\n }\n return {\n dataSourceAvailability: DataSourceAvailabilityFromJSON(\n json['dataSourceAvailability'],\n ),\n assetId: json['assetId'],\n connectorEndpoint: json['connectorEndpoint'],\n participantId: json['participantId'],\n title: json['title'],\n creatorOrganizationName: json['creatorOrganizationName'],\n onRequestContactEmail:\n json['onRequestContactEmail'] == null\n ? undefined\n : json['onRequestContactEmail'],\n onRequestContactEmailSubject:\n json['onRequestContactEmailSubject'] == null\n ? undefined\n : json['onRequestContactEmailSubject'],\n language: json['language'] == null ? undefined : json['language'],\n description:\n json['description'] == null ? undefined : json['description'],\n descriptionShortText:\n json['descriptionShortText'] == null\n ? undefined\n : json['descriptionShortText'],\n isOwnConnector: json['isOwnConnector'],\n publisherHomepage:\n json['publisherHomepage'] == null\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: json['licenseUrl'] == null ? undefined : json['licenseUrl'],\n version: json['version'] == null ? undefined : json['version'],\n keywords: json['keywords'] == null ? undefined : json['keywords'],\n mediaType: json['mediaType'] == null ? undefined : json['mediaType'],\n landingPageUrl:\n json['landingPageUrl'] == null ? undefined : json['landingPageUrl'],\n httpDatasourceHintsProxyMethod:\n json['httpDatasourceHintsProxyMethod'] == null\n ? undefined\n : json['httpDatasourceHintsProxyMethod'],\n httpDatasourceHintsProxyPath:\n json['httpDatasourceHintsProxyPath'] == null\n ? undefined\n : json['httpDatasourceHintsProxyPath'],\n httpDatasourceHintsProxyQueryParams:\n json['httpDatasourceHintsProxyQueryParams'] == null\n ? undefined\n : json['httpDatasourceHintsProxyQueryParams'],\n httpDatasourceHintsProxyBody:\n json['httpDatasourceHintsProxyBody'] == null\n ? undefined\n : json['httpDatasourceHintsProxyBody'],\n dataCategory:\n json['dataCategory'] == null ? undefined : json['dataCategory'],\n dataSubcategory:\n json['dataSubcategory'] == null\n ? undefined\n : json['dataSubcategory'],\n dataModel: json['dataModel'] == null ? undefined : json['dataModel'],\n geoReferenceMethod:\n json['geoReferenceMethod'] == null\n ? undefined\n : json['geoReferenceMethod'],\n transportMode:\n json['transportMode'] == null ? undefined : json['transportMode'],\n sovereignLegalName:\n json['sovereignLegalName'] == null\n ? undefined\n : json['sovereignLegalName'],\n geoLocation:\n json['geoLocation'] == null ? undefined : json['geoLocation'],\n nutsLocations:\n json['nutsLocations'] == null ? undefined : json['nutsLocations'],\n dataSampleUrls:\n json['dataSampleUrls'] == null ? undefined : json['dataSampleUrls'],\n referenceFileUrls:\n json['referenceFileUrls'] == null\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription:\n json['referenceFilesDescription'] == null\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse:\n json['conditionsForUse'] == null\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency:\n json['dataUpdateFrequency'] == null\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom:\n json['temporalCoverageFrom'] == null\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive:\n json['temporalCoverageToInclusive'] == null\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n assetJsonLd:\n json['assetJsonLd'] == null ? undefined : json['assetJsonLd'],\n customJsonAsString:\n json['customJsonAsString'] == null\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString:\n json['customJsonLdAsString'] == null\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString:\n json['privateCustomJsonAsString'] == null\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString:\n json['privateCustomJsonLdAsString'] == null\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetToJSON(json: any): UiAsset {\n return UiAssetToJSONTyped(json, false);\n}\n\nexport function UiAssetToJSONTyped(\n value?: UiAsset | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n dataSourceAvailability: DataSourceAvailabilityToJSON(\n value['dataSourceAvailability'],\n ),\n assetId: value['assetId'],\n connectorEndpoint: value['connectorEndpoint'],\n participantId: value['participantId'],\n title: value['title'],\n creatorOrganizationName: value['creatorOrganizationName'],\n onRequestContactEmail: value['onRequestContactEmail'],\n onRequestContactEmailSubject: value['onRequestContactEmailSubject'],\n language: value['language'],\n description: value['description'],\n descriptionShortText: value['descriptionShortText'],\n isOwnConnector: value['isOwnConnector'],\n publisherHomepage: value['publisherHomepage'],\n licenseUrl: value['licenseUrl'],\n version: value['version'],\n keywords: value['keywords'],\n mediaType: value['mediaType'],\n landingPageUrl: value['landingPageUrl'],\n httpDatasourceHintsProxyMethod: value['httpDatasourceHintsProxyMethod'],\n httpDatasourceHintsProxyPath: value['httpDatasourceHintsProxyPath'],\n httpDatasourceHintsProxyQueryParams:\n value['httpDatasourceHintsProxyQueryParams'],\n httpDatasourceHintsProxyBody: value['httpDatasourceHintsProxyBody'],\n dataCategory: value['dataCategory'],\n dataSubcategory: value['dataSubcategory'],\n dataModel: value['dataModel'],\n geoReferenceMethod: value['geoReferenceMethod'],\n transportMode: value['transportMode'],\n sovereignLegalName: value['sovereignLegalName'],\n geoLocation: value['geoLocation'],\n nutsLocations: value['nutsLocations'],\n dataSampleUrls: value['dataSampleUrls'],\n referenceFileUrls: value['referenceFileUrls'],\n referenceFilesDescription: value['referenceFilesDescription'],\n conditionsForUse: value['conditionsForUse'],\n dataUpdateFrequency: value['dataUpdateFrequency'],\n temporalCoverageFrom:\n value['temporalCoverageFrom'] == null\n ? undefined\n : value['temporalCoverageFrom'].toISOString().substring(0, 10),\n temporalCoverageToInclusive:\n value['temporalCoverageToInclusive'] == null\n ? undefined\n : value['temporalCoverageToInclusive']\n .toISOString()\n .substring(0, 10),\n assetJsonLd: value['assetJsonLd'],\n customJsonAsString: value['customJsonAsString'],\n customJsonLdAsString: value['customJsonLdAsString'],\n privateCustomJsonAsString: value['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: value['privateCustomJsonLdAsString'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiAsset} from './UiAsset';\nimport {\n UiAssetFromJSON,\n UiAssetFromJSONTyped,\n UiAssetToJSON,\n UiAssetToJSONTyped,\n} from './UiAsset';\n\n/**\n * All data for the Asset Page\n * @export\n * @interface AssetPage\n */\nexport interface AssetPage {\n /**\n * Visible Assets\n * @type {Array<UiAsset>}\n * @memberof AssetPage\n */\n assets: Array<UiAsset>;\n}\n\n/**\n * Check if a given object implements the AssetPage interface.\n */\nexport function instanceOfAssetPage(value: any): value is AssetPage {\n if (!('assets' in value) || value['assets'] === undefined) return false;\n return true;\n}\n\nexport function AssetPageFromJSON(json: any): AssetPage {\n return AssetPageFromJSONTyped(json, false);\n}\n\nexport function AssetPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): AssetPage {\n if (json == null) {\n return json;\n }\n return {\n assets: (json['assets'] as Array<any>).map(UiAssetFromJSON),\n };\n}\n\nexport function AssetPageToJSON(json: any): AssetPage {\n return AssetPageToJSONTyped(json, false);\n}\n\nexport function AssetPageToJSONTyped(\n value?: AssetPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n assets: (value['assets'] as Array<any>).map(UiAssetToJSON),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Build information about the connector backend.\n * @export\n * @interface BuildInfo\n */\nexport interface BuildInfo {\n /**\n * Container build date. May be overridden.\n * @type {string}\n * @memberof BuildInfo\n */\n buildDate: string;\n /**\n * Container build release version or a combination of last tag + commit hash. May be overridden.\n * @type {string}\n * @memberof BuildInfo\n */\n buildVersion: string;\n}\n\n/**\n * Check if a given object implements the BuildInfo interface.\n */\nexport function instanceOfBuildInfo(value: any): value is BuildInfo {\n if (!('buildDate' in value) || value['buildDate'] === undefined)\n return false;\n if (!('buildVersion' in value) || value['buildVersion'] === undefined)\n return false;\n return true;\n}\n\nexport function BuildInfoFromJSON(json: any): BuildInfo {\n return BuildInfoFromJSONTyped(json, false);\n}\n\nexport function BuildInfoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): BuildInfo {\n if (json == null) {\n return json;\n }\n return {\n buildDate: json['buildDate'],\n buildVersion: json['buildVersion'],\n };\n}\n\nexport function BuildInfoToJSON(json: any): BuildInfo {\n return BuildInfoToJSONTyped(json, false);\n}\n\nexport function BuildInfoToJSONTyped(\n value?: BuildInfo | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n buildDate: value['buildDate'],\n buildVersion: value['buildVersion'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Value type of a filter expression criterion\n * @export\n */\nexport const CatalogFilterExpressionLiteralType = {\n Value: 'VALUE',\n ValueList: 'VALUE_LIST',\n} as const;\nexport type CatalogFilterExpressionLiteralType =\n (typeof CatalogFilterExpressionLiteralType)[keyof typeof CatalogFilterExpressionLiteralType];\n\nexport function instanceOfCatalogFilterExpressionLiteralType(\n value: any,\n): boolean {\n for (const key in CatalogFilterExpressionLiteralType) {\n if (\n Object.prototype.hasOwnProperty.call(\n CatalogFilterExpressionLiteralType,\n key,\n )\n ) {\n if (\n CatalogFilterExpressionLiteralType[\n key as keyof typeof CatalogFilterExpressionLiteralType\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function CatalogFilterExpressionLiteralTypeFromJSON(\n json: any,\n): CatalogFilterExpressionLiteralType {\n return CatalogFilterExpressionLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionLiteralType {\n return json as CatalogFilterExpressionLiteralType;\n}\n\nexport function CatalogFilterExpressionLiteralTypeToJSON(\n value?: CatalogFilterExpressionLiteralType | null,\n): any {\n return value as any;\n}\n\nexport function CatalogFilterExpressionLiteralTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionLiteralType {\n return value as CatalogFilterExpressionLiteralType;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {CatalogFilterExpressionLiteralType} from './CatalogFilterExpressionLiteralType';\nimport {\n CatalogFilterExpressionLiteralTypeFromJSON,\n CatalogFilterExpressionLiteralTypeFromJSONTyped,\n CatalogFilterExpressionLiteralTypeToJSON,\n CatalogFilterExpressionLiteralTypeToJSONTyped,\n} from './CatalogFilterExpressionLiteralType';\n\n/**\n * FilterExpression Criterion Literal\n * @export\n * @interface CatalogFilterExpressionLiteral\n */\nexport interface CatalogFilterExpressionLiteral {\n /**\n *\n * @type {CatalogFilterExpressionLiteralType}\n * @memberof CatalogFilterExpressionLiteral\n */\n type?: CatalogFilterExpressionLiteralType;\n /**\n * Only for type VALUE. The single value representation.\n * @type {string}\n * @memberof CatalogFilterExpressionLiteral\n */\n value?: string;\n /**\n * Only for type VALUE_LIST. List of values, e.g. for the IN-Operator.\n * @type {Array<string>}\n * @memberof CatalogFilterExpressionLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the CatalogFilterExpressionLiteral interface.\n */\nexport function instanceOfCatalogFilterExpressionLiteral(\n value: any,\n): value is CatalogFilterExpressionLiteral {\n return true;\n}\n\nexport function CatalogFilterExpressionLiteralFromJSON(\n json: any,\n): CatalogFilterExpressionLiteral {\n return CatalogFilterExpressionLiteralFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionLiteral {\n if (json == null) {\n return json;\n }\n return {\n type:\n json['type'] == null\n ? undefined\n : CatalogFilterExpressionLiteralTypeFromJSON(json['type']),\n value: json['value'] == null ? undefined : json['value'],\n valueList: json['valueList'] == null ? undefined : json['valueList'],\n };\n}\n\nexport function CatalogFilterExpressionLiteralToJSON(\n json: any,\n): CatalogFilterExpressionLiteral {\n return CatalogFilterExpressionLiteralToJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionLiteralToJSONTyped(\n value?: CatalogFilterExpressionLiteral | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n type: CatalogFilterExpressionLiteralTypeToJSON(value['type']),\n value: value['value'],\n valueList: value['valueList'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Operator for filter expressions\n * @export\n */\nexport const CatalogFilterExpressionOperator = {\n Like: 'LIKE',\n Eq: 'EQ',\n In: 'IN',\n} as const;\nexport type CatalogFilterExpressionOperator =\n (typeof CatalogFilterExpressionOperator)[keyof typeof CatalogFilterExpressionOperator];\n\nexport function instanceOfCatalogFilterExpressionOperator(value: any): boolean {\n for (const key in CatalogFilterExpressionOperator) {\n if (\n Object.prototype.hasOwnProperty.call(\n CatalogFilterExpressionOperator,\n key,\n )\n ) {\n if (\n CatalogFilterExpressionOperator[\n key as keyof typeof CatalogFilterExpressionOperator\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function CatalogFilterExpressionOperatorFromJSON(\n json: any,\n): CatalogFilterExpressionOperator {\n return CatalogFilterExpressionOperatorFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionOperatorFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionOperator {\n return json as CatalogFilterExpressionOperator;\n}\n\nexport function CatalogFilterExpressionOperatorToJSON(\n value?: CatalogFilterExpressionOperator | null,\n): any {\n return value as any;\n}\n\nexport function CatalogFilterExpressionOperatorToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpressionOperator {\n return value as CatalogFilterExpressionOperator;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {CatalogFilterExpressionLiteral} from './CatalogFilterExpressionLiteral';\nimport {\n CatalogFilterExpressionLiteralFromJSON,\n CatalogFilterExpressionLiteralFromJSONTyped,\n CatalogFilterExpressionLiteralToJSON,\n CatalogFilterExpressionLiteralToJSONTyped,\n} from './CatalogFilterExpressionLiteral';\nimport type {CatalogFilterExpressionOperator} from './CatalogFilterExpressionOperator';\nimport {\n CatalogFilterExpressionOperatorFromJSON,\n CatalogFilterExpressionOperatorFromJSONTyped,\n CatalogFilterExpressionOperatorToJSON,\n CatalogFilterExpressionOperatorToJSONTyped,\n} from './CatalogFilterExpressionOperator';\n\n/**\n * Generic expression for filtering the data offers in the catalog\n * @export\n * @interface CatalogFilterExpression\n */\nexport interface CatalogFilterExpression {\n /**\n * Asset property name\n * @type {string}\n * @memberof CatalogFilterExpression\n */\n operandLeft: string;\n /**\n * Operator\n * @type {CatalogFilterExpressionOperator}\n * @memberof CatalogFilterExpression\n */\n operator: CatalogFilterExpressionOperator;\n /**\n * Right Operand\n * @type {CatalogFilterExpressionLiteral}\n * @memberof CatalogFilterExpression\n */\n operandRight: CatalogFilterExpressionLiteral;\n}\n\n/**\n * Check if a given object implements the CatalogFilterExpression interface.\n */\nexport function instanceOfCatalogFilterExpression(\n value: any,\n): value is CatalogFilterExpression {\n if (!('operandLeft' in value) || value['operandLeft'] === undefined)\n return false;\n if (!('operator' in value) || value['operator'] === undefined) return false;\n if (!('operandRight' in value) || value['operandRight'] === undefined)\n return false;\n return true;\n}\n\nexport function CatalogFilterExpressionFromJSON(\n json: any,\n): CatalogFilterExpression {\n return CatalogFilterExpressionFromJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogFilterExpression {\n if (json == null) {\n return json;\n }\n return {\n operandLeft: json['operandLeft'],\n operator: CatalogFilterExpressionOperatorFromJSON(json['operator']),\n operandRight: CatalogFilterExpressionLiteralFromJSON(\n json['operandRight'],\n ),\n };\n}\n\nexport function CatalogFilterExpressionToJSON(\n json: any,\n): CatalogFilterExpression {\n return CatalogFilterExpressionToJSONTyped(json, false);\n}\n\nexport function CatalogFilterExpressionToJSONTyped(\n value?: CatalogFilterExpression | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n operandLeft: value['operandLeft'],\n operator: CatalogFilterExpressionOperatorToJSON(value['operator']),\n operandRight: CatalogFilterExpressionLiteralToJSON(\n value['operandRight'],\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {CatalogFilterExpression} from './CatalogFilterExpression';\nimport {\n CatalogFilterExpressionFromJSON,\n CatalogFilterExpressionFromJSONTyped,\n CatalogFilterExpressionToJSON,\n CatalogFilterExpressionToJSONTyped,\n} from './CatalogFilterExpression';\n\n/**\n * Catalog query parameters\n * @export\n * @interface CatalogQuery\n */\nexport interface CatalogQuery {\n /**\n * Target EDC DSP endpoint URL. Can contain a queryParam 'participantId', which is provided by default in the Connector Endpoint in the EDC UI.\n * @type {string}\n * @memberof CatalogQuery\n */\n connectorEndpoint: string;\n /**\n * Target EDC Participant ID. It is required if the connector endpoint does not contain the queryParam 'participantId'.\n * @type {string}\n * @memberof CatalogQuery\n */\n participantId?: string;\n /**\n * Limit the number of results\n * @type {number}\n * @memberof CatalogQuery\n */\n limit?: number;\n /**\n * Offset for returned results, e.g. start at result 2\n * @type {number}\n * @memberof CatalogQuery\n */\n offset?: number;\n /**\n * Filter expressions for catalog filtering\n * @type {Array<CatalogFilterExpression>}\n * @memberof CatalogQuery\n */\n filterExpressions?: Array<CatalogFilterExpression>;\n}\n\n/**\n * Check if a given object implements the CatalogQuery interface.\n */\nexport function instanceOfCatalogQuery(value: any): value is CatalogQuery {\n if (\n !('connectorEndpoint' in value) ||\n value['connectorEndpoint'] === undefined\n )\n return false;\n return true;\n}\n\nexport function CatalogQueryFromJSON(json: any): CatalogQuery {\n return CatalogQueryFromJSONTyped(json, false);\n}\n\nexport function CatalogQueryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): CatalogQuery {\n if (json == null) {\n return json;\n }\n return {\n connectorEndpoint: json['connectorEndpoint'],\n participantId:\n json['participantId'] == null ? undefined : json['participantId'],\n limit: json['limit'] == null ? undefined : json['limit'],\n offset: json['offset'] == null ? undefined : json['offset'],\n filterExpressions:\n json['filterExpressions'] == null\n ? undefined\n : (json['filterExpressions'] as Array<any>).map(\n CatalogFilterExpressionFromJSON,\n ),\n };\n}\n\nexport function CatalogQueryToJSON(json: any): CatalogQuery {\n return CatalogQueryToJSONTyped(json, false);\n}\n\nexport function CatalogQueryToJSONTyped(\n value?: CatalogQuery | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n connectorEndpoint: value['connectorEndpoint'],\n participantId: value['participantId'],\n limit: value['limit'],\n offset: value['offset'],\n filterExpressions:\n value['filterExpressions'] == null\n ? undefined\n : (value['filterExpressions'] as Array<any>).map(\n CatalogFilterExpressionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Available and used resources of a connector.\n * @export\n * @interface ConnectorLimits\n */\nexport interface ConnectorLimits {\n /**\n * Current amount of active consuming contract agreements.\n * @type {number}\n * @memberof ConnectorLimits\n */\n numActiveConsumingContractAgreements: number;\n /**\n * Maximum amount of active consuming contract agreements. A value of 'null' or a negative value means that there are no limit.\n * @type {number}\n * @memberof ConnectorLimits\n */\n maxActiveConsumingContractAgreements?: number;\n}\n\n/**\n * Check if a given object implements the ConnectorLimits interface.\n */\nexport function instanceOfConnectorLimits(\n value: any,\n): value is ConnectorLimits {\n if (\n !('numActiveConsumingContractAgreements' in value) ||\n value['numActiveConsumingContractAgreements'] === undefined\n )\n return false;\n return true;\n}\n\nexport function ConnectorLimitsFromJSON(json: any): ConnectorLimits {\n return ConnectorLimitsFromJSONTyped(json, false);\n}\n\nexport function ConnectorLimitsFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ConnectorLimits {\n if (json == null) {\n return json;\n }\n return {\n numActiveConsumingContractAgreements:\n json['numActiveConsumingContractAgreements'],\n maxActiveConsumingContractAgreements:\n json['maxActiveConsumingContractAgreements'] == null\n ? undefined\n : json['maxActiveConsumingContractAgreements'],\n };\n}\n\nexport function ConnectorLimitsToJSON(json: any): ConnectorLimits {\n return ConnectorLimitsToJSONTyped(json, false);\n}\n\nexport function ConnectorLimitsToJSONTyped(\n value?: ConnectorLimits | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n numActiveConsumingContractAgreements:\n value['numActiveConsumingContractAgreements'],\n maxActiveConsumingContractAgreements:\n value['maxActiveConsumingContractAgreements'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Whether the contract agreement is incoming or outgoing\n * @export\n */\nexport const ContractAgreementDirection = {\n Consuming: 'CONSUMING',\n Providing: 'PROVIDING',\n} as const;\nexport type ContractAgreementDirection =\n (typeof ContractAgreementDirection)[keyof typeof ContractAgreementDirection];\n\nexport function instanceOfContractAgreementDirection(value: any): boolean {\n for (const key in ContractAgreementDirection) {\n if (\n Object.prototype.hasOwnProperty.call(\n ContractAgreementDirection,\n key,\n )\n ) {\n if (\n ContractAgreementDirection[\n key as keyof typeof ContractAgreementDirection\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function ContractAgreementDirectionFromJSON(\n json: any,\n): ContractAgreementDirection {\n return ContractAgreementDirectionFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementDirectionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementDirection {\n return json as ContractAgreementDirection;\n}\n\nexport function ContractAgreementDirectionToJSON(\n value?: ContractAgreementDirection | null,\n): any {\n return value as any;\n}\n\nexport function ContractAgreementDirectionToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementDirection {\n return value as ContractAgreementDirection;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Whether the contract termination was initiated by this EDC or a counterparty EDC.\n * @export\n */\nexport const ContractTerminatedBy = {\n Self: 'SELF',\n Counterparty: 'COUNTERPARTY',\n} as const;\nexport type ContractTerminatedBy =\n (typeof ContractTerminatedBy)[keyof typeof ContractTerminatedBy];\n\nexport function instanceOfContractTerminatedBy(value: any): boolean {\n for (const key in ContractTerminatedBy) {\n if (Object.prototype.hasOwnProperty.call(ContractTerminatedBy, key)) {\n if (\n ContractTerminatedBy[\n key as keyof typeof ContractTerminatedBy\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function ContractTerminatedByFromJSON(json: any): ContractTerminatedBy {\n return ContractTerminatedByFromJSONTyped(json, false);\n}\n\nexport function ContractTerminatedByFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminatedBy {\n return json as ContractTerminatedBy;\n}\n\nexport function ContractTerminatedByToJSON(\n value?: ContractTerminatedBy | null,\n): any {\n return value as any;\n}\n\nexport function ContractTerminatedByToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): ContractTerminatedBy {\n return value as ContractTerminatedBy;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractTerminatedBy} from './ContractTerminatedBy';\nimport {\n ContractTerminatedByFromJSON,\n ContractTerminatedByFromJSONTyped,\n ContractTerminatedByToJSON,\n ContractTerminatedByToJSONTyped,\n} from './ContractTerminatedBy';\n\n/**\n * Contract's agreement metadata\n * @export\n * @interface ContractAgreementTerminationInfo\n */\nexport interface ContractAgreementTerminationInfo {\n /**\n * Termination's date and time\n * @type {Date}\n * @memberof ContractAgreementTerminationInfo\n */\n terminatedAt: Date;\n /**\n * The termination's nature e.g. User Termination\n * @type {string}\n * @memberof ContractAgreementTerminationInfo\n */\n reason: string;\n /**\n * Detailed message from the terminating party about why the contract was terminated.\n * @type {string}\n * @memberof ContractAgreementTerminationInfo\n */\n detail: string;\n /**\n * Indicates whether the termination comes from this EDC or the counterparty EDC.\n * @type {ContractTerminatedBy}\n * @memberof ContractAgreementTerminationInfo\n */\n terminatedBy: ContractTerminatedBy;\n}\n\n/**\n * Check if a given object implements the ContractAgreementTerminationInfo interface.\n */\nexport function instanceOfContractAgreementTerminationInfo(\n value: any,\n): value is ContractAgreementTerminationInfo {\n if (!('terminatedAt' in value) || value['terminatedAt'] === undefined)\n return false;\n if (!('reason' in value) || value['reason'] === undefined) return false;\n if (!('detail' in value) || value['detail'] === undefined) return false;\n if (!('terminatedBy' in value) || value['terminatedBy'] === undefined)\n return false;\n return true;\n}\n\nexport function ContractAgreementTerminationInfoFromJSON(\n json: any,\n): ContractAgreementTerminationInfo {\n return ContractAgreementTerminationInfoFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementTerminationInfoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementTerminationInfo {\n if (json == null) {\n return json;\n }\n return {\n terminatedAt: new Date(json['terminatedAt']),\n reason: json['reason'],\n detail: json['detail'],\n terminatedBy: ContractTerminatedByFromJSON(json['terminatedBy']),\n };\n}\n\nexport function ContractAgreementTerminationInfoToJSON(\n json: any,\n): ContractAgreementTerminationInfo {\n return ContractAgreementTerminationInfoToJSONTyped(json, false);\n}\n\nexport function ContractAgreementTerminationInfoToJSONTyped(\n value?: ContractAgreementTerminationInfo | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n terminatedAt: value['terminatedAt'].toISOString(),\n reason: value['reason'],\n detail: value['detail'],\n terminatedBy: ContractTerminatedByToJSON(value['terminatedBy']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Simplified Transfer Process State to be used in UI\n * @export\n */\nexport const TransferProcessSimplifiedState = {\n Running: 'RUNNING',\n Ok: 'OK',\n Error: 'ERROR',\n} as const;\nexport type TransferProcessSimplifiedState =\n (typeof TransferProcessSimplifiedState)[keyof typeof TransferProcessSimplifiedState];\n\nexport function instanceOfTransferProcessSimplifiedState(value: any): boolean {\n for (const key in TransferProcessSimplifiedState) {\n if (\n Object.prototype.hasOwnProperty.call(\n TransferProcessSimplifiedState,\n key,\n )\n ) {\n if (\n TransferProcessSimplifiedState[\n key as keyof typeof TransferProcessSimplifiedState\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function TransferProcessSimplifiedStateFromJSON(\n json: any,\n): TransferProcessSimplifiedState {\n return TransferProcessSimplifiedStateFromJSONTyped(json, false);\n}\n\nexport function TransferProcessSimplifiedStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessSimplifiedState {\n return json as TransferProcessSimplifiedState;\n}\n\nexport function TransferProcessSimplifiedStateToJSON(\n value?: TransferProcessSimplifiedState | null,\n): any {\n return value as any;\n}\n\nexport function TransferProcessSimplifiedStateToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): TransferProcessSimplifiedState {\n return value as TransferProcessSimplifiedState;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {TransferProcessSimplifiedState} from './TransferProcessSimplifiedState';\nimport {\n TransferProcessSimplifiedStateFromJSON,\n TransferProcessSimplifiedStateFromJSONTyped,\n TransferProcessSimplifiedStateToJSON,\n TransferProcessSimplifiedStateToJSONTyped,\n} from './TransferProcessSimplifiedState';\n\n/**\n * Transfer Process State interpreted\n * @export\n * @interface TransferProcessState\n */\nexport interface TransferProcessState {\n /**\n * State name or 'CUSTOM'. State names only exist for original EDC Transfer Process States.\n * @type {string}\n * @memberof TransferProcessState\n */\n name: string;\n /**\n * State code\n * @type {number}\n * @memberof TransferProcessState\n */\n code: number;\n /**\n * Whether we are running, in an error state or done.\n * @type {TransferProcessSimplifiedState}\n * @memberof TransferProcessState\n */\n simplifiedState: TransferProcessSimplifiedState;\n}\n\n/**\n * Check if a given object implements the TransferProcessState interface.\n */\nexport function instanceOfTransferProcessState(\n value: any,\n): value is TransferProcessState {\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('simplifiedState' in value) || value['simplifiedState'] === undefined)\n return false;\n return true;\n}\n\nexport function TransferProcessStateFromJSON(json: any): TransferProcessState {\n return TransferProcessStateFromJSONTyped(json, false);\n}\n\nexport function TransferProcessStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessState {\n if (json == null) {\n return json;\n }\n return {\n name: json['name'],\n code: json['code'],\n simplifiedState: TransferProcessSimplifiedStateFromJSON(\n json['simplifiedState'],\n ),\n };\n}\n\nexport function TransferProcessStateToJSON(json: any): TransferProcessState {\n return TransferProcessStateToJSONTyped(json, false);\n}\n\nexport function TransferProcessStateToJSONTyped(\n value?: TransferProcessState | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n name: value['name'],\n code: value['code'],\n simplifiedState: TransferProcessSimplifiedStateToJSON(\n value['simplifiedState'],\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {TransferProcessState} from './TransferProcessState';\nimport {\n TransferProcessStateFromJSON,\n TransferProcessStateFromJSONTyped,\n TransferProcessStateToJSON,\n TransferProcessStateToJSONTyped,\n} from './TransferProcessState';\n\n/**\n * A Contract Agreement's Transfer Process\n * @export\n * @interface ContractAgreementTransferProcess\n */\nexport interface ContractAgreementTransferProcess {\n /**\n * Transfer Process ID\n * @type {string}\n * @memberof ContractAgreementTransferProcess\n */\n transferProcessId: string;\n /**\n * Last Change Date\n * @type {Date}\n * @memberof ContractAgreementTransferProcess\n */\n lastUpdatedDate: Date;\n /**\n * Current State\n * @type {TransferProcessState}\n * @memberof ContractAgreementTransferProcess\n */\n state: TransferProcessState;\n /**\n * Error Message\n * @type {string}\n * @memberof ContractAgreementTransferProcess\n */\n errorMessage?: string;\n}\n\n/**\n * Check if a given object implements the ContractAgreementTransferProcess interface.\n */\nexport function instanceOfContractAgreementTransferProcess(\n value: any,\n): value is ContractAgreementTransferProcess {\n if (\n !('transferProcessId' in value) ||\n value['transferProcessId'] === undefined\n )\n return false;\n if (!('lastUpdatedDate' in value) || value['lastUpdatedDate'] === undefined)\n return false;\n if (!('state' in value) || value['state'] === undefined) return false;\n return true;\n}\n\nexport function ContractAgreementTransferProcessFromJSON(\n json: any,\n): ContractAgreementTransferProcess {\n return ContractAgreementTransferProcessFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementTransferProcessFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementTransferProcess {\n if (json == null) {\n return json;\n }\n return {\n transferProcessId: json['transferProcessId'],\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n state: TransferProcessStateFromJSON(json['state']),\n errorMessage:\n json['errorMessage'] == null ? undefined : json['errorMessage'],\n };\n}\n\nexport function ContractAgreementTransferProcessToJSON(\n json: any,\n): ContractAgreementTransferProcess {\n return ContractAgreementTransferProcessToJSONTyped(json, false);\n}\n\nexport function ContractAgreementTransferProcessToJSONTyped(\n value?: ContractAgreementTransferProcess | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n transferProcessId: value['transferProcessId'],\n lastUpdatedDate: value['lastUpdatedDate'].toISOString(),\n state: TransferProcessStateToJSON(value['state']),\n errorMessage: value['errorMessage'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The contract termination status\n * @export\n */\nexport const ContractTerminationStatus = {\n Ongoing: 'ONGOING',\n Terminated: 'TERMINATED',\n} as const;\nexport type ContractTerminationStatus =\n (typeof ContractTerminationStatus)[keyof typeof ContractTerminationStatus];\n\nexport function instanceOfContractTerminationStatus(value: any): boolean {\n for (const key in ContractTerminationStatus) {\n if (\n Object.prototype.hasOwnProperty.call(ContractTerminationStatus, key)\n ) {\n if (\n ContractTerminationStatus[\n key as keyof typeof ContractTerminationStatus\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function ContractTerminationStatusFromJSON(\n json: any,\n): ContractTerminationStatus {\n return ContractTerminationStatusFromJSONTyped(json, false);\n}\n\nexport function ContractTerminationStatusFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminationStatus {\n return json as ContractTerminationStatus;\n}\n\nexport function ContractTerminationStatusToJSON(\n value?: ContractTerminationStatus | null,\n): any {\n return value as any;\n}\n\nexport function ContractTerminationStatusToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): ContractTerminationStatus {\n return value as ContractTerminationStatus;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Type-Safe ODRL Policy Operator as supported by the sovity product landscape\n * @export\n */\nexport const OperatorDto = {\n Eq: 'EQ',\n Neq: 'NEQ',\n Gt: 'GT',\n Geq: 'GEQ',\n Lt: 'LT',\n Leq: 'LEQ',\n In: 'IN',\n HasPart: 'HAS_PART',\n IsA: 'IS_A',\n IsAllOf: 'IS_ALL_OF',\n IsAnyOf: 'IS_ANY_OF',\n IsNoneOf: 'IS_NONE_OF',\n} as const;\nexport type OperatorDto = (typeof OperatorDto)[keyof typeof OperatorDto];\n\nexport function instanceOfOperatorDto(value: any): boolean {\n for (const key in OperatorDto) {\n if (Object.prototype.hasOwnProperty.call(OperatorDto, key)) {\n if (OperatorDto[key as keyof typeof OperatorDto] === value) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function OperatorDtoFromJSON(json: any): OperatorDto {\n return OperatorDtoFromJSONTyped(json, false);\n}\n\nexport function OperatorDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): OperatorDto {\n return json as OperatorDto;\n}\n\nexport function OperatorDtoToJSON(value?: OperatorDto | null): any {\n return value as any;\n}\n\nexport function OperatorDtoToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): OperatorDto {\n return value as OperatorDto;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported Types of values for the right hand side of an expression\n * @export\n */\nexport const UiPolicyLiteralType = {\n String: 'STRING',\n StringList: 'STRING_LIST',\n Json: 'JSON',\n} as const;\nexport type UiPolicyLiteralType =\n (typeof UiPolicyLiteralType)[keyof typeof UiPolicyLiteralType];\n\nexport function instanceOfUiPolicyLiteralType(value: any): boolean {\n for (const key in UiPolicyLiteralType) {\n if (Object.prototype.hasOwnProperty.call(UiPolicyLiteralType, key)) {\n if (\n UiPolicyLiteralType[key as keyof typeof UiPolicyLiteralType] ===\n value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function UiPolicyLiteralTypeFromJSON(json: any): UiPolicyLiteralType {\n return UiPolicyLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function UiPolicyLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyLiteralType {\n return json as UiPolicyLiteralType;\n}\n\nexport function UiPolicyLiteralTypeToJSON(\n value?: UiPolicyLiteralType | null,\n): any {\n return value as any;\n}\n\nexport function UiPolicyLiteralTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): UiPolicyLiteralType {\n return value as UiPolicyLiteralType;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyLiteralType} from './UiPolicyLiteralType';\nimport {\n UiPolicyLiteralTypeFromJSON,\n UiPolicyLiteralTypeFromJSONTyped,\n UiPolicyLiteralTypeToJSON,\n UiPolicyLiteralTypeToJSONTyped,\n} from './UiPolicyLiteralType';\n\n/**\n * Sum type: A String, a list of Strings or a generic JSON value.\n * @export\n * @interface UiPolicyLiteral\n */\nexport interface UiPolicyLiteral {\n /**\n * Value Type\n * @type {UiPolicyLiteralType}\n * @memberof UiPolicyLiteral\n */\n type: UiPolicyLiteralType;\n /**\n * Only for types STRING and JSON\n * @type {string}\n * @memberof UiPolicyLiteral\n */\n value?: string;\n /**\n * Only for type STRING_LIST\n * @type {Array<string>}\n * @memberof UiPolicyLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiPolicyLiteral interface.\n */\nexport function instanceOfUiPolicyLiteral(\n value: any,\n): value is UiPolicyLiteral {\n if (!('type' in value) || value['type'] === undefined) return false;\n return true;\n}\n\nexport function UiPolicyLiteralFromJSON(json: any): UiPolicyLiteral {\n return UiPolicyLiteralFromJSONTyped(json, false);\n}\n\nexport function UiPolicyLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyLiteral {\n if (json == null) {\n return json;\n }\n return {\n type: UiPolicyLiteralTypeFromJSON(json['type']),\n value: json['value'] == null ? undefined : json['value'],\n valueList: json['valueList'] == null ? undefined : json['valueList'],\n };\n}\n\nexport function UiPolicyLiteralToJSON(json: any): UiPolicyLiteral {\n return UiPolicyLiteralToJSONTyped(json, false);\n}\n\nexport function UiPolicyLiteralToJSONTyped(\n value?: UiPolicyLiteral | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n type: UiPolicyLiteralTypeToJSON(value['type']),\n value: value['value'],\n valueList: value['valueList'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {OperatorDto} from './OperatorDto';\nimport {\n OperatorDtoFromJSON,\n OperatorDtoFromJSONTyped,\n OperatorDtoToJSON,\n OperatorDtoToJSONTyped,\n} from './OperatorDto';\nimport type {UiPolicyLiteral} from './UiPolicyLiteral';\nimport {\n UiPolicyLiteralFromJSON,\n UiPolicyLiteralFromJSONTyped,\n UiPolicyLiteralToJSON,\n UiPolicyLiteralToJSONTyped,\n} from './UiPolicyLiteral';\n\n/**\n * ODRL AtomicConstraint as supported by the sovity product landscape. For example 'a EQ b', 'c IN [d, e, f]'\n * @export\n * @interface UiPolicyConstraint\n */\nexport interface UiPolicyConstraint {\n /**\n * Left side of the expression.\n * @type {string}\n * @memberof UiPolicyConstraint\n */\n left: string;\n /**\n * Operator, e.g. EQ\n * @type {OperatorDto}\n * @memberof UiPolicyConstraint\n */\n operator: OperatorDto;\n /**\n * Right side of the expression\n * @type {UiPolicyLiteral}\n * @memberof UiPolicyConstraint\n */\n right: UiPolicyLiteral;\n}\n\n/**\n * Check if a given object implements the UiPolicyConstraint interface.\n */\nexport function instanceOfUiPolicyConstraint(\n value: any,\n): value is UiPolicyConstraint {\n if (!('left' in value) || value['left'] === undefined) return false;\n if (!('operator' in value) || value['operator'] === undefined) return false;\n if (!('right' in value) || value['right'] === undefined) return false;\n return true;\n}\n\nexport function UiPolicyConstraintFromJSON(json: any): UiPolicyConstraint {\n return UiPolicyConstraintFromJSONTyped(json, false);\n}\n\nexport function UiPolicyConstraintFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyConstraint {\n if (json == null) {\n return json;\n }\n return {\n left: json['left'],\n operator: OperatorDtoFromJSON(json['operator']),\n right: UiPolicyLiteralFromJSON(json['right']),\n };\n}\n\nexport function UiPolicyConstraintToJSON(json: any): UiPolicyConstraint {\n return UiPolicyConstraintToJSONTyped(json, false);\n}\n\nexport function UiPolicyConstraintToJSONTyped(\n value?: UiPolicyConstraint | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n left: value['left'],\n operator: OperatorDtoToJSON(value['operator']),\n right: UiPolicyLiteralToJSON(value['right']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Ui Policy Expression types:\n * * `CONSTRAINT` - Expression 'a=b'\n * * `AND` - Conjunction of several expressions. Evaluates to true iff all child expressions are true.\n * * `OR` - Disjunction of several expressions. Evaluates to true iff at least one child expression is true.\n * * `XONE` - XONE operation. Evaluates to true iff exactly one child expression is true.\n *\n * @export\n */\nexport const UiPolicyExpressionType = {\n Empty: 'EMPTY',\n Constraint: 'CONSTRAINT',\n And: 'AND',\n Or: 'OR',\n Xone: 'XONE',\n} as const;\nexport type UiPolicyExpressionType =\n (typeof UiPolicyExpressionType)[keyof typeof UiPolicyExpressionType];\n\nexport function instanceOfUiPolicyExpressionType(value: any): boolean {\n for (const key in UiPolicyExpressionType) {\n if (Object.prototype.hasOwnProperty.call(UiPolicyExpressionType, key)) {\n if (\n UiPolicyExpressionType[\n key as keyof typeof UiPolicyExpressionType\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function UiPolicyExpressionTypeFromJSON(\n json: any,\n): UiPolicyExpressionType {\n return UiPolicyExpressionTypeFromJSONTyped(json, false);\n}\n\nexport function UiPolicyExpressionTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyExpressionType {\n return json as UiPolicyExpressionType;\n}\n\nexport function UiPolicyExpressionTypeToJSON(\n value?: UiPolicyExpressionType | null,\n): any {\n return value as any;\n}\n\nexport function UiPolicyExpressionTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): UiPolicyExpressionType {\n return value as UiPolicyExpressionType;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyConstraint} from './UiPolicyConstraint';\nimport {\n UiPolicyConstraintFromJSON,\n UiPolicyConstraintFromJSONTyped,\n UiPolicyConstraintToJSON,\n UiPolicyConstraintToJSONTyped,\n} from './UiPolicyConstraint';\nimport type {UiPolicyExpressionType} from './UiPolicyExpressionType';\nimport {\n UiPolicyExpressionTypeFromJSON,\n UiPolicyExpressionTypeFromJSONTyped,\n UiPolicyExpressionTypeToJSON,\n UiPolicyExpressionTypeToJSONTyped,\n} from './UiPolicyExpressionType';\n\n/**\n * ODRL constraint as supported by the sovity product landscape\n * @export\n * @interface UiPolicyExpression\n */\nexport interface UiPolicyExpression {\n /**\n * Expression type\n * @type {UiPolicyExpressionType}\n * @memberof UiPolicyExpression\n */\n type: UiPolicyExpressionType;\n /**\n * Only for types AND, OR, XONE. List of sub-expressions to be evaluated according to the expressionType.\n * @type {Array<UiPolicyExpression>}\n * @memberof UiPolicyExpression\n */\n expressions?: Array<UiPolicyExpression>;\n /**\n * Only for type CONSTRAINT. A single constraint.\n * @type {UiPolicyConstraint}\n * @memberof UiPolicyExpression\n */\n constraint?: UiPolicyConstraint;\n}\n\n/**\n * Check if a given object implements the UiPolicyExpression interface.\n */\nexport function instanceOfUiPolicyExpression(\n value: any,\n): value is UiPolicyExpression {\n if (!('type' in value) || value['type'] === undefined) return false;\n return true;\n}\n\nexport function UiPolicyExpressionFromJSON(json: any): UiPolicyExpression {\n return UiPolicyExpressionFromJSONTyped(json, false);\n}\n\nexport function UiPolicyExpressionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyExpression {\n if (json == null) {\n return json;\n }\n return {\n type: UiPolicyExpressionTypeFromJSON(json['type']),\n expressions:\n json['expressions'] == null\n ? undefined\n : (json['expressions'] as Array<any>).map(\n UiPolicyExpressionFromJSON,\n ),\n constraint:\n json['constraint'] == null\n ? undefined\n : UiPolicyConstraintFromJSON(json['constraint']),\n };\n}\n\nexport function UiPolicyExpressionToJSON(json: any): UiPolicyExpression {\n return UiPolicyExpressionToJSONTyped(json, false);\n}\n\nexport function UiPolicyExpressionToJSONTyped(\n value?: UiPolicyExpression | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n type: UiPolicyExpressionTypeToJSON(value['type']),\n expressions:\n value['expressions'] == null\n ? undefined\n : (value['expressions'] as Array<any>).map(\n UiPolicyExpressionToJSON,\n ),\n constraint: UiPolicyConstraintToJSON(value['constraint']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n UiPolicyExpressionToJSONTyped,\n} from './UiPolicyExpression';\n\n/**\n * Type-Safe OpenAPI generator friendly ODLR policy subset as endorsed by sovity.\n * @export\n * @interface UiPolicy\n */\nexport interface UiPolicy {\n /**\n * EDC Policy JSON-LD. This is required because the EDC requires the full policy when initiating contract negotiations.\n * @type {string}\n * @memberof UiPolicy\n */\n policyJsonLd: string;\n /**\n * Policy expression\n * @type {UiPolicyExpression}\n * @memberof UiPolicy\n */\n expression?: UiPolicyExpression;\n /**\n * When trying to reduce the policy JSON-LD to our opinionated subset of functionalities, many fields and functionalities are unsupported. Should any discrepancies occur during the mapping process, we'll collect them here.\n * @type {Array<string>}\n * @memberof UiPolicy\n */\n errors: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiPolicy interface.\n */\nexport function instanceOfUiPolicy(value: any): value is UiPolicy {\n if (!('policyJsonLd' in value) || value['policyJsonLd'] === undefined)\n return false;\n if (!('errors' in value) || value['errors'] === undefined) return false;\n return true;\n}\n\nexport function UiPolicyFromJSON(json: any): UiPolicy {\n return UiPolicyFromJSONTyped(json, false);\n}\n\nexport function UiPolicyFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicy {\n if (json == null) {\n return json;\n }\n return {\n policyJsonLd: json['policyJsonLd'],\n expression:\n json['expression'] == null\n ? undefined\n : UiPolicyExpressionFromJSON(json['expression']),\n errors: json['errors'],\n };\n}\n\nexport function UiPolicyToJSON(json: any): UiPolicy {\n return UiPolicyToJSONTyped(json, false);\n}\n\nexport function UiPolicyToJSONTyped(\n value?: UiPolicy | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n policyJsonLd: value['policyJsonLd'],\n expression: UiPolicyExpressionToJSON(value['expression']),\n errors: value['errors'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractAgreementDirection} from './ContractAgreementDirection';\nimport {\n ContractAgreementDirectionFromJSON,\n ContractAgreementDirectionFromJSONTyped,\n ContractAgreementDirectionToJSON,\n ContractAgreementDirectionToJSONTyped,\n} from './ContractAgreementDirection';\nimport type {ContractAgreementTerminationInfo} from './ContractAgreementTerminationInfo';\nimport {\n ContractAgreementTerminationInfoFromJSON,\n ContractAgreementTerminationInfoFromJSONTyped,\n ContractAgreementTerminationInfoToJSON,\n ContractAgreementTerminationInfoToJSONTyped,\n} from './ContractAgreementTerminationInfo';\nimport type {ContractAgreementTransferProcess} from './ContractAgreementTransferProcess';\nimport {\n ContractAgreementTransferProcessFromJSON,\n ContractAgreementTransferProcessFromJSONTyped,\n ContractAgreementTransferProcessToJSON,\n ContractAgreementTransferProcessToJSONTyped,\n} from './ContractAgreementTransferProcess';\nimport type {ContractTerminationStatus} from './ContractTerminationStatus';\nimport {\n ContractTerminationStatusFromJSON,\n ContractTerminationStatusFromJSONTyped,\n ContractTerminationStatusToJSON,\n ContractTerminationStatusToJSONTyped,\n} from './ContractTerminationStatus';\nimport type {UiAsset} from './UiAsset';\nimport {\n UiAssetFromJSON,\n UiAssetFromJSONTyped,\n UiAssetToJSON,\n UiAssetToJSONTyped,\n} from './UiAsset';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n UiPolicyToJSONTyped,\n} from './UiPolicy';\n\n/**\n * Contract Agreement for Contract Agreement Page\n * @export\n * @interface ContractAgreementCard\n */\nexport interface ContractAgreementCard {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n contractAgreementId: string;\n /**\n * Contract Negotiation ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n contractNegotiationId: string;\n /**\n * Incoming vs Outgoing\n * @type {ContractAgreementDirection}\n * @memberof ContractAgreementCard\n */\n direction: ContractAgreementDirection;\n /**\n * Other Connector's Endpoint\n * @type {string}\n * @memberof ContractAgreementCard\n */\n counterPartyAddress: string;\n /**\n * Other Connector's ID\n * @type {string}\n * @memberof ContractAgreementCard\n */\n counterPartyId: string;\n /**\n * Contract Agreements Signing Date\n * @type {Date}\n * @memberof ContractAgreementCard\n */\n contractSigningDate: Date;\n /**\n * Asset details\n * @type {UiAsset}\n * @memberof ContractAgreementCard\n */\n asset: UiAsset;\n /**\n * Contract Policy\n * @type {UiPolicy}\n * @memberof ContractAgreementCard\n */\n contractPolicy: UiPolicy;\n /**\n * Contract Agreement's Transfer Processes\n * @type {Array<ContractAgreementTransferProcess>}\n * @memberof ContractAgreementCard\n */\n transferProcesses: Array<ContractAgreementTransferProcess>;\n /**\n * Contract Agreement's Termination Status\n * @type {ContractTerminationStatus}\n * @memberof ContractAgreementCard\n */\n terminationStatus: ContractTerminationStatus;\n /**\n * Contract Agreement's Metadata\n * @type {ContractAgreementTerminationInfo}\n * @memberof ContractAgreementCard\n */\n terminationInformation?: ContractAgreementTerminationInfo;\n}\n\n/**\n * Check if a given object implements the ContractAgreementCard interface.\n */\nexport function instanceOfContractAgreementCard(\n value: any,\n): value is ContractAgreementCard {\n if (\n !('contractAgreementId' in value) ||\n value['contractAgreementId'] === undefined\n )\n return false;\n if (\n !('contractNegotiationId' in value) ||\n value['contractNegotiationId'] === undefined\n )\n return false;\n if (!('direction' in value) || value['direction'] === undefined)\n return false;\n if (\n !('counterPartyAddress' in value) ||\n value['counterPartyAddress'] === undefined\n )\n return false;\n if (!('counterPartyId' in value) || value['counterPartyId'] === undefined)\n return false;\n if (\n !('contractSigningDate' in value) ||\n value['contractSigningDate'] === undefined\n )\n return false;\n if (!('asset' in value) || value['asset'] === undefined) return false;\n if (!('contractPolicy' in value) || value['contractPolicy'] === undefined)\n return false;\n if (\n !('transferProcesses' in value) ||\n value['transferProcesses'] === undefined\n )\n return false;\n if (\n !('terminationStatus' in value) ||\n value['terminationStatus'] === undefined\n )\n return false;\n return true;\n}\n\nexport function ContractAgreementCardFromJSON(\n json: any,\n): ContractAgreementCard {\n return ContractAgreementCardFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementCardFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementCard {\n if (json == null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n contractNegotiationId: json['contractNegotiationId'],\n direction: ContractAgreementDirectionFromJSON(json['direction']),\n counterPartyAddress: json['counterPartyAddress'],\n counterPartyId: json['counterPartyId'],\n contractSigningDate: new Date(json['contractSigningDate']),\n asset: UiAssetFromJSON(json['asset']),\n contractPolicy: UiPolicyFromJSON(json['contractPolicy']),\n transferProcesses: (json['transferProcesses'] as Array<any>).map(\n ContractAgreementTransferProcessFromJSON,\n ),\n terminationStatus: ContractTerminationStatusFromJSON(\n json['terminationStatus'],\n ),\n terminationInformation:\n json['terminationInformation'] == null\n ? undefined\n : ContractAgreementTerminationInfoFromJSON(\n json['terminationInformation'],\n ),\n };\n}\n\nexport function ContractAgreementCardToJSON(json: any): ContractAgreementCard {\n return ContractAgreementCardToJSONTyped(json, false);\n}\n\nexport function ContractAgreementCardToJSONTyped(\n value?: ContractAgreementCard | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractAgreementId: value['contractAgreementId'],\n contractNegotiationId: value['contractNegotiationId'],\n direction: ContractAgreementDirectionToJSON(value['direction']),\n counterPartyAddress: value['counterPartyAddress'],\n counterPartyId: value['counterPartyId'],\n contractSigningDate: value['contractSigningDate'].toISOString(),\n asset: UiAssetToJSON(value['asset']),\n contractPolicy: UiPolicyToJSON(value['contractPolicy']),\n transferProcesses: (value['transferProcesses'] as Array<any>).map(\n ContractAgreementTransferProcessToJSON,\n ),\n terminationStatus: ContractTerminationStatusToJSON(\n value['terminationStatus'],\n ),\n terminationInformation: ContractAgreementTerminationInfoToJSON(\n value['terminationInformation'],\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractAgreementCard} from './ContractAgreementCard';\nimport {\n ContractAgreementCardFromJSON,\n ContractAgreementCardFromJSONTyped,\n ContractAgreementCardToJSON,\n ContractAgreementCardToJSONTyped,\n} from './ContractAgreementCard';\n\n/**\n * Data as required by the UI's Contract Agreement Page\n * @export\n * @interface ContractAgreementPage\n */\nexport interface ContractAgreementPage {\n /**\n * Contract Agreement Cards\n * @type {Array<ContractAgreementCard>}\n * @memberof ContractAgreementPage\n */\n contractAgreements: Array<ContractAgreementCard>;\n}\n\n/**\n * Check if a given object implements the ContractAgreementPage interface.\n */\nexport function instanceOfContractAgreementPage(\n value: any,\n): value is ContractAgreementPage {\n if (\n !('contractAgreements' in value) ||\n value['contractAgreements'] === undefined\n )\n return false;\n return true;\n}\n\nexport function ContractAgreementPageFromJSON(\n json: any,\n): ContractAgreementPage {\n return ContractAgreementPageFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementPage {\n if (json == null) {\n return json;\n }\n return {\n contractAgreements: (json['contractAgreements'] as Array<any>).map(\n ContractAgreementCardFromJSON,\n ),\n };\n}\n\nexport function ContractAgreementPageToJSON(json: any): ContractAgreementPage {\n return ContractAgreementPageToJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageToJSONTyped(\n value?: ContractAgreementPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractAgreements: (value['contractAgreements'] as Array<any>).map(\n ContractAgreementCardToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractTerminationStatus} from './ContractTerminationStatus';\nimport {\n ContractTerminationStatusFromJSON,\n ContractTerminationStatusFromJSONTyped,\n ContractTerminationStatusToJSON,\n ContractTerminationStatusToJSONTyped,\n} from './ContractTerminationStatus';\n\n/**\n * Filters for querying a Contract Contract Agreement Page\n * @export\n * @interface ContractAgreementPageQuery\n */\nexport interface ContractAgreementPageQuery {\n /**\n * Optionally filter the resulting contract agreements by their termination status.\n * @type {ContractTerminationStatus}\n * @memberof ContractAgreementPageQuery\n */\n terminationStatus?: ContractTerminationStatus;\n}\n\n/**\n * Check if a given object implements the ContractAgreementPageQuery interface.\n */\nexport function instanceOfContractAgreementPageQuery(\n value: any,\n): value is ContractAgreementPageQuery {\n return true;\n}\n\nexport function ContractAgreementPageQueryFromJSON(\n json: any,\n): ContractAgreementPageQuery {\n return ContractAgreementPageQueryFromJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageQueryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractAgreementPageQuery {\n if (json == null) {\n return json;\n }\n return {\n terminationStatus:\n json['terminationStatus'] == null\n ? undefined\n : ContractTerminationStatusFromJSON(json['terminationStatus']),\n };\n}\n\nexport function ContractAgreementPageQueryToJSON(\n json: any,\n): ContractAgreementPageQuery {\n return ContractAgreementPageQueryToJSONTyped(json, false);\n}\n\nexport function ContractAgreementPageQueryToJSONTyped(\n value?: ContractAgreementPageQuery | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n terminationStatus: ContractTerminationStatusToJSON(\n value['terminationStatus'],\n ),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Value type of an asset selector criterion right expression value\n * @export\n */\nexport const UiCriterionLiteralType = {\n Value: 'VALUE',\n ValueList: 'VALUE_LIST',\n} as const;\nexport type UiCriterionLiteralType =\n (typeof UiCriterionLiteralType)[keyof typeof UiCriterionLiteralType];\n\nexport function instanceOfUiCriterionLiteralType(value: any): boolean {\n for (const key in UiCriterionLiteralType) {\n if (Object.prototype.hasOwnProperty.call(UiCriterionLiteralType, key)) {\n if (\n UiCriterionLiteralType[\n key as keyof typeof UiCriterionLiteralType\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function UiCriterionLiteralTypeFromJSON(\n json: any,\n): UiCriterionLiteralType {\n return UiCriterionLiteralTypeFromJSONTyped(json, false);\n}\n\nexport function UiCriterionLiteralTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionLiteralType {\n return json as UiCriterionLiteralType;\n}\n\nexport function UiCriterionLiteralTypeToJSON(\n value?: UiCriterionLiteralType | null,\n): any {\n return value as any;\n}\n\nexport function UiCriterionLiteralTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): UiCriterionLiteralType {\n return value as UiCriterionLiteralType;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiCriterionLiteralType} from './UiCriterionLiteralType';\nimport {\n UiCriterionLiteralTypeFromJSON,\n UiCriterionLiteralTypeFromJSONTyped,\n UiCriterionLiteralTypeToJSON,\n UiCriterionLiteralTypeToJSONTyped,\n} from './UiCriterionLiteralType';\n\n/**\n * Criterion Literal\n * @export\n * @interface UiCriterionLiteral\n */\nexport interface UiCriterionLiteral {\n /**\n *\n * @type {UiCriterionLiteralType}\n * @memberof UiCriterionLiteral\n */\n type?: UiCriterionLiteralType;\n /**\n * Only for type VALUE. The single value representation.\n * @type {string}\n * @memberof UiCriterionLiteral\n */\n value?: string;\n /**\n * Only for type VALUE_LIST. List of values, e.g. for the IN-Operator.\n * @type {Array<string>}\n * @memberof UiCriterionLiteral\n */\n valueList?: Array<string>;\n}\n\n/**\n * Check if a given object implements the UiCriterionLiteral interface.\n */\nexport function instanceOfUiCriterionLiteral(\n value: any,\n): value is UiCriterionLiteral {\n return true;\n}\n\nexport function UiCriterionLiteralFromJSON(json: any): UiCriterionLiteral {\n return UiCriterionLiteralFromJSONTyped(json, false);\n}\n\nexport function UiCriterionLiteralFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionLiteral {\n if (json == null) {\n return json;\n }\n return {\n type:\n json['type'] == null\n ? undefined\n : UiCriterionLiteralTypeFromJSON(json['type']),\n value: json['value'] == null ? undefined : json['value'],\n valueList: json['valueList'] == null ? undefined : json['valueList'],\n };\n}\n\nexport function UiCriterionLiteralToJSON(json: any): UiCriterionLiteral {\n return UiCriterionLiteralToJSONTyped(json, false);\n}\n\nexport function UiCriterionLiteralToJSONTyped(\n value?: UiCriterionLiteral | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n type: UiCriterionLiteralTypeToJSON(value['type']),\n value: value['value'],\n valueList: value['valueList'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Operator for constraints\n * @export\n */\nexport const UiCriterionOperator = {\n Eq: 'EQ',\n In: 'IN',\n Like: 'LIKE',\n} as const;\nexport type UiCriterionOperator =\n (typeof UiCriterionOperator)[keyof typeof UiCriterionOperator];\n\nexport function instanceOfUiCriterionOperator(value: any): boolean {\n for (const key in UiCriterionOperator) {\n if (Object.prototype.hasOwnProperty.call(UiCriterionOperator, key)) {\n if (\n UiCriterionOperator[key as keyof typeof UiCriterionOperator] ===\n value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function UiCriterionOperatorFromJSON(json: any): UiCriterionOperator {\n return UiCriterionOperatorFromJSONTyped(json, false);\n}\n\nexport function UiCriterionOperatorFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterionOperator {\n return json as UiCriterionOperator;\n}\n\nexport function UiCriterionOperatorToJSON(\n value?: UiCriterionOperator | null,\n): any {\n return value as any;\n}\n\nexport function UiCriterionOperatorToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): UiCriterionOperator {\n return value as UiCriterionOperator;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiCriterionLiteral} from './UiCriterionLiteral';\nimport {\n UiCriterionLiteralFromJSON,\n UiCriterionLiteralFromJSONTyped,\n UiCriterionLiteralToJSON,\n UiCriterionLiteralToJSONTyped,\n} from './UiCriterionLiteral';\nimport type {UiCriterionOperator} from './UiCriterionOperator';\nimport {\n UiCriterionOperatorFromJSON,\n UiCriterionOperatorFromJSONTyped,\n UiCriterionOperatorToJSON,\n UiCriterionOperatorToJSONTyped,\n} from './UiCriterionOperator';\n\n/**\n * Contract Definition Criterion as supported by the UI\n * @export\n * @interface UiCriterion\n */\nexport interface UiCriterion {\n /**\n * Left Operand\n * @type {string}\n * @memberof UiCriterion\n */\n operandLeft: string;\n /**\n * Operator\n * @type {UiCriterionOperator}\n * @memberof UiCriterion\n */\n operator: UiCriterionOperator;\n /**\n * Right Operand\n * @type {UiCriterionLiteral}\n * @memberof UiCriterion\n */\n operandRight: UiCriterionLiteral;\n}\n\n/**\n * Check if a given object implements the UiCriterion interface.\n */\nexport function instanceOfUiCriterion(value: any): value is UiCriterion {\n if (!('operandLeft' in value) || value['operandLeft'] === undefined)\n return false;\n if (!('operator' in value) || value['operator'] === undefined) return false;\n if (!('operandRight' in value) || value['operandRight'] === undefined)\n return false;\n return true;\n}\n\nexport function UiCriterionFromJSON(json: any): UiCriterion {\n return UiCriterionFromJSONTyped(json, false);\n}\n\nexport function UiCriterionFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiCriterion {\n if (json == null) {\n return json;\n }\n return {\n operandLeft: json['operandLeft'],\n operator: UiCriterionOperatorFromJSON(json['operator']),\n operandRight: UiCriterionLiteralFromJSON(json['operandRight']),\n };\n}\n\nexport function UiCriterionToJSON(json: any): UiCriterion {\n return UiCriterionToJSONTyped(json, false);\n}\n\nexport function UiCriterionToJSONTyped(\n value?: UiCriterion | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n operandLeft: value['operandLeft'],\n operator: UiCriterionOperatorToJSON(value['operator']),\n operandRight: UiCriterionLiteralToJSON(value['operandRight']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiCriterion} from './UiCriterion';\nimport {\n UiCriterionFromJSON,\n UiCriterionFromJSONTyped,\n UiCriterionToJSON,\n UiCriterionToJSONTyped,\n} from './UiCriterion';\n\n/**\n * Contract Definition List Entry for Contract Definition Page\n * @export\n * @interface ContractDefinitionEntry\n */\nexport interface ContractDefinitionEntry {\n /**\n * Contract Definition ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n contractDefinitionId: string;\n /**\n * Access Policy ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n accessPolicyId: string;\n /**\n * Contract Policy ID\n * @type {string}\n * @memberof ContractDefinitionEntry\n */\n contractPolicyId: string;\n /**\n * Criteria for the contract\n * @type {Array<UiCriterion>}\n * @memberof ContractDefinitionEntry\n */\n assetSelector: Array<UiCriterion>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionEntry interface.\n */\nexport function instanceOfContractDefinitionEntry(\n value: any,\n): value is ContractDefinitionEntry {\n if (\n !('contractDefinitionId' in value) ||\n value['contractDefinitionId'] === undefined\n )\n return false;\n if (!('accessPolicyId' in value) || value['accessPolicyId'] === undefined)\n return false;\n if (\n !('contractPolicyId' in value) ||\n value['contractPolicyId'] === undefined\n )\n return false;\n if (!('assetSelector' in value) || value['assetSelector'] === undefined)\n return false;\n return true;\n}\n\nexport function ContractDefinitionEntryFromJSON(\n json: any,\n): ContractDefinitionEntry {\n return ContractDefinitionEntryFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionEntryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionEntry {\n if (json == null) {\n return json;\n }\n return {\n contractDefinitionId: json['contractDefinitionId'],\n accessPolicyId: json['accessPolicyId'],\n contractPolicyId: json['contractPolicyId'],\n assetSelector: (json['assetSelector'] as Array<any>).map(\n UiCriterionFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionEntryToJSON(\n json: any,\n): ContractDefinitionEntry {\n return ContractDefinitionEntryToJSONTyped(json, false);\n}\n\nexport function ContractDefinitionEntryToJSONTyped(\n value?: ContractDefinitionEntry | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractDefinitionId: value['contractDefinitionId'],\n accessPolicyId: value['accessPolicyId'],\n contractPolicyId: value['contractPolicyId'],\n assetSelector: (value['assetSelector'] as Array<any>).map(\n UiCriterionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractDefinitionEntry} from './ContractDefinitionEntry';\nimport {\n ContractDefinitionEntryFromJSON,\n ContractDefinitionEntryFromJSONTyped,\n ContractDefinitionEntryToJSON,\n ContractDefinitionEntryToJSONTyped,\n} from './ContractDefinitionEntry';\n\n/**\n *\n * @export\n * @interface ContractDefinitionPage\n */\nexport interface ContractDefinitionPage {\n /**\n * Contract Definition Entries\n * @type {Array<ContractDefinitionEntry>}\n * @memberof ContractDefinitionPage\n */\n contractDefinitions: Array<ContractDefinitionEntry>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionPage interface.\n */\nexport function instanceOfContractDefinitionPage(\n value: any,\n): value is ContractDefinitionPage {\n if (\n !('contractDefinitions' in value) ||\n value['contractDefinitions'] === undefined\n )\n return false;\n return true;\n}\n\nexport function ContractDefinitionPageFromJSON(\n json: any,\n): ContractDefinitionPage {\n return ContractDefinitionPageFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionPage {\n if (json == null) {\n return json;\n }\n return {\n contractDefinitions: (json['contractDefinitions'] as Array<any>).map(\n ContractDefinitionEntryFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionPageToJSON(\n json: any,\n): ContractDefinitionPage {\n return ContractDefinitionPageToJSONTyped(json, false);\n}\n\nexport function ContractDefinitionPageToJSONTyped(\n value?: ContractDefinitionPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractDefinitions: (value['contractDefinitions'] as Array<any>).map(\n ContractDefinitionEntryToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiCriterion} from './UiCriterion';\nimport {\n UiCriterionFromJSON,\n UiCriterionFromJSONTyped,\n UiCriterionToJSON,\n UiCriterionToJSONTyped,\n} from './UiCriterion';\n\n/**\n * Data for creating a Contract Definition\n * @export\n * @interface ContractDefinitionRequest\n */\nexport interface ContractDefinitionRequest {\n /**\n * Contract Definition ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n contractDefinitionId: string;\n /**\n * Contract Policy ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n contractPolicyId: string;\n /**\n * Access Policy ID\n * @type {string}\n * @memberof ContractDefinitionRequest\n */\n accessPolicyId: string;\n /**\n * List of Criteria for the contract\n * @type {Array<UiCriterion>}\n * @memberof ContractDefinitionRequest\n */\n assetSelector: Array<UiCriterion>;\n}\n\n/**\n * Check if a given object implements the ContractDefinitionRequest interface.\n */\nexport function instanceOfContractDefinitionRequest(\n value: any,\n): value is ContractDefinitionRequest {\n if (\n !('contractDefinitionId' in value) ||\n value['contractDefinitionId'] === undefined\n )\n return false;\n if (\n !('contractPolicyId' in value) ||\n value['contractPolicyId'] === undefined\n )\n return false;\n if (!('accessPolicyId' in value) || value['accessPolicyId'] === undefined)\n return false;\n if (!('assetSelector' in value) || value['assetSelector'] === undefined)\n return false;\n return true;\n}\n\nexport function ContractDefinitionRequestFromJSON(\n json: any,\n): ContractDefinitionRequest {\n return ContractDefinitionRequestFromJSONTyped(json, false);\n}\n\nexport function ContractDefinitionRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractDefinitionRequest {\n if (json == null) {\n return json;\n }\n return {\n contractDefinitionId: json['contractDefinitionId'],\n contractPolicyId: json['contractPolicyId'],\n accessPolicyId: json['accessPolicyId'],\n assetSelector: (json['assetSelector'] as Array<any>).map(\n UiCriterionFromJSON,\n ),\n };\n}\n\nexport function ContractDefinitionRequestToJSON(\n json: any,\n): ContractDefinitionRequest {\n return ContractDefinitionRequestToJSONTyped(json, false);\n}\n\nexport function ContractDefinitionRequestToJSONTyped(\n value?: ContractDefinitionRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractDefinitionId: value['contractDefinitionId'],\n contractPolicyId: value['contractPolicyId'],\n accessPolicyId: value['accessPolicyId'],\n assetSelector: (value['assetSelector'] as Array<any>).map(\n UiCriterionToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Data for initiating a Contract Negotiation\n * @export\n * @interface ContractNegotiationRequest\n */\nexport interface ContractNegotiationRequest {\n /**\n * Counter Party Id\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n counterPartyId: string;\n /**\n * Counter Party Address\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n counterPartyAddress: string;\n /**\n * Contract Offer Dto\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n contractOfferId: string;\n /**\n * Policy JsonLd\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n policyJsonLd: string;\n /**\n * Asset ID\n * @type {string}\n * @memberof ContractNegotiationRequest\n */\n assetId: string;\n}\n\n/**\n * Check if a given object implements the ContractNegotiationRequest interface.\n */\nexport function instanceOfContractNegotiationRequest(\n value: any,\n): value is ContractNegotiationRequest {\n if (!('counterPartyId' in value) || value['counterPartyId'] === undefined)\n return false;\n if (\n !('counterPartyAddress' in value) ||\n value['counterPartyAddress'] === undefined\n )\n return false;\n if (!('contractOfferId' in value) || value['contractOfferId'] === undefined)\n return false;\n if (!('policyJsonLd' in value) || value['policyJsonLd'] === undefined)\n return false;\n if (!('assetId' in value) || value['assetId'] === undefined) return false;\n return true;\n}\n\nexport function ContractNegotiationRequestFromJSON(\n json: any,\n): ContractNegotiationRequest {\n return ContractNegotiationRequestFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationRequest {\n if (json == null) {\n return json;\n }\n return {\n counterPartyId: json['counterPartyId'],\n counterPartyAddress: json['counterPartyAddress'],\n contractOfferId: json['contractOfferId'],\n policyJsonLd: json['policyJsonLd'],\n assetId: json['assetId'],\n };\n}\n\nexport function ContractNegotiationRequestToJSON(\n json: any,\n): ContractNegotiationRequest {\n return ContractNegotiationRequestToJSONTyped(json, false);\n}\n\nexport function ContractNegotiationRequestToJSONTyped(\n value?: ContractNegotiationRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n counterPartyId: value['counterPartyId'],\n counterPartyAddress: value['counterPartyAddress'],\n contractOfferId: value['contractOfferId'],\n policyJsonLd: value['policyJsonLd'],\n assetId: value['assetId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Simplified Contract Negotiation State to be used in UI\n * @export\n */\nexport const ContractNegotiationSimplifiedState = {\n InProgress: 'IN_PROGRESS',\n Agreed: 'AGREED',\n Terminated: 'TERMINATED',\n} as const;\nexport type ContractNegotiationSimplifiedState =\n (typeof ContractNegotiationSimplifiedState)[keyof typeof ContractNegotiationSimplifiedState];\n\nexport function instanceOfContractNegotiationSimplifiedState(\n value: any,\n): boolean {\n for (const key in ContractNegotiationSimplifiedState) {\n if (\n Object.prototype.hasOwnProperty.call(\n ContractNegotiationSimplifiedState,\n key,\n )\n ) {\n if (\n ContractNegotiationSimplifiedState[\n key as keyof typeof ContractNegotiationSimplifiedState\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function ContractNegotiationSimplifiedStateFromJSON(\n json: any,\n): ContractNegotiationSimplifiedState {\n return ContractNegotiationSimplifiedStateFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationSimplifiedStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationSimplifiedState {\n return json as ContractNegotiationSimplifiedState;\n}\n\nexport function ContractNegotiationSimplifiedStateToJSON(\n value?: ContractNegotiationSimplifiedState | null,\n): any {\n return value as any;\n}\n\nexport function ContractNegotiationSimplifiedStateToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationSimplifiedState {\n return value as ContractNegotiationSimplifiedState;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractNegotiationSimplifiedState} from './ContractNegotiationSimplifiedState';\nimport {\n ContractNegotiationSimplifiedStateFromJSON,\n ContractNegotiationSimplifiedStateFromJSONTyped,\n ContractNegotiationSimplifiedStateToJSON,\n ContractNegotiationSimplifiedStateToJSONTyped,\n} from './ContractNegotiationSimplifiedState';\n\n/**\n * Contract Negotiation State interpreted\n * @export\n * @interface ContractNegotiationState\n */\nexport interface ContractNegotiationState {\n /**\n * State name or 'CUSTOM'. State names only exist for original EDC Contract Negotiation States.\n * @type {string}\n * @memberof ContractNegotiationState\n */\n name: string;\n /**\n * State code\n * @type {number}\n * @memberof ContractNegotiationState\n */\n code: number;\n /**\n * Whether we are running, in an error state or done.\n * @type {ContractNegotiationSimplifiedState}\n * @memberof ContractNegotiationState\n */\n simplifiedState: ContractNegotiationSimplifiedState;\n}\n\n/**\n * Check if a given object implements the ContractNegotiationState interface.\n */\nexport function instanceOfContractNegotiationState(\n value: any,\n): value is ContractNegotiationState {\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('simplifiedState' in value) || value['simplifiedState'] === undefined)\n return false;\n return true;\n}\n\nexport function ContractNegotiationStateFromJSON(\n json: any,\n): ContractNegotiationState {\n return ContractNegotiationStateFromJSONTyped(json, false);\n}\n\nexport function ContractNegotiationStateFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractNegotiationState {\n if (json == null) {\n return json;\n }\n return {\n name: json['name'],\n code: json['code'],\n simplifiedState: ContractNegotiationSimplifiedStateFromJSON(\n json['simplifiedState'],\n ),\n };\n}\n\nexport function ContractNegotiationStateToJSON(\n json: any,\n): ContractNegotiationState {\n return ContractNegotiationStateToJSONTyped(json, false);\n}\n\nexport function ContractNegotiationStateToJSONTyped(\n value?: ContractNegotiationState | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n name: value['name'],\n code: value['code'],\n simplifiedState: ContractNegotiationSimplifiedStateToJSON(\n value['simplifiedState'],\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Data for terminating a Contract Agreement\n * @export\n * @interface ContractTerminationRequest\n */\nexport interface ContractTerminationRequest {\n /**\n * A user explanation to detail why the contract was terminated.\n * @type {string}\n * @memberof ContractTerminationRequest\n */\n detail: string;\n /**\n * A short reason why this contract was terminated\n * @type {string}\n * @memberof ContractTerminationRequest\n */\n reason: string;\n}\n\n/**\n * Check if a given object implements the ContractTerminationRequest interface.\n */\nexport function instanceOfContractTerminationRequest(\n value: any,\n): value is ContractTerminationRequest {\n if (!('detail' in value) || value['detail'] === undefined) return false;\n if (!('reason' in value) || value['reason'] === undefined) return false;\n return true;\n}\n\nexport function ContractTerminationRequestFromJSON(\n json: any,\n): ContractTerminationRequest {\n return ContractTerminationRequestFromJSONTyped(json, false);\n}\n\nexport function ContractTerminationRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): ContractTerminationRequest {\n if (json == null) {\n return json;\n }\n return {\n detail: json['detail'],\n reason: json['reason'],\n };\n}\n\nexport function ContractTerminationRequestToJSON(\n json: any,\n): ContractTerminationRequest {\n return ContractTerminationRequestToJSONTyped(json, false);\n}\n\nexport function ContractTerminationRequestToJSONTyped(\n value?: ContractTerminationRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n detail: value['detail'],\n reason: value['reason'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Managed Identity Wallet (MIW) Config\n * @export\n * @interface DashboardCxDidConfig\n */\nexport interface DashboardCxDidConfig {\n /**\n * My DID / edc.iam.issuer.id\n * @type {string}\n * @memberof DashboardCxDidConfig\n */\n myDid: string;\n /**\n * Wallet Token Url / edc.iam.sts.oauth.token.url\n * @type {string}\n * @memberof DashboardCxDidConfig\n */\n walletTokenUrl: string;\n /**\n * Trusted VC Issuer / edc.iam.trusted-issuer.cofinity.id\n * @type {string}\n * @memberof DashboardCxDidConfig\n */\n trustedVcIssuer: string;\n /**\n * BDRS Url / tx.iam.iatp.bdrs.server.url\n * @type {string}\n * @memberof DashboardCxDidConfig\n */\n bdrsUrl: string;\n /**\n * STS DIM Url / edc.iam.sts.dim.url\n * @type {string}\n * @memberof DashboardCxDidConfig\n */\n dimUrl: string;\n}\n\n/**\n * Check if a given object implements the DashboardCxDidConfig interface.\n */\nexport function instanceOfDashboardCxDidConfig(\n value: any,\n): value is DashboardCxDidConfig {\n if (!('myDid' in value) || value['myDid'] === undefined) return false;\n if (!('walletTokenUrl' in value) || value['walletTokenUrl'] === undefined)\n return false;\n if (!('trustedVcIssuer' in value) || value['trustedVcIssuer'] === undefined)\n return false;\n if (!('bdrsUrl' in value) || value['bdrsUrl'] === undefined) return false;\n if (!('dimUrl' in value) || value['dimUrl'] === undefined) return false;\n return true;\n}\n\nexport function DashboardCxDidConfigFromJSON(json: any): DashboardCxDidConfig {\n return DashboardCxDidConfigFromJSONTyped(json, false);\n}\n\nexport function DashboardCxDidConfigFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardCxDidConfig {\n if (json == null) {\n return json;\n }\n return {\n myDid: json['myDid'],\n walletTokenUrl: json['walletTokenUrl'],\n trustedVcIssuer: json['trustedVcIssuer'],\n bdrsUrl: json['bdrsUrl'],\n dimUrl: json['dimUrl'],\n };\n}\n\nexport function DashboardCxDidConfigToJSON(json: any): DashboardCxDidConfig {\n return DashboardCxDidConfigToJSONTyped(json, false);\n}\n\nexport function DashboardCxDidConfigToJSONTyped(\n value?: DashboardCxDidConfig | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n myDid: value['myDid'],\n walletTokenUrl: value['walletTokenUrl'],\n trustedVcIssuer: value['trustedVcIssuer'],\n bdrsUrl: value['bdrsUrl'],\n dimUrl: value['dimUrl'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * DAPS Config\n * @export\n * @interface DashboardDapsConfig\n */\nexport interface DashboardDapsConfig {\n /**\n * Your Connector's DAPS Token URL\n * @type {string}\n * @memberof DashboardDapsConfig\n */\n tokenUrl: string;\n /**\n * Your Connector's DAPS JWKS URL\n * @type {string}\n * @memberof DashboardDapsConfig\n */\n jwksUrl: string;\n}\n\n/**\n * Check if a given object implements the DashboardDapsConfig interface.\n */\nexport function instanceOfDashboardDapsConfig(\n value: any,\n): value is DashboardDapsConfig {\n if (!('tokenUrl' in value) || value['tokenUrl'] === undefined) return false;\n if (!('jwksUrl' in value) || value['jwksUrl'] === undefined) return false;\n return true;\n}\n\nexport function DashboardDapsConfigFromJSON(json: any): DashboardDapsConfig {\n return DashboardDapsConfigFromJSONTyped(json, false);\n}\n\nexport function DashboardDapsConfigFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardDapsConfig {\n if (json == null) {\n return json;\n }\n return {\n tokenUrl: json['tokenUrl'],\n jwksUrl: json['jwksUrl'],\n };\n}\n\nexport function DashboardDapsConfigToJSON(json: any): DashboardDapsConfig {\n return DashboardDapsConfigToJSONTyped(json, false);\n}\n\nexport function DashboardDapsConfigToJSONTyped(\n value?: DashboardDapsConfig | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n tokenUrl: value['tokenUrl'],\n jwksUrl: value['jwksUrl'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Number of Transfer Processes for given direction.\n * @export\n * @interface DashboardTransferAmounts\n */\nexport interface DashboardTransferAmounts {\n /**\n * Number of Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numTotal: number;\n /**\n * Number of running Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numRunning: number;\n /**\n * Number of successful Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numOk: number;\n /**\n * Number of failed Transfer Processes\n * @type {number}\n * @memberof DashboardTransferAmounts\n */\n numError: number;\n}\n\n/**\n * Check if a given object implements the DashboardTransferAmounts interface.\n */\nexport function instanceOfDashboardTransferAmounts(\n value: any,\n): value is DashboardTransferAmounts {\n if (!('numTotal' in value) || value['numTotal'] === undefined) return false;\n if (!('numRunning' in value) || value['numRunning'] === undefined)\n return false;\n if (!('numOk' in value) || value['numOk'] === undefined) return false;\n if (!('numError' in value) || value['numError'] === undefined) return false;\n return true;\n}\n\nexport function DashboardTransferAmountsFromJSON(\n json: any,\n): DashboardTransferAmounts {\n return DashboardTransferAmountsFromJSONTyped(json, false);\n}\n\nexport function DashboardTransferAmountsFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardTransferAmounts {\n if (json == null) {\n return json;\n }\n return {\n numTotal: json['numTotal'],\n numRunning: json['numRunning'],\n numOk: json['numOk'],\n numError: json['numError'],\n };\n}\n\nexport function DashboardTransferAmountsToJSON(\n json: any,\n): DashboardTransferAmounts {\n return DashboardTransferAmountsToJSONTyped(json, false);\n}\n\nexport function DashboardTransferAmountsToJSONTyped(\n value?: DashboardTransferAmounts | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n numTotal: value['numTotal'],\n numRunning: value['numRunning'],\n numOk: value['numOk'],\n numError: value['numError'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {DashboardCxDidConfig} from './DashboardCxDidConfig';\nimport {\n DashboardCxDidConfigFromJSON,\n DashboardCxDidConfigFromJSONTyped,\n DashboardCxDidConfigToJSON,\n DashboardCxDidConfigToJSONTyped,\n} from './DashboardCxDidConfig';\nimport type {DashboardDapsConfig} from './DashboardDapsConfig';\nimport {\n DashboardDapsConfigFromJSON,\n DashboardDapsConfigFromJSONTyped,\n DashboardDapsConfigToJSON,\n DashboardDapsConfigToJSONTyped,\n} from './DashboardDapsConfig';\nimport type {DashboardTransferAmounts} from './DashboardTransferAmounts';\nimport {\n DashboardTransferAmountsFromJSON,\n DashboardTransferAmountsFromJSONTyped,\n DashboardTransferAmountsToJSON,\n DashboardTransferAmountsToJSONTyped,\n} from './DashboardTransferAmounts';\n\n/**\n * Data as required by the UI's Dashboard Page\n * @export\n * @interface DashboardPage\n */\nexport interface DashboardPage {\n /**\n * Number of Assets\n * @type {number}\n * @memberof DashboardPage\n */\n numAssets: number;\n /**\n * Number of Policies\n * @type {number}\n * @memberof DashboardPage\n */\n numPolicies: number;\n /**\n * Number of Contract Definitions\n * @type {number}\n * @memberof DashboardPage\n */\n numContractDefinitions: number;\n /**\n * Number of consuming Contract Agreements\n * @type {number}\n * @memberof DashboardPage\n */\n numContractAgreementsConsuming: number;\n /**\n * Number of providing Contract Agreements\n * @type {number}\n * @memberof DashboardPage\n */\n numContractAgreementsProviding: number;\n /**\n * Consuming Transfer Process Amounts\n * @type {DashboardTransferAmounts}\n * @memberof DashboardPage\n */\n transferProcessesConsuming: DashboardTransferAmounts;\n /**\n * Providing Transfer Process Amounts\n * @type {DashboardTransferAmounts}\n * @memberof DashboardPage\n */\n transferProcessesProviding: DashboardTransferAmounts;\n /**\n * Your Connector's Connector Endpoint\n * @type {string}\n * @memberof DashboardPage\n */\n connectorEndpoint: string;\n /**\n * Your Connector's Participant ID\n * @type {string}\n * @memberof DashboardPage\n */\n connectorParticipantId: string;\n /**\n * Your Connector's Title\n * @type {string}\n * @memberof DashboardPage\n */\n connectorTitle: string;\n /**\n * Your Connector's Description\n * @type {string}\n * @memberof DashboardPage\n */\n connectorDescription: string;\n /**\n * Your Organization Homepage\n * @type {string}\n * @memberof DashboardPage\n */\n connectorCuratorUrl: string;\n /**\n * Your Organization Name\n * @type {string}\n * @memberof DashboardPage\n */\n connectorCuratorName: string;\n /**\n * Your Connector's Maintainer's Organization Homepage\n * @type {string}\n * @memberof DashboardPage\n */\n connectorMaintainerUrl: string;\n /**\n * Your Connector's Maintainer's Organization Name\n * @type {string}\n * @memberof DashboardPage\n */\n connectorMaintainerName: string;\n /**\n * Your Connector's DAPS Configuration (if present)\n * @type {DashboardDapsConfig}\n * @memberof DashboardPage\n */\n connectorDapsConfig?: DashboardDapsConfig;\n /**\n * Your Connector's Catena-X Web-DID Configuration (if present)\n * @type {DashboardCxDidConfig}\n * @memberof DashboardPage\n */\n connectorCxDidConfig?: DashboardCxDidConfig;\n}\n\n/**\n * Check if a given object implements the DashboardPage interface.\n */\nexport function instanceOfDashboardPage(value: any): value is DashboardPage {\n if (!('numAssets' in value) || value['numAssets'] === undefined)\n return false;\n if (!('numPolicies' in value) || value['numPolicies'] === undefined)\n return false;\n if (\n !('numContractDefinitions' in value) ||\n value['numContractDefinitions'] === undefined\n )\n return false;\n if (\n !('numContractAgreementsConsuming' in value) ||\n value['numContractAgreementsConsuming'] === undefined\n )\n return false;\n if (\n !('numContractAgreementsProviding' in value) ||\n value['numContractAgreementsProviding'] === undefined\n )\n return false;\n if (\n !('transferProcessesConsuming' in value) ||\n value['transferProcessesConsuming'] === undefined\n )\n return false;\n if (\n !('transferProcessesProviding' in value) ||\n value['transferProcessesProviding'] === undefined\n )\n return false;\n if (\n !('connectorEndpoint' in value) ||\n value['connectorEndpoint'] === undefined\n )\n return false;\n if (\n !('connectorParticipantId' in value) ||\n value['connectorParticipantId'] === undefined\n )\n return false;\n if (!('connectorTitle' in value) || value['connectorTitle'] === undefined)\n return false;\n if (\n !('connectorDescription' in value) ||\n value['connectorDescription'] === undefined\n )\n return false;\n if (\n !('connectorCuratorUrl' in value) ||\n value['connectorCuratorUrl'] === undefined\n )\n return false;\n if (\n !('connectorCuratorName' in value) ||\n value['connectorCuratorName'] === undefined\n )\n return false;\n if (\n !('connectorMaintainerUrl' in value) ||\n value['connectorMaintainerUrl'] === undefined\n )\n return false;\n if (\n !('connectorMaintainerName' in value) ||\n value['connectorMaintainerName'] === undefined\n )\n return false;\n return true;\n}\n\nexport function DashboardPageFromJSON(json: any): DashboardPage {\n return DashboardPageFromJSONTyped(json, false);\n}\n\nexport function DashboardPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DashboardPage {\n if (json == null) {\n return json;\n }\n return {\n numAssets: json['numAssets'],\n numPolicies: json['numPolicies'],\n numContractDefinitions: json['numContractDefinitions'],\n numContractAgreementsConsuming: json['numContractAgreementsConsuming'],\n numContractAgreementsProviding: json['numContractAgreementsProviding'],\n transferProcessesConsuming: DashboardTransferAmountsFromJSON(\n json['transferProcessesConsuming'],\n ),\n transferProcessesProviding: DashboardTransferAmountsFromJSON(\n json['transferProcessesProviding'],\n ),\n connectorEndpoint: json['connectorEndpoint'],\n connectorParticipantId: json['connectorParticipantId'],\n connectorTitle: json['connectorTitle'],\n connectorDescription: json['connectorDescription'],\n connectorCuratorUrl: json['connectorCuratorUrl'],\n connectorCuratorName: json['connectorCuratorName'],\n connectorMaintainerUrl: json['connectorMaintainerUrl'],\n connectorMaintainerName: json['connectorMaintainerName'],\n connectorDapsConfig:\n json['connectorDapsConfig'] == null\n ? undefined\n : DashboardDapsConfigFromJSON(json['connectorDapsConfig']),\n connectorCxDidConfig:\n json['connectorCxDidConfig'] == null\n ? undefined\n : DashboardCxDidConfigFromJSON(json['connectorCxDidConfig']),\n };\n}\n\nexport function DashboardPageToJSON(json: any): DashboardPage {\n return DashboardPageToJSONTyped(json, false);\n}\n\nexport function DashboardPageToJSONTyped(\n value?: DashboardPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n numAssets: value['numAssets'],\n numPolicies: value['numPolicies'],\n numContractDefinitions: value['numContractDefinitions'],\n numContractAgreementsConsuming: value['numContractAgreementsConsuming'],\n numContractAgreementsProviding: value['numContractAgreementsProviding'],\n transferProcessesConsuming: DashboardTransferAmountsToJSON(\n value['transferProcessesConsuming'],\n ),\n transferProcessesProviding: DashboardTransferAmountsToJSON(\n value['transferProcessesProviding'],\n ),\n connectorEndpoint: value['connectorEndpoint'],\n connectorParticipantId: value['connectorParticipantId'],\n connectorTitle: value['connectorTitle'],\n connectorDescription: value['connectorDescription'],\n connectorCuratorUrl: value['connectorCuratorUrl'],\n connectorCuratorName: value['connectorCuratorName'],\n connectorMaintainerUrl: value['connectorMaintainerUrl'],\n connectorMaintainerName: value['connectorMaintainerName'],\n connectorDapsConfig: DashboardDapsConfigToJSON(\n value['connectorDapsConfig'],\n ),\n connectorCxDidConfig: DashboardCxDidConfigToJSON(\n value['connectorCxDidConfig'],\n ),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Decides whether the data offer is to be published published:\n * * `DONT_PUBLISH` - Data offer is not published. Only an asset is created.\n * * `PUBLISH_UNRESTRICTED` - Creates the asset and publishes it using the always-true policy.\n * * `PUBLISH_RESTRICTED` - Creates the asset and publishes it with a newly created policy definition with the given policy expression\n *\n * @export\n */\nexport const DataOfferPublishType = {\n DontPublish: 'DONT_PUBLISH',\n PublishUnrestricted: 'PUBLISH_UNRESTRICTED',\n PublishRestricted: 'PUBLISH_RESTRICTED',\n} as const;\nexport type DataOfferPublishType =\n (typeof DataOfferPublishType)[keyof typeof DataOfferPublishType];\n\nexport function instanceOfDataOfferPublishType(value: any): boolean {\n for (const key in DataOfferPublishType) {\n if (Object.prototype.hasOwnProperty.call(DataOfferPublishType, key)) {\n if (\n DataOfferPublishType[\n key as keyof typeof DataOfferPublishType\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function DataOfferPublishTypeFromJSON(json: any): DataOfferPublishType {\n return DataOfferPublishTypeFromJSONTyped(json, false);\n}\n\nexport function DataOfferPublishTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataOfferPublishType {\n return json as DataOfferPublishType;\n}\n\nexport function DataOfferPublishTypeToJSON(\n value?: DataOfferPublishType | null,\n): any {\n return value as any;\n}\n\nexport function DataOfferPublishTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): DataOfferPublishType {\n return value as DataOfferPublishType;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported Data Source Types by UiDataSource\n * @export\n */\nexport const DataSourceType = {\n HttpData: 'HTTP_DATA',\n OnRequest: 'ON_REQUEST',\n Custom: 'CUSTOM',\n} as const;\nexport type DataSourceType =\n (typeof DataSourceType)[keyof typeof DataSourceType];\n\nexport function instanceOfDataSourceType(value: any): boolean {\n for (const key in DataSourceType) {\n if (Object.prototype.hasOwnProperty.call(DataSourceType, key)) {\n if (DataSourceType[key as keyof typeof DataSourceType] === value) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function DataSourceTypeFromJSON(json: any): DataSourceType {\n return DataSourceTypeFromJSONTyped(json, false);\n}\n\nexport function DataSourceTypeFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataSourceType {\n return json as DataSourceType;\n}\n\nexport function DataSourceTypeToJSON(value?: DataSourceType | null): any {\n return value as any;\n}\n\nexport function DataSourceTypeToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): DataSourceType {\n return value as DataSourceType;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * A value either inlined or to be fetched from the Vault. Raw secret values will land in the database and will be retrievable via the Eclipse EDC Management API.\n * @export\n * @interface SecretValue\n */\nexport interface SecretValue {\n /**\n * Secret Name / Vault Key Name.\n * @type {string}\n * @memberof SecretValue\n */\n secretName?: string;\n /**\n * Raw inline Value.\n * @type {string}\n * @memberof SecretValue\n */\n rawValue?: string;\n}\n\n/**\n * Check if a given object implements the SecretValue interface.\n */\nexport function instanceOfSecretValue(value: any): value is SecretValue {\n return true;\n}\n\nexport function SecretValueFromJSON(json: any): SecretValue {\n return SecretValueFromJSONTyped(json, false);\n}\n\nexport function SecretValueFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): SecretValue {\n if (json == null) {\n return json;\n }\n return {\n secretName: json['secretName'] == null ? undefined : json['secretName'],\n rawValue: json['rawValue'] == null ? undefined : json['rawValue'],\n };\n}\n\nexport function SecretValueToJSON(json: any): SecretValue {\n return SecretValueToJSONTyped(json, false);\n}\n\nexport function SecretValueToJSONTyped(\n value?: SecretValue | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n secretName: value['secretName'],\n rawValue: value['rawValue'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Supported HTTP Methods by UiDataSource\n * @export\n */\nexport const UiDataSourceHttpDataMethod = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Options: 'OPTIONS',\n} as const;\nexport type UiDataSourceHttpDataMethod =\n (typeof UiDataSourceHttpDataMethod)[keyof typeof UiDataSourceHttpDataMethod];\n\nexport function instanceOfUiDataSourceHttpDataMethod(value: any): boolean {\n for (const key in UiDataSourceHttpDataMethod) {\n if (\n Object.prototype.hasOwnProperty.call(\n UiDataSourceHttpDataMethod,\n key,\n )\n ) {\n if (\n UiDataSourceHttpDataMethod[\n key as keyof typeof UiDataSourceHttpDataMethod\n ] === value\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function UiDataSourceHttpDataMethodFromJSON(\n json: any,\n): UiDataSourceHttpDataMethod {\n return UiDataSourceHttpDataMethodFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceHttpDataMethodFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceHttpDataMethod {\n return json as UiDataSourceHttpDataMethod;\n}\n\nexport function UiDataSourceHttpDataMethodToJSON(\n value?: UiDataSourceHttpDataMethod | null,\n): any {\n return value as any;\n}\n\nexport function UiDataSourceHttpDataMethodToJSONTyped(\n value: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceHttpDataMethod {\n return value as UiDataSourceHttpDataMethod;\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {SecretValue} from './SecretValue';\nimport {\n SecretValueFromJSON,\n SecretValueFromJSONTyped,\n SecretValueToJSON,\n SecretValueToJSONTyped,\n} from './SecretValue';\nimport type {UiDataSourceHttpDataMethod} from './UiDataSourceHttpDataMethod';\nimport {\n UiDataSourceHttpDataMethodFromJSON,\n UiDataSourceHttpDataMethodFromJSONTyped,\n UiDataSourceHttpDataMethodToJSON,\n UiDataSourceHttpDataMethodToJSONTyped,\n} from './UiDataSourceHttpDataMethod';\n\n/**\n * HTTP_DATA type Data Source.\n * @export\n * @interface UiDataSourceHttpData\n */\nexport interface UiDataSourceHttpData {\n /**\n * HTTP Request Method\n * @type {UiDataSourceHttpDataMethod}\n * @memberof UiDataSourceHttpData\n */\n method?: UiDataSourceHttpDataMethod;\n /**\n * HTTP Request URL. If parameterized, additional pathParams will be joined onto existing one.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n baseUrl: string;\n /**\n * HTTP Request Query Params / Query String.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n queryString?: string;\n /**\n * Auth Header name. The auth header is handled specially by the EDC as its value can be read from a vault.\n * @type {string}\n * @memberof UiDataSourceHttpData\n */\n authHeaderName?: string;\n /**\n * Auth Header value.\n * @type {SecretValue}\n * @memberof UiDataSourceHttpData\n */\n authHeaderValue?: SecretValue;\n /**\n * HTTP Request Headers. HTTP Header Parameterization is not available.\n * @type {{ [key: string]: string; }}\n * @memberof UiDataSourceHttpData\n */\n headers?: {[key: string]: string};\n /**\n * Enable Method Parameterization. This forces consumers to provide a method, otherwise the transfer will fail.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableMethodParameterization?: boolean;\n /**\n * Enable Path Parameterization.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enablePathParameterization?: boolean;\n /**\n * Enable Query Parameterization. Any additionally provided queryString will be merged with the existing one.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableQueryParameterization?: boolean;\n /**\n * Enable Body Parameterization. Forces the provider to provide both a request body and a content type. Only Methods POST, PUT and PATCH allow request bodies.\n * @type {boolean}\n * @memberof UiDataSourceHttpData\n */\n enableBodyParameterization?: boolean;\n}\n\n/**\n * Check if a given object implements the UiDataSourceHttpData interface.\n */\nexport function instanceOfUiDataSourceHttpData(\n value: any,\n): value is UiDataSourceHttpData {\n if (!('baseUrl' in value) || value['baseUrl'] === undefined) return false;\n return true;\n}\n\nexport function UiDataSourceHttpDataFromJSON(json: any): UiDataSourceHttpData {\n return UiDataSourceHttpDataFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceHttpDataFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceHttpData {\n if (json == null) {\n return json;\n }\n return {\n method:\n json['method'] == null\n ? undefined\n : UiDataSourceHttpDataMethodFromJSON(json['method']),\n baseUrl: json['baseUrl'],\n queryString:\n json['queryString'] == null ? undefined : json['queryString'],\n authHeaderName:\n json['authHeaderName'] == null ? undefined : json['authHeaderName'],\n authHeaderValue:\n json['authHeaderValue'] == null\n ? undefined\n : SecretValueFromJSON(json['authHeaderValue']),\n headers: json['headers'] == null ? undefined : json['headers'],\n enableMethodParameterization:\n json['enableMethodParameterization'] == null\n ? undefined\n : json['enableMethodParameterization'],\n enablePathParameterization:\n json['enablePathParameterization'] == null\n ? undefined\n : json['enablePathParameterization'],\n enableQueryParameterization:\n json['enableQueryParameterization'] == null\n ? undefined\n : json['enableQueryParameterization'],\n enableBodyParameterization:\n json['enableBodyParameterization'] == null\n ? undefined\n : json['enableBodyParameterization'],\n };\n}\n\nexport function UiDataSourceHttpDataToJSON(json: any): UiDataSourceHttpData {\n return UiDataSourceHttpDataToJSONTyped(json, false);\n}\n\nexport function UiDataSourceHttpDataToJSONTyped(\n value?: UiDataSourceHttpData | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n method: UiDataSourceHttpDataMethodToJSON(value['method']),\n baseUrl: value['baseUrl'],\n queryString: value['queryString'],\n authHeaderName: value['authHeaderName'],\n authHeaderValue: SecretValueToJSON(value['authHeaderValue']),\n headers: value['headers'],\n enableMethodParameterization: value['enableMethodParameterization'],\n enablePathParameterization: value['enablePathParameterization'],\n enableQueryParameterization: value['enableQueryParameterization'],\n enableBodyParameterization: value['enableBodyParameterization'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * ON_REQUEST type Data Source.\n * @export\n * @interface UiDataSourceOnRequest\n */\nexport interface UiDataSourceOnRequest {\n /**\n * Contact E-Mail address\n * @type {string}\n * @memberof UiDataSourceOnRequest\n */\n contactEmail: string;\n /**\n * Contact Preferred E-Mail Subject\n * @type {string}\n * @memberof UiDataSourceOnRequest\n */\n contactPreferredEmailSubject: string;\n}\n\n/**\n * Check if a given object implements the UiDataSourceOnRequest interface.\n */\nexport function instanceOfUiDataSourceOnRequest(\n value: any,\n): value is UiDataSourceOnRequest {\n if (!('contactEmail' in value) || value['contactEmail'] === undefined)\n return false;\n if (\n !('contactPreferredEmailSubject' in value) ||\n value['contactPreferredEmailSubject'] === undefined\n )\n return false;\n return true;\n}\n\nexport function UiDataSourceOnRequestFromJSON(\n json: any,\n): UiDataSourceOnRequest {\n return UiDataSourceOnRequestFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceOnRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSourceOnRequest {\n if (json == null) {\n return json;\n }\n return {\n contactEmail: json['contactEmail'],\n contactPreferredEmailSubject: json['contactPreferredEmailSubject'],\n };\n}\n\nexport function UiDataSourceOnRequestToJSON(json: any): UiDataSourceOnRequest {\n return UiDataSourceOnRequestToJSONTyped(json, false);\n}\n\nexport function UiDataSourceOnRequestToJSONTyped(\n value?: UiDataSourceOnRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contactEmail: value['contactEmail'],\n contactPreferredEmailSubject: value['contactPreferredEmailSubject'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {DataSourceType} from './DataSourceType';\nimport {\n DataSourceTypeFromJSON,\n DataSourceTypeFromJSONTyped,\n DataSourceTypeToJSON,\n DataSourceTypeToJSONTyped,\n} from './DataSourceType';\nimport type {UiDataSourceHttpData} from './UiDataSourceHttpData';\nimport {\n UiDataSourceHttpDataFromJSON,\n UiDataSourceHttpDataFromJSONTyped,\n UiDataSourceHttpDataToJSON,\n UiDataSourceHttpDataToJSONTyped,\n} from './UiDataSourceHttpData';\nimport type {UiDataSourceOnRequest} from './UiDataSourceOnRequest';\nimport {\n UiDataSourceOnRequestFromJSON,\n UiDataSourceOnRequestFromJSONTyped,\n UiDataSourceOnRequestToJSON,\n UiDataSourceOnRequestToJSONTyped,\n} from './UiDataSourceOnRequest';\n\n/**\n * Type-safe data source as supported by the sovity product landscape. Contains extension points for using custom data address properties.\n * @export\n * @interface UiDataSource\n */\nexport interface UiDataSource {\n /**\n * Data Address Type.\n * @type {DataSourceType}\n * @memberof UiDataSource\n */\n type: DataSourceType;\n /**\n * Only for type HTTP_DATA\n * @type {UiDataSourceHttpData}\n * @memberof UiDataSource\n */\n httpData?: UiDataSourceHttpData;\n /**\n * Only for type ON_REQUEST\n * @type {UiDataSourceOnRequest}\n * @memberof UiDataSource\n */\n onRequest?: UiDataSourceOnRequest;\n /**\n * For all types. Custom Data Address Properties.\n * @type {{ [key: string]: string; }}\n * @memberof UiDataSource\n */\n customProperties?: {[key: string]: string};\n}\n\n/**\n * Check if a given object implements the UiDataSource interface.\n */\nexport function instanceOfUiDataSource(value: any): value is UiDataSource {\n if (!('type' in value) || value['type'] === undefined) return false;\n return true;\n}\n\nexport function UiDataSourceFromJSON(json: any): UiDataSource {\n return UiDataSourceFromJSONTyped(json, false);\n}\n\nexport function UiDataSourceFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataSource {\n if (json == null) {\n return json;\n }\n return {\n type: DataSourceTypeFromJSON(json['type']),\n httpData:\n json['httpData'] == null\n ? undefined\n : UiDataSourceHttpDataFromJSON(json['httpData']),\n onRequest:\n json['onRequest'] == null\n ? undefined\n : UiDataSourceOnRequestFromJSON(json['onRequest']),\n customProperties:\n json['customProperties'] == null\n ? undefined\n : json['customProperties'],\n };\n}\n\nexport function UiDataSourceToJSON(json: any): UiDataSource {\n return UiDataSourceToJSONTyped(json, false);\n}\n\nexport function UiDataSourceToJSONTyped(\n value?: UiDataSource | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n type: DataSourceTypeToJSON(value['type']),\n httpData: UiDataSourceHttpDataToJSON(value['httpData']),\n onRequest: UiDataSourceOnRequestToJSON(value['onRequest']),\n customProperties: value['customProperties'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiDataSource} from './UiDataSource';\nimport {\n UiDataSourceFromJSON,\n UiDataSourceFromJSONTyped,\n UiDataSourceToJSON,\n UiDataSourceToJSONTyped,\n} from './UiDataSource';\n\n/**\n * Type-safe data offer metadata for creating an asset as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAssetCreateRequest\n */\nexport interface UiAssetCreateRequest {\n /**\n * Data Source\n * @type {UiDataSource}\n * @memberof UiAssetCreateRequest\n */\n dataSource: UiDataSource;\n /**\n * Asset Id\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n id: string;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n title?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n language?: string;\n /**\n * Asset Description\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n description?: string;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n mediaType?: string;\n /**\n * Landing Page URL\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n landingPageUrl?: string;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAssetCreateRequest\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAssetCreateRequest\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAssetCreateRequest\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAssetCreateRequest\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAssetCreateRequest interface.\n */\nexport function instanceOfUiAssetCreateRequest(\n value: any,\n): value is UiAssetCreateRequest {\n if (!('dataSource' in value) || value['dataSource'] === undefined)\n return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n return true;\n}\n\nexport function UiAssetCreateRequestFromJSON(json: any): UiAssetCreateRequest {\n return UiAssetCreateRequestFromJSONTyped(json, false);\n}\n\nexport function UiAssetCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAssetCreateRequest {\n if (json == null) {\n return json;\n }\n return {\n dataSource: UiDataSourceFromJSON(json['dataSource']),\n id: json['id'],\n title: json['title'] == null ? undefined : json['title'],\n language: json['language'] == null ? undefined : json['language'],\n description:\n json['description'] == null ? undefined : json['description'],\n publisherHomepage:\n json['publisherHomepage'] == null\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: json['licenseUrl'] == null ? undefined : json['licenseUrl'],\n version: json['version'] == null ? undefined : json['version'],\n keywords: json['keywords'] == null ? undefined : json['keywords'],\n mediaType: json['mediaType'] == null ? undefined : json['mediaType'],\n landingPageUrl:\n json['landingPageUrl'] == null ? undefined : json['landingPageUrl'],\n dataCategory:\n json['dataCategory'] == null ? undefined : json['dataCategory'],\n dataSubcategory:\n json['dataSubcategory'] == null\n ? undefined\n : json['dataSubcategory'],\n dataModel: json['dataModel'] == null ? undefined : json['dataModel'],\n geoReferenceMethod:\n json['geoReferenceMethod'] == null\n ? undefined\n : json['geoReferenceMethod'],\n transportMode:\n json['transportMode'] == null ? undefined : json['transportMode'],\n sovereignLegalName:\n json['sovereignLegalName'] == null\n ? undefined\n : json['sovereignLegalName'],\n geoLocation:\n json['geoLocation'] == null ? undefined : json['geoLocation'],\n nutsLocations:\n json['nutsLocations'] == null ? undefined : json['nutsLocations'],\n dataSampleUrls:\n json['dataSampleUrls'] == null ? undefined : json['dataSampleUrls'],\n referenceFileUrls:\n json['referenceFileUrls'] == null\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription:\n json['referenceFilesDescription'] == null\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse:\n json['conditionsForUse'] == null\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency:\n json['dataUpdateFrequency'] == null\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom:\n json['temporalCoverageFrom'] == null\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive:\n json['temporalCoverageToInclusive'] == null\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n customJsonAsString:\n json['customJsonAsString'] == null\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString:\n json['customJsonLdAsString'] == null\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString:\n json['privateCustomJsonAsString'] == null\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString:\n json['privateCustomJsonLdAsString'] == null\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetCreateRequestToJSON(json: any): UiAssetCreateRequest {\n return UiAssetCreateRequestToJSONTyped(json, false);\n}\n\nexport function UiAssetCreateRequestToJSONTyped(\n value?: UiAssetCreateRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n dataSource: UiDataSourceToJSON(value['dataSource']),\n id: value['id'],\n title: value['title'],\n language: value['language'],\n description: value['description'],\n publisherHomepage: value['publisherHomepage'],\n licenseUrl: value['licenseUrl'],\n version: value['version'],\n keywords: value['keywords'],\n mediaType: value['mediaType'],\n landingPageUrl: value['landingPageUrl'],\n dataCategory: value['dataCategory'],\n dataSubcategory: value['dataSubcategory'],\n dataModel: value['dataModel'],\n geoReferenceMethod: value['geoReferenceMethod'],\n transportMode: value['transportMode'],\n sovereignLegalName: value['sovereignLegalName'],\n geoLocation: value['geoLocation'],\n nutsLocations: value['nutsLocations'],\n dataSampleUrls: value['dataSampleUrls'],\n referenceFileUrls: value['referenceFileUrls'],\n referenceFilesDescription: value['referenceFilesDescription'],\n conditionsForUse: value['conditionsForUse'],\n dataUpdateFrequency: value['dataUpdateFrequency'],\n temporalCoverageFrom:\n value['temporalCoverageFrom'] == null\n ? undefined\n : value['temporalCoverageFrom'].toISOString().substring(0, 10),\n temporalCoverageToInclusive:\n value['temporalCoverageToInclusive'] == null\n ? undefined\n : value['temporalCoverageToInclusive']\n .toISOString()\n .substring(0, 10),\n customJsonAsString: value['customJsonAsString'],\n customJsonLdAsString: value['customJsonLdAsString'],\n privateCustomJsonAsString: value['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: value['privateCustomJsonLdAsString'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {DataOfferPublishType} from './DataOfferPublishType';\nimport {\n DataOfferPublishTypeFromJSON,\n DataOfferPublishTypeFromJSONTyped,\n DataOfferPublishTypeToJSON,\n DataOfferPublishTypeToJSONTyped,\n} from './DataOfferPublishType';\nimport type {UiAssetCreateRequest} from './UiAssetCreateRequest';\nimport {\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestFromJSONTyped,\n UiAssetCreateRequestToJSON,\n UiAssetCreateRequestToJSONTyped,\n} from './UiAssetCreateRequest';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n UiPolicyExpressionToJSONTyped,\n} from './UiPolicyExpression';\n\n/**\n * Request to create a data offer\n * @export\n * @interface DataOfferCreateRequest\n */\nexport interface DataOfferCreateRequest {\n /**\n * The asset to create\n * @type {UiAssetCreateRequest}\n * @memberof DataOfferCreateRequest\n */\n asset: UiAssetCreateRequest;\n /**\n *\n * @type {DataOfferPublishType}\n * @memberof DataOfferCreateRequest\n */\n publishType: DataOfferPublishType;\n /**\n * Policy Expression. Only relevant if policyType is 'RESTRICTED'\n * @type {UiPolicyExpression}\n * @memberof DataOfferCreateRequest\n */\n policyExpression?: UiPolicyExpression;\n}\n\n/**\n * Check if a given object implements the DataOfferCreateRequest interface.\n */\nexport function instanceOfDataOfferCreateRequest(\n value: any,\n): value is DataOfferCreateRequest {\n if (!('asset' in value) || value['asset'] === undefined) return false;\n if (!('publishType' in value) || value['publishType'] === undefined)\n return false;\n return true;\n}\n\nexport function DataOfferCreateRequestFromJSON(\n json: any,\n): DataOfferCreateRequest {\n return DataOfferCreateRequestFromJSONTyped(json, false);\n}\n\nexport function DataOfferCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): DataOfferCreateRequest {\n if (json == null) {\n return json;\n }\n return {\n asset: UiAssetCreateRequestFromJSON(json['asset']),\n publishType: DataOfferPublishTypeFromJSON(json['publishType']),\n policyExpression:\n json['policyExpression'] == null\n ? undefined\n : UiPolicyExpressionFromJSON(json['policyExpression']),\n };\n}\n\nexport function DataOfferCreateRequestToJSON(\n json: any,\n): DataOfferCreateRequest {\n return DataOfferCreateRequestToJSONTyped(json, false);\n}\n\nexport function DataOfferCreateRequestToJSONTyped(\n value?: DataOfferCreateRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n asset: UiAssetCreateRequestToJSON(value['asset']),\n publishType: DataOfferPublishTypeToJSON(value['publishType']),\n policyExpression: UiPolicyExpressionToJSON(value['policyExpression']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Object indicates whether an ID for the given object type is already taken or not\n * @export\n * @interface IdAvailabilityResponse\n */\nexport interface IdAvailabilityResponse {\n /**\n * ID\n * @type {string}\n * @memberof IdAvailabilityResponse\n */\n id: string;\n /**\n *\n * @type {boolean}\n * @memberof IdAvailabilityResponse\n */\n available?: boolean;\n}\n\n/**\n * Check if a given object implements the IdAvailabilityResponse interface.\n */\nexport function instanceOfIdAvailabilityResponse(\n value: any,\n): value is IdAvailabilityResponse {\n if (!('id' in value) || value['id'] === undefined) return false;\n return true;\n}\n\nexport function IdAvailabilityResponseFromJSON(\n json: any,\n): IdAvailabilityResponse {\n return IdAvailabilityResponseFromJSONTyped(json, false);\n}\n\nexport function IdAvailabilityResponseFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): IdAvailabilityResponse {\n if (json == null) {\n return json;\n }\n return {\n id: json['id'],\n available: json['available'] == null ? undefined : json['available'],\n };\n}\n\nexport function IdAvailabilityResponseToJSON(\n json: any,\n): IdAvailabilityResponse {\n return IdAvailabilityResponseToJSONTyped(json, false);\n}\n\nexport function IdAvailabilityResponseToJSONTyped(\n value?: IdAvailabilityResponse | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n id: value['id'],\n available: value['available'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Marks the operation as successful\n * @export\n * @interface IdResponseDto\n */\nexport interface IdResponseDto {\n /**\n * ID\n * @type {string}\n * @memberof IdResponseDto\n */\n id: string;\n /**\n * Change Date\n * @type {Date}\n * @memberof IdResponseDto\n */\n lastUpdatedDate: Date;\n}\n\n/**\n * Check if a given object implements the IdResponseDto interface.\n */\nexport function instanceOfIdResponseDto(value: any): value is IdResponseDto {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('lastUpdatedDate' in value) || value['lastUpdatedDate'] === undefined)\n return false;\n return true;\n}\n\nexport function IdResponseDtoFromJSON(json: any): IdResponseDto {\n return IdResponseDtoFromJSONTyped(json, false);\n}\n\nexport function IdResponseDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): IdResponseDto {\n if (json == null) {\n return json;\n }\n return {\n id: json['id'],\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n };\n}\n\nexport function IdResponseDtoToJSON(json: any): IdResponseDto {\n return IdResponseDtoToJSONTyped(json, false);\n}\n\nexport function IdResponseDtoToJSONTyped(\n value?: IdResponseDto | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n id: value['id'],\n lastUpdatedDate: value['lastUpdatedDate'].toISOString(),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * Required data for starting a Contract Agreement's Transfer Process\n * @export\n * @interface InitiateCustomTransferRequest\n */\nexport interface InitiateCustomTransferRequest {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof InitiateCustomTransferRequest\n */\n contractAgreementId: string;\n /**\n * Partial TransferProcessRequestJsonLd JSON-LD. Fields participantId, connectorEndpoint, assetId and contractId can be omitted, they will be overridden with information from the contract.\n * @type {string}\n * @memberof InitiateCustomTransferRequest\n */\n transferProcessRequestJsonLd: string;\n}\n\n/**\n * Check if a given object implements the InitiateCustomTransferRequest interface.\n */\nexport function instanceOfInitiateCustomTransferRequest(\n value: any,\n): value is InitiateCustomTransferRequest {\n if (\n !('contractAgreementId' in value) ||\n value['contractAgreementId'] === undefined\n )\n return false;\n if (\n !('transferProcessRequestJsonLd' in value) ||\n value['transferProcessRequestJsonLd'] === undefined\n )\n return false;\n return true;\n}\n\nexport function InitiateCustomTransferRequestFromJSON(\n json: any,\n): InitiateCustomTransferRequest {\n return InitiateCustomTransferRequestFromJSONTyped(json, false);\n}\n\nexport function InitiateCustomTransferRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): InitiateCustomTransferRequest {\n if (json == null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n transferProcessRequestJsonLd: json['transferProcessRequestJsonLd'],\n };\n}\n\nexport function InitiateCustomTransferRequestToJSON(\n json: any,\n): InitiateCustomTransferRequest {\n return InitiateCustomTransferRequestToJSONTyped(json, false);\n}\n\nexport function InitiateCustomTransferRequestToJSONTyped(\n value?: InitiateCustomTransferRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractAgreementId: value['contractAgreementId'],\n transferProcessRequestJsonLd: value['transferProcessRequestJsonLd'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n * For type PARAMS_ONLY: Required data for starting a Transfer Process\n * @export\n * @interface InitiateTransferRequest\n */\nexport interface InitiateTransferRequest {\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof InitiateTransferRequest\n */\n contractAgreementId: string;\n /**\n * Transfer Type. Used to select a compatible DataPlane. Examples are 'HttpData-PUSH', 'HttpData-PULL'. Not to be confused with the 'type' of the data source, or the 'type' of the data sink found in the 'properties'\n * @type {string}\n * @memberof InitiateTransferRequest\n */\n transferType: string;\n /**\n * Data Sink / Data Address\n * @type {{ [key: string]: string; }}\n * @memberof InitiateTransferRequest\n */\n dataSinkProperties: {[key: string]: string};\n /**\n * Additional transfer process properties. These are not passed to the consumer EDC\n * @type {{ [key: string]: string; }}\n * @memberof InitiateTransferRequest\n */\n transferProcessProperties: {[key: string]: string};\n}\n\n/**\n * Check if a given object implements the InitiateTransferRequest interface.\n */\nexport function instanceOfInitiateTransferRequest(\n value: any,\n): value is InitiateTransferRequest {\n if (\n !('contractAgreementId' in value) ||\n value['contractAgreementId'] === undefined\n )\n return false;\n if (!('transferType' in value) || value['transferType'] === undefined)\n return false;\n if (\n !('dataSinkProperties' in value) ||\n value['dataSinkProperties'] === undefined\n )\n return false;\n if (\n !('transferProcessProperties' in value) ||\n value['transferProcessProperties'] === undefined\n )\n return false;\n return true;\n}\n\nexport function InitiateTransferRequestFromJSON(\n json: any,\n): InitiateTransferRequest {\n return InitiateTransferRequestFromJSONTyped(json, false);\n}\n\nexport function InitiateTransferRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): InitiateTransferRequest {\n if (json == null) {\n return json;\n }\n return {\n contractAgreementId: json['contractAgreementId'],\n transferType: json['transferType'],\n dataSinkProperties: json['dataSinkProperties'],\n transferProcessProperties: json['transferProcessProperties'],\n };\n}\n\nexport function InitiateTransferRequestToJSON(\n json: any,\n): InitiateTransferRequest {\n return InitiateTransferRequestToJSONTyped(json, false);\n}\n\nexport function InitiateTransferRequestToJSONTyped(\n value?: InitiateTransferRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractAgreementId: value['contractAgreementId'],\n transferType: value['transferType'],\n dataSinkProperties: value['dataSinkProperties'],\n transferProcessProperties: value['transferProcessProperties'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\n\n/**\n *\n * @export\n * @interface TransferProcessStatesDto\n */\nexport interface TransferProcessStatesDto {\n /**\n * States and count of incoming transferprocess counts\n * @type {{ [key: string]: number; }}\n * @memberof TransferProcessStatesDto\n */\n incomingTransferProcessCounts: {[key: string]: number};\n /**\n * States and counts of outgoing transferprocess counts\n * @type {{ [key: string]: number; }}\n * @memberof TransferProcessStatesDto\n */\n outgoingTransferProcessCounts: {[key: string]: number};\n}\n\n/**\n * Check if a given object implements the TransferProcessStatesDto interface.\n */\nexport function instanceOfTransferProcessStatesDto(\n value: any,\n): value is TransferProcessStatesDto {\n if (\n !('incomingTransferProcessCounts' in value) ||\n value['incomingTransferProcessCounts'] === undefined\n )\n return false;\n if (\n !('outgoingTransferProcessCounts' in value) ||\n value['outgoingTransferProcessCounts'] === undefined\n )\n return false;\n return true;\n}\n\nexport function TransferProcessStatesDtoFromJSON(\n json: any,\n): TransferProcessStatesDto {\n return TransferProcessStatesDtoFromJSONTyped(json, false);\n}\n\nexport function TransferProcessStatesDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferProcessStatesDto {\n if (json == null) {\n return json;\n }\n return {\n incomingTransferProcessCounts: json['incomingTransferProcessCounts'],\n outgoingTransferProcessCounts: json['outgoingTransferProcessCounts'],\n };\n}\n\nexport function TransferProcessStatesDtoToJSON(\n json: any,\n): TransferProcessStatesDto {\n return TransferProcessStatesDtoToJSONTyped(json, false);\n}\n\nexport function TransferProcessStatesDtoToJSONTyped(\n value?: TransferProcessStatesDto | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n incomingTransferProcessCounts: value['incomingTransferProcessCounts'],\n outgoingTransferProcessCounts: value['outgoingTransferProcessCounts'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {TransferProcessStatesDto} from './TransferProcessStatesDto';\nimport {\n TransferProcessStatesDtoFromJSON,\n TransferProcessStatesDtoFromJSONTyped,\n TransferProcessStatesDtoToJSON,\n TransferProcessStatesDtoToJSONTyped,\n} from './TransferProcessStatesDto';\n\n/**\n * EDC-status-defining KPIs\n * @export\n * @interface KpiResult\n */\nexport interface KpiResult {\n /**\n * Counts of assets\n * @type {number}\n * @memberof KpiResult\n */\n assetsCount: number;\n /**\n * Counts of policies\n * @type {number}\n * @memberof KpiResult\n */\n policiesCount: number;\n /**\n * Counts of contract definitions\n * @type {number}\n * @memberof KpiResult\n */\n contractDefinitionsCount: number;\n /**\n * Counts of contract agreements\n * @type {number}\n * @memberof KpiResult\n */\n contractAgreementsCount: number;\n /**\n * Counts of incoming and outgoing TransferProcesses and status\n * @type {TransferProcessStatesDto}\n * @memberof KpiResult\n */\n transferProcessDto: TransferProcessStatesDto;\n}\n\n/**\n * Check if a given object implements the KpiResult interface.\n */\nexport function instanceOfKpiResult(value: any): value is KpiResult {\n if (!('assetsCount' in value) || value['assetsCount'] === undefined)\n return false;\n if (!('policiesCount' in value) || value['policiesCount'] === undefined)\n return false;\n if (\n !('contractDefinitionsCount' in value) ||\n value['contractDefinitionsCount'] === undefined\n )\n return false;\n if (\n !('contractAgreementsCount' in value) ||\n value['contractAgreementsCount'] === undefined\n )\n return false;\n if (\n !('transferProcessDto' in value) ||\n value['transferProcessDto'] === undefined\n )\n return false;\n return true;\n}\n\nexport function KpiResultFromJSON(json: any): KpiResult {\n return KpiResultFromJSONTyped(json, false);\n}\n\nexport function KpiResultFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): KpiResult {\n if (json == null) {\n return json;\n }\n return {\n assetsCount: json['assetsCount'],\n policiesCount: json['policiesCount'],\n contractDefinitionsCount: json['contractDefinitionsCount'],\n contractAgreementsCount: json['contractAgreementsCount'],\n transferProcessDto: TransferProcessStatesDtoFromJSON(\n json['transferProcessDto'],\n ),\n };\n}\n\nexport function KpiResultToJSON(json: any): KpiResult {\n return KpiResultToJSONTyped(json, false);\n}\n\nexport function KpiResultToJSONTyped(\n value?: KpiResult | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n assetsCount: value['assetsCount'],\n policiesCount: value['policiesCount'],\n contractDefinitionsCount: value['contractDefinitionsCount'],\n contractAgreementsCount: value['contractAgreementsCount'],\n transferProcessDto: TransferProcessStatesDtoToJSON(\n value['transferProcessDto'],\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyExpression} from './UiPolicyExpression';\nimport {\n UiPolicyExpressionFromJSON,\n UiPolicyExpressionFromJSONTyped,\n UiPolicyExpressionToJSON,\n UiPolicyExpressionToJSONTyped,\n} from './UiPolicyExpression';\n\n/**\n * Create a Policy Definition\n * @export\n * @interface PolicyDefinitionCreateDto\n */\nexport interface PolicyDefinitionCreateDto {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionCreateDto\n */\n policyDefinitionId: string;\n /**\n * Policy Expression\n * @type {UiPolicyExpression}\n * @memberof PolicyDefinitionCreateDto\n */\n expression: UiPolicyExpression;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionCreateDto interface.\n */\nexport function instanceOfPolicyDefinitionCreateDto(\n value: any,\n): value is PolicyDefinitionCreateDto {\n if (\n !('policyDefinitionId' in value) ||\n value['policyDefinitionId'] === undefined\n )\n return false;\n if (!('expression' in value) || value['expression'] === undefined)\n return false;\n return true;\n}\n\nexport function PolicyDefinitionCreateDtoFromJSON(\n json: any,\n): PolicyDefinitionCreateDto {\n return PolicyDefinitionCreateDtoFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionCreateDto {\n if (json == null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n expression: UiPolicyExpressionFromJSON(json['expression']),\n };\n}\n\nexport function PolicyDefinitionCreateDtoToJSON(\n json: any,\n): PolicyDefinitionCreateDto {\n return PolicyDefinitionCreateDtoToJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateDtoToJSONTyped(\n value?: PolicyDefinitionCreateDto | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n policyDefinitionId: value['policyDefinitionId'],\n expression: UiPolicyExpressionToJSON(value['expression']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyConstraint} from './UiPolicyConstraint';\nimport {\n UiPolicyConstraintFromJSON,\n UiPolicyConstraintFromJSONTyped,\n UiPolicyConstraintToJSON,\n UiPolicyConstraintToJSONTyped,\n} from './UiPolicyConstraint';\n\n/**\n * [Deprecated] Conjunction of constraints (simplified UiPolicyExpression)\n * @export\n * @interface UiPolicyCreateRequest\n */\nexport interface UiPolicyCreateRequest {\n /**\n * Conjunction of required constraints\n * @type {Array<UiPolicyConstraint>}\n * @memberof UiPolicyCreateRequest\n */\n constraints?: Array<UiPolicyConstraint>;\n}\n\n/**\n * Check if a given object implements the UiPolicyCreateRequest interface.\n */\nexport function instanceOfUiPolicyCreateRequest(\n value: any,\n): value is UiPolicyCreateRequest {\n return true;\n}\n\nexport function UiPolicyCreateRequestFromJSON(\n json: any,\n): UiPolicyCreateRequest {\n return UiPolicyCreateRequestFromJSONTyped(json, false);\n}\n\nexport function UiPolicyCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiPolicyCreateRequest {\n if (json == null) {\n return json;\n }\n return {\n constraints:\n json['constraints'] == null\n ? undefined\n : (json['constraints'] as Array<any>).map(\n UiPolicyConstraintFromJSON,\n ),\n };\n}\n\nexport function UiPolicyCreateRequestToJSON(json: any): UiPolicyCreateRequest {\n return UiPolicyCreateRequestToJSONTyped(json, false);\n}\n\nexport function UiPolicyCreateRequestToJSONTyped(\n value?: UiPolicyCreateRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n constraints:\n value['constraints'] == null\n ? undefined\n : (value['constraints'] as Array<any>).map(\n UiPolicyConstraintToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicyCreateRequest} from './UiPolicyCreateRequest';\nimport {\n UiPolicyCreateRequestFromJSON,\n UiPolicyCreateRequestFromJSONTyped,\n UiPolicyCreateRequestToJSON,\n UiPolicyCreateRequestToJSONTyped,\n} from './UiPolicyCreateRequest';\n\n/**\n * [Deprecated] Create a Policy Definition. Use PolicyDefinitionCreateDto\n * @export\n * @interface PolicyDefinitionCreateRequest\n */\nexport interface PolicyDefinitionCreateRequest {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionCreateRequest\n */\n policyDefinitionId: string;\n /**\n * [Deprecated] Conjunction of constraints (simplified UiPolicyExpression)\n * @type {UiPolicyCreateRequest}\n * @memberof PolicyDefinitionCreateRequest\n * @deprecated\n */\n policy: UiPolicyCreateRequest;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionCreateRequest interface.\n */\nexport function instanceOfPolicyDefinitionCreateRequest(\n value: any,\n): value is PolicyDefinitionCreateRequest {\n if (\n !('policyDefinitionId' in value) ||\n value['policyDefinitionId'] === undefined\n )\n return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n return true;\n}\n\nexport function PolicyDefinitionCreateRequestFromJSON(\n json: any,\n): PolicyDefinitionCreateRequest {\n return PolicyDefinitionCreateRequestFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionCreateRequest {\n if (json == null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n policy: UiPolicyCreateRequestFromJSON(json['policy']),\n };\n}\n\nexport function PolicyDefinitionCreateRequestToJSON(\n json: any,\n): PolicyDefinitionCreateRequest {\n return PolicyDefinitionCreateRequestToJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionCreateRequestToJSONTyped(\n value?: PolicyDefinitionCreateRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n policyDefinitionId: value['policyDefinitionId'],\n policy: UiPolicyCreateRequestToJSON(value['policy']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n UiPolicyToJSONTyped,\n} from './UiPolicy';\n\n/**\n * Policy Definition as required for the Policy Definition Page\n * @export\n * @interface PolicyDefinitionDto\n */\nexport interface PolicyDefinitionDto {\n /**\n * Policy Definition ID\n * @type {string}\n * @memberof PolicyDefinitionDto\n */\n policyDefinitionId: string;\n /**\n * Policy Contents\n * @type {UiPolicy}\n * @memberof PolicyDefinitionDto\n */\n policy: UiPolicy;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionDto interface.\n */\nexport function instanceOfPolicyDefinitionDto(\n value: any,\n): value is PolicyDefinitionDto {\n if (\n !('policyDefinitionId' in value) ||\n value['policyDefinitionId'] === undefined\n )\n return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n return true;\n}\n\nexport function PolicyDefinitionDtoFromJSON(json: any): PolicyDefinitionDto {\n return PolicyDefinitionDtoFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionDtoFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionDto {\n if (json == null) {\n return json;\n }\n return {\n policyDefinitionId: json['policyDefinitionId'],\n policy: UiPolicyFromJSON(json['policy']),\n };\n}\n\nexport function PolicyDefinitionDtoToJSON(json: any): PolicyDefinitionDto {\n return PolicyDefinitionDtoToJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionDtoToJSONTyped(\n value?: PolicyDefinitionDto | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n policyDefinitionId: value['policyDefinitionId'],\n policy: UiPolicyToJSON(value['policy']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {PolicyDefinitionDto} from './PolicyDefinitionDto';\nimport {\n PolicyDefinitionDtoFromJSON,\n PolicyDefinitionDtoFromJSONTyped,\n PolicyDefinitionDtoToJSON,\n PolicyDefinitionDtoToJSONTyped,\n} from './PolicyDefinitionDto';\n\n/**\n * All data for the policy definition page as required by the UI\n * @export\n * @interface PolicyDefinitionPage\n */\nexport interface PolicyDefinitionPage {\n /**\n * Policy Definition Entries\n * @type {Array<PolicyDefinitionDto>}\n * @memberof PolicyDefinitionPage\n */\n policies: Array<PolicyDefinitionDto>;\n}\n\n/**\n * Check if a given object implements the PolicyDefinitionPage interface.\n */\nexport function instanceOfPolicyDefinitionPage(\n value: any,\n): value is PolicyDefinitionPage {\n if (!('policies' in value) || value['policies'] === undefined) return false;\n return true;\n}\n\nexport function PolicyDefinitionPageFromJSON(json: any): PolicyDefinitionPage {\n return PolicyDefinitionPageFromJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): PolicyDefinitionPage {\n if (json == null) {\n return json;\n }\n return {\n policies: (json['policies'] as Array<any>).map(\n PolicyDefinitionDtoFromJSON,\n ),\n };\n}\n\nexport function PolicyDefinitionPageToJSON(json: any): PolicyDefinitionPage {\n return PolicyDefinitionPageToJSONTyped(json, false);\n}\n\nexport function PolicyDefinitionPageToJSONTyped(\n value?: PolicyDefinitionPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n policies: (value['policies'] as Array<any>).map(\n PolicyDefinitionDtoToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractAgreementDirection} from './ContractAgreementDirection';\nimport {\n ContractAgreementDirectionFromJSON,\n ContractAgreementDirectionFromJSONTyped,\n ContractAgreementDirectionToJSON,\n ContractAgreementDirectionToJSONTyped,\n} from './ContractAgreementDirection';\nimport type {TransferProcessState} from './TransferProcessState';\nimport {\n TransferProcessStateFromJSON,\n TransferProcessStateFromJSONTyped,\n TransferProcessStateToJSON,\n TransferProcessStateToJSONTyped,\n} from './TransferProcessState';\n\n/**\n * Transfer History Entry for Transfer History Page\n * @export\n * @interface TransferHistoryEntry\n */\nexport interface TransferHistoryEntry {\n /**\n * Transfer Process ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n transferProcessId: string;\n /**\n * Created Date\n * @type {Date}\n * @memberof TransferHistoryEntry\n */\n createdDate: Date;\n /**\n * Last Change Date\n * @type {Date}\n * @memberof TransferHistoryEntry\n */\n lastUpdatedDate: Date;\n /**\n * Transfer History State\n * @type {TransferProcessState}\n * @memberof TransferHistoryEntry\n */\n state: TransferProcessState;\n /**\n * Contract Agreement ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n contractAgreementId: string;\n /**\n * Incoming vs Outgoing\n * @type {ContractAgreementDirection}\n * @memberof TransferHistoryEntry\n */\n direction: ContractAgreementDirection;\n /**\n * Other Connector's Endpoint\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n counterPartyConnectorEndpoint: string;\n /**\n * Other Connector's Participant ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n counterPartyParticipantId: string;\n /**\n * Asset Name\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n assetName: string;\n /**\n * Asset ID\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n assetId: string;\n /**\n * Error Message\n * @type {string}\n * @memberof TransferHistoryEntry\n */\n errorMessage?: string;\n}\n\n/**\n * Check if a given object implements the TransferHistoryEntry interface.\n */\nexport function instanceOfTransferHistoryEntry(\n value: any,\n): value is TransferHistoryEntry {\n if (\n !('transferProcessId' in value) ||\n value['transferProcessId'] === undefined\n )\n return false;\n if (!('createdDate' in value) || value['createdDate'] === undefined)\n return false;\n if (!('lastUpdatedDate' in value) || value['lastUpdatedDate'] === undefined)\n return false;\n if (!('state' in value) || value['state'] === undefined) return false;\n if (\n !('contractAgreementId' in value) ||\n value['contractAgreementId'] === undefined\n )\n return false;\n if (!('direction' in value) || value['direction'] === undefined)\n return false;\n if (\n !('counterPartyConnectorEndpoint' in value) ||\n value['counterPartyConnectorEndpoint'] === undefined\n )\n return false;\n if (\n !('counterPartyParticipantId' in value) ||\n value['counterPartyParticipantId'] === undefined\n )\n return false;\n if (!('assetName' in value) || value['assetName'] === undefined)\n return false;\n if (!('assetId' in value) || value['assetId'] === undefined) return false;\n return true;\n}\n\nexport function TransferHistoryEntryFromJSON(json: any): TransferHistoryEntry {\n return TransferHistoryEntryFromJSONTyped(json, false);\n}\n\nexport function TransferHistoryEntryFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferHistoryEntry {\n if (json == null) {\n return json;\n }\n return {\n transferProcessId: json['transferProcessId'],\n createdDate: new Date(json['createdDate']),\n lastUpdatedDate: new Date(json['lastUpdatedDate']),\n state: TransferProcessStateFromJSON(json['state']),\n contractAgreementId: json['contractAgreementId'],\n direction: ContractAgreementDirectionFromJSON(json['direction']),\n counterPartyConnectorEndpoint: json['counterPartyConnectorEndpoint'],\n counterPartyParticipantId: json['counterPartyParticipantId'],\n assetName: json['assetName'],\n assetId: json['assetId'],\n errorMessage:\n json['errorMessage'] == null ? undefined : json['errorMessage'],\n };\n}\n\nexport function TransferHistoryEntryToJSON(json: any): TransferHistoryEntry {\n return TransferHistoryEntryToJSONTyped(json, false);\n}\n\nexport function TransferHistoryEntryToJSONTyped(\n value?: TransferHistoryEntry | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n transferProcessId: value['transferProcessId'],\n createdDate: value['createdDate'].toISOString(),\n lastUpdatedDate: value['lastUpdatedDate'].toISOString(),\n state: TransferProcessStateToJSON(value['state']),\n contractAgreementId: value['contractAgreementId'],\n direction: ContractAgreementDirectionToJSON(value['direction']),\n counterPartyConnectorEndpoint: value['counterPartyConnectorEndpoint'],\n counterPartyParticipantId: value['counterPartyParticipantId'],\n assetName: value['assetName'],\n assetId: value['assetId'],\n errorMessage: value['errorMessage'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {TransferHistoryEntry} from './TransferHistoryEntry';\nimport {\n TransferHistoryEntryFromJSON,\n TransferHistoryEntryFromJSONTyped,\n TransferHistoryEntryToJSON,\n TransferHistoryEntryToJSONTyped,\n} from './TransferHistoryEntry';\n\n/**\n * Data as required by the UI's Transfer History Page\n * @export\n * @interface TransferHistoryPage\n */\nexport interface TransferHistoryPage {\n /**\n * Transfer History Page Entries\n * @type {Array<TransferHistoryEntry>}\n * @memberof TransferHistoryPage\n */\n transferEntries: Array<TransferHistoryEntry>;\n}\n\n/**\n * Check if a given object implements the TransferHistoryPage interface.\n */\nexport function instanceOfTransferHistoryPage(\n value: any,\n): value is TransferHistoryPage {\n if (!('transferEntries' in value) || value['transferEntries'] === undefined)\n return false;\n return true;\n}\n\nexport function TransferHistoryPageFromJSON(json: any): TransferHistoryPage {\n return TransferHistoryPageFromJSONTyped(json, false);\n}\n\nexport function TransferHistoryPageFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): TransferHistoryPage {\n if (json == null) {\n return json;\n }\n return {\n transferEntries: (json['transferEntries'] as Array<any>).map(\n TransferHistoryEntryFromJSON,\n ),\n };\n}\n\nexport function TransferHistoryPageToJSON(json: any): TransferHistoryPage {\n return TransferHistoryPageToJSONTyped(json, false);\n}\n\nexport function TransferHistoryPageToJSONTyped(\n value?: TransferHistoryPage | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n transferEntries: (value['transferEntries'] as Array<any>).map(\n TransferHistoryEntryToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiDataSource} from './UiDataSource';\nimport {\n UiDataSourceFromJSON,\n UiDataSourceFromJSONTyped,\n UiDataSourceToJSON,\n UiDataSourceToJSONTyped,\n} from './UiDataSource';\n\n/**\n * Type-safe data offer metadata for editing an asset as supported by the sovity product landscape. Contains extension points.\n * @export\n * @interface UiAssetEditRequest\n */\nexport interface UiAssetEditRequest {\n /**\n * Data Source\n * @type {UiDataSource}\n * @memberof UiAssetEditRequest\n */\n dataSourceOverrideOrNull?: UiDataSource;\n /**\n * Asset Title\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n title?: string;\n /**\n * Asset Language\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n language?: string;\n /**\n * Asset Description\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n description?: string;\n /**\n * Asset Homepage\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n publisherHomepage?: string;\n /**\n * License URL\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n licenseUrl?: string;\n /**\n * Version\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n version?: string;\n /**\n * Asset Keywords\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n keywords?: Array<string>;\n /**\n * Asset MediaType\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n mediaType?: string;\n /**\n * Landing Page URL\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n landingPageUrl?: string;\n /**\n * Data Category\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataCategory?: string;\n /**\n * Data Subcategory\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataSubcategory?: string;\n /**\n * Data Model\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataModel?: string;\n /**\n * Geo-Reference Method\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n geoReferenceMethod?: string;\n /**\n * Transport Mode\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n transportMode?: string;\n /**\n * The sovereign is distinct from the publisher by being the legal owner of the data.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n sovereignLegalName?: string;\n /**\n * Geo location\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n geoLocation?: string;\n /**\n * Locations by NUTS standard which divides countries into administrative divisions\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n nutsLocations?: Array<string>;\n /**\n * Data sample URLs\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n dataSampleUrls?: Array<string>;\n /**\n * Reference file/schema URLs\n * @type {Array<string>}\n * @memberof UiAssetEditRequest\n */\n referenceFileUrls?: Array<string>;\n /**\n * Additional information on reference files/schemas\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n referenceFilesDescription?: string;\n /**\n * Instructions for use that are not legally relevant e.g. information on how to cite the dataset in papers\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n conditionsForUse?: string;\n /**\n * Data update frequency\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n dataUpdateFrequency?: string;\n /**\n * Temporal coverage start date\n * @type {Date}\n * @memberof UiAssetEditRequest\n */\n temporalCoverageFrom?: Date;\n /**\n * Temporal coverage end date (inclusive)\n * @type {Date}\n * @memberof UiAssetEditRequest\n */\n temporalCoverageToInclusive?: Date;\n /**\n * Contains serialized custom properties in the JSON format.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n customJsonAsString?: string;\n /**\n * Contains serialized custom properties in the JSON LD format. Contrary to the customJsonAsString field, this string must represent a JSON LD object and will be affected by JSON LD compaction and expansion. Due to a technical limitation, the properties can't be booleans.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n customJsonLdAsString?: string;\n /**\n * Same as customJsonAsString but the data will be stored in the private properties.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n privateCustomJsonAsString?: string;\n /**\n * Same as customJsonLdAsString but the data will be stored in the private properties. The same limitations apply.\n * @type {string}\n * @memberof UiAssetEditRequest\n */\n privateCustomJsonLdAsString?: string;\n}\n\n/**\n * Check if a given object implements the UiAssetEditRequest interface.\n */\nexport function instanceOfUiAssetEditRequest(\n value: any,\n): value is UiAssetEditRequest {\n return true;\n}\n\nexport function UiAssetEditRequestFromJSON(json: any): UiAssetEditRequest {\n return UiAssetEditRequestFromJSONTyped(json, false);\n}\n\nexport function UiAssetEditRequestFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiAssetEditRequest {\n if (json == null) {\n return json;\n }\n return {\n dataSourceOverrideOrNull:\n json['dataSourceOverrideOrNull'] == null\n ? undefined\n : UiDataSourceFromJSON(json['dataSourceOverrideOrNull']),\n title: json['title'] == null ? undefined : json['title'],\n language: json['language'] == null ? undefined : json['language'],\n description:\n json['description'] == null ? undefined : json['description'],\n publisherHomepage:\n json['publisherHomepage'] == null\n ? undefined\n : json['publisherHomepage'],\n licenseUrl: json['licenseUrl'] == null ? undefined : json['licenseUrl'],\n version: json['version'] == null ? undefined : json['version'],\n keywords: json['keywords'] == null ? undefined : json['keywords'],\n mediaType: json['mediaType'] == null ? undefined : json['mediaType'],\n landingPageUrl:\n json['landingPageUrl'] == null ? undefined : json['landingPageUrl'],\n dataCategory:\n json['dataCategory'] == null ? undefined : json['dataCategory'],\n dataSubcategory:\n json['dataSubcategory'] == null\n ? undefined\n : json['dataSubcategory'],\n dataModel: json['dataModel'] == null ? undefined : json['dataModel'],\n geoReferenceMethod:\n json['geoReferenceMethod'] == null\n ? undefined\n : json['geoReferenceMethod'],\n transportMode:\n json['transportMode'] == null ? undefined : json['transportMode'],\n sovereignLegalName:\n json['sovereignLegalName'] == null\n ? undefined\n : json['sovereignLegalName'],\n geoLocation:\n json['geoLocation'] == null ? undefined : json['geoLocation'],\n nutsLocations:\n json['nutsLocations'] == null ? undefined : json['nutsLocations'],\n dataSampleUrls:\n json['dataSampleUrls'] == null ? undefined : json['dataSampleUrls'],\n referenceFileUrls:\n json['referenceFileUrls'] == null\n ? undefined\n : json['referenceFileUrls'],\n referenceFilesDescription:\n json['referenceFilesDescription'] == null\n ? undefined\n : json['referenceFilesDescription'],\n conditionsForUse:\n json['conditionsForUse'] == null\n ? undefined\n : json['conditionsForUse'],\n dataUpdateFrequency:\n json['dataUpdateFrequency'] == null\n ? undefined\n : json['dataUpdateFrequency'],\n temporalCoverageFrom:\n json['temporalCoverageFrom'] == null\n ? undefined\n : new Date(json['temporalCoverageFrom']),\n temporalCoverageToInclusive:\n json['temporalCoverageToInclusive'] == null\n ? undefined\n : new Date(json['temporalCoverageToInclusive']),\n customJsonAsString:\n json['customJsonAsString'] == null\n ? undefined\n : json['customJsonAsString'],\n customJsonLdAsString:\n json['customJsonLdAsString'] == null\n ? undefined\n : json['customJsonLdAsString'],\n privateCustomJsonAsString:\n json['privateCustomJsonAsString'] == null\n ? undefined\n : json['privateCustomJsonAsString'],\n privateCustomJsonLdAsString:\n json['privateCustomJsonLdAsString'] == null\n ? undefined\n : json['privateCustomJsonLdAsString'],\n };\n}\n\nexport function UiAssetEditRequestToJSON(json: any): UiAssetEditRequest {\n return UiAssetEditRequestToJSONTyped(json, false);\n}\n\nexport function UiAssetEditRequestToJSONTyped(\n value?: UiAssetEditRequest | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n dataSourceOverrideOrNull: UiDataSourceToJSON(\n value['dataSourceOverrideOrNull'],\n ),\n title: value['title'],\n language: value['language'],\n description: value['description'],\n publisherHomepage: value['publisherHomepage'],\n licenseUrl: value['licenseUrl'],\n version: value['version'],\n keywords: value['keywords'],\n mediaType: value['mediaType'],\n landingPageUrl: value['landingPageUrl'],\n dataCategory: value['dataCategory'],\n dataSubcategory: value['dataSubcategory'],\n dataModel: value['dataModel'],\n geoReferenceMethod: value['geoReferenceMethod'],\n transportMode: value['transportMode'],\n sovereignLegalName: value['sovereignLegalName'],\n geoLocation: value['geoLocation'],\n nutsLocations: value['nutsLocations'],\n dataSampleUrls: value['dataSampleUrls'],\n referenceFileUrls: value['referenceFileUrls'],\n referenceFilesDescription: value['referenceFilesDescription'],\n conditionsForUse: value['conditionsForUse'],\n dataUpdateFrequency: value['dataUpdateFrequency'],\n temporalCoverageFrom:\n value['temporalCoverageFrom'] == null\n ? undefined\n : value['temporalCoverageFrom'].toISOString().substring(0, 10),\n temporalCoverageToInclusive:\n value['temporalCoverageToInclusive'] == null\n ? undefined\n : value['temporalCoverageToInclusive']\n .toISOString()\n .substring(0, 10),\n customJsonAsString: value['customJsonAsString'],\n customJsonLdAsString: value['customJsonLdAsString'],\n privateCustomJsonAsString: value['privateCustomJsonAsString'],\n privateCustomJsonLdAsString: value['privateCustomJsonLdAsString'],\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {ContractNegotiationState} from './ContractNegotiationState';\nimport {\n ContractNegotiationStateFromJSON,\n ContractNegotiationStateFromJSONTyped,\n ContractNegotiationStateToJSON,\n ContractNegotiationStateToJSONTyped,\n} from './ContractNegotiationState';\n\n/**\n * Contract Negotiation Information\n * @export\n * @interface UiContractNegotiation\n */\nexport interface UiContractNegotiation {\n /**\n * Contract Negotiation Id\n * @type {string}\n * @memberof UiContractNegotiation\n */\n contractNegotiationId: string;\n /**\n * Contract Negotiation Creation Time\n * @type {Date}\n * @memberof UiContractNegotiation\n */\n createdAt: Date;\n /**\n * Contract Agreement Id\n * @type {string}\n * @memberof UiContractNegotiation\n */\n contractAgreementId?: string;\n /**\n * State of the Contract Negotiation state machine\n * @type {ContractNegotiationState}\n * @memberof UiContractNegotiation\n */\n state: ContractNegotiationState;\n}\n\n/**\n * Check if a given object implements the UiContractNegotiation interface.\n */\nexport function instanceOfUiContractNegotiation(\n value: any,\n): value is UiContractNegotiation {\n if (\n !('contractNegotiationId' in value) ||\n value['contractNegotiationId'] === undefined\n )\n return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined)\n return false;\n if (!('state' in value) || value['state'] === undefined) return false;\n return true;\n}\n\nexport function UiContractNegotiationFromJSON(\n json: any,\n): UiContractNegotiation {\n return UiContractNegotiationFromJSONTyped(json, false);\n}\n\nexport function UiContractNegotiationFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiContractNegotiation {\n if (json == null) {\n return json;\n }\n return {\n contractNegotiationId: json['contractNegotiationId'],\n createdAt: new Date(json['createdAt']),\n contractAgreementId:\n json['contractAgreementId'] == null\n ? undefined\n : json['contractAgreementId'],\n state: ContractNegotiationStateFromJSON(json['state']),\n };\n}\n\nexport function UiContractNegotiationToJSON(json: any): UiContractNegotiation {\n return UiContractNegotiationToJSONTyped(json, false);\n}\n\nexport function UiContractNegotiationToJSONTyped(\n value?: UiContractNegotiation | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractNegotiationId: value['contractNegotiationId'],\n createdAt: value['createdAt'].toISOString(),\n contractAgreementId: value['contractAgreementId'],\n state: ContractNegotiationStateToJSON(value['state']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiPolicy} from './UiPolicy';\nimport {\n UiPolicyFromJSON,\n UiPolicyFromJSONTyped,\n UiPolicyToJSON,\n UiPolicyToJSONTyped,\n} from './UiPolicy';\n\n/**\n * Catalog Data Offer's Contract Offer as required by the UI\n * @export\n * @interface UiContractOffer\n */\nexport interface UiContractOffer {\n /**\n * Contract Offer ID\n * @type {string}\n * @memberof UiContractOffer\n */\n contractOfferId: string;\n /**\n * Policy\n * @type {UiPolicy}\n * @memberof UiContractOffer\n */\n policy: UiPolicy;\n}\n\n/**\n * Check if a given object implements the UiContractOffer interface.\n */\nexport function instanceOfUiContractOffer(\n value: any,\n): value is UiContractOffer {\n if (!('contractOfferId' in value) || value['contractOfferId'] === undefined)\n return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n return true;\n}\n\nexport function UiContractOfferFromJSON(json: any): UiContractOffer {\n return UiContractOfferFromJSONTyped(json, false);\n}\n\nexport function UiContractOfferFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiContractOffer {\n if (json == null) {\n return json;\n }\n return {\n contractOfferId: json['contractOfferId'],\n policy: UiPolicyFromJSON(json['policy']),\n };\n}\n\nexport function UiContractOfferToJSON(json: any): UiContractOffer {\n return UiContractOfferToJSONTyped(json, false);\n}\n\nexport function UiContractOfferToJSONTyped(\n value?: UiContractOffer | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n contractOfferId: value['contractOfferId'],\n policy: UiPolicyToJSON(value['policy']),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {mapValues} from '../runtime';\nimport type {UiAsset} from './UiAsset';\nimport {\n UiAssetFromJSON,\n UiAssetFromJSONTyped,\n UiAssetToJSON,\n UiAssetToJSONTyped,\n} from './UiAsset';\nimport type {UiContractOffer} from './UiContractOffer';\nimport {\n UiContractOfferFromJSON,\n UiContractOfferFromJSONTyped,\n UiContractOfferToJSON,\n UiContractOfferToJSONTyped,\n} from './UiContractOffer';\n\n/**\n * Catalog Data Offer as required by the UI\n * @export\n * @interface UiDataOffer\n */\nexport interface UiDataOffer {\n /**\n * Connector Endpoint\n * @type {string}\n * @memberof UiDataOffer\n */\n endpoint: string;\n /**\n * Participant ID. Required for initiating transfers.\n * @type {string}\n * @memberof UiDataOffer\n */\n participantId: string;\n /**\n * Asset Information\n * @type {UiAsset}\n * @memberof UiDataOffer\n */\n asset: UiAsset;\n /**\n * Available Contract Offers\n * @type {Array<UiContractOffer>}\n * @memberof UiDataOffer\n */\n contractOffers: Array<UiContractOffer>;\n}\n\n/**\n * Check if a given object implements the UiDataOffer interface.\n */\nexport function instanceOfUiDataOffer(value: any): value is UiDataOffer {\n if (!('endpoint' in value) || value['endpoint'] === undefined) return false;\n if (!('participantId' in value) || value['participantId'] === undefined)\n return false;\n if (!('asset' in value) || value['asset'] === undefined) return false;\n if (!('contractOffers' in value) || value['contractOffers'] === undefined)\n return false;\n return true;\n}\n\nexport function UiDataOfferFromJSON(json: any): UiDataOffer {\n return UiDataOfferFromJSONTyped(json, false);\n}\n\nexport function UiDataOfferFromJSONTyped(\n json: any,\n ignoreDiscriminator: boolean,\n): UiDataOffer {\n if (json == null) {\n return json;\n }\n return {\n endpoint: json['endpoint'],\n participantId: json['participantId'],\n asset: UiAssetFromJSON(json['asset']),\n contractOffers: (json['contractOffers'] as Array<any>).map(\n UiContractOfferFromJSON,\n ),\n };\n}\n\nexport function UiDataOfferToJSON(json: any): UiDataOffer {\n return UiDataOfferToJSONTyped(json, false);\n}\n\nexport function UiDataOfferToJSONTyped(\n value?: UiDataOffer | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value;\n }\n\n return {\n endpoint: value['endpoint'],\n participantId: value['participantId'],\n asset: UiAssetToJSON(value['asset']),\n contractOffers: (value['contractOffers'] as Array<any>).map(\n UiContractOfferToJSON,\n ),\n };\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {ConnectorLimits, UiAssetCreateRequest} from '../models/index';\nimport {\n ConnectorLimitsFromJSON,\n ConnectorLimitsToJSON,\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestToJSON,\n} from '../models/index';\nimport * as runtime from '../runtime';\n\nexport interface FileUploadCreateAssetRequest {\n blobId: string;\n uiAssetCreateRequest: UiAssetCreateRequest;\n}\n\n/**\n *\n */\nexport class EnterpriseEditionApi extends runtime.BaseAPI {\n /**\n * Available and used resources of a connector.\n */\n async connectorLimitsRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ConnectorLimits>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ee/connector-limits`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ConnectorLimitsFromJSON(jsonValue),\n );\n }\n\n /**\n * Available and used resources of a connector.\n */\n async connectorLimits(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ConnectorLimits> {\n const response = await this.connectorLimitsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Creates an asset using the uploaded file as data source.\n * Create an asset from an uploaded file.\n */\n async fileUploadCreateAssetRaw(\n requestParameters: FileUploadCreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<void>> {\n if (requestParameters['blobId'] == null) {\n throw new runtime.RequiredError(\n 'blobId',\n 'Required parameter \"blobId\" was null or undefined when calling fileUploadCreateAsset().',\n );\n }\n\n if (requestParameters['uiAssetCreateRequest'] == null) {\n throw new runtime.RequiredError(\n 'uiAssetCreateRequest',\n 'Required parameter \"uiAssetCreateRequest\" was null or undefined when calling fileUploadCreateAsset().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ee/file-upload/blobs/{blobId}/asset`.replace(\n `{${'blobId'}}`,\n encodeURIComponent(String(requestParameters['blobId'])),\n ),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetCreateRequestToJSON(\n requestParameters['uiAssetCreateRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Creates an asset using the uploaded file as data source.\n * Create an asset from an uploaded file.\n */\n async fileUploadCreateAsset(\n requestParameters: FileUploadCreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<void> {\n await this.fileUploadCreateAssetRaw(requestParameters, initOverrides);\n }\n\n /**\n * Requests a Blob URL with a SAS Token so that the UI can directly upload the file to the Azure Blob Storage. Returns the Blob ID / Token.\n * Requests a Blob for file upload.\n */\n async fileUploadRequestSasTokenRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ee/file-upload/blobs`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse<string>(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Requests a Blob URL with a SAS Token so that the UI can directly upload the file to the Azure Blob Storage. Returns the Blob ID / Token.\n * Requests a Blob for file upload.\n */\n async fileUploadRequestSasToken(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<string> {\n const response = await this.fileUploadRequestSasTokenRaw(initOverrides);\n return await response.value();\n }\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {\n AssetPage,\n BuildInfo,\n ContractAgreementCard,\n ContractAgreementPage,\n ContractAgreementPageQuery,\n ContractDefinitionPage,\n ContractDefinitionRequest,\n ContractNegotiationRequest,\n ContractTerminationRequest,\n DashboardPage,\n DataOfferCreateRequest,\n IdAvailabilityResponse,\n IdResponseDto,\n InitiateCustomTransferRequest,\n InitiateTransferRequest,\n PolicyDefinitionCreateDto,\n PolicyDefinitionCreateRequest,\n PolicyDefinitionPage,\n TransferHistoryPage,\n UiAsset,\n UiAssetCreateRequest,\n UiAssetEditRequest,\n UiContractNegotiation,\n UiDataOffer,\n} from '../models/index';\nimport {\n AssetPageFromJSON,\n AssetPageToJSON,\n BuildInfoFromJSON,\n BuildInfoToJSON,\n ContractAgreementCardFromJSON,\n ContractAgreementCardToJSON,\n ContractAgreementPageFromJSON,\n ContractAgreementPageQueryFromJSON,\n ContractAgreementPageQueryToJSON,\n ContractAgreementPageToJSON,\n ContractDefinitionPageFromJSON,\n ContractDefinitionPageToJSON,\n ContractDefinitionRequestFromJSON,\n ContractDefinitionRequestToJSON,\n ContractNegotiationRequestFromJSON,\n ContractNegotiationRequestToJSON,\n ContractTerminationRequestFromJSON,\n ContractTerminationRequestToJSON,\n DashboardPageFromJSON,\n DashboardPageToJSON,\n DataOfferCreateRequestFromJSON,\n DataOfferCreateRequestToJSON,\n IdAvailabilityResponseFromJSON,\n IdAvailabilityResponseToJSON,\n IdResponseDtoFromJSON,\n IdResponseDtoToJSON,\n InitiateCustomTransferRequestFromJSON,\n InitiateCustomTransferRequestToJSON,\n InitiateTransferRequestFromJSON,\n InitiateTransferRequestToJSON,\n PolicyDefinitionCreateDtoFromJSON,\n PolicyDefinitionCreateDtoToJSON,\n PolicyDefinitionCreateRequestFromJSON,\n PolicyDefinitionCreateRequestToJSON,\n PolicyDefinitionPageFromJSON,\n PolicyDefinitionPageToJSON,\n TransferHistoryPageFromJSON,\n TransferHistoryPageToJSON,\n UiAssetCreateRequestFromJSON,\n UiAssetCreateRequestToJSON,\n UiAssetEditRequestFromJSON,\n UiAssetEditRequestToJSON,\n UiAssetFromJSON,\n UiAssetToJSON,\n UiContractNegotiationFromJSON,\n UiContractNegotiationToJSON,\n UiDataOfferFromJSON,\n UiDataOfferToJSON,\n} from '../models/index';\nimport * as runtime from '../runtime';\n\nexport interface CreateAssetRequest {\n uiAssetCreateRequest?: UiAssetCreateRequest;\n}\n\nexport interface CreateContractDefinitionRequest {\n contractDefinitionRequest?: ContractDefinitionRequest;\n}\n\nexport interface CreateDataOfferRequest {\n dataOfferCreateRequest?: DataOfferCreateRequest;\n}\n\nexport interface CreatePolicyDefinitionRequest {\n policyDefinitionCreateRequest?: PolicyDefinitionCreateRequest;\n}\n\nexport interface CreatePolicyDefinitionV2Request {\n policyDefinitionCreateDto?: PolicyDefinitionCreateDto;\n}\n\nexport interface DeleteAssetRequest {\n assetId: string;\n}\n\nexport interface DeleteContractDefinitionRequest {\n contractDefinitionId: string;\n}\n\nexport interface DeletePolicyDefinitionRequest {\n policyId: string;\n}\n\nexport interface EditAssetRequest {\n assetId: string;\n uiAssetEditRequest?: UiAssetEditRequest;\n}\n\nexport interface GetCatalogPageDataOffersRequest {\n participantId?: string;\n connectorEndpoint?: string;\n}\n\nexport interface GetContractAgreementCardRequest {\n contractAgreementId: string;\n}\n\nexport interface GetContractAgreementPageRequest {\n contractAgreementPageQuery?: ContractAgreementPageQuery;\n}\n\nexport interface GetContractNegotiationRequest {\n contractNegotiationId: string;\n}\n\nexport interface GetTransferProcessAssetRequest {\n transferProcessId: string;\n}\n\nexport interface InitiateContractNegotiationRequest {\n contractNegotiationRequest?: ContractNegotiationRequest;\n}\n\nexport interface InitiateCustomTransferOperationRequest {\n initiateCustomTransferRequest?: InitiateCustomTransferRequest;\n}\n\nexport interface InitiateTransferOperationRequest {\n initiateTransferRequest?: InitiateTransferRequest;\n}\n\nexport interface IsAssetIdAvailableRequest {\n assetId: string;\n}\n\nexport interface IsContractDefinitionIdAvailableRequest {\n contractDefinitionId: string;\n}\n\nexport interface IsPolicyIdAvailableRequest {\n policyId: string;\n}\n\nexport interface TerminateContractAgreementRequest {\n contractAgreementId: string;\n contractTerminationRequest?: ContractTerminationRequest;\n}\n\n/**\n *\n */\nexport class UIApi extends runtime.BaseAPI {\n /**\n * Get the build version info\n */\n async buildInfoRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<BuildInfo>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/build-info`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n BuildInfoFromJSON(jsonValue),\n );\n }\n\n /**\n * Get the build version info\n */\n async buildInfo(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<BuildInfo> {\n const response = await this.buildInfoRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Create a new Asset\n */\n async createAssetRaw(\n requestParameters: CreateAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetCreateRequestToJSON(\n requestParameters['uiAssetCreateRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Asset\n */\n async createAsset(\n requestParameters: CreateAssetRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new Contract Definition\n */\n async createContractDefinitionRaw(\n requestParameters: CreateContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page/contract-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractDefinitionRequestToJSON(\n requestParameters['contractDefinitionRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Contract Definition\n */\n async createContractDefinition(\n requestParameters: CreateContractDefinitionRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createContractDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new asset, contract definition and optional policies. Uses the same id for the asset, the contract policy, the access policy and the contract definition\n */\n async createDataOfferRaw(\n requestParameters: CreateDataOfferRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/create-data-offer`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataOfferCreateRequestToJSON(\n requestParameters['dataOfferCreateRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new asset, contract definition and optional policies. Uses the same id for the asset, the contract policy, the access policy and the contract definition\n */\n async createDataOffer(\n requestParameters: CreateDataOfferRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createDataOfferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * [Deprecated] Create a new Policy Definition from a list of constraints. Use createPolicyDefinitionV2 instead.\n * @deprecated\n */\n async createPolicyDefinitionRaw(\n requestParameters: CreatePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page/policy-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PolicyDefinitionCreateRequestToJSON(\n requestParameters['policyDefinitionCreateRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * [Deprecated] Create a new Policy Definition from a list of constraints. Use createPolicyDefinitionV2 instead.\n * @deprecated\n */\n async createPolicyDefinition(\n requestParameters: CreatePolicyDefinitionRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createPolicyDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Create a new Policy Definition\n */\n async createPolicyDefinitionV2Raw(\n requestParameters: CreatePolicyDefinitionV2Request,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/v2/pages/policy-page/policy-definitions`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PolicyDefinitionCreateDtoToJSON(\n requestParameters['policyDefinitionCreateDto'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Create a new Policy Definition\n */\n async createPolicyDefinitionV2(\n requestParameters: CreatePolicyDefinitionV2Request = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.createPolicyDefinitionV2Raw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete an Asset\n */\n async deleteAssetRaw(\n requestParameters: DeleteAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (requestParameters['assetId'] == null) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter \"assetId\" was null or undefined when calling deleteAsset().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters['assetId'])),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete an Asset\n */\n async deleteAsset(\n requestParameters: DeleteAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deleteAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete a Contract Definition\n */\n async deleteContractDefinitionRaw(\n requestParameters: DeleteContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (requestParameters['contractDefinitionId'] == null) {\n throw new runtime.RequiredError(\n 'contractDefinitionId',\n 'Required parameter \"contractDefinitionId\" was null or undefined when calling deleteContractDefinition().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page/contract-definitions/{contractDefinitionId}`.replace(\n `{${'contractDefinitionId'}}`,\n encodeURIComponent(\n String(requestParameters['contractDefinitionId']),\n ),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete a Contract Definition\n */\n async deleteContractDefinition(\n requestParameters: DeleteContractDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deleteContractDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Delete a Policy Definition\n */\n async deletePolicyDefinitionRaw(\n requestParameters: DeletePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (requestParameters['policyId'] == null) {\n throw new runtime.RequiredError(\n 'policyId',\n 'Required parameter \"policyId\" was null or undefined when calling deletePolicyDefinition().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page/policy-definitions/{policyId}`.replace(\n `{${'policyId'}}`,\n encodeURIComponent(String(requestParameters['policyId'])),\n ),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Delete a Policy Definition\n */\n async deletePolicyDefinition(\n requestParameters: DeletePolicyDefinitionRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.deletePolicyDefinitionRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Updates an Asset\\'s metadata and optionally also the data source.\n */\n async editAssetRaw(\n requestParameters: EditAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (requestParameters['assetId'] == null) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter \"assetId\" was null or undefined when calling editAsset().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page/assets/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters['assetId'])),\n ),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: UiAssetEditRequestToJSON(\n requestParameters['uiAssetEditRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Updates an Asset\\'s metadata and optionally also the data source.\n */\n async editAsset(\n requestParameters: EditAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.editAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for Asset Page\n */\n async getAssetPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<AssetPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/asset-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n AssetPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Asset Page\n */\n async getAssetPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<AssetPage> {\n const response = await this.getAssetPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async getCatalogPageDataOffersRaw(\n requestParameters: GetCatalogPageDataOffersRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<UiDataOffer>>> {\n const queryParameters: any = {};\n\n if (requestParameters['participantId'] != null) {\n queryParameters['participantId'] =\n requestParameters['participantId'];\n }\n\n if (requestParameters['connectorEndpoint'] != null) {\n queryParameters['connectorEndpoint'] =\n requestParameters['connectorEndpoint'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/data-offers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n jsonValue.map(UiDataOfferFromJSON),\n );\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async getCatalogPageDataOffers(\n requestParameters: GetCatalogPageDataOffersRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<UiDataOffer>> {\n const response = await this.getCatalogPageDataOffersRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Get a single contract agreement card by its identifier\n */\n async getContractAgreementCardRaw(\n requestParameters: GetContractAgreementCardRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractAgreementCard>> {\n if (requestParameters['contractAgreementId'] == null) {\n throw new runtime.RequiredError(\n 'contractAgreementId',\n 'Required parameter \"contractAgreementId\" was null or undefined when calling getContractAgreementCard().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/{contractAgreementId}`.replace(\n `{${'contractAgreementId'}}`,\n encodeURIComponent(\n String(requestParameters['contractAgreementId']),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractAgreementCardFromJSON(jsonValue),\n );\n }\n\n /**\n * Get a single contract agreement card by its identifier\n */\n async getContractAgreementCard(\n requestParameters: GetContractAgreementCardRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractAgreementCard> {\n const response = await this.getContractAgreementCardRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect filtered data for the Contract Agreement Page\n */\n async getContractAgreementPageRaw(\n requestParameters: GetContractAgreementPageRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractAgreementPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractAgreementPageQueryToJSON(\n requestParameters['contractAgreementPageQuery'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractAgreementPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect filtered data for the Contract Agreement Page\n */\n async getContractAgreementPage(\n requestParameters: GetContractAgreementPageRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractAgreementPage> {\n const response = await this.getContractAgreementPageRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for Contract Definition Page\n */\n async getContractDefinitionPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<ContractDefinitionPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-definition-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n ContractDefinitionPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Contract Definition Page\n */\n async getContractDefinitionPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<ContractDefinitionPage> {\n const response = await this.getContractDefinitionPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Get Contract Negotiation Information\n */\n async getContractNegotiationRaw(\n requestParameters: GetContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiContractNegotiation>> {\n if (requestParameters['contractNegotiationId'] == null) {\n throw new runtime.RequiredError(\n 'contractNegotiationId',\n 'Required parameter \"contractNegotiationId\" was null or undefined when calling getContractNegotiation().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/contract-negotiations/{contractNegotiationId}`.replace(\n `{${'contractNegotiationId'}}`,\n encodeURIComponent(\n String(requestParameters['contractNegotiationId']),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiContractNegotiationFromJSON(jsonValue),\n );\n }\n\n /**\n * Get Contract Negotiation Information\n */\n async getContractNegotiation(\n requestParameters: GetContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiContractNegotiation> {\n const response = await this.getContractNegotiationRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Collect all data for the Dashboard Page\n */\n async getDashboardPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<DashboardPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/dashboard-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n DashboardPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for the Dashboard Page\n */\n async getDashboardPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<DashboardPage> {\n const response = await this.getDashboardPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Collect all data for Policy Definition Page\n */\n async getPolicyDefinitionPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<PolicyDefinitionPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/policy-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n PolicyDefinitionPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for Policy Definition Page\n */\n async getPolicyDefinitionPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<PolicyDefinitionPage> {\n const response = await this.getPolicyDefinitionPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Collect all data for the Transfer History Page\n */\n async getTransferHistoryPageRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<TransferHistoryPage>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/transfer-history-page`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n TransferHistoryPageFromJSON(jsonValue),\n );\n }\n\n /**\n * Collect all data for the Transfer History Page\n */\n async getTransferHistoryPage(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<TransferHistoryPage> {\n const response = await this.getTransferHistoryPageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Queries a transfer process\\' asset\n */\n async getTransferProcessAssetRaw(\n requestParameters: GetTransferProcessAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiAsset>> {\n if (requestParameters['transferProcessId'] == null) {\n throw new runtime.RequiredError(\n 'transferProcessId',\n 'Required parameter \"transferProcessId\" was null or undefined when calling getTransferProcessAsset().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/transfer-history-page/transfer-processes/{transferProcessId}/asset`.replace(\n `{${'transferProcessId'}}`,\n encodeURIComponent(\n String(requestParameters['transferProcessId']),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiAssetFromJSON(jsonValue),\n );\n }\n\n /**\n * Queries a transfer process\\' asset\n */\n async getTransferProcessAsset(\n requestParameters: GetTransferProcessAssetRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiAsset> {\n const response = await this.getTransferProcessAssetRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a new Contract Negotiation\n */\n async initiateContractNegotiationRaw(\n requestParameters: InitiateContractNegotiationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<UiContractNegotiation>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/catalog-page/contract-negotiations`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractNegotiationRequestToJSON(\n requestParameters['contractNegotiationRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n UiContractNegotiationFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a new Contract Negotiation\n */\n async initiateContractNegotiation(\n requestParameters: InitiateContractNegotiationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<UiContractNegotiation> {\n const response = await this.initiateContractNegotiationRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a Transfer Process via a custom Transfer Process JSON-LD. Fields such as connectorId, assetId, providerConnectorId, providerConnectorAddress will be set automatically.\n */\n async initiateCustomTransferRaw(\n requestParameters: InitiateCustomTransferOperationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/transfers/custom`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: InitiateCustomTransferRequestToJSON(\n requestParameters['initiateCustomTransferRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a Transfer Process via a custom Transfer Process JSON-LD. Fields such as connectorId, assetId, providerConnectorId, providerConnectorAddress will be set automatically.\n */\n async initiateCustomTransfer(\n requestParameters: InitiateCustomTransferOperationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.initiateCustomTransferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Initiate a Transfer Process\n */\n async initiateTransferRaw(\n requestParameters: InitiateTransferOperationRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/contract-agreement-page/transfers`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: InitiateTransferRequestToJSON(\n requestParameters['initiateTransferRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Initiate a Transfer Process\n */\n async initiateTransfer(\n requestParameters: InitiateTransferOperationRequest = {},\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.initiateTransferRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided assetId is already taken\n */\n async isAssetIdAvailableRaw(\n requestParameters: IsAssetIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (requestParameters['assetId'] == null) {\n throw new runtime.RequiredError(\n 'assetId',\n 'Required parameter \"assetId\" was null or undefined when calling isAssetIdAvailable().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-asset-id/{assetId}`.replace(\n `{${'assetId'}}`,\n encodeURIComponent(String(requestParameters['assetId'])),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided assetId is already taken\n */\n async isAssetIdAvailable(\n requestParameters: IsAssetIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isAssetIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided contractDefinitionId is already taken\n */\n async isContractDefinitionIdAvailableRaw(\n requestParameters: IsContractDefinitionIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (requestParameters['contractDefinitionId'] == null) {\n throw new runtime.RequiredError(\n 'contractDefinitionId',\n 'Required parameter \"contractDefinitionId\" was null or undefined when calling isContractDefinitionIdAvailable().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-contract-definition-id/{contractDefinitionId}`.replace(\n `{${'contractDefinitionId'}}`,\n encodeURIComponent(\n String(requestParameters['contractDefinitionId']),\n ),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided contractDefinitionId is already taken\n */\n async isContractDefinitionIdAvailable(\n requestParameters: IsContractDefinitionIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isContractDefinitionIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Validates if the provided policyId is already taken\n */\n async isPolicyIdAvailableRaw(\n requestParameters: IsPolicyIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdAvailabilityResponse>> {\n if (requestParameters['policyId'] == null) {\n throw new runtime.RequiredError(\n 'policyId',\n 'Required parameter \"policyId\" was null or undefined when calling isPolicyIdAvailable().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/data-offer-page/validate-policy-id/{policyId}`.replace(\n `{${'policyId'}}`,\n encodeURIComponent(String(requestParameters['policyId'])),\n ),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdAvailabilityResponseFromJSON(jsonValue),\n );\n }\n\n /**\n * Validates if the provided policyId is already taken\n */\n async isPolicyIdAvailable(\n requestParameters: IsPolicyIdAvailableRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdAvailabilityResponse> {\n const response = await this.isPolicyIdAvailableRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n\n /**\n * Terminates a contract agreement designated by its contract agreement id.\n */\n async terminateContractAgreementRaw(\n requestParameters: TerminateContractAgreementRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<IdResponseDto>> {\n if (requestParameters['contractAgreementId'] == null) {\n throw new runtime.RequiredError(\n 'contractAgreementId',\n 'Required parameter \"contractAgreementId\" was null or undefined when calling terminateContractAgreement().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/ui/pages/content-agreement-page/{contractAgreementId}/terminate`.replace(\n `{${'contractAgreementId'}}`,\n encodeURIComponent(\n String(requestParameters['contractAgreementId']),\n ),\n ),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ContractTerminationRequestToJSON(\n requestParameters['contractTerminationRequest'],\n ),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n IdResponseDtoFromJSON(jsonValue),\n );\n }\n\n /**\n * Terminates a contract agreement designated by its contract agreement id.\n */\n async terminateContractAgreement(\n requestParameters: TerminateContractAgreementRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<IdResponseDto> {\n const response = await this.terminateContractAgreementRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n}\n","/* tslint:disable */\n\n/* eslint-disable */\n\n/**\n * sovity EDC API Wrapper\n * sovity\\'s EDC API Wrapper contains a selection of APIs for multiple consumers, e.g. our EDC UI API, our generic Use Case API, our Commercial Edition APIs, etc. We bundled these APIs, so we can have an easier time generating our API Client Libraries.\n *\n * The version of the OpenAPI document: 0.0.0\n * Contact: contact@sovity.de\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport type {CatalogQuery, KpiResult, UiDataOffer} from '../models/index';\nimport {\n CatalogQueryFromJSON,\n CatalogQueryToJSON,\n KpiResultFromJSON,\n KpiResultToJSON,\n UiDataOfferFromJSON,\n UiDataOfferToJSON,\n} from '../models/index';\nimport * as runtime from '../runtime';\n\nexport interface QueryCatalogRequest {\n catalogQuery: CatalogQuery;\n}\n\n/**\n *\n */\nexport class UseCaseApi extends runtime.BaseAPI {\n /**\n * Basic KPIs about the running EDC Connector.\n */\n async getKpisRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<KpiResult>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/kpis`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n KpiResultFromJSON(jsonValue),\n );\n }\n\n /**\n * Basic KPIs about the running EDC Connector.\n */\n async getKpis(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<KpiResult> {\n const response = await this.getKpisRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * List available functions in policies, prohibitions and obligations.\n */\n async getSupportedFunctionsRaw(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<string>>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/supported-policy-functions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse<any>(response);\n }\n\n /**\n * List available functions in policies, prohibitions and obligations.\n */\n async getSupportedFunctions(\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<string>> {\n const response = await this.getSupportedFunctionsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async queryCatalogRaw(\n requestParameters: QueryCatalogRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<runtime.ApiResponse<Array<UiDataOffer>>> {\n if (requestParameters['catalogQuery'] == null) {\n throw new runtime.RequiredError(\n 'catalogQuery',\n 'Required parameter \"catalogQuery\" was null or undefined when calling queryCatalog().',\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n const response = await this.request(\n {\n path: `/wrapper/use-case-api/catalog`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: CatalogQueryToJSON(requestParameters['catalogQuery']),\n },\n initOverrides,\n );\n\n return new runtime.JSONApiResponse(response, (jsonValue) =>\n jsonValue.map(UiDataOfferFromJSON),\n );\n }\n\n /**\n * Fetch a connector\\'s data offers\n */\n async queryCatalog(\n requestParameters: QueryCatalogRequest,\n initOverrides?: RequestInit | runtime.InitOverrideFunction,\n ): Promise<Array<UiDataOffer>> {\n const response = await this.queryCatalogRaw(\n requestParameters,\n initOverrides,\n );\n return await response.value();\n }\n}\n","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this, this._def);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_+-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\n// Adapted from https://stackoverflow.com/a/3143231\nconst datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\n};\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return Object.keys(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.issues.length) {\n return {\n status: \"dirty\",\n value: ctx.data,\n };\n }\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect<any>\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n if (isValid(result)) {\n result.value = Object.freeze(result.value);\n }\n return result;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nconst custom = (check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\n/**\n * Checks if the given HTTP status code is either 401 (Unauthorized) or 403 (Forbidden).\n * @param httpStatus\n */\nexport function needsAuthentication(httpStatus: number) {\n return httpStatus === 401 || httpStatus === 403;\n}\n\nexport function createUrlEncodedParamsString(obj: Record<string, string>) {\n return Object.entries(obj)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n .join('&');\n}\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\nimport {z} from 'zod';\nimport {ClientCredentials} from '../model/ClientCredentials';\nimport {createUrlEncodedParamsString} from './HttpUtils';\n\nconst ClientCredentialsResponseSchema = z.object({\n access_token: z.string().min(1),\n token_type: z.string(),\n expires_in: z.number(),\n scope: z.string(),\n});\nexport type ClientCredentialsResponse = z.infer<\n typeof ClientCredentialsResponseSchema\n>;\n\nexport async function fetchClientCredentials(\n clientCredentials: ClientCredentials,\n): Promise<ClientCredentialsResponse> {\n let response = await fetch(clientCredentials.tokenUrl, {\n method: 'POST',\n body: createUrlEncodedParamsString({\n grant_type: 'client_credentials',\n client_id: clientCredentials.clientId,\n client_secret: clientCredentials.clientSecret,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n });\n let json: unknown = await response.json();\n return parseTokenResponse(json);\n}\n\nfunction parseTokenResponse(json: unknown): ClientCredentialsResponse {\n const tokenResponseParsed = ClientCredentialsResponseSchema.safeParse(json);\n if (!tokenResponseParsed.success) {\n throw new Error('Bad access token response');\n }\n return tokenResponseParsed.data;\n}\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\nimport {ClientCredentials} from './model/ClientCredentials';\nimport {\n ClientCredentialsResponse,\n fetchClientCredentials,\n} from './utils/FetchUtils';\n\nexport class AccessTokenService {\n private activeRequest: Promise<ClientCredentialsResponse> | null = null;\n private refreshTimeout?: number;\n private accessToken: string | null = null;\n\n constructor(private clientCredentials: ClientCredentials) {}\n\n async getAccessToken(): Promise<string> {\n if (!this.accessToken) {\n return await this.refreshAccessToken();\n }\n return this.accessToken;\n }\n\n /**\n * Synchronized refreshing of the access token\n */\n async refreshAccessToken(): Promise<string> {\n if (this.activeRequest) {\n await this.activeRequest;\n return this.accessToken!;\n }\n\n this.accessToken = null;\n this.activeRequest = fetchClientCredentials(this.clientCredentials);\n const response = await this.activeRequest;\n this.scheduleNextRefresh(response);\n this.accessToken = response.access_token;\n this.activeRequest = null;\n\n return this.accessToken;\n }\n\n private scheduleNextRefresh(response: ClientCredentialsResponse) {\n clearTimeout(this.refreshTimeout);\n const ms = (response.expires_in - 2) * 1000;\n this.refreshTimeout = setTimeout(() => {\n this.accessToken = null;\n }, ms) as any;\n }\n}\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\nexport function injectAccessTokenHeader(init: RequestInit, token: string) {\n init.headers = withHeader('Authorization', `Bearer ${token}`, init.headers);\n}\n\nfunction withHeader(\n headerName: string,\n headerValue: string,\n headers?: HeadersInit,\n): HeadersInit {\n if (!headers) {\n headers = {};\n headers[headerName] = headerValue;\n return headers;\n }\n\n if (Array.isArray(headers)) {\n return headers.map(([a, b]) =>\n a !== headerName ? [a, b] : [headerName, headerValue],\n );\n }\n\n if (isHeaders(headers)) {\n if (headers.has(headerName)) {\n headers.set(headerName, headerValue);\n } else {\n headers.append(headerName, headerValue);\n }\n return headers;\n }\n\n headers[headerName] = headerValue;\n return headers;\n}\n\nfunction isHeaders(object: any): object is Headers {\n return (\n 'append' in object &&\n 'delete' in object &&\n 'get' in object &&\n 'has' in object &&\n 'set' in object &&\n 'forEach' in object\n );\n}\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\nimport {Middleware, RequestContext, ResponseContext} from '../generated';\nimport {AccessTokenService} from './AccessTokenService';\nimport {ClientCredentials} from './model/ClientCredentials';\nimport {needsAuthentication} from './utils/HttpUtils';\nimport {injectAccessTokenHeader} from './utils/RequestUtils';\n\nexport function buildOAuthMiddleware(\n clientCredentials: ClientCredentials,\n): Middleware {\n const accessTokenService = new AccessTokenService(clientCredentials);\n\n return {\n pre: async (ctx: RequestContext) => {\n const accessToken = await accessTokenService.getAccessToken();\n injectAccessTokenHeader(ctx.init, accessToken);\n\n return Promise.resolve({\n url: ctx.url,\n init: ctx.init,\n });\n },\n post: async (ctx: ResponseContext): Promise<Response> => {\n if (needsAuthentication(ctx.response.status)) {\n const accessToken =\n await accessTokenService.refreshAccessToken();\n injectAccessTokenHeader(ctx.init, accessToken);\n // Use normal fetch to not trigger middleware on retry\n return await fetch(ctx.url, ctx.init);\n }\n\n return Promise.resolve(ctx.response);\n },\n };\n}\n","/*\n * Copyright 2025 sovity GmbH\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n *\n * Contributors:\n * sovity - init and continued development\n */\nimport {\n Configuration,\n ConfigurationParameters,\n EnterpriseEditionApi,\n Middleware,\n UIApi,\n UseCaseApi,\n} from './generated';\nimport {buildOAuthMiddleware} from './oauth2/Middleware';\nimport {ClientCredentials} from './oauth2/model/ClientCredentials';\n\n/**\n * API Client for our sovity EDC\n */\nexport interface EdcClient {\n uiApi: UIApi;\n useCaseApi: UseCaseApi;\n enterpriseEditionApi: EnterpriseEditionApi;\n}\n\n/**\n * Configure & Build new EDC Client\n * @param opts opts\n */\nexport function buildEdcClient(opts: EdcClientOptions): EdcClient {\n let middleware: Middleware[] = [];\n let headers: Record<string, string> = {};\n\n if (opts.clientCredentials) {\n middleware.push(buildOAuthMiddleware(opts.clientCredentials));\n }\n if (opts.managementApiKey) {\n headers = buildApiKeyHeader(opts.managementApiKey);\n }\n\n const config = new Configuration({\n basePath: opts.managementApiUrl,\n headers,\n credentials: 'same-origin',\n middleware,\n ...opts.configOverrides,\n });\n\n return {\n uiApi: new UIApi(config),\n useCaseApi: new UseCaseApi(config),\n enterpriseEditionApi: new EnterpriseEditionApi(config),\n };\n}\n\nfunction buildApiKeyHeader(key: string) {\n return {\n 'X-Api-Key': key,\n };\n}\n\n/**\n * Options for instantiating an EDC API Client\n */\nexport interface EdcClientOptions {\n managementApiUrl: string;\n managementApiKey?: string;\n clientCredentials?: ClientCredentials;\n configOverrides?: Partial<ConfigurationParameters>;\n}\n"],"names":["BASE_PATH","Configuration","configuration","querystring","apiKey","accessToken","DefaultConfig","_BaseAPI","__publicField","url","init","fetchParams","middleware","response","e","FetchError","middlewares","next","preMiddlewares","pre","postMiddlewares","post","mime","context","initOverrides","ResponseError","headers","key","initOverrideFn","initParams","overriddenInit","body","isFormData","isBlob","constructor","BaseAPI","value","msg","cause","RequiredError","field","COLLECTION_FORMATS","params","prefix","querystringSingleKey","part","keyPrefix","fullKey","multiValue","singleValue","valueAsArray","exists","json","mapValues","data","fn","acc","canConsumeForm","consumes","consume","JSONApiResponse","raw","transformer","jsonValue","VoidApiResponse","BlobApiResponse","TextApiResponse","DataSourceAvailability","instanceOfDataSourceAvailability","DataSourceAvailabilityFromJSON","DataSourceAvailabilityFromJSONTyped","ignoreDiscriminator","DataSourceAvailabilityToJSON","DataSourceAvailabilityToJSONTyped","instanceOfUiAsset","UiAssetFromJSON","UiAssetFromJSONTyped","UiAssetToJSON","UiAssetToJSONTyped","instanceOfAssetPage","AssetPageFromJSON","AssetPageFromJSONTyped","AssetPageToJSON","AssetPageToJSONTyped","instanceOfBuildInfo","BuildInfoFromJSON","BuildInfoFromJSONTyped","BuildInfoToJSON","BuildInfoToJSONTyped","CatalogFilterExpressionLiteralType","instanceOfCatalogFilterExpressionLiteralType","CatalogFilterExpressionLiteralTypeFromJSON","CatalogFilterExpressionLiteralTypeFromJSONTyped","CatalogFilterExpressionLiteralTypeToJSON","CatalogFilterExpressionLiteralTypeToJSONTyped","instanceOfCatalogFilterExpressionLiteral","CatalogFilterExpressionLiteralFromJSON","CatalogFilterExpressionLiteralFromJSONTyped","CatalogFilterExpressionLiteralToJSON","CatalogFilterExpressionLiteralToJSONTyped","CatalogFilterExpressionOperator","instanceOfCatalogFilterExpressionOperator","CatalogFilterExpressionOperatorFromJSON","CatalogFilterExpressionOperatorFromJSONTyped","CatalogFilterExpressionOperatorToJSON","CatalogFilterExpressionOperatorToJSONTyped","instanceOfCatalogFilterExpression","CatalogFilterExpressionFromJSON","CatalogFilterExpressionFromJSONTyped","CatalogFilterExpressionToJSON","CatalogFilterExpressionToJSONTyped","instanceOfCatalogQuery","CatalogQueryFromJSON","CatalogQueryFromJSONTyped","CatalogQueryToJSON","CatalogQueryToJSONTyped","instanceOfConnectorLimits","ConnectorLimitsFromJSON","ConnectorLimitsFromJSONTyped","ConnectorLimitsToJSON","ConnectorLimitsToJSONTyped","ContractAgreementDirection","instanceOfContractAgreementDirection","ContractAgreementDirectionFromJSON","ContractAgreementDirectionFromJSONTyped","ContractAgreementDirectionToJSON","ContractAgreementDirectionToJSONTyped","ContractTerminatedBy","instanceOfContractTerminatedBy","ContractTerminatedByFromJSON","ContractTerminatedByFromJSONTyped","ContractTerminatedByToJSON","ContractTerminatedByToJSONTyped","instanceOfContractAgreementTerminationInfo","ContractAgreementTerminationInfoFromJSON","ContractAgreementTerminationInfoFromJSONTyped","ContractAgreementTerminationInfoToJSON","ContractAgreementTerminationInfoToJSONTyped","TransferProcessSimplifiedState","instanceOfTransferProcessSimplifiedState","TransferProcessSimplifiedStateFromJSON","TransferProcessSimplifiedStateFromJSONTyped","TransferProcessSimplifiedStateToJSON","TransferProcessSimplifiedStateToJSONTyped","instanceOfTransferProcessState","TransferProcessStateFromJSON","TransferProcessStateFromJSONTyped","TransferProcessStateToJSON","TransferProcessStateToJSONTyped","instanceOfContractAgreementTransferProcess","ContractAgreementTransferProcessFromJSON","ContractAgreementTransferProcessFromJSONTyped","ContractAgreementTransferProcessToJSON","ContractAgreementTransferProcessToJSONTyped","ContractTerminationStatus","instanceOfContractTerminationStatus","ContractTerminationStatusFromJSON","ContractTerminationStatusFromJSONTyped","ContractTerminationStatusToJSON","ContractTerminationStatusToJSONTyped","OperatorDto","instanceOfOperatorDto","OperatorDtoFromJSON","OperatorDtoFromJSONTyped","OperatorDtoToJSON","OperatorDtoToJSONTyped","UiPolicyLiteralType","instanceOfUiPolicyLiteralType","UiPolicyLiteralTypeFromJSON","UiPolicyLiteralTypeFromJSONTyped","UiPolicyLiteralTypeToJSON","UiPolicyLiteralTypeToJSONTyped","instanceOfUiPolicyLiteral","UiPolicyLiteralFromJSON","UiPolicyLiteralFromJSONTyped","UiPolicyLiteralToJSON","UiPolicyLiteralToJSONTyped","instanceOfUiPolicyConstraint","UiPolicyConstraintFromJSON","UiPolicyConstraintFromJSONTyped","UiPolicyConstraintToJSON","UiPolicyConstraintToJSONTyped","UiPolicyExpressionType","instanceOfUiPolicyExpressionType","UiPolicyExpressionTypeFromJSON","UiPolicyExpressionTypeFromJSONTyped","UiPolicyExpressionTypeToJSON","UiPolicyExpressionTypeToJSONTyped","instanceOfUiPolicyExpression","UiPolicyExpressionFromJSON","UiPolicyExpressionFromJSONTyped","UiPolicyExpressionToJSON","UiPolicyExpressionToJSONTyped","instanceOfUiPolicy","UiPolicyFromJSON","UiPolicyFromJSONTyped","UiPolicyToJSON","UiPolicyToJSONTyped","instanceOfContractAgreementCard","ContractAgreementCardFromJSON","ContractAgreementCardFromJSONTyped","ContractAgreementCardToJSON","ContractAgreementCardToJSONTyped","instanceOfContractAgreementPage","ContractAgreementPageFromJSON","ContractAgreementPageFromJSONTyped","ContractAgreementPageToJSON","ContractAgreementPageToJSONTyped","instanceOfContractAgreementPageQuery","ContractAgreementPageQueryFromJSON","ContractAgreementPageQueryFromJSONTyped","ContractAgreementPageQueryToJSON","ContractAgreementPageQueryToJSONTyped","UiCriterionLiteralType","instanceOfUiCriterionLiteralType","UiCriterionLiteralTypeFromJSON","UiCriterionLiteralTypeFromJSONTyped","UiCriterionLiteralTypeToJSON","UiCriterionLiteralTypeToJSONTyped","instanceOfUiCriterionLiteral","UiCriterionLiteralFromJSON","UiCriterionLiteralFromJSONTyped","UiCriterionLiteralToJSON","UiCriterionLiteralToJSONTyped","UiCriterionOperator","instanceOfUiCriterionOperator","UiCriterionOperatorFromJSON","UiCriterionOperatorFromJSONTyped","UiCriterionOperatorToJSON","UiCriterionOperatorToJSONTyped","instanceOfUiCriterion","UiCriterionFromJSON","UiCriterionFromJSONTyped","UiCriterionToJSON","UiCriterionToJSONTyped","instanceOfContractDefinitionEntry","ContractDefinitionEntryFromJSON","ContractDefinitionEntryFromJSONTyped","ContractDefinitionEntryToJSON","ContractDefinitionEntryToJSONTyped","instanceOfContractDefinitionPage","ContractDefinitionPageFromJSON","ContractDefinitionPageFromJSONTyped","ContractDefinitionPageToJSON","ContractDefinitionPageToJSONTyped","instanceOfContractDefinitionRequest","ContractDefinitionRequestFromJSON","ContractDefinitionRequestFromJSONTyped","ContractDefinitionRequestToJSON","ContractDefinitionRequestToJSONTyped","instanceOfContractNegotiationRequest","ContractNegotiationRequestFromJSON","ContractNegotiationRequestFromJSONTyped","ContractNegotiationRequestToJSON","ContractNegotiationRequestToJSONTyped","ContractNegotiationSimplifiedState","instanceOfContractNegotiationSimplifiedState","ContractNegotiationSimplifiedStateFromJSON","ContractNegotiationSimplifiedStateFromJSONTyped","ContractNegotiationSimplifiedStateToJSON","ContractNegotiationSimplifiedStateToJSONTyped","instanceOfContractNegotiationState","ContractNegotiationStateFromJSON","ContractNegotiationStateFromJSONTyped","ContractNegotiationStateToJSON","ContractNegotiationStateToJSONTyped","instanceOfContractTerminationRequest","ContractTerminationRequestFromJSON","ContractTerminationRequestFromJSONTyped","ContractTerminationRequestToJSON","ContractTerminationRequestToJSONTyped","instanceOfDashboardCxDidConfig","DashboardCxDidConfigFromJSON","DashboardCxDidConfigFromJSONTyped","DashboardCxDidConfigToJSON","DashboardCxDidConfigToJSONTyped","instanceOfDashboardDapsConfig","DashboardDapsConfigFromJSON","DashboardDapsConfigFromJSONTyped","DashboardDapsConfigToJSON","DashboardDapsConfigToJSONTyped","instanceOfDashboardTransferAmounts","DashboardTransferAmountsFromJSON","DashboardTransferAmountsFromJSONTyped","DashboardTransferAmountsToJSON","DashboardTransferAmountsToJSONTyped","instanceOfDashboardPage","DashboardPageFromJSON","DashboardPageFromJSONTyped","DashboardPageToJSON","DashboardPageToJSONTyped","DataOfferPublishType","instanceOfDataOfferPublishType","DataOfferPublishTypeFromJSON","DataOfferPublishTypeFromJSONTyped","DataOfferPublishTypeToJSON","DataOfferPublishTypeToJSONTyped","DataSourceType","instanceOfDataSourceType","DataSourceTypeFromJSON","DataSourceTypeFromJSONTyped","DataSourceTypeToJSON","DataSourceTypeToJSONTyped","instanceOfSecretValue","SecretValueFromJSON","SecretValueFromJSONTyped","SecretValueToJSON","SecretValueToJSONTyped","UiDataSourceHttpDataMethod","instanceOfUiDataSourceHttpDataMethod","UiDataSourceHttpDataMethodFromJSON","UiDataSourceHttpDataMethodFromJSONTyped","UiDataSourceHttpDataMethodToJSON","UiDataSourceHttpDataMethodToJSONTyped","instanceOfUiDataSourceHttpData","UiDataSourceHttpDataFromJSON","UiDataSourceHttpDataFromJSONTyped","UiDataSourceHttpDataToJSON","UiDataSourceHttpDataToJSONTyped","instanceOfUiDataSourceOnRequest","UiDataSourceOnRequestFromJSON","UiDataSourceOnRequestFromJSONTyped","UiDataSourceOnRequestToJSON","UiDataSourceOnRequestToJSONTyped","instanceOfUiDataSource","UiDataSourceFromJSON","UiDataSourceFromJSONTyped","UiDataSourceToJSON","UiDataSourceToJSONTyped","instanceOfUiAssetCreateRequest","UiAssetCreateRequestFromJSON","UiAssetCreateRequestFromJSONTyped","UiAssetCreateRequestToJSON","UiAssetCreateRequestToJSONTyped","instanceOfDataOfferCreateRequest","DataOfferCreateRequestFromJSON","DataOfferCreateRequestFromJSONTyped","DataOfferCreateRequestToJSON","DataOfferCreateRequestToJSONTyped","instanceOfIdAvailabilityResponse","IdAvailabilityResponseFromJSON","IdAvailabilityResponseFromJSONTyped","IdAvailabilityResponseToJSON","IdAvailabilityResponseToJSONTyped","instanceOfIdResponseDto","IdResponseDtoFromJSON","IdResponseDtoFromJSONTyped","IdResponseDtoToJSON","IdResponseDtoToJSONTyped","instanceOfInitiateCustomTransferRequest","InitiateCustomTransferRequestFromJSON","InitiateCustomTransferRequestFromJSONTyped","InitiateCustomTransferRequestToJSON","InitiateCustomTransferRequestToJSONTyped","instanceOfInitiateTransferRequest","InitiateTransferRequestFromJSON","InitiateTransferRequestFromJSONTyped","InitiateTransferRequestToJSON","InitiateTransferRequestToJSONTyped","instanceOfTransferProcessStatesDto","TransferProcessStatesDtoFromJSON","TransferProcessStatesDtoFromJSONTyped","TransferProcessStatesDtoToJSON","TransferProcessStatesDtoToJSONTyped","instanceOfKpiResult","KpiResultFromJSON","KpiResultFromJSONTyped","KpiResultToJSON","KpiResultToJSONTyped","instanceOfPolicyDefinitionCreateDto","PolicyDefinitionCreateDtoFromJSON","PolicyDefinitionCreateDtoFromJSONTyped","PolicyDefinitionCreateDtoToJSON","PolicyDefinitionCreateDtoToJSONTyped","instanceOfUiPolicyCreateRequest","UiPolicyCreateRequestFromJSON","UiPolicyCreateRequestFromJSONTyped","UiPolicyCreateRequestToJSON","UiPolicyCreateRequestToJSONTyped","instanceOfPolicyDefinitionCreateRequest","PolicyDefinitionCreateRequestFromJSON","PolicyDefinitionCreateRequestFromJSONTyped","PolicyDefinitionCreateRequestToJSON","PolicyDefinitionCreateRequestToJSONTyped","instanceOfPolicyDefinitionDto","PolicyDefinitionDtoFromJSON","PolicyDefinitionDtoFromJSONTyped","PolicyDefinitionDtoToJSON","PolicyDefinitionDtoToJSONTyped","instanceOfPolicyDefinitionPage","PolicyDefinitionPageFromJSON","PolicyDefinitionPageFromJSONTyped","PolicyDefinitionPageToJSON","PolicyDefinitionPageToJSONTyped","instanceOfTransferHistoryEntry","TransferHistoryEntryFromJSON","TransferHistoryEntryFromJSONTyped","TransferHistoryEntryToJSON","TransferHistoryEntryToJSONTyped","instanceOfTransferHistoryPage","TransferHistoryPageFromJSON","TransferHistoryPageFromJSONTyped","TransferHistoryPageToJSON","TransferHistoryPageToJSONTyped","instanceOfUiAssetEditRequest","UiAssetEditRequestFromJSON","UiAssetEditRequestFromJSONTyped","UiAssetEditRequestToJSON","UiAssetEditRequestToJSONTyped","instanceOfUiContractNegotiation","UiContractNegotiationFromJSON","UiContractNegotiationFromJSONTyped","UiContractNegotiationToJSON","UiContractNegotiationToJSONTyped","instanceOfUiContractOffer","UiContractOfferFromJSON","UiContractOfferFromJSONTyped","UiContractOfferToJSON","UiContractOfferToJSONTyped","instanceOfUiDataOffer","UiDataOfferFromJSON","UiDataOfferFromJSONTyped","UiDataOfferToJSON","UiDataOfferToJSONTyped","EnterpriseEditionApi","runtime.BaseAPI","queryParameters","headerParameters","runtime.JSONApiResponse","requestParameters","runtime.RequiredError","runtime.VoidApiResponse","runtime.TextApiResponse","UIApi","UseCaseApi","util","val","assertIs","_arg","assertNever","_x","items","obj","item","validKeys","k","filtered","object","keys","arr","checker","joinValues","array","separator","_","objectUtil","first","second","ZodParsedType","getParsedType","ZodIssueCode","quotelessJson","ZodError","issues","sub","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","error","curr","i","el","formErrors","errorMap","_ctx","message","overrideErrorMap","setErrorMap","map","getErrorMap","makeIssue","path","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","EMPTY_PATH","addIssueToContext","ctx","x","ParseStatus","status","results","arrayValue","s","INVALID","pairs","syncPairs","pair","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync","errorUtil","ParseInputLazyPath","parent","handleResult","result","processCreateParams","invalid_type_error","required_error","description","iss","ZodType","def","input","_a","maybeAsyncResult","check","getIssueProperties","setError","refinementData","refinement","ZodEffects","ZodFirstPartyTypeKind","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","transform","defaultValueFunc","ZodDefault","ZodBranded","catchValueFunc","ZodCatch","This","target","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","_emojiRegex","emojiRegex","ipv4Regex","ipv6Regex","datetimeRegex","args","isValidIP","ip","version","ZodString","tooBig","tooSmall","regex","validation","options","minLength","maxLength","len","ch","min","max","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","valInt","stepInt","ZodNumber","kind","inclusive","ZodBigInt","ZodBoolean","ZodDate","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","ZodVoid","schema","deepPartialify","ZodObject","newShape","fieldSchema","ZodTuple","shape","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","_b","_c","_d","defaultError","augmentation","merging","index","mask","newField","createZodEnum","handleResults","unionErrors","childCtx","dirty","types","getDiscriminator","type","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","a","b","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","merged","left","right","itemIndex","rest","schemas","ZodRecord","keyType","valueType","third","ZodMap","finalMap","ZodSet","finalizeSet","elements","parsedSet","element","minSize","maxSize","size","ZodFunction","makeArgsIssue","makeReturnsIssue","returns","me","parsedArgs","parsedReturns","returnType","func","getter","values","expectedValues","enumValues","opt","nativeEnumValues","promisified","effect","checkCtx","arg","processed","executeRefinement","inner","base","preprocess","newCtx","ZodNaN","BRAND","inResult","custom","fatal","p","_fatal","p2","late","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","onumber","oboolean","coerce","NEVER","z","needsAuthentication","httpStatus","createUrlEncodedParamsString","v","ClientCredentialsResponseSchema","fetchClientCredentials","clientCredentials","parseTokenResponse","tokenResponseParsed","AccessTokenService","ms","injectAccessTokenHeader","token","withHeader","headerName","headerValue","isHeaders","buildOAuthMiddleware","accessTokenService","buildEdcClient","opts","buildApiKeyHeader","config"],"mappings":"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","x_google_ignoreList":[72]}
|