import {z} from 'zod' export type GetApiConfigTenantLocatorDeploymentsDatamodelVersionArgs = {tenantLocator: string, version: unknown, resolve?: boolean | undefined, byStaticLocator?: boolean | undefined}; export type GetApiConfigTenantLocatorDeploymentsDatamodelVersionOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const displayHintsRef = z.object({displayName: z.string().optional(), displayOrder: z.number().int().optional()}); export const jurisdictionRef = z.object({displayHints: displayHintsRef.optional()}); export const regionRef = z.object({displayName: z.string().optional(), numberingString: z.string().optional()}); export const conditionValueRef = z.object({key: z.string(), values: z.array(z.string())}); export const propertyConstraint = z.object({table: z.string(), column: z.string(), where: z.record(z.string(), conditionValueRef)}); export const availabilityRef = z.object({availableAfter: z.string().optional(), availabilityTimeBasis: z.enum(["policyStartTime", "termStartTime"]), retireAfter: z.string().optional(), retire: z.boolean().optional(), retirementTimeBasis: z.enum(["policyStartTime", "termStartTime"]), removeOnRenewalAfter: z.string().optional(), removeOnRenewal: z.boolean().optional()}); export const values = z.object({string: z.string(), int: z.number().int(), long: z.number().int(), guid: z.string(), date: z.string(), datetime: z.string(), decimal: z.number()}); export const restrictedDataRef = z.object({anonymizable: z.boolean(), maskingLevel: z.enum(["none", "level1", "level2"]), value: values}); export const propertyRef = z.object({displayName: z.string().optional(), type: z.string().optional(), scope: z.string().optional(), defaultValue: z.string().optional(), min: z.string().optional(), max: z.string().optional(), minLength: z.number().int().optional(), maxLength: z.number().int().optional(), precision: z.number().int().optional(), options: z.array(z.string()).optional(), regex: z.string().optional(), roundingMode: z.enum(["ceiling", "down", "floor", "halfDown", "halfEven", "halfUp", "up"]).optional(), tag: z.array(z.string()).optional(), constraint: propertyConstraint.optional(), searchable: z.boolean().optional(), availability: availabilityRef.optional(), restrictedData: restrictedDataRef.optional()}); export const dataTypeRef = z.object({displayName: z.string().optional(), abstract: z.boolean().optional(), extend: z.string().optional(), data: z.record(z.string(), propertyRef), defaultSearchable: z.boolean().optional()}); export const accountRef = z.object({displayName: z.string().optional(), abstract: z.boolean().optional(), extend: z.string().optional(), defaultSearchable: z.boolean().optional(), data: z.record(z.string(), propertyRef), defaultInvoiceDocument: z.string().optional(), numberingPlan: z.string().optional(), invoiceNumberingPlan: z.string().optional(), paymentExecutionRetryPlan: z.string().optional(), contacts: z.record(z.string(), z.array(z.string())).optional(), numberingTrigger: z.enum(["creation", "validation"]).optional(), accountKind: z.enum(["standard", "proxyPayer"]).optional()}); export const elementRef = z.object({extend: z.string().optional(), abstract: z.boolean().optional(), pluralType: z.string().optional(), displayName: z.string().optional(), coverageTerms: z.array(z.string()).optional(), contents: z.array(z.string()).optional(), charges: z.array(z.string()).optional(), defaultSearchable: z.boolean().optional(), data: z.record(z.string(), propertyRef).optional(), availability: availabilityRef.optional(), schedule: z.string().optional()}); export const productRef = z.object({extend: z.string().optional(), abstract: z.boolean().optional(), defaultInstallmentPlan: z.string().optional(), defaultBillingPlan: z.string().optional(), defaultTermDuration: z.number().optional(), defaultDelinquencyPlan: z.string().optional(), defaultAutoRenewalPlan: z.string().optional(), defaultShortfallTolerancePlan: z.string().optional(), displayName: z.string().optional(), defaultDurationBasis: z.enum(["years", "months", "weeks", "days", "hours"]).optional(), coverageTerms: z.array(z.string()).optional(), eligibleAccountTypes: z.array(z.string()).optional(), eligibleTransactionTypes: z.array(z.string()).optional(), contents: z.array(z.string()).optional(), documents: z.array(z.string()).optional(), charges: z.array(z.string()).optional(), scheduledEvents: z.array(z.string()).optional(), data: z.record(z.string(), propertyRef).optional(), staticData: z.record(z.string(), propertyRef).optional(), defaultSearchable: z.boolean().optional(), pluralType: z.string().optional(), numberingPlan: z.string().optional(), numberingString: z.string().optional(), availability: availabilityRef.optional(), withPrecommitReapplication: z.boolean().optional(), requiresJurisdiction: z.boolean().optional(), contacts: z.record(z.string(), z.array(z.string())).optional(), numberingTrigger: z.enum(["creation", "validation"]).optional(), workplanTriggers: z.record(z.string(), z.array(z.string())).optional(), riskAssessmentCriteria: z.string().optional(), producerQualification: z.enum(["none", "license", "appointment"]).optional(), externalNumberingPlan: z.string().optional(), reservedPolicyNumberRequired: z.boolean().optional(), continuationFor: z.array(z.string()).optional()}); export const coverageTermOptionRef = z.object({displayName: z.string().optional(), value: z.number(), tag: z.string().optional(), displayHints: displayHintsRef.optional()}); export const coverageTermRef = z.object({type: z.enum(["splitLimit", "deductible", "limit"]), displayName: z.string().optional(), options: z.record(z.string(), coverageTermOptionRef).optional(), value: propertyRef.optional(), availability: availabilityRef.optional()}); export const chargeRef = z.object({displayName: z.string().optional(), category: z.enum(["none", "premium", "tax", "fee", "credit", "invoiceFee", "cededPremium", "nonFinancial", "surcharge"]), handling: z.enum(["flat", "normal", "retention"]), invoicing: z.enum(["scheduled", "next", "immediate"]), transactionBundlingEnabled: z.boolean()}); export const transactionTypeRef = z.object({category: z.enum(["issuance", "change", "renewal", "cancellation", "continuation", "flatCancellation", "reinstatement", "reversal", "aggregate"]), costBearing: z.boolean(), displayHints: displayHintsRef.optional(), data: z.record(z.string(), propertyRef).optional()}); export const installmentPlanRef = z.object({displayName: z.string().optional(), cadence: z.enum(["none", "fullPay", "weekly", "everyOtherWeek", "monthly", "quarterly", "semiannually", "annually", "thirtyDays", "everyNDays"]), anchorMode: z.enum(["generateDay", "termStartDay", "dueDay"]), generateLeadDays: z.number().int(), dueLeadDays: z.number().int(), installmentWeights: z.array(z.number()), maxInstallmentsPerTerm: z.number().int(), autopayLeadDays: z.number().optional()}); export const installmentGroupingDetails = z.object({matching: z.enum(["generateTime", "startTime", "all"]), window: z.enum(["start", "startAndEnd", "catchUp"])}); export const invoicingPlanRef = z.object({displayName: z.string().optional(), invoiceFeeHandling: z.enum(["max", "min", "sum", "waive"]), invoiceFeeAmounts: z.record(z.string(), z.number()), consolidateInvoicesOnCancellation: z.enum(["none", "future", "all"]), installmentGrouping: installmentGroupingDetails}); export const billingPlanRef = z.object({displayName: z.string().optional(), billingLevel: z.enum(["account", "inherit", "policy"])}); export const paymentRef = z.object({displayName: z.string().optional(), abstract: z.boolean(), extend: z.string(), defaultSearchable: z.boolean(), data: z.record(z.string(), propertyRef).optional(), numberingPlan: z.string(), numberingTrigger: z.enum(["creation", "validation"])}); export const disbursementRef = z.object({displayName: z.string().optional(), abstract: z.boolean().optional(), extend: z.string().optional(), data: z.record(z.string(), propertyRef), numberingPlan: z.string().optional(), numberingTrigger: z.enum(["creation", "validation"]).optional()}); export const columnRef = z.object({dataType: z.string(), isKey: z.boolean()}); export const tableRef = z.object({columns: z.record(z.string(), columnRef), selectionTimeBasis: z.enum(["policyStartTime", "termStartTime", "transactionEffectiveTime", "currentTime"])}); export const rangeTableRef = z.object({columns: z.record(z.string(), columnRef), selectionTimeBasis: z.enum(["policyStartTime", "termStartTime", "transactionEffectiveTime", "currentTime"]), rangeStart: z.string(), rangeEnd: z.string().optional()}); export const constraintColumnRef = z.object({dataType: z.string(), makeDistinct: z.boolean()}); export const constraintTableRef = z.object({columns: z.record(z.string(), constraintColumnRef), selectionTimeBasis: z.enum(["policyStartTime", "termStartTime", "transactionEffectiveTime", "currentTime"])}); export const primitivePropertyRef = z.object({dataType: z.string()}); export const secretRef = z.object({items: z.record(z.string(), primitivePropertyRef)}); export const documentMarginRef = z.object({top: z.number().optional(), bottom: z.number().optional(), left: z.number().optional(), right: z.number().optional()}); export const documentConfigRef = z.object({displayName: z.string().optional(), scope: z.enum(["transaction", "policy", "term", "segment", "invoice"]), format: z.enum(["text", "html", "pdf", "jpg", "jpeg", "doc", "docx", "xls", "xlsx", "csv", "txt", "zip"]), rendering: z.enum(["dynamic", "prerendered"]), selectionTimeBasis: z.enum(["policyStartTime", "termStartTime", "transactionEffectiveTime", "currentTime"]), trigger: z.enum(["validated", "priced", "accepted", "underwritten", "issued", "generated", "declined", "rejected", "refused"]), portrait: z.boolean().optional(), pageSize: z.enum(["letter", "legal", "A3", "A4", "A5", "B4", "B5"]).optional(), margin: documentMarginRef.optional(), templateSnippets: z.array(z.string()), customFonts: z.array(z.string()), enablePdfTags: z.boolean()}); export const consolidatedPageNumberingRef = z.object({enableNumbering: z.boolean(), leadingDocumentPages: z.boolean(), xPosition: z.number().int(), yPosition: z.number().int()}); export const consolidatedDocumentConfigRef = z.object({displayName: z.string().optional(), consolidatedDocuments: z.array(z.string()), leadingDocumentTemplate: z.string().optional(), pageNumbering: consolidatedPageNumberingRef.optional()}); export const templateSnippetConfigRef = z.object({displayName: z.string().optional(), selectionTimeBasis: z.enum(["policyStartTime", "termStartTime", "transactionEffectiveTime", "currentTime"])}); export const auxDataSettingsRef = z.object({displayName: z.string().optional(), expirationPeriod: z.number().int()}); export const moratoriumRuleRef = z.object({path: z.string(), criteriaKey: z.string(), notIn: z.boolean()}); export const moratoriumProductRuleRef = z.object({product: z.string(), operator: z.enum(["AND", "OR"]), rules: z.array(moratoriumRuleRef), displayName: z.string().optional()}); export const moratoriumPolicyMatchCriteriaRef = z.object({criteriaValues: z.record(z.string(), z.array(z.string())), productsRules: z.record(z.string(), moratoriumProductRuleRef)}); export const policyHoldScopeRef = z.object({transactionCategory: z.array(z.enum(["issuance", "change", "renewal", "cancellation", "continuation", "flatCancellation", "reinstatement", "reversal", "aggregate"])), transactionType: z.array(z.string()), allowStaticData: z.boolean(), displayName: z.string().optional()}); export const billingHoldScopeRef = z.object({policyInvoicingHold: z.boolean(), policyDelinquencyHold: z.boolean(), autopayHold: z.boolean(), deferredInvoiceDueOffsetDays: z.number(), displayName: z.string().optional()}); export const moratoriumRef = z.object({type: z.string(), description: z.string().optional(), applicationMode: z.enum(["optIn", "optOut", "mandatory"]), effectiveTime: z.string(), endTime: z.string().optional(), policyMatchCriteria: moratoriumPolicyMatchCriteriaRef, effectiveTimeWaived: z.boolean().optional(), policyHoldScope: policyHoldScopeRef, billingHoldScope: billingHoldScopeRef, displayName: z.string().optional()}); export const eventCadenceRef = z.object({intervalDuration: z.number().int(), durationBasis: z.enum(["years", "months", "weeks", "days", "hours"]), limit: z.number().int().optional()}); export const eventScheduleRef = z.object({anchor: z.enum(["policyStart", "policyEnd", "termStart", "segmentStart"]), alignment: z.enum(["weekStart", "monthStart", "yearStart"]).optional(), offset: z.record(z.string(), z.number().int()).optional(), cadence: eventCadenceRef.optional(), suppressOnStatuses: z.array(z.enum(["pending", "inGap", "expired", "cancelled", "cancelPending", "onRisk", "delinquent", "doNotRenew", "continued", "continuation", "flatCancelled"])).optional()}); export const customEventRef = z.object({type: z.string(), schedule: eventScheduleRef.optional()}); export const delinquencyEventConfiguration = z.object({offsetDays: z.number(), offsetBasis: z.enum(["gracePeriodStart", "gracePeriodEnd"])}); export const delinquencyPlanRef = z.object({displayName: z.string().optional(), gracePeriodDays: z.number().int(), delinquencyLevel: z.enum(["policy", "invoice"]).optional(), lapseTransactionType: z.string().optional(), advanceLapseTo: z.enum(["draft", "validated", "priced", "underwritten", "accepted", "issued"]).optional(), events: z.record(z.string(), delinquencyEventConfiguration).optional()}); export const shortfallTolerancePlanRef = z.object({currencyTolerances: z.record(z.string(), z.number())}); export const autoRenewalPlanRef = z.object({generateAutoRenewals: z.boolean(), renewalTransactionType: z.string().optional(), renewalCreateLeadDays: z.number().int().optional(), renewalAcceptLeadDays: z.number().int().optional(), renewalIssueLeadDays: z.number().int().optional(), newTermDuration: z.number().int().optional()}); export const negativeInvoiceHandlingRef = z.object({automaticallySettleNegativeInvoices: z.enum(["toOpenInvoices", "toCreditBalance", "never"]), prioritizeOverlappingCoveragePeriods: z.boolean(), targetInvoices: z.enum(["overlappingCoveragePeriodsOnly", "overlappingCoverageAndEarlier", "allOpenInvoices"]), targetInvoicePriority: z.enum(["byAmount", "smallestFirst", "earliestFirst"]), processingMode: z.enum(["accountLevel", "policyLevel"]), yieldExcessToCreditBalance: z.boolean()}); export const excessCreditPlanRef = z.object({disburseExcess: z.boolean(), disbursementType: z.string(), excludeDebits: z.enum(["allInvoices", "invoicesAndUnbilledInstallments", "none", "pastDueInvoices"]), disbursementThresholds: z.record(z.string(), z.number()), advanceDisbursementTo: z.enum(["draft", "validated", "approved", "executed", "reversed", "rejected", "discarded"]), autoApplyExcessToInvoicesEnabled: z.boolean(), negativeInvoiceHandling: negativeInvoiceHandlingRef}); export const reversalTypeRef = z.object({creditType: z.enum(["any", "creditDistribution", "payment"])}); export const numberingPlanRef = z.object({displayName: z.string().optional(), initialCoreNumber: z.string(), format: z.string(), copyFromQuote: z.boolean(), termNumberFormat: z.string(), quoteNumberFormat: z.string(), initialQuoteCoreNumber: z.string(), productScope: z.string().optional()}); export const fnolRef = z.object({displayName: z.string().optional(), extend: z.string().optional(), abstract: z.boolean().optional(), lossTypes: z.array(z.string()).optional(), defaultClaimType: z.string().optional(), defaultSearchable: z.boolean().optional(), data: z.record(z.string(), propertyRef), numberingPlan: z.string().optional(), contacts: z.record(z.string(), z.array(z.string())).optional()}); export const lossRef = z.object({displayName: z.string().optional(), extend: z.string().optional(), abstract: z.boolean().optional(), data: z.record(z.string(), propertyRef), category: z.string(), defaultClaimExposureType: z.string().optional(), coverageTypes: z.array(z.string()).optional()}); export const contactRef = z.object({abstract: z.boolean().optional(), extend: z.string().optional(), defaultSearchable: z.boolean().optional(), data: z.record(z.string(), propertyRef)}); export const scheduleRef = z.object({extend: z.string().optional(), abstract: z.boolean().optional(), displayName: z.string().optional(), data: z.record(z.string(), propertyRef), resetOnRenewal: z.boolean()}); export const taskTypeRef = z.object({defaultDeadlineDays: z.number(), blocksUnderwriting: z.boolean(), numberingPlan: z.string().optional(), numberingString: z.string().optional()}); export const userAssociationRoleRef = z.object({appliesTo: z.array(z.enum(["account", "quickQuote", "quote", "policy", "transaction", "invoice", "underwritingFlag", "payment", "quoteGroup", "inquiry"])).optional(), exclusive: z.boolean().optional(), qualification: z.record(z.string(), z.string()).optional()}); export const labelRef = z.object({}); export const workManagementRef = z.object({tasks: z.record(z.string(), z.record(z.string(), taskTypeRef)).optional(), userAssociationRoles: z.record(z.string(), userAssociationRoleRef).optional(), qualifications: z.record(z.string(), z.array(z.string())).optional(), labels: z.record(z.string(), labelRef).optional()}); export const dataAccessControlFieldRef = z.object({fields: z.array(z.string())}); export const dataAccessControlRef = z.object({enabled: z.boolean(), dataMasking: z.boolean(), account: dataAccessControlFieldRef, policy: dataAccessControlFieldRef}); export const secretKeyRef = z.object({name: z.string(), key: z.string()}); export const intentPlan = z.object({intentType: z.string(), taskType: z.string(), workgroup: z.string().optional()}); export const assistantRef = z.object({patTokenSecretRef: secretKeyRef.optional(), inquiryIntents: z.record(z.string(), intentPlan).optional()}); export const resourceInstanceRef = z.object({staticName: z.string(), jurisdictions: z.array(z.string())}); export const resourceGroupRef = z.object({selectionStartTime: z.string(), resourceNames: z.array(z.string())}); export const resourcesRef = z.object({resourceInstances: z.record(z.string(), resourceInstanceRef), resourceGroups: z.record(z.string(), resourceGroupRef)}); export const bootstrapRef = z.object({resources: resourcesRef}); export const retryPlanRef = z.object({attempts: z.number().int(), hoursBetweenAttempts: z.array(z.number())}); export const automationPluginActionRef = z.object({timeout: z.number().int().optional(), request: z.record(z.string(), propertyRef).optional(), response: z.record(z.string(), propertyRef).optional()}); export const automationPluginRef = z.object({enableWebhooks: z.boolean().optional(), actions: z.record(z.string(), automationPluginActionRef).optional(), secret: z.string().optional(), webhookHandlerTimeout: z.number().int().optional()}); export const producerRef = z.object({displayName: z.string().optional(), abstract: z.boolean(), extend: z.string(), defaultSearchable: z.boolean(), data: z.record(z.string(), propertyRef).optional()}); export const producerCodeRef = z.object({displayName: z.string().optional(), abstract: z.boolean(), extend: z.string(), defaultSearchable: z.boolean(), numberingPlan: z.string(), numberingString: z.string(), data: z.record(z.string(), propertyRef).optional()}); export const producerLicenseRef = z.object({abstract: z.boolean(), extend: z.string(), defaultSearchable: z.boolean(), data: z.record(z.string(), propertyRef).optional()}); export const producerAppointmentRef = z.object({abstract: z.boolean(), extend: z.string(), defaultSearchable: z.boolean(), data: z.record(z.string(), propertyRef).optional()}); export const underwritingFlagRef = z.object({level: z.enum(["info", "block", "decline", "reject", "approve"]).optional(), tag: z.string().optional(), note: z.string().optional()}); export const producerManagementRef = z.object({producers: z.record(z.string(), producerRef), producerCodes: z.record(z.string(), producerCodeRef), producerLicenses: z.record(z.string(), producerLicenseRef), producerAppointments: z.record(z.string(), producerAppointmentRef), underwritingFlag: underwritingFlagRef}); export const tenantEventScheduleRef = z.object({alignment: z.enum(["weekStart", "monthStart", "yearStart"]).optional(), offset: z.record(z.string(), z.number().int()).optional(), cadence: eventCadenceRef.optional()}); export const tenantCustomEventRef = z.object({type: z.string(), schedule: tenantEventScheduleRef.optional(), isPersisted: z.boolean()}); export const externalNumberingPlanRef = z.object({displayName: z.string().optional(), triggerQuoteState: z.enum(["draft", "validated", "earlyUnderwritten", "priced", "underwritten", "accepted", "issued", "underwrittenBlocked", "declined", "rejected", "refused", "discarded"])}); export const configurationRef = z.object({defaultTimeZone: z.string().optional(), defaultCurrency: z.string().optional(), defaultTermDuration: z.number().optional(), defaultInstallmentPlan: z.string().optional(), defaultInvoicingPlan: z.string().optional(), defaultPaymentNumberingPlanName: z.string().optional(), defaultDisbursementNumberingPlanName: z.string().optional(), defaultBillingPlan: z.string().optional(), defaultDurationBasis: z.enum(["years", "months", "weeks", "days", "hours"]).optional(), defaultBillingLevel: z.enum(["account", "inherit", "policy"]).optional(), defaultBackdatedInstallmentsBilling: z.enum(["immediate", "deferDueDate"]).optional(), defaultDelinquencyPlan: z.string().optional(), defaultAutoRenewalPlan: z.string().optional(), defaultExcessCreditPlan: z.string().optional(), defaultRetryPlan: z.string().optional(), defaultLapseType: z.string().optional(), defaultAnchorMode: z.enum(["generateDay", "termStartDay", "dueDay"]).optional(), defaultGenerateLeadDays: z.number().int().optional(), defaultDueLeadDays: z.number().int().optional(), defaultAuxDataSettings: z.string().optional(), defaultShortfallTolerancePlan: z.string().optional(), jurisdictions: z.record(z.string(), jurisdictionRef).optional(), regions: z.record(z.string(), regionRef).optional(), defaultRegion: z.string().optional(), defaultSearchable: z.boolean().optional(), enableSerialInvoiceNumbering: z.boolean().optional(), enableEntityAnonymization: z.boolean().optional(), defaultScheduleUploadErrorsLimit: z.number().int().optional(), dataTypes: z.record(z.string(), dataTypeRef).optional(), accounts: z.record(z.string(), accountRef), policyLines: z.record(z.string(), elementRef).optional(), exposureGroups: z.record(z.string(), elementRef).optional(), exposures: z.record(z.string(), elementRef).optional(), coverages: z.record(z.string(), elementRef).optional(), products: z.record(z.string(), productRef), coverageTerms: z.record(z.string(), coverageTermRef).optional(), charges: z.record(z.string(), chargeRef), transactionTypes: z.record(z.string(), transactionTypeRef).optional(), installmentPlans: z.record(z.string(), installmentPlanRef).optional(), invoicingPlans: z.record(z.string(), invoicingPlanRef).optional(), billingPlans: z.record(z.string(), billingPlanRef).optional(), payments: z.record(z.string(), paymentRef).optional(), disbursements: z.record(z.string(), disbursementRef).optional(), tables: z.record(z.string(), tableRef).optional(), rangeTables: z.record(z.string(), rangeTableRef).optional(), constraintTables: z.record(z.string(), constraintTableRef).optional(), secrets: z.record(z.string(), secretRef).optional(), documents: z.record(z.string(), documentConfigRef).optional(), consolidatedDocuments: z.record(z.string(), consolidatedDocumentConfigRef).optional(), templateSnippets: z.record(z.string(), templateSnippetConfigRef).optional(), customFonts: z.array(z.string()).optional(), auxDataSettings: z.record(z.string(), auxDataSettingsRef).optional(), moratoriums: z.record(z.string(), moratoriumRef).optional(), customEvents: z.record(z.string(), customEventRef).optional(), delinquencyPlans: z.record(z.string(), delinquencyPlanRef).optional(), shortfallTolerancePlans: z.record(z.string(), shortfallTolerancePlanRef).optional(), autoRenewalPlans: z.record(z.string(), autoRenewalPlanRef).optional(), excessCreditPlans: z.record(z.string(), excessCreditPlanRef).optional(), reversalTypes: z.record(z.string(), reversalTypeRef).optional(), numberingPlans: z.record(z.string(), numberingPlanRef).optional(), fnol: z.record(z.string(), fnolRef).optional(), losses: z.record(z.string(), lossRef).optional(), lossCategories: z.array(z.string()).optional(), contacts: z.record(z.string(), contactRef).optional(), contactRoles: z.array(z.string()).optional(), schedules: z.record(z.string(), scheduleRef).optional(), workManagement: workManagementRef.optional(), dataAccessControl: dataAccessControlRef.optional(), assistant: assistantRef.optional(), bootstrap: bootstrapRef.optional(), defaultInvoiceDocument: z.string().optional(), retryPlans: z.record(z.string(), retryPlanRef).optional(), automations: z.record(z.string(), automationPluginRef).optional(), producerManagement: producerManagementRef.optional(), tenantCustomEvents: z.record(z.string(), tenantCustomEventRef).optional(), externalNumberingPlans: z.record(z.string(), externalNumberingPlanRef).optional()}); 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 }; /** * GET /config/{tenantLocator}/deployments/datamodel/{version} */ export const getApiConfigTenantLocatorDeploymentsDatamodelVersion = async (args: GetApiConfigTenantLocatorDeploymentsDatamodelVersionArgs, options: GetApiConfigTenantLocatorDeploymentsDatamodelVersionOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.resolve != null) query.append("resolve", String(args.resolve)) if (args.byStaticLocator != null) query.append("byStaticLocator", String(args.byStaticLocator)) const url = `${baseUrl.replace(/\/+$/, '')}/config/${encodeURIComponent(String(args.tenantLocator))}/deployments/datamodel/${encodeURIComponent(String(args.version))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(configurationRef, await res.json()) };