import {z} from 'zod' export type CreateApiV1ComponentsArgs = {body: BodyInit}; export type CreateApiV1ComponentsOptions = {baseUrl?: string | undefined, HEADER?: string | undefined, fetch?: typeof fetch | undefined}; export const componentAssetResponse = z.object({description: z.string().optional(), filename: z.string().optional(), id: z.string().optional(), name: z.string().optional(), tags: z.array(z.string()).optional()}); export const componentReferenceResponse = z.object({component_id: z.string().optional(), socket_names: z.array(z.string()).optional()}); export const zonedDateTime = z.string(); export const displayNameInComponentResponse = z.union([z.string(), z.string(), z.string()]); export const campaignComponentFacetResponse = z.object({name: z.string().optional(), value: z.string().optional()}); export const installInComponentResponse = z.union([z.object({}), z.string(), z.string()]); export const componentOriginResponse = z.object({client_id: z.string().optional(), component_id: z.string().optional(), component_version: z.number().int().optional()}); export const descriptionInCampaignComponentSettingResponseBase = z.union([z.string(), z.string(), z.string()]); export const deweyDecimal = z.string(); export const defaultInComponentSettingVariableValuesOpenApiDocumentation = z.union([z.object({}), z.string(), z.string(), z.string(), z.string()]); export const enInComponentSettingVariableValuesOpenApiDocumentation = z.union([z.object({}), z.string(), z.string(), z.string(), z.string()]); export const componentIdFilterResponse = z.object({component_types: z.array(z.string()).optional()}); export const capturedSettingValuesDescriptionInCampaignComponentComponentSettingLookupVariableResponse = z.union([z.string(), z.string()]); export const componentTypeSettingFilterResponse = z.object({type: z.literal("COMPONENT_TYPE"), component_type: z.string()}); export const expressionInExpressionSettingFilterResponse = z.union([z.boolean(), z.string(), z.string()]); export const expressionSettingFilterResponse = z.object({type: z.literal("EXPRESSION"), expression: expressionInExpressionSettingFilterResponse}); export const componentFacetSettingFilterResponse = z.object({type: z.literal("FACET"), name: z.string(), value: z.string()}); export const settingFilterResponse = z.discriminatedUnion("type", [componentTypeSettingFilterResponse, expressionSettingFilterResponse, componentFacetSettingFilterResponse]); export const descriptionInCampaignComponentVariableResponse = z.union([z.string(), z.string(), z.string()]); export const defaultInComponentSettingVariableValues = z.union([z.object({}), z.string(), z.string(), z.string(), z.string()]); export const enInComponentSettingVariableValues = z.union([z.object({}), z.string(), z.string(), z.string(), z.string()]); export const componentSettingVariableValues = z.object({default: defaultInComponentSettingVariableValues.optional(), en: enInComponentSettingVariableValues.optional()}).and(z.record(z.string(), z.unknown())); export const campaignComponentVariableResponse = z.object({description: descriptionInCampaignComponentVariableResponse.optional(), display_name: z.string().optional(), name: z.string().optional(), priority: deweyDecimal.optional(), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), tags: z.array(z.string()).optional(), type: z.enum(["ADMIN_ICON", "AUDIENCE_ID", "AUDIENCE_ID_LIST", "BOOLEAN", "BROWSER_SIDE_JAVASCRIPT", "CLIENT_DOMAIN_ID_LIST", "CLIENT_KEY", "CLIENT_KEY_FLOW", "COLOR", "COMPONENT_ID", "COMPONENT_SETTING_LOOKUP", "CSS", "DELAY", "DELAY_LIST", "ENUM", "ENUM_LIST", "EXTOLE_CLIENT_KEY", "FONT", "GLOB_COMPONENT_PATH", "HTML", "IMAGE", "INTEGER", "INTEGER_LIST", "JSON", "MULTI_SOCKET", "PARTNER_ENUM", "PARTNER_ENUM_LIST", "PERSON_KEY_NAME", "REWARD_SUPPLIER_ID", "REWARD_SUPPLIER_ID_LIST", "SOCKET", "STRING", "STRING_LIST", "STRING_MAP", "URL", "WEBHOOK_ID"]).optional(), values: componentSettingVariableValues.optional()}); export const webhookIdInCampaignComponentPartnerEnumVariableResponse = z.union([z.string(), z.string(), z.string()]); export const partnerEnumListVariableOptionResponse = z.object({id: z.string().optional(), name: z.string().optional()}); export const webhookIdInCampaignComponentPartnerEnumListVariableResponse = z.union([z.string(), z.string(), z.string()]); export const allowedRewardSupplierIdsInCampaignComponentRewardSupplierIdListVariableResponse = z.union([z.array(z.string()), z.string(), z.string()]); export const campaignComponentSettingResponse = z.discriminatedUnion("type", [z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("ADMIN_ICON"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("AUDIENCE_ID"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("AUDIENCE_ID_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("BOOLEAN"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("BROWSER_SIDE_JAVASCRIPT"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("CLIENT_DOMAIN_ID_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("CLIENT_KEY"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("CLIENT_KEY_FLOW"), authorization_url: z.string(), client_secret_key_id: z.string(), redirect_url: z.string(), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("COLOR"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("COMPONENT_ID"), filter: componentIdFilterResponse, source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("COMPONENT_SETTING_LOOKUP"), capture_settings: z.array(z.string()), captured_setting_values_description: capturedSettingValuesDescriptionInCampaignComponentComponentSettingLookupVariableResponse, filters: z.array(settingFilterResponse), matching_filters: z.array(settingFilterResponse), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("CSS"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("DELAY"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("DELAY_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("ENUM"), allowed_values: z.array(z.string()), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("ENUM_LIST"), allowed_values: z.array(z.string()), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("EXTOLE_CLIENT_KEY"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("FONT"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("GLOB_COMPONENT_PATH"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("HTML"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("IMAGE"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("INTEGER"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("INTEGER_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("JSON"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("MULTI_SOCKET"), filters: z.array(settingFilterResponse), parameters: z.array(campaignComponentVariableResponse), socketed_component_ids: z.array(z.string())}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("PARTNER_ENUM"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())), webhook_id: webhookIdInCampaignComponentPartnerEnumVariableResponse, options: z.array(partnerEnumListVariableOptionResponse)}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("PARTNER_ENUM_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())), webhook_id: webhookIdInCampaignComponentPartnerEnumListVariableResponse, options: z.array(partnerEnumListVariableOptionResponse)}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("PERSON_KEY_NAME"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("REWARD_SUPPLIER_ID"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("REWARD_SUPPLIER_ID_LIST"), allowed_reward_supplier_ids: allowedRewardSupplierIdsInCampaignComponentRewardSupplierIdListVariableResponse, source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("SOCKET"), filters: z.array(settingFilterResponse), parameters: z.array(campaignComponentVariableResponse), socketed_component_ids: z.array(z.string())}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("STRING"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("STRING_LIST"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("STRING_MAP"), allowed_keys: z.array(z.string()), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown()))}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("URL"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()}), z.object({description: descriptionInCampaignComponentSettingResponseBase, display_name: z.string(), name: z.string(), priority: deweyDecimal, tags: z.array(z.string()), type: z.literal("WEBHOOK_ID"), source: z.enum(["INHERITED", "LOCAL", "PARAMETER"]).optional(), values: z.object({default: defaultInComponentSettingVariableValuesOpenApiDocumentation.optional(), en: enInComponentSettingVariableValuesOpenApiDocumentation.optional()}).and(z.record(z.string(), z.unknown())).optional()})]); export const componentResponse = z.object({assets: z.array(componentAssetResponse), campaign_id: z.string(), campaign_state: z.string(), component_ids: z.array(z.string()), component_references: z.array(componentReferenceResponse), created_date: zonedDateTime, description: z.string(), display_name: displayNameInComponentResponse, facets: z.array(campaignComponentFacetResponse), id: z.string(), install: installInComponentResponse, installed_into_socket: z.string(), name: z.string(), origin: componentOriginResponse, owner: z.enum(["CLIENT", "EXTOLE", "EXTOLE_BETA"]), source_client_id: z.string(), tags: z.array(z.string()), type: z.string(), types: z.array(z.string()), updated_date: zonedDateTime, upload_version: z.string(), variables: z.array(campaignComponentSettingResponse), version: z.number().int()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Upload a component bundle * * POST /v1/components * * Also accepts auth: QUERY, COOKIE */ export const createApiV1Components = async (args: CreateApiV1ComponentsArgs, options?: CreateApiV1ComponentsOptions) => { const {baseUrl = "https://api.extole.io", fetch: fetchFn = fetch, HEADER} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (HEADER !== undefined) headers.set("Authorization", HEADER) const url = `${baseUrl.replace(/\/+$/, '')}/v1/components${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: args.body}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(componentResponse, await res.json()) };