import {z} from 'zod' export type RuleAllowedValues = {ruleType?: string | undefined, ruleText?: string | undefined, definedParams?: string | undefined}; export type CloningConfig = {pattern?: string | undefined, fieldName?: string | undefined, clonedLimit?: number | undefined, fieldMappings?: {[key: string]: {[key: string]: string}} | undefined, cloneConfig?: {[key: string]: unknown} | undefined}; export type JobProperty = {displayOrder?: number | undefined, name?: string | undefined, displayName?: string | undefined, templateName?: string | undefined, ocrName?: string | undefined, dependentFieldNames?: Array | undefined, fieldGroup?: string | undefined, groupColumnLayoutType?: string | undefined, fieldType?: ('Small_Text' | 'ReadOnly_Small_Text' | 'ReadOnly_Auto_Generate' | 'Large_Text' | 'Date_Time' | 'Date' | 'Selection' | 'Large_Selection' | 'Small_Heading' | 'Large_Heading' | 'Radio_OR_CheckBox' | 'Attachment' | 'Hidden_Text_Field' | 'Auto_Date_Time' | 'Auto_Date' | 'Time' | 'MultiMedia' | 'Geo_Location' | 'Numeric_Text' | 'Dates_after_today' | 'SubJob' | 'Email' | 'Report' | 'Service_Type' | 'Date_before' | 'Calc_Text' | 'Calc_Date' | 'Password' | 'Phone_Number' | 'Login_User_Email' | 'Login_User_Name' | 'Read_Only_Login_User_Name' | 'Read_Only_Login_Email' | 'Text_Area' | 'ReadOnly_Auto_Date' | 'API_Small_Text' | 'API_Selection' | 'Inherited_Sub_Job' | 'ReadOnly_Date' | 'Appointment_Booking' | 'Tat' | 'Numeric_Text_With_Commas_US' | 'Special_Filter' | 'Numeric_Text_With_Commas_UK' | 'JSON_KEY' | 'Loqate_Find' | 'BOOLEAN' | 'Data_Filter' | 'File' | 'Geo_Fence' | 'Multi_Currency' | 'Yml_Key' | 'SubJob_as_Selection' | 'SubJob_as_Section' | 'SubJob_as_Field') | undefined, subJobLimit?: number | undefined, allowedValues?: string | undefined, patternForText?: string | undefined, rule?: string | undefined, hiddenDependentField?: string | undefined, propagateOtherFieldValueToThis?: string | undefined, englishChatBotQuestion?: string | undefined, hindiChatBotQuestion?: string | undefined, enableIncrementalSearch?: boolean | undefined, isMandatory?: boolean | undefined, isNotDuplicate?: boolean | undefined, mask?: string | undefined, addNewType?: string | undefined, enableAddMore?: boolean | undefined, enableMultiSelect?: boolean | undefined, isSearchable?: boolean | undefined, enableShowInListView?: boolean | undefined, propagateValueToSubFormFields?: string | undefined, propagateValueFromFormFields?: string | undefined, reportDefaultValue?: string | undefined, isTrackableField?: boolean | undefined, isRiskCalculationField?: boolean | undefined, isChatBotEnabledField?: boolean | undefined, isLimitedFields?: boolean | undefined, enableShowReview?: boolean | undefined, enableShowAppointment?: boolean | undefined, defaultValue?: string | undefined, description?: string | undefined, isReportParam?: boolean | undefined, isPivotParam?: boolean | undefined, isPivotRowParam?: boolean | undefined, isPivotColumnParam?: boolean | undefined, isAggregate?: boolean | undefined, isHidden?: boolean | undefined, tags?: string | undefined, isHParam?: boolean | undefined, enableSimilarTo?: boolean | undefined, similarToConfig?: string | undefined, ruleAllowedValues?: RuleAllowedValues | undefined, isAllowPublicAccess?: boolean | undefined, isAllowPublicPost?: boolean | undefined, uniqueFieldId?: string | undefined, label?: boolean | undefined, dataFormat?: string | undefined, fieldCharLimit?: number | undefined, linkUrl?: string | undefined, isPublicAttachment?: boolean | undefined, isMetadataKeyword?: boolean | undefined, isDownloadMisParam?: boolean | undefined, enableAddNew?: boolean | undefined, isHTMLViewOnly?: boolean | undefined, fieldDescription?: string | undefined, compareLabel?: boolean | undefined, configData?: {[key: string]: unknown} | undefined, isFieldAddMore?: boolean | undefined, versionPattern?: CloningConfig | undefined, allowNegativeValue?: boolean | undefined, isReadOnly?: boolean | undefined, isFieldForStatusReport?: boolean | undefined, precision?: number | undefined, fieldTransformation?: string | undefined, alwaysResetToDefault?: boolean | undefined, dynamicValue?: string | undefined, horder?: string | undefined}; export type Role = {id?: string | undefined, name?: string | undefined, description?: string | undefined, properties?: Array | undefined, scope?: Array | undefined, routerUrl?: string | undefined}; export type JobTypeConfig = {jobTypeKind?: ('STANDARD' | 'SYSTEM' | 'CUSTOM') | undefined, collectionName?: string | undefined}; export type DeepLevelChildrenJobTypes = {name?: string | undefined, relatedFieldNames?: Array | undefined}; export type SubJobProperty = {name?: string | undefined, displayInDashboard?: boolean | undefined}; export type FieldCondition = {fieldName?: string | undefined, operator?: string | undefined, thresholdValue?: string | undefined, valueType?: ('NUMBER' | 'STRING') | undefined, thresholdType?: ('STATIC' | 'DYNAMIC') | undefined, caseInsensitive?: boolean | undefined, thresholdPath?: string | undefined}; export type SubJobComparisonCondition = {subJobTypeName?: string | undefined, conditions?: Array | undefined, minMatchCount?: number | undefined}; export type ComplexHookFilterConditions = {requiredFieldsToBePresent?: Array | undefined, fieldChangeCondition?: ({[key: string]: 'IGNORE' | 'RUN'}) | undefined, executionActorType?: ('USER' | 'SYSTEM') | undefined, maxExecutionCount?: number | undefined, actionIfNoFieldChange?: boolean | undefined, blockedFieldValueConditions?: Array | undefined, subJobConditions?: Array | undefined}; export type Lifecycle = {id?: string | undefined, orderOfExecution?: number | undefined, jobOperationTypes?: (Array<'CREATED' | 'MODIFIED' | 'DELETED' | 'VIEWED' | 'STATUS_CHANGED' | 'RESTORED'>) | undefined, type?: ('PRE_API_CALL' | 'PRE_SEND_EMAIL' | 'PRE_AUTO_FIELD_VALUE_GENERATION' | 'PRE_SUBJOB_ASSOCIATION' | 'PRE_GENERATE_TATS' | 'PRE_GENERATE_LINK_URL' | 'PRE_VALIDATIONS' | 'PRE_EBRULES' | 'PRE_ENDORSEMENT_VALIDATIONS' | 'PRE_STATUS_CHANGE_ACTION_VALIDATIONS' | 'POST_API_CALL' | 'POST_SEND_EMAIL' | 'POST_ACTIVITY_HISTORY' | 'POST_AUTO_USER_CREATION' | 'POST_AUTO_USER_DELETION' | 'POST_EVENT_TRIGGER' | 'POST_BAJAJ_CLAIM_REGISTER' | 'POST_CHATGPT_PARSING' | 'POST_STORE_USER_IN_EMAIL_HANDLER' | 'POST_API_ON_STATUS_CHANGE' | 'POST_SAVE_SCHEDULER_TASK' | 'POST_CREATE_TICKET_FROM_MAIL' | 'POST_PUBLIC_DATA_ACCESS' | 'POST_CAMPAIGN_SAVE_SCHEDULER_TASK' | 'POST_SAVE_JOBINSTANCE_CONDITIONS' | 'POST_GENERATE_PARENT_TATS' | 'POST_FETCH_RFP_DOCUMENTS' | 'POST_RETRIEVE_MAIL_TYPE' | 'POST_CREATE_INSTANCE_FROM_XLSX' | 'POST_JOB_INSTANCE_VALIDATION' | 'POST_EMIT_REMINDER_EMAIL' | 'AUTO_IMPACT_ASSESSMENT' | 'INIT_COMPLIANCE_CHECK' | 'POST_SCHEDULE_LOGIN_REPORTS' | 'POST_SCHEDULE_BREACHED_EMAILS' | 'POST_CALL_COMPLIANCE_REPORT' | 'POST_TASK_MANAGEMENT' | 'POST_TASK_REMINDER_NOTIFICATION' | 'JOB_INSTANCE_DATA_VALIDATE' | 'SEND_BULK_NOTIFICATION_REMINDER' | 'BULK_STATUS_CHANGE' | 'POST_DUE_DATE_NOTIFICATION' | 'PROCESS_PARENT_INSTANCE' | 'POST_PLATFORM_NOTIFICATION' | 'POST_TENANT_CLONING' | 'PERFORM_AI_RECOMMENDATION' | 'POST_BULK_STATUS_ESCALATION_MATRIX' | 'AUTO_AZURE_LOGIN' | 'POST_DYNAMIC_RULE_ENGINE' | 'POST_VALIDATION_PERSIST_HOOK' | 'PERFORM_AI_REPLY' | 'POST_EMAIL_AUTOMATION_PROCESS' | 'POST_REPLICATE_DATASETS' | 'PRE_AGENTIC_LAYER_EXECUTION' | 'POST_AGENTIC_LAYER_EXECUTION' | 'POST_CALCULATIONS_AND_RULES' | 'POST_SET_STATUS' | 'POST_EMIT_USER_EVENTS' | 'POST_BULK_UPDATE' | 'JOB_INSTANCE_VERSIONING' | 'POST_TRANSFORMER_DATASETS' | 'POST_DATA_TRANSFORMERS' | 'POST_EMIT_ORGANIZATION_EVENTS' | 'POST_AUTOMATE_IDENTITY_PROVIDER' | 'POST_EXECUTE_ROLLUP' | 'EXECUTE_CALLBACK' | 'OUTLOOK_CALENDER_INTEGRATION' | 'POST_INSERT_METADATA' | 'POST_LOCATION_CAPTURE' | 'POST_SEND_SMS' | 'POST_CERTIFICATE_UPDATE' | 'POST_CERTIFICATE_TEMPLATE_CREATION' | 'POST_GET_SUITABLE_INSTANCE' | 'POST_SCHEDULE_JOB' | 'CHECK_FOR_DUPLICATES' | 'DOWNLOAD_DOCUMENT' | 'POST_AUDIT_TRAILS' | 'POST_DATA_UPLOAD_TO_VECTORDB' | 'POST_SOA_PROCESSING' | 'POST_MONGO_INDEX_CREATION') | undefined, executionType?: ('SYNC' | 'ASYNC') | undefined, persistType?: ('PRE' | 'POST') | undefined, retrievalFieldsFromResponse?: Array | undefined, actionOnRetrievalFields?: string | undefined, actionOnRetrievalFieldTypes?: (Array<'APPEND_ON_PARENT_JOB_INSTANCE' | 'APPEND_TO_JOB_INSTANCE' | 'EXCEL_PARING_DATA'>) | undefined, configurationJobInstanceId?: string | undefined, shouldChildrenInheritPersistHook?: boolean | undefined, persistHookFilterConditions?: string | undefined, complexPersistHookFilterConditions?: ComplexHookFilterConditions | undefined, enableExecutionWithoutFilters?: boolean | undefined, agenticLifecycle?: boolean | undefined}; export type AclCondition = {name?: string | undefined, value?: string | undefined, condition?: string | undefined, values?: Array | undefined}; export type AclComplexFilterCondition = {and?: Array | undefined, or?: Array | undefined}; export type AclComplexFilters = {and?: Array | undefined, or?: Array | undefined}; export type AclFieldFilters = {and?: Array | undefined, or?: Array | undefined, type?: ('COMPLEX' | 'BSON' | 'SIMPLE') | undefined, bsonSearch?: string | undefined, complexFilters?: AclComplexFilters | undefined}; export type AclSharedRoles = {roleName?: string | undefined, allowedAccess?: (Array<'READ' | 'WRITE' | 'DELETE' | 'BULKUPLOAD' | 'CREATE' | 'DOC_DOWNLOAD'>) | undefined, restrictedFields?: Array | undefined, restrictedGroupFields?: Array | undefined, allowedWidgetAccess?: (Array<'WORKFLOW' | 'UPLOAD_FILES' | 'ACTIVITY_HISTORY' | 'SEND_EMAILS' | 'SUB_JOBS' | 'SERVICES'>) | undefined, fieldFilters?: AclFieldFilters | undefined, hiddenFields?: Array | undefined}; export type RoleBindings = {userIds?: Array | undefined, roleDefinitionId?: string | undefined}; export type AccessControlTemplate = {ownershipRoleName?: string | undefined, sharedRoles?: Array | undefined, roleBindings?: Array | undefined}; export type FiltersConfig = {sourceFieldName?: string | undefined, sourceCondition?: string | undefined}; export type WizardConfig = {wizardName?: string | undefined, targetJobTypeName?: string | undefined, filtersConfig?: Array | undefined}; export type JobDetailsDto = {jobTypeName?: string | undefined, type?: string | undefined, additionalDetails?: {[key: string]: unknown} | undefined}; export type DataSetsAiConfig = {ruleType?: string | undefined, ruleActionType?: string | undefined, jobDetailsDtoList?: Array | undefined}; export type DependentJobTypeDto = {id?: string | undefined, name?: string | undefined}; export type DuplicateValidationConfig = {ttlMinutes?: number | undefined}; export type JobType = {id?: string | undefined, name?: string | undefined, description?: string | undefined, jobTypeConfig?: JobTypeConfig | undefined, isPublished?: boolean | undefined, isSubJobType?: boolean | undefined, containsStoreId?: boolean | undefined, report?: string | undefined, enableServices?: boolean | undefined, sendMailRequired?: boolean | undefined, icon?: string | undefined, uploadXlstemp?: string | undefined, isEmailTemplate?: boolean | undefined, isAttachmentEmailTemplate?: boolean | undefined, isReadOnly?: boolean | undefined, isImmutable?: boolean | undefined, parentJobType?: string | undefined, parentJobIdentifier?: string | undefined, identifier?: string | undefined, enablePromoteTrackableChangesToParent?: boolean | undefined, riskScoreProperty?: string | undefined, maxRiskScoreProperty?: string | undefined, onSubmitActions?: string | undefined, downloadURL?: string | undefined, limitedFieldRoles?: string | undefined, displayAPI?: string | undefined, associationRule?: string | undefined, createRule?: string | undefined, enableWizard?: boolean | undefined, isGraphSubscription?: boolean | undefined, isPrimaryEnabled?: boolean | undefined, isGmailSubscription?: boolean | undefined, isAllowPublicAccess?: boolean | undefined, isAllowPublicPost?: boolean | undefined, isDownloadFilteredTemplateData?: boolean | undefined, publicUserEmail?: string | undefined, acknowledgeText?: string | undefined, endorsementJobType?: string | undefined, hideBrowse?: string | undefined, isSftpenabled?: boolean | undefined, cronexpression?: string | undefined, sftphost?: string | undefined, sftpport?: string | undefined, sftpusername?: string | undefined, sftppassword?: string | undefined, fileprefix?: string | undefined, updatefileprefix?: string | undefined, fileextension?: string | undefined, targetfolder?: string | undefined, isParse?: boolean | undefined, isDraftButton?: boolean | undefined, newTypeId?: string | undefined, isTrackable?: boolean | undefined, reportfolder?: string | undefined, isNotSubJobAccess?: boolean | undefined, grandParentRelation?: boolean | undefined, fileUploadName?: string | undefined, isPivotParam?: boolean | undefined, isPivotRowParam?: boolean | undefined, isReportColumnParam?: boolean | undefined, isAggregate?: boolean | undefined, template?: string | undefined, displayViewPoint?: string | undefined, isDownloadMandatoryFields?: boolean | undefined, deepLevelChildrenJobTypes?: Array | undefined, properties?: Array | undefined, subJobProperties?: Array | undefined, prePersistHooks?: Array | undefined, postPersistHooks?: Array | undefined, sharedOrgIds?: Array | undefined, sharedUserIds?: Array | undefined, jobInstanceACL?: Array | undefined, jobTypePropertiesMapFileUrl?: string | undefined, wizardConfig?: Array | undefined, isHideBulkActions?: boolean | undefined, systemPrompt?: string | undefined, userPrompt?: string | undefined, dataSetsAiConfigs?: Array | undefined, fieldsToBeValidated?: Array | undefined, isDownloadMisSubJobType?: boolean | undefined, registerOptions?: string | undefined, dependentJobTypes?: Array | undefined, isTraceableNotification?: boolean | undefined, configData?: {[key: string]: unknown} | undefined, rollupConfigJobInstanceId?: string | undefined, uniqueKeyProperty?: string | undefined, excelFileName?: string | undefined, subJobsForConsolidatedStatusReport?: string | undefined, isRecall?: boolean | undefined, maxRevisionsAllowed?: number | undefined, hideSubJobsInSummary?: boolean | undefined, tatLabel?: string | undefined, duplicateFieldConfig?: {[key: string]: DuplicateValidationConfig} | undefined}; export type WorkFlowStepInstance = {sequenceNo?: number | undefined, primaryStatus?: string | undefined, secondaryStatus?: string | undefined, primaryDisplayName?: string | undefined, secondaryDisplayName?: string | undefined, roles?: Array | undefined, subJobType?: Array | undefined, entryTimeStamp?: string | undefined, exitTimeStamp?: string | undefined}; export type JobWorkflowInstance = {currentStep?: WorkFlowStepInstance | undefined, nextPossibleSteps?: Array | undefined, previousSteps?: Array | undefined}; export type AgenticAIResults = {id?: string | undefined, name?: string | undefined, agentsCount?: number | undefined, status?: ('Success' | 'InProgress' | 'Failed') | undefined}; export type PersistenceStatus = {id?: string | undefined, completedAt?: string | undefined, lifecycleType?: ('PRE_API_CALL' | 'PRE_SEND_EMAIL' | 'PRE_AUTO_FIELD_VALUE_GENERATION' | 'PRE_SUBJOB_ASSOCIATION' | 'PRE_GENERATE_TATS' | 'PRE_GENERATE_LINK_URL' | 'PRE_VALIDATIONS' | 'PRE_EBRULES' | 'PRE_ENDORSEMENT_VALIDATIONS' | 'PRE_STATUS_CHANGE_ACTION_VALIDATIONS' | 'POST_API_CALL' | 'POST_SEND_EMAIL' | 'POST_ACTIVITY_HISTORY' | 'POST_AUTO_USER_CREATION' | 'POST_AUTO_USER_DELETION' | 'POST_EVENT_TRIGGER' | 'POST_BAJAJ_CLAIM_REGISTER' | 'POST_CHATGPT_PARSING' | 'POST_STORE_USER_IN_EMAIL_HANDLER' | 'POST_API_ON_STATUS_CHANGE' | 'POST_SAVE_SCHEDULER_TASK' | 'POST_CREATE_TICKET_FROM_MAIL' | 'POST_PUBLIC_DATA_ACCESS' | 'POST_CAMPAIGN_SAVE_SCHEDULER_TASK' | 'POST_SAVE_JOBINSTANCE_CONDITIONS' | 'POST_GENERATE_PARENT_TATS' | 'POST_FETCH_RFP_DOCUMENTS' | 'POST_RETRIEVE_MAIL_TYPE' | 'POST_CREATE_INSTANCE_FROM_XLSX' | 'POST_JOB_INSTANCE_VALIDATION' | 'POST_EMIT_REMINDER_EMAIL' | 'AUTO_IMPACT_ASSESSMENT' | 'INIT_COMPLIANCE_CHECK' | 'POST_SCHEDULE_LOGIN_REPORTS' | 'POST_SCHEDULE_BREACHED_EMAILS' | 'POST_CALL_COMPLIANCE_REPORT' | 'POST_TASK_MANAGEMENT' | 'POST_TASK_REMINDER_NOTIFICATION' | 'JOB_INSTANCE_DATA_VALIDATE' | 'SEND_BULK_NOTIFICATION_REMINDER' | 'BULK_STATUS_CHANGE' | 'POST_DUE_DATE_NOTIFICATION' | 'PROCESS_PARENT_INSTANCE' | 'POST_PLATFORM_NOTIFICATION' | 'POST_TENANT_CLONING' | 'PERFORM_AI_RECOMMENDATION' | 'POST_BULK_STATUS_ESCALATION_MATRIX' | 'AUTO_AZURE_LOGIN' | 'POST_DYNAMIC_RULE_ENGINE' | 'POST_VALIDATION_PERSIST_HOOK' | 'PERFORM_AI_REPLY' | 'POST_EMAIL_AUTOMATION_PROCESS' | 'POST_REPLICATE_DATASETS' | 'PRE_AGENTIC_LAYER_EXECUTION' | 'POST_AGENTIC_LAYER_EXECUTION' | 'POST_CALCULATIONS_AND_RULES' | 'POST_SET_STATUS' | 'POST_EMIT_USER_EVENTS' | 'POST_BULK_UPDATE' | 'JOB_INSTANCE_VERSIONING' | 'POST_TRANSFORMER_DATASETS' | 'POST_DATA_TRANSFORMERS' | 'POST_EMIT_ORGANIZATION_EVENTS' | 'POST_AUTOMATE_IDENTITY_PROVIDER' | 'POST_EXECUTE_ROLLUP' | 'EXECUTE_CALLBACK' | 'OUTLOOK_CALENDER_INTEGRATION' | 'POST_INSERT_METADATA' | 'POST_LOCATION_CAPTURE' | 'POST_SEND_SMS' | 'POST_CERTIFICATE_UPDATE' | 'POST_CERTIFICATE_TEMPLATE_CREATION' | 'POST_GET_SUITABLE_INSTANCE' | 'POST_SCHEDULE_JOB' | 'CHECK_FOR_DUPLICATES' | 'DOWNLOAD_DOCUMENT' | 'POST_AUDIT_TRAILS' | 'POST_DATA_UPLOAD_TO_VECTORDB' | 'POST_SOA_PROCESSING' | 'POST_MONGO_INDEX_CREATION') | undefined, result?: ('Success' | 'InProgress' | 'Failed') | undefined, comments?: string | undefined, executionCounter?: number | undefined, agenticAIResults?: Array | undefined, persistType?: ('PRE' | 'POST') | undefined}; export type PersistenceHookStatus = {isDraft?: boolean | undefined, updateWorkflowStatus?: ('Success' | 'InProgress' | 'Failed') | undefined, prePersistenceStatus?: Array | undefined, postPersistenceStatus?: Array | undefined}; export type JobInstanceDto = {version?: number | undefined, id?: string | undefined, dateCreated?: string | undefined, lastUpdated?: string | undefined, jobTypeId?: string | undefined, parentJobInstanceId?: string | undefined, parentJobInstanceObjectId?: string | undefined, jobWorkflowInstance?: JobWorkflowInstance | undefined, title?: string | undefined, currentWorkFlowStep?: number | undefined, data?: {[key: string]: unknown} | undefined, createdByUserId?: string | undefined, createdForOrgId?: string | undefined, sharedOrgIds?: Array | undefined, sharedUserIds?: Array | undefined, ownershipRole?: string | undefined, persistenceHookStatus?: PersistenceHookStatus | undefined, v1OldJobInstanceId?: string | undefined, conversationalId?: string | undefined, conditions?: {[key: string]: unknown} | undefined, ignoreEndorsement?: boolean | undefined, lastModifiedBy?: string | undefined, metaData?: {[key: string]: unknown} | undefined, assignedTo?: string | undefined, lockInfo?: {[key: string]: unknown} | undefined, enableAddMoreFieldsData?: {[key: string]: Array<{[key: string]: unknown}>} | undefined, deleted?: boolean | undefined, isDeleted?: boolean | undefined}; export type UpdateApiApiV1JobInstancesJobInstanceIdArgs = {jobInstanceId: string, migration?: boolean | undefined, body: JobInstanceDto}; export type UpdateApiApiV1JobInstancesJobInstanceIdOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; export const ruleAllowedValues = z.object({ruleType: z.string().optional(), ruleText: z.string().optional(), definedParams: z.string().optional()}); export const cloningConfig = z.object({pattern: z.string().optional(), fieldName: z.string().optional(), clonedLimit: z.number().int().optional(), fieldMappings: z.record(z.string(), z.record(z.string(), z.string())).optional(), cloneConfig: z.record(z.string(), z.unknown()).optional()}); export const jobProperty = z.object({displayOrder: z.number().int().optional(), name: z.string().optional(), displayName: z.string().optional(), templateName: z.string().optional(), ocrName: z.string().optional(), dependentFieldNames: z.array(z.string()).optional(), fieldGroup: z.string().optional(), groupColumnLayoutType: z.string().optional(), fieldType: z.enum(["Small_Text", "ReadOnly_Small_Text", "ReadOnly_Auto_Generate", "Large_Text", "Date_Time", "Date", "Selection", "Large_Selection", "Small_Heading", "Large_Heading", "Radio_OR_CheckBox", "Attachment", "Hidden_Text_Field", "Auto_Date_Time", "Auto_Date", "Time", "MultiMedia", "Geo_Location", "Numeric_Text", "Dates_after_today", "SubJob", "Email", "Report", "Service_Type", "Date_before", "Calc_Text", "Calc_Date", "Password", "Phone_Number", "Login_User_Email", "Login_User_Name", "Read_Only_Login_User_Name", "Read_Only_Login_Email", "Text_Area", "ReadOnly_Auto_Date", "API_Small_Text", "API_Selection", "Inherited_Sub_Job", "ReadOnly_Date", "Appointment_Booking", "Tat", "Numeric_Text_With_Commas_US", "Special_Filter", "Numeric_Text_With_Commas_UK", "JSON_KEY", "Loqate_Find", "BOOLEAN", "Data_Filter", "File", "Geo_Fence", "Multi_Currency", "Yml_Key", "SubJob_as_Selection", "SubJob_as_Section", "SubJob_as_Field"]).optional(), subJobLimit: z.number().int().optional(), allowedValues: z.string().optional(), patternForText: z.string().optional(), rule: z.string().optional(), hiddenDependentField: z.string().optional(), propagateOtherFieldValueToThis: z.string().optional(), englishChatBotQuestion: z.string().optional(), hindiChatBotQuestion: z.string().optional(), enableIncrementalSearch: z.boolean().optional(), isMandatory: z.boolean().optional(), isNotDuplicate: z.boolean().optional(), mask: z.string().optional(), addNewType: z.string().optional(), enableAddMore: z.boolean().optional(), enableMultiSelect: z.boolean().optional(), isSearchable: z.boolean().optional(), enableShowInListView: z.boolean().optional(), propagateValueToSubFormFields: z.string().optional(), propagateValueFromFormFields: z.string().optional(), reportDefaultValue: z.string().optional(), isTrackableField: z.boolean().optional(), isRiskCalculationField: z.boolean().optional(), isChatBotEnabledField: z.boolean().optional(), isLimitedFields: z.boolean().optional(), enableShowReview: z.boolean().optional(), enableShowAppointment: z.boolean().optional(), defaultValue: z.string().optional(), description: z.string().optional(), isReportParam: z.boolean().optional(), isPivotParam: z.boolean().optional(), isPivotRowParam: z.boolean().optional(), isPivotColumnParam: z.boolean().optional(), isAggregate: z.boolean().optional(), isHidden: z.boolean().optional(), tags: z.string().optional(), isHParam: z.boolean().optional(), enableSimilarTo: z.boolean().optional(), similarToConfig: z.string().optional(), ruleAllowedValues: ruleAllowedValues.optional(), isAllowPublicAccess: z.boolean().optional(), isAllowPublicPost: z.boolean().optional(), uniqueFieldId: z.string().optional(), label: z.boolean().optional(), dataFormat: z.string().optional(), fieldCharLimit: z.number().int().optional(), linkUrl: z.string().optional(), isPublicAttachment: z.boolean().optional(), isMetadataKeyword: z.boolean().optional(), isDownloadMisParam: z.boolean().optional(), enableAddNew: z.boolean().optional(), isHTMLViewOnly: z.boolean().optional(), fieldDescription: z.string().optional(), compareLabel: z.boolean().optional(), configData: z.record(z.string(), z.unknown()).optional(), isFieldAddMore: z.boolean().optional(), versionPattern: cloningConfig.optional(), allowNegativeValue: z.boolean().optional(), isReadOnly: z.boolean().optional(), isFieldForStatusReport: z.boolean().optional(), precision: z.number().int().optional(), fieldTransformation: z.string().optional(), alwaysResetToDefault: z.boolean().optional(), dynamicValue: z.string().optional(), horder: z.string().optional()}); export const role = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), properties: z.array(jobProperty).optional(), scope: z.array(z.string()).optional(), routerUrl: z.string().optional()}); export const jobTypeConfig = z.object({jobTypeKind: z.enum(["STANDARD", "SYSTEM", "CUSTOM"]).optional(), collectionName: z.string().optional()}); export const deepLevelChildrenJobTypes = z.object({name: z.string().optional(), relatedFieldNames: z.array(z.string()).optional()}); export const subJobProperty = z.object({name: z.string().optional(), displayInDashboard: z.boolean().optional()}); export const fieldCondition = z.object({fieldName: z.string().optional(), operator: z.string().optional(), thresholdValue: z.string().optional(), valueType: z.enum(["NUMBER", "STRING"]).optional(), thresholdType: z.enum(["STATIC", "DYNAMIC"]).optional(), caseInsensitive: z.boolean().optional(), thresholdPath: z.string().optional()}); export const subJobComparisonCondition = z.object({subJobTypeName: z.string().optional(), conditions: z.array(fieldCondition).optional(), minMatchCount: z.number().int().optional()}); export const complexHookFilterConditions = z.object({requiredFieldsToBePresent: z.array(z.string()).optional(), fieldChangeCondition: z.record(z.string(), z.enum(["IGNORE", "RUN"])).optional(), executionActorType: z.enum(["USER", "SYSTEM"]).optional(), maxExecutionCount: z.number().int().optional(), actionIfNoFieldChange: z.boolean().optional(), blockedFieldValueConditions: z.array(fieldCondition).optional(), subJobConditions: z.array(subJobComparisonCondition).optional()}); export const lifecycle = z.object({id: z.string().optional(), orderOfExecution: z.number().int().optional(), jobOperationTypes: z.array(z.enum(["CREATED", "MODIFIED", "DELETED", "VIEWED", "STATUS_CHANGED", "RESTORED"])).optional(), type: z.enum(["PRE_API_CALL", "PRE_SEND_EMAIL", "PRE_AUTO_FIELD_VALUE_GENERATION", "PRE_SUBJOB_ASSOCIATION", "PRE_GENERATE_TATS", "PRE_GENERATE_LINK_URL", "PRE_VALIDATIONS", "PRE_EBRULES", "PRE_ENDORSEMENT_VALIDATIONS", "PRE_STATUS_CHANGE_ACTION_VALIDATIONS", "POST_API_CALL", "POST_SEND_EMAIL", "POST_ACTIVITY_HISTORY", "POST_AUTO_USER_CREATION", "POST_AUTO_USER_DELETION", "POST_EVENT_TRIGGER", "POST_BAJAJ_CLAIM_REGISTER", "POST_CHATGPT_PARSING", "POST_STORE_USER_IN_EMAIL_HANDLER", "POST_API_ON_STATUS_CHANGE", "POST_SAVE_SCHEDULER_TASK", "POST_CREATE_TICKET_FROM_MAIL", "POST_PUBLIC_DATA_ACCESS", "POST_CAMPAIGN_SAVE_SCHEDULER_TASK", "POST_SAVE_JOBINSTANCE_CONDITIONS", "POST_GENERATE_PARENT_TATS", "POST_FETCH_RFP_DOCUMENTS", "POST_RETRIEVE_MAIL_TYPE", "POST_CREATE_INSTANCE_FROM_XLSX", "POST_JOB_INSTANCE_VALIDATION", "POST_EMIT_REMINDER_EMAIL", "AUTO_IMPACT_ASSESSMENT", "INIT_COMPLIANCE_CHECK", "POST_SCHEDULE_LOGIN_REPORTS", "POST_SCHEDULE_BREACHED_EMAILS", "POST_CALL_COMPLIANCE_REPORT", "POST_TASK_MANAGEMENT", "POST_TASK_REMINDER_NOTIFICATION", "JOB_INSTANCE_DATA_VALIDATE", "SEND_BULK_NOTIFICATION_REMINDER", "BULK_STATUS_CHANGE", "POST_DUE_DATE_NOTIFICATION", "PROCESS_PARENT_INSTANCE", "POST_PLATFORM_NOTIFICATION", "POST_TENANT_CLONING", "PERFORM_AI_RECOMMENDATION", "POST_BULK_STATUS_ESCALATION_MATRIX", "AUTO_AZURE_LOGIN", "POST_DYNAMIC_RULE_ENGINE", "POST_VALIDATION_PERSIST_HOOK", "PERFORM_AI_REPLY", "POST_EMAIL_AUTOMATION_PROCESS", "POST_REPLICATE_DATASETS", "PRE_AGENTIC_LAYER_EXECUTION", "POST_AGENTIC_LAYER_EXECUTION", "POST_CALCULATIONS_AND_RULES", "POST_SET_STATUS", "POST_EMIT_USER_EVENTS", "POST_BULK_UPDATE", "JOB_INSTANCE_VERSIONING", "POST_TRANSFORMER_DATASETS", "POST_DATA_TRANSFORMERS", "POST_EMIT_ORGANIZATION_EVENTS", "POST_AUTOMATE_IDENTITY_PROVIDER", "POST_EXECUTE_ROLLUP", "EXECUTE_CALLBACK", "OUTLOOK_CALENDER_INTEGRATION", "POST_INSERT_METADATA", "POST_LOCATION_CAPTURE", "POST_SEND_SMS", "POST_CERTIFICATE_UPDATE", "POST_CERTIFICATE_TEMPLATE_CREATION", "POST_GET_SUITABLE_INSTANCE", "POST_SCHEDULE_JOB", "CHECK_FOR_DUPLICATES", "DOWNLOAD_DOCUMENT", "POST_AUDIT_TRAILS", "POST_DATA_UPLOAD_TO_VECTORDB", "POST_SOA_PROCESSING", "POST_MONGO_INDEX_CREATION"]).optional(), executionType: z.enum(["SYNC", "ASYNC"]).optional(), persistType: z.enum(["PRE", "POST"]).optional(), retrievalFieldsFromResponse: z.array(z.string()).optional(), actionOnRetrievalFields: z.string().optional(), actionOnRetrievalFieldTypes: z.array(z.enum(["APPEND_ON_PARENT_JOB_INSTANCE", "APPEND_TO_JOB_INSTANCE", "EXCEL_PARING_DATA"])).optional(), configurationJobInstanceId: z.string().optional(), shouldChildrenInheritPersistHook: z.boolean().optional(), persistHookFilterConditions: z.string().optional(), complexPersistHookFilterConditions: complexHookFilterConditions.optional(), enableExecutionWithoutFilters: z.boolean().optional(), agenticLifecycle: z.boolean().optional()}); export const aclCondition = z.object({name: z.string().optional(), value: z.string().optional(), condition: z.string().optional(), values: z.array(z.string()).optional()}); export const aclComplexFilterCondition = z.object({and: z.array(aclCondition).optional(), or: z.array(aclCondition).optional()}); export const aclComplexFilters = z.object({and: z.array(aclComplexFilterCondition).optional(), or: z.array(aclComplexFilterCondition).optional()}); export const aclFieldFilters = z.object({and: z.array(aclCondition).optional(), or: z.array(aclCondition).optional(), type: z.enum(["COMPLEX", "BSON", "SIMPLE"]).optional(), bsonSearch: z.string().optional(), complexFilters: aclComplexFilters.optional()}); export const aclSharedRoles = z.object({roleName: z.string().optional(), allowedAccess: z.array(z.enum(["READ", "WRITE", "DELETE", "BULKUPLOAD", "CREATE", "DOC_DOWNLOAD"])).optional(), restrictedFields: z.array(z.string()).optional(), restrictedGroupFields: z.array(z.string()).optional(), allowedWidgetAccess: z.array(z.enum(["WORKFLOW", "UPLOAD_FILES", "ACTIVITY_HISTORY", "SEND_EMAILS", "SUB_JOBS", "SERVICES"])).optional(), fieldFilters: aclFieldFilters.optional(), hiddenFields: z.array(z.string()).optional()}); export const roleBindings = z.object({userIds: z.array(z.string()).optional(), roleDefinitionId: z.string().optional()}); export const accessControlTemplate = z.object({ownershipRoleName: z.string().optional(), sharedRoles: z.array(aclSharedRoles).optional(), roleBindings: z.array(roleBindings).optional()}); export const filtersConfig = z.object({sourceFieldName: z.string().optional(), sourceCondition: z.string().optional()}); export const wizardConfig = z.object({wizardName: z.string().optional(), targetJobTypeName: z.string().optional(), filtersConfig: z.array(filtersConfig).optional()}); export const jobDetailsDto = z.object({jobTypeName: z.string().optional(), type: z.string().optional(), additionalDetails: z.record(z.string(), z.unknown()).optional()}); export const dataSetsAiConfig = z.object({ruleType: z.string().optional(), ruleActionType: z.string().optional(), jobDetailsDtoList: z.array(jobDetailsDto).optional()}); export const dependentJobTypeDto = z.object({id: z.string().optional(), name: z.string().optional()}); export const duplicateValidationConfig = z.object({ttlMinutes: z.number().int().optional()}); export const jobType = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), jobTypeConfig: jobTypeConfig.optional(), isPublished: z.boolean().optional(), isSubJobType: z.boolean().optional(), containsStoreId: z.boolean().optional(), report: z.string().optional(), enableServices: z.boolean().optional(), sendMailRequired: z.boolean().optional(), icon: z.string().optional(), uploadXlstemp: z.string().optional(), isEmailTemplate: z.boolean().optional(), isAttachmentEmailTemplate: z.boolean().optional(), isReadOnly: z.boolean().optional(), isImmutable: z.boolean().optional(), parentJobType: z.string().optional(), parentJobIdentifier: z.string().optional(), identifier: z.string().optional(), enablePromoteTrackableChangesToParent: z.boolean().optional(), riskScoreProperty: z.string().optional(), maxRiskScoreProperty: z.string().optional(), onSubmitActions: z.string().optional(), downloadURL: z.string().optional(), limitedFieldRoles: z.string().optional(), displayAPI: z.string().optional(), associationRule: z.string().optional(), createRule: z.string().optional(), enableWizard: z.boolean().optional(), isGraphSubscription: z.boolean().optional(), isPrimaryEnabled: z.boolean().optional(), isGmailSubscription: z.boolean().optional(), isAllowPublicAccess: z.boolean().optional(), isAllowPublicPost: z.boolean().optional(), isDownloadFilteredTemplateData: z.boolean().optional(), publicUserEmail: z.string().optional(), acknowledgeText: z.string().optional(), endorsementJobType: z.string().optional(), hideBrowse: z.string().optional(), isSftpenabled: z.boolean().optional(), cronexpression: z.string().optional(), sftphost: z.string().optional(), sftpport: z.string().optional(), sftpusername: z.string().optional(), sftppassword: z.string().optional(), fileprefix: z.string().optional(), updatefileprefix: z.string().optional(), fileextension: z.string().optional(), targetfolder: z.string().optional(), isParse: z.boolean().optional(), isDraftButton: z.boolean().optional(), newTypeId: z.string().optional(), isTrackable: z.boolean().optional(), reportfolder: z.string().optional(), isNotSubJobAccess: z.boolean().optional(), grandParentRelation: z.boolean().optional(), fileUploadName: z.string().optional(), isPivotParam: z.boolean().optional(), isPivotRowParam: z.boolean().optional(), isReportColumnParam: z.boolean().optional(), isAggregate: z.boolean().optional(), template: z.string().optional(), displayViewPoint: z.string().optional(), isDownloadMandatoryFields: z.boolean().optional(), deepLevelChildrenJobTypes: z.array(deepLevelChildrenJobTypes).optional(), properties: z.array(jobProperty).optional(), subJobProperties: z.array(subJobProperty).optional(), prePersistHooks: z.array(lifecycle).optional(), postPersistHooks: z.array(lifecycle).optional(), sharedOrgIds: z.array(z.string()).optional(), sharedUserIds: z.array(z.string()).optional(), jobInstanceACL: z.array(accessControlTemplate).optional(), jobTypePropertiesMapFileUrl: z.string().optional(), wizardConfig: z.array(wizardConfig).optional(), isHideBulkActions: z.boolean().optional(), systemPrompt: z.string().optional(), userPrompt: z.string().optional(), dataSetsAiConfigs: z.array(dataSetsAiConfig).optional(), fieldsToBeValidated: z.array(z.string()).optional(), isDownloadMisSubJobType: z.boolean().optional(), registerOptions: z.string().optional(), dependentJobTypes: z.array(dependentJobTypeDto).optional(), isTraceableNotification: z.boolean().optional(), configData: z.record(z.string(), z.unknown()).optional(), rollupConfigJobInstanceId: z.string().optional(), uniqueKeyProperty: z.string().optional(), excelFileName: z.string().optional(), subJobsForConsolidatedStatusReport: z.string().optional(), isRecall: z.boolean().optional(), maxRevisionsAllowed: z.number().int().optional(), hideSubJobsInSummary: z.boolean().optional(), tatLabel: z.string().optional(), duplicateFieldConfig: z.record(z.string(), duplicateValidationConfig).optional()}); export const workFlowStepInstance = z.object({sequenceNo: z.number().int().optional(), primaryStatus: z.string().optional(), secondaryStatus: z.string().optional(), primaryDisplayName: z.string().optional(), secondaryDisplayName: z.string().optional(), roles: z.array(role).optional(), subJobType: z.array(jobType).optional(), entryTimeStamp: z.string().optional(), exitTimeStamp: z.string().optional()}); export const jobWorkflowInstance = z.object({currentStep: workFlowStepInstance.optional(), nextPossibleSteps: z.array(workFlowStepInstance).optional(), previousSteps: z.array(workFlowStepInstance).optional()}); export const agenticAIResults = z.object({id: z.string().optional(), name: z.string().optional(), agentsCount: z.number().int().optional(), status: z.enum(["Success", "InProgress", "Failed"]).optional()}); export const persistenceStatus = z.object({id: z.string().optional(), completedAt: z.string().optional(), lifecycleType: z.enum(["PRE_API_CALL", "PRE_SEND_EMAIL", "PRE_AUTO_FIELD_VALUE_GENERATION", "PRE_SUBJOB_ASSOCIATION", "PRE_GENERATE_TATS", "PRE_GENERATE_LINK_URL", "PRE_VALIDATIONS", "PRE_EBRULES", "PRE_ENDORSEMENT_VALIDATIONS", "PRE_STATUS_CHANGE_ACTION_VALIDATIONS", "POST_API_CALL", "POST_SEND_EMAIL", "POST_ACTIVITY_HISTORY", "POST_AUTO_USER_CREATION", "POST_AUTO_USER_DELETION", "POST_EVENT_TRIGGER", "POST_BAJAJ_CLAIM_REGISTER", "POST_CHATGPT_PARSING", "POST_STORE_USER_IN_EMAIL_HANDLER", "POST_API_ON_STATUS_CHANGE", "POST_SAVE_SCHEDULER_TASK", "POST_CREATE_TICKET_FROM_MAIL", "POST_PUBLIC_DATA_ACCESS", "POST_CAMPAIGN_SAVE_SCHEDULER_TASK", "POST_SAVE_JOBINSTANCE_CONDITIONS", "POST_GENERATE_PARENT_TATS", "POST_FETCH_RFP_DOCUMENTS", "POST_RETRIEVE_MAIL_TYPE", "POST_CREATE_INSTANCE_FROM_XLSX", "POST_JOB_INSTANCE_VALIDATION", "POST_EMIT_REMINDER_EMAIL", "AUTO_IMPACT_ASSESSMENT", "INIT_COMPLIANCE_CHECK", "POST_SCHEDULE_LOGIN_REPORTS", "POST_SCHEDULE_BREACHED_EMAILS", "POST_CALL_COMPLIANCE_REPORT", "POST_TASK_MANAGEMENT", "POST_TASK_REMINDER_NOTIFICATION", "JOB_INSTANCE_DATA_VALIDATE", "SEND_BULK_NOTIFICATION_REMINDER", "BULK_STATUS_CHANGE", "POST_DUE_DATE_NOTIFICATION", "PROCESS_PARENT_INSTANCE", "POST_PLATFORM_NOTIFICATION", "POST_TENANT_CLONING", "PERFORM_AI_RECOMMENDATION", "POST_BULK_STATUS_ESCALATION_MATRIX", "AUTO_AZURE_LOGIN", "POST_DYNAMIC_RULE_ENGINE", "POST_VALIDATION_PERSIST_HOOK", "PERFORM_AI_REPLY", "POST_EMAIL_AUTOMATION_PROCESS", "POST_REPLICATE_DATASETS", "PRE_AGENTIC_LAYER_EXECUTION", "POST_AGENTIC_LAYER_EXECUTION", "POST_CALCULATIONS_AND_RULES", "POST_SET_STATUS", "POST_EMIT_USER_EVENTS", "POST_BULK_UPDATE", "JOB_INSTANCE_VERSIONING", "POST_TRANSFORMER_DATASETS", "POST_DATA_TRANSFORMERS", "POST_EMIT_ORGANIZATION_EVENTS", "POST_AUTOMATE_IDENTITY_PROVIDER", "POST_EXECUTE_ROLLUP", "EXECUTE_CALLBACK", "OUTLOOK_CALENDER_INTEGRATION", "POST_INSERT_METADATA", "POST_LOCATION_CAPTURE", "POST_SEND_SMS", "POST_CERTIFICATE_UPDATE", "POST_CERTIFICATE_TEMPLATE_CREATION", "POST_GET_SUITABLE_INSTANCE", "POST_SCHEDULE_JOB", "CHECK_FOR_DUPLICATES", "DOWNLOAD_DOCUMENT", "POST_AUDIT_TRAILS", "POST_DATA_UPLOAD_TO_VECTORDB", "POST_SOA_PROCESSING", "POST_MONGO_INDEX_CREATION"]).optional(), result: z.enum(["Success", "InProgress", "Failed"]).optional(), comments: z.string().optional(), executionCounter: z.number().int().optional(), agenticAIResults: z.array(agenticAIResults).optional(), persistType: z.enum(["PRE", "POST"]).optional()}); export const persistenceHookStatus = z.object({isDraft: z.boolean().optional(), updateWorkflowStatus: z.enum(["Success", "InProgress", "Failed"]).optional(), prePersistenceStatus: z.array(persistenceStatus).optional(), postPersistenceStatus: z.array(persistenceStatus).optional()}); export const trackableField = z.object({propertyName: z.string().optional(), oldValue: z.string().optional(), newValue: z.string().optional()}); export const activitySummary = z.object({userId: z.string().optional(), userName: z.string().optional(), time: z.string().optional(), activityType: z.string().optional(), activityDescription: z.string().optional(), changedValues: z.array(trackableField).optional()}); export const jobInstance = z.object({version: z.number().int().optional(), id: z.string().optional(), dateCreated: z.string().optional(), lastUpdated: z.string().optional(), jobTypeId: z.string().optional(), parentJobInstanceId: z.string().optional(), parentJobInstanceObjectId: z.string().optional(), jobWorkflowInstance: jobWorkflowInstance.optional(), title: z.string().optional(), currentWorkFlowStep: z.number().int().optional(), data: z.record(z.string(), z.unknown()).optional(), createdByUserId: z.string().optional(), createdForOrgId: z.string().optional(), sharedOrgIds: z.array(z.string()).optional(), sharedUserIds: z.array(z.string()).optional(), ownershipRole: z.string().optional(), persistenceHookStatus: persistenceHookStatus.optional(), v1OldJobInstanceId: z.string().optional(), conversationalId: z.string().optional(), conditions: z.record(z.string(), z.unknown()).optional(), ignoreEndorsement: z.boolean().optional(), lastModifiedBy: z.string().optional(), metaData: z.record(z.string(), z.unknown()).optional(), relatedJobInstanceIds: z.array(z.string()).optional(), jobInstanceIdRelationships: z.array(z.record(z.string(), z.string())).optional(), assignedTo: z.string().optional(), activitySummary: z.array(activitySummary).optional(), lockInfo: z.record(z.string(), z.unknown()).optional(), parentJobEventMetaData: z.record(z.string(), z.string()).optional(), enableAddMoreFieldsData: z.record(z.string(), z.array(z.record(z.string(), z.unknown()))).optional(), createdByUsername: z.string().optional(), dirtyRecord: z.boolean().optional(), deleted: z.boolean().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 }; /** * PUT /api/v1/job-instances/{jobInstanceId} */ export const updateApiApiV1JobInstancesJobInstanceId = async (args: UpdateApiApiV1JobInstancesJobInstanceIdArgs, options?: UpdateApiApiV1JobInstancesJobInstanceIdOptions) => { const {baseUrl = "https://api-docs.gosure.ai", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/vnd.hal+json") if (args.migration != null) query.append("migration", String(args.migration)) if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1/job-instances/${encodeURIComponent(String(args.jobInstanceId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(jobInstance, await res.json()) };