{"version":3,"sources":["../../src/hub-v1-job-movement-jobs.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const SubmitJobRequest = z.object({\n  source: z\n    .intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          localization: z.never().optional(),\n          file: z.never().optional(),\n          wixDataCollection: z\n            .object({\n              collectionId: z\n                .string()\n                .describe('ID of the data collection.')\n                .min(1)\n                .max(256)\n                .optional(),\n              filter: z\n                .record(z.string(), z.any())\n                .describe(\n                  'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                )\n                .optional()\n                .nullable(),\n              fields: z.array(z.string()).optional(),\n            })\n            .describe(\n              'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n            ),\n        }),\n        z.object({\n          wixDataCollection: z.never().optional(),\n          file: z.never().optional(),\n          localization: z\n            .object({\n              languages: z.array(z.string()).min(2).max(64).optional(),\n            })\n            .describe(\n              'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n            ),\n        }),\n        z.object({\n          wixDataCollection: z.never().optional(),\n          localization: z.never().optional(),\n          file: z\n            .object({\n              format: z.enum(['UNKNOWN', 'CSV', 'JSONL']).optional(),\n              fileId: z\n                .string()\n                .describe(\n                  \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                )\n                .max(512)\n                .optional(),\n              url: z\n                .string()\n                .describe(\n                  'URL where the source file is uploaded. Automatically generated by Wix.'\n                )\n                .max(2048)\n                .optional(),\n            })\n            .describe(\n              'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n            ),\n        }),\n      ])\n    )\n    .describe('Source to move data from.'),\n  destination: z\n    .intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          localization: z.never().optional(),\n          file: z.never().optional(),\n          wixDataCollection: z\n            .object({\n              collectionId: z\n                .string()\n                .describe('ID of the destination collection.')\n                .max(256)\n                .optional(),\n              writePolicy: z\n                .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                .optional(),\n            })\n            .describe(\n              'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n            ),\n        }),\n        z.object({\n          wixDataCollection: z.never().optional(),\n          file: z.never().optional(),\n          localization: z\n            .object({\n              languages: z.array(z.string()).min(2).max(64).optional(),\n            })\n            .describe(\n              'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n            ),\n        }),\n        z.object({\n          wixDataCollection: z.never().optional(),\n          localization: z.never().optional(),\n          file: z\n            .object({\n              format: z.enum(['UNKNOWN', 'CSV', 'JSONL']).optional(),\n              fileName: z\n                .string()\n                .describe('File name.')\n                .max(512)\n                .optional()\n                .nullable(),\n              url: z\n                .string()\n                .describe('File download URL.')\n                .max(2048)\n                .optional(),\n            })\n            .describe('Downloadable file with the moved items.'),\n        }),\n      ])\n    )\n    .describe('Destination to move data to.'),\n  options: z\n    .intersection(\n      z.object({ name: z.string().describe('Job name.').optional() }),\n      z.xor([\n        z.object({\n          sourceSiteId: z.never().optional(),\n          destinationSiteId: z.never().optional(),\n        }),\n        z.object({\n          destinationSiteId: z.never().optional(),\n          sourceSiteId: z\n            .string()\n            .describe(\n              'When moving data from the Wix data collection of a site other than the current one, the source site ID.\\n\\nBy default, the source site is the current site. However, you can move data from any site in the same [Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account).\\n\\n> **Note**: You can specify the ID of another source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n        }),\n        z.object({\n          sourceSiteId: z.never().optional(),\n          destinationSiteId: z\n            .string()\n            .describe(\n              'When moving data to the Wix data collection of a site other than the current one, the destination site ID.\\n\\nBy default, the destination site is the current site. However, you can move data to any site in the same [Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account) by specifying its ID. You can retrieve this ID by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of another source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n        }),\n      ])\n    )\n    .optional(),\n});\nexport const SubmitJobResponse = z.object({\n  job: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Job ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        startedAt: z\n          .date()\n          .describe('When the job was submitted.')\n          .optional()\n          .nullable(),\n        status: z\n          .enum([\n            'UNINITIALIZED',\n            'INITIALIZING',\n            'IN_PROGRESS',\n            'COMPLETED',\n            'FAILED',\n            'PARTIALLY_SUCCESSFUL',\n          ])\n          .describe('Current job status.')\n          .optional(),\n        source: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z.never().optional(),\n              }),\n              z.object({\n                localization: z.never().optional(),\n                file: z.never().optional(),\n                wixDataCollection: z\n                  .object({\n                    collectionId: z\n                      .string()\n                      .describe('ID of the data collection.')\n                      .min(1)\n                      .max(256)\n                      .optional(),\n                    filter: z\n                      .record(z.string(), z.any())\n                      .describe(\n                        'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                      )\n                      .optional()\n                      .nullable(),\n                    fields: z.array(z.string()).optional(),\n                  })\n                  .describe(\n                    'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                file: z.never().optional(),\n                localization: z\n                  .object({\n                    languages: z.array(z.string()).min(2).max(64).optional(),\n                  })\n                  .describe(\n                    'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z\n                  .object({\n                    format: z\n                      .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                      .describe(\n                        'File format. If not specified, automatically determined by Wix.'\n                      )\n                      .optional(),\n                    fileId: z\n                      .string()\n                      .describe(\n                        \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                      )\n                      .max(512)\n                      .optional(),\n                    url: z\n                      .string()\n                      .describe(\n                        'URL where the source file is uploaded. Automatically generated by Wix.'\n                      )\n                      .max(2048)\n                      .optional(),\n                  })\n                  .describe(\n                    'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n                  ),\n              }),\n            ])\n          )\n          .describe('Source to move data from.')\n          .optional(),\n        destination: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z.never().optional(),\n              }),\n              z.object({\n                localization: z.never().optional(),\n                file: z.never().optional(),\n                wixDataCollection: z\n                  .object({\n                    collectionId: z\n                      .string()\n                      .describe('ID of the destination collection.')\n                      .max(256)\n                      .optional(),\n                    writePolicy: z\n                      .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                      .describe(\n                        'When items already exist in the destination collection, the data writing policy.\\n\\nDefault: `OVERWRITE`.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                file: z.never().optional(),\n                localization: z\n                  .object({\n                    languages: z.array(z.string()).min(2).max(64).optional(),\n                  })\n                  .describe(\n                    'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z\n                  .object({\n                    format: z\n                      .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                      .describe('File format.')\n                      .optional(),\n                    fileName: z\n                      .string()\n                      .describe('File name.')\n                      .max(512)\n                      .optional()\n                      .nullable(),\n                    url: z\n                      .string()\n                      .describe('File download URL.')\n                      .max(2048)\n                      .optional(),\n                  })\n                  .describe('Downloadable file with the moved items.'),\n              }),\n            ])\n          )\n          .describe('Destination to move data to.')\n          .optional(),\n        name: z.string().describe('Job name.').max(1024).optional(),\n        progress: z\n          .object({\n            current: z\n              .number()\n              .int()\n              .describe('Number of units already processed.')\n              .optional(),\n            total: z\n              .number()\n              .int()\n              .describe('Total number of units to move.')\n              .optional()\n              .nullable(),\n            itemsRejected: z\n              .number()\n              .int()\n              .describe(\n                'Number of items that failed to move to the destination.'\n              )\n              .optional(),\n            itemsSuccessful: z\n              .number()\n              .int()\n              .describe(\n                'Number of items successfully moved to the destination.'\n              )\n              .optional(),\n          })\n          .describe(\n            'When the job `status` is `IN_PROGRESS`, the progress details.'\n          )\n          .optional(),\n        finishedAt: z\n          .date()\n          .describe(\n            'Job finish time.\\n\\nA job is considered finished when its `status` updates to `COMPLETED`, `FAILED`, or `PARTIALLY_SUCCESSFUL`.'\n          )\n          .optional()\n          .nullable(),\n        error: z\n          .object({\n            code: z.string().describe('Error code.').optional(),\n            description: z\n              .string()\n              .describe('Description of the error.')\n              .optional(),\n            data: z\n              .record(z.string(), z.any())\n              .describe('Data related to the error.')\n              .optional()\n              .nullable(),\n          })\n          .describe('Error information.')\n          .optional(),\n        sourceSiteId: z\n          .string()\n          .describe(\n            'When moving data from a Wix data collection, the source site ID.\\n\\nBy default, the source site is the current site. To move data from [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        destinationSiteId: z\n          .string()\n          .describe(\n            'When moving data to a Wix data collection, the destination site ID.\\n\\nBy default, the destination site is the current site. To move data to [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        logsRecorded: z\n          .number()\n          .int()\n          .describe('Number of recorded logs.')\n          .optional(),\n        scheduleId: z\n          .string()\n          .describe(\n            'Sync Schedule ID, if the job was triggered by a sync schedule.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Extended fields for custom metadata added by applications.'\n          )\n          .optional(),\n        workflowId: z\n          .string()\n          .describe(\n            'Workflow ID, if the job was created as a child step of a workflow.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n      }),\n      z.xor([\n        z.object({ partiallySuccessfulOptions: z.never().optional() }),\n        z.object({\n          partiallySuccessfulOptions: z\n            .object({\n              cause: z\n                .string()\n                .describe('Reason the job was partially successful.')\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              \"When the job's `status` is `PARTIALLY_SUCCESSFUL`, the additional details.\"\n            ),\n        }),\n      ])\n    )\n    .describe('Details of the submitted job.')\n    .optional(),\n});\nexport const CreateFileUploadUrlRequest = z.object({\n  options: z\n    .object({\n      fileName: z\n        .string()\n        .describe('Name of uploaded file.')\n        .max(512)\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const CreateFileUploadUrlResponse = z.object({\n  fileId: z.string().describe('File ID.').max(512).optional(),\n  uploadUrl: z\n    .string()\n    .describe('URL to which you can upload the file.')\n    .max(8192)\n    .optional(),\n});\nexport const GetJobRequest = z.object({\n  jobId: z\n    .string()\n    .describe('Job ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const GetJobResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Job ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    startedAt: z\n      .date()\n      .describe('When the job was submitted.')\n      .optional()\n      .nullable(),\n    status: z\n      .enum([\n        'UNINITIALIZED',\n        'INITIALIZING',\n        'IN_PROGRESS',\n        'COMPLETED',\n        'FAILED',\n        'PARTIALLY_SUCCESSFUL',\n      ])\n      .describe('Current job status.')\n      .optional(),\n    source: z\n      .intersection(\n        z.object({}),\n        z.xor([\n          z.object({\n            wixDataCollection: z.never().optional(),\n            localization: z.never().optional(),\n            file: z.never().optional(),\n          }),\n          z.object({\n            localization: z.never().optional(),\n            file: z.never().optional(),\n            wixDataCollection: z\n              .object({\n                collectionId: z\n                  .string()\n                  .describe('ID of the data collection.')\n                  .min(1)\n                  .max(256)\n                  .optional(),\n                filter: z\n                  .record(z.string(), z.any())\n                  .describe(\n                    'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                  )\n                  .optional()\n                  .nullable(),\n                fields: z.array(z.string()).optional(),\n              })\n              .describe(\n                'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n              ),\n          }),\n          z.object({\n            wixDataCollection: z.never().optional(),\n            file: z.never().optional(),\n            localization: z\n              .object({\n                languages: z.array(z.string()).min(2).max(64).optional(),\n              })\n              .describe(\n                'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n              ),\n          }),\n          z.object({\n            wixDataCollection: z.never().optional(),\n            localization: z.never().optional(),\n            file: z\n              .object({\n                format: z\n                  .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                  .describe(\n                    'File format. If not specified, automatically determined by Wix.'\n                  )\n                  .optional(),\n                fileId: z\n                  .string()\n                  .describe(\n                    \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                  )\n                  .max(512)\n                  .optional(),\n                url: z\n                  .string()\n                  .describe(\n                    'URL where the source file is uploaded. Automatically generated by Wix.'\n                  )\n                  .max(2048)\n                  .optional(),\n              })\n              .describe(\n                'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n              ),\n          }),\n        ])\n      )\n      .describe('Source to move data from.')\n      .optional(),\n    destination: z\n      .intersection(\n        z.object({}),\n        z.xor([\n          z.object({\n            wixDataCollection: z.never().optional(),\n            localization: z.never().optional(),\n            file: z.never().optional(),\n          }),\n          z.object({\n            localization: z.never().optional(),\n            file: z.never().optional(),\n            wixDataCollection: z\n              .object({\n                collectionId: z\n                  .string()\n                  .describe('ID of the destination collection.')\n                  .max(256)\n                  .optional(),\n                writePolicy: z\n                  .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                  .describe(\n                    'When items already exist in the destination collection, the data writing policy.\\n\\nDefault: `OVERWRITE`.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n              ),\n          }),\n          z.object({\n            wixDataCollection: z.never().optional(),\n            file: z.never().optional(),\n            localization: z\n              .object({\n                languages: z.array(z.string()).min(2).max(64).optional(),\n              })\n              .describe(\n                'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n              ),\n          }),\n          z.object({\n            wixDataCollection: z.never().optional(),\n            localization: z.never().optional(),\n            file: z\n              .object({\n                format: z\n                  .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                  .describe('File format.')\n                  .optional(),\n                fileName: z\n                  .string()\n                  .describe('File name.')\n                  .max(512)\n                  .optional()\n                  .nullable(),\n                url: z\n                  .string()\n                  .describe('File download URL.')\n                  .max(2048)\n                  .optional(),\n              })\n              .describe('Downloadable file with the moved items.'),\n          }),\n        ])\n      )\n      .describe('Destination to move data to.')\n      .optional(),\n    name: z.string().describe('Job name.').max(1024).optional(),\n    progress: z\n      .object({\n        current: z\n          .number()\n          .int()\n          .describe('Number of units already processed.')\n          .optional(),\n        total: z\n          .number()\n          .int()\n          .describe('Total number of units to move.')\n          .optional()\n          .nullable(),\n        itemsRejected: z\n          .number()\n          .int()\n          .describe('Number of items that failed to move to the destination.')\n          .optional(),\n        itemsSuccessful: z\n          .number()\n          .int()\n          .describe('Number of items successfully moved to the destination.')\n          .optional(),\n      })\n      .describe('When the job `status` is `IN_PROGRESS`, the progress details.')\n      .optional(),\n    finishedAt: z\n      .date()\n      .describe(\n        'Job finish time.\\n\\nA job is considered finished when its `status` updates to `COMPLETED`, `FAILED`, or `PARTIALLY_SUCCESSFUL`.'\n      )\n      .optional()\n      .nullable(),\n    error: z\n      .object({\n        code: z.string().describe('Error code.').optional(),\n        description: z\n          .string()\n          .describe('Description of the error.')\n          .optional(),\n        data: z\n          .record(z.string(), z.any())\n          .describe('Data related to the error.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Error information.')\n      .optional(),\n    sourceSiteId: z\n      .string()\n      .describe(\n        'When moving data from a Wix data collection, the source site ID.\\n\\nBy default, the source site is the current site. To move data from [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    destinationSiteId: z\n      .string()\n      .describe(\n        'When moving data to a Wix data collection, the destination site ID.\\n\\nBy default, the destination site is the current site. To move data to [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    logsRecorded: z\n      .number()\n      .int()\n      .describe('Number of recorded logs.')\n      .optional(),\n    scheduleId: z\n      .string()\n      .describe(\n        'Sync Schedule ID, if the job was triggered by a sync schedule.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe('Extended fields for custom metadata added by applications.')\n      .optional(),\n    workflowId: z\n      .string()\n      .describe(\n        'Workflow ID, if the job was created as a child step of a workflow.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n  }),\n  z.xor([\n    z.object({ partiallySuccessfulOptions: z.never().optional() }),\n    z.object({\n      partiallySuccessfulOptions: z\n        .object({\n          cause: z\n            .string()\n            .describe('Reason the job was partially successful.')\n            .max(1000)\n            .optional(),\n        })\n        .describe(\n          \"When the job's `status` is `PARTIALLY_SUCCESSFUL`, the additional details.\"\n        ),\n    }),\n  ])\n);\nexport const ListJobsRequest = z.object({\n  options: z\n    .object({\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe('Maximum number of items to return in the results.')\n            .min(0)\n            .max(100)\n            .optional()\n            .nullable(),\n          cursor: z\n            .string()\n            .describe(\n              \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe('Paging metadata.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const ListJobsResponse = z.object({\n  jobs: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Job ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          startedAt: z\n            .date()\n            .describe('When the job was submitted.')\n            .optional()\n            .nullable(),\n          status: z\n            .enum([\n              'UNINITIALIZED',\n              'INITIALIZING',\n              'IN_PROGRESS',\n              'COMPLETED',\n              'FAILED',\n              'PARTIALLY_SUCCESSFUL',\n            ])\n            .describe('Current job status.')\n            .optional(),\n          source: z\n            .intersection(\n              z.object({}),\n              z.xor([\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                }),\n                z.object({\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                  wixDataCollection: z\n                    .object({\n                      collectionId: z\n                        .string()\n                        .describe('ID of the data collection.')\n                        .min(1)\n                        .max(256)\n                        .optional(),\n                      filter: z\n                        .record(z.string(), z.any())\n                        .describe(\n                          'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                        )\n                        .optional()\n                        .nullable(),\n                      fields: z.array(z.string()).optional(),\n                    })\n                    .describe(\n                      'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  file: z.never().optional(),\n                  localization: z\n                    .object({\n                      languages: z.array(z.string()).min(2).max(64).optional(),\n                    })\n                    .describe(\n                      'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z\n                    .object({\n                      format: z\n                        .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                        .describe(\n                          'File format. If not specified, automatically determined by Wix.'\n                        )\n                        .optional(),\n                      fileId: z\n                        .string()\n                        .describe(\n                          \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                        )\n                        .max(512)\n                        .optional(),\n                      url: z\n                        .string()\n                        .describe(\n                          'URL where the source file is uploaded. Automatically generated by Wix.'\n                        )\n                        .max(2048)\n                        .optional(),\n                    })\n                    .describe(\n                      'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n                    ),\n                }),\n              ])\n            )\n            .describe('Source to move data from.')\n            .optional(),\n          destination: z\n            .intersection(\n              z.object({}),\n              z.xor([\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                }),\n                z.object({\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                  wixDataCollection: z\n                    .object({\n                      collectionId: z\n                        .string()\n                        .describe('ID of the destination collection.')\n                        .max(256)\n                        .optional(),\n                      writePolicy: z\n                        .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                        .describe(\n                          'When items already exist in the destination collection, the data writing policy.\\n\\nDefault: `OVERWRITE`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  file: z.never().optional(),\n                  localization: z\n                    .object({\n                      languages: z.array(z.string()).min(2).max(64).optional(),\n                    })\n                    .describe(\n                      'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z\n                    .object({\n                      format: z\n                        .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                        .describe('File format.')\n                        .optional(),\n                      fileName: z\n                        .string()\n                        .describe('File name.')\n                        .max(512)\n                        .optional()\n                        .nullable(),\n                      url: z\n                        .string()\n                        .describe('File download URL.')\n                        .max(2048)\n                        .optional(),\n                    })\n                    .describe('Downloadable file with the moved items.'),\n                }),\n              ])\n            )\n            .describe('Destination to move data to.')\n            .optional(),\n          name: z.string().describe('Job name.').max(1024).optional(),\n          progress: z\n            .object({\n              current: z\n                .number()\n                .int()\n                .describe('Number of units already processed.')\n                .optional(),\n              total: z\n                .number()\n                .int()\n                .describe('Total number of units to move.')\n                .optional()\n                .nullable(),\n              itemsRejected: z\n                .number()\n                .int()\n                .describe(\n                  'Number of items that failed to move to the destination.'\n                )\n                .optional(),\n              itemsSuccessful: z\n                .number()\n                .int()\n                .describe(\n                  'Number of items successfully moved to the destination.'\n                )\n                .optional(),\n            })\n            .describe(\n              'When the job `status` is `IN_PROGRESS`, the progress details.'\n            )\n            .optional(),\n          finishedAt: z\n            .date()\n            .describe(\n              'Job finish time.\\n\\nA job is considered finished when its `status` updates to `COMPLETED`, `FAILED`, or `PARTIALLY_SUCCESSFUL`.'\n            )\n            .optional()\n            .nullable(),\n          error: z\n            .object({\n              code: z.string().describe('Error code.').optional(),\n              description: z\n                .string()\n                .describe('Description of the error.')\n                .optional(),\n              data: z\n                .record(z.string(), z.any())\n                .describe('Data related to the error.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Error information.')\n            .optional(),\n          sourceSiteId: z\n            .string()\n            .describe(\n              'When moving data from a Wix data collection, the source site ID.\\n\\nBy default, the source site is the current site. To move data from [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          destinationSiteId: z\n            .string()\n            .describe(\n              'When moving data to a Wix data collection, the destination site ID.\\n\\nBy default, the destination site is the current site. To move data to [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          logsRecorded: z\n            .number()\n            .int()\n            .describe('Number of recorded logs.')\n            .optional(),\n          scheduleId: z\n            .string()\n            .describe(\n              'Sync Schedule ID, if the job was triggered by a sync schedule.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Extended fields for custom metadata added by applications.'\n            )\n            .optional(),\n          workflowId: z\n            .string()\n            .describe(\n              'Workflow ID, if the job was created as a child step of a workflow.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        }),\n        z.xor([\n          z.object({ partiallySuccessfulOptions: z.never().optional() }),\n          z.object({\n            partiallySuccessfulOptions: z\n              .object({\n                cause: z\n                  .string()\n                  .describe('Reason the job was partially successful.')\n                  .max(1000)\n                  .optional(),\n              })\n              .describe(\n                \"When the job's `status` is `PARTIALLY_SUCCESSFUL`, the additional details.\"\n              ),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in current page.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n});\nexport const QueryJobsRequest = z.object({\n  query: z\n    .intersection(\n      z.object({\n        filter: z\n          .record(z.string(), z.any())\n          .describe(\n            'Filter object.\\n\\nLearn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n          )\n          .optional()\n          .nullable(),\n        sort: z\n          .array(\n            z.object({\n              fieldName: z\n                .string()\n                .describe('Name of the field to sort by.')\n                .max(512)\n                .optional(),\n              order: z.enum(['ASC', 'DESC']).optional(),\n            })\n          )\n          .max(5)\n          .optional(),\n      }),\n      z.xor([\n        z.object({ cursorPaging: z.never().optional() }),\n        z.object({\n          cursorPaging: z\n            .object({\n              limit: z\n                .number()\n                .int()\n                .describe('Maximum number of items to return in the results.')\n                .min(0)\n                .max(100)\n                .optional()\n                .nullable(),\n              cursor: z\n                .string()\n                .describe(\n                  \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                )\n                .max(16000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Cursor paging options.\\n\\nLearn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).'\n            ),\n        }),\n      ])\n    )\n    .describe(\n      'Query preferences. Learn more about [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).'\n    ),\n});\nexport const QueryJobsResponse = z.object({\n  jobs: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Job ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          startedAt: z\n            .date()\n            .describe('When the job was submitted.')\n            .optional()\n            .nullable(),\n          status: z\n            .enum([\n              'UNINITIALIZED',\n              'INITIALIZING',\n              'IN_PROGRESS',\n              'COMPLETED',\n              'FAILED',\n              'PARTIALLY_SUCCESSFUL',\n            ])\n            .describe('Current job status.')\n            .optional(),\n          source: z\n            .intersection(\n              z.object({}),\n              z.xor([\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                }),\n                z.object({\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                  wixDataCollection: z\n                    .object({\n                      collectionId: z\n                        .string()\n                        .describe('ID of the data collection.')\n                        .min(1)\n                        .max(256)\n                        .optional(),\n                      filter: z\n                        .record(z.string(), z.any())\n                        .describe(\n                          'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                        )\n                        .optional()\n                        .nullable(),\n                      fields: z.array(z.string()).optional(),\n                    })\n                    .describe(\n                      'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  file: z.never().optional(),\n                  localization: z\n                    .object({\n                      languages: z.array(z.string()).min(2).max(64).optional(),\n                    })\n                    .describe(\n                      'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z\n                    .object({\n                      format: z\n                        .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                        .describe(\n                          'File format. If not specified, automatically determined by Wix.'\n                        )\n                        .optional(),\n                      fileId: z\n                        .string()\n                        .describe(\n                          \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                        )\n                        .max(512)\n                        .optional(),\n                      url: z\n                        .string()\n                        .describe(\n                          'URL where the source file is uploaded. Automatically generated by Wix.'\n                        )\n                        .max(2048)\n                        .optional(),\n                    })\n                    .describe(\n                      'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n                    ),\n                }),\n              ])\n            )\n            .describe('Source to move data from.')\n            .optional(),\n          destination: z\n            .intersection(\n              z.object({}),\n              z.xor([\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                }),\n                z.object({\n                  localization: z.never().optional(),\n                  file: z.never().optional(),\n                  wixDataCollection: z\n                    .object({\n                      collectionId: z\n                        .string()\n                        .describe('ID of the destination collection.')\n                        .max(256)\n                        .optional(),\n                      writePolicy: z\n                        .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                        .describe(\n                          'When items already exist in the destination collection, the data writing policy.\\n\\nDefault: `OVERWRITE`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  file: z.never().optional(),\n                  localization: z\n                    .object({\n                      languages: z.array(z.string()).min(2).max(64).optional(),\n                    })\n                    .describe(\n                      'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                    ),\n                }),\n                z.object({\n                  wixDataCollection: z.never().optional(),\n                  localization: z.never().optional(),\n                  file: z\n                    .object({\n                      format: z\n                        .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                        .describe('File format.')\n                        .optional(),\n                      fileName: z\n                        .string()\n                        .describe('File name.')\n                        .max(512)\n                        .optional()\n                        .nullable(),\n                      url: z\n                        .string()\n                        .describe('File download URL.')\n                        .max(2048)\n                        .optional(),\n                    })\n                    .describe('Downloadable file with the moved items.'),\n                }),\n              ])\n            )\n            .describe('Destination to move data to.')\n            .optional(),\n          name: z.string().describe('Job name.').max(1024).optional(),\n          progress: z\n            .object({\n              current: z\n                .number()\n                .int()\n                .describe('Number of units already processed.')\n                .optional(),\n              total: z\n                .number()\n                .int()\n                .describe('Total number of units to move.')\n                .optional()\n                .nullable(),\n              itemsRejected: z\n                .number()\n                .int()\n                .describe(\n                  'Number of items that failed to move to the destination.'\n                )\n                .optional(),\n              itemsSuccessful: z\n                .number()\n                .int()\n                .describe(\n                  'Number of items successfully moved to the destination.'\n                )\n                .optional(),\n            })\n            .describe(\n              'When the job `status` is `IN_PROGRESS`, the progress details.'\n            )\n            .optional(),\n          finishedAt: z\n            .date()\n            .describe(\n              'Job finish time.\\n\\nA job is considered finished when its `status` updates to `COMPLETED`, `FAILED`, or `PARTIALLY_SUCCESSFUL`.'\n            )\n            .optional()\n            .nullable(),\n          error: z\n            .object({\n              code: z.string().describe('Error code.').optional(),\n              description: z\n                .string()\n                .describe('Description of the error.')\n                .optional(),\n              data: z\n                .record(z.string(), z.any())\n                .describe('Data related to the error.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Error information.')\n            .optional(),\n          sourceSiteId: z\n            .string()\n            .describe(\n              'When moving data from a Wix data collection, the source site ID.\\n\\nBy default, the source site is the current site. To move data from [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          destinationSiteId: z\n            .string()\n            .describe(\n              'When moving data to a Wix data collection, the destination site ID.\\n\\nBy default, the destination site is the current site. To move data to [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          logsRecorded: z\n            .number()\n            .int()\n            .describe('Number of recorded logs.')\n            .optional(),\n          scheduleId: z\n            .string()\n            .describe(\n              'Sync Schedule ID, if the job was triggered by a sync schedule.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Extended fields for custom metadata added by applications.'\n            )\n            .optional(),\n          workflowId: z\n            .string()\n            .describe(\n              'Workflow ID, if the job was created as a child step of a workflow.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        }),\n        z.xor([\n          z.object({ partiallySuccessfulOptions: z.never().optional() }),\n          z.object({\n            partiallySuccessfulOptions: z\n              .object({\n                cause: z\n                  .string()\n                  .describe('Reason the job was partially successful.')\n                  .max(1000)\n                  .optional(),\n              })\n              .describe(\n                \"When the job's `status` is `PARTIALLY_SUCCESSFUL`, the additional details.\"\n              ),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in current page.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n});\nexport const TerminateJobRequest = z.object({\n  jobId: z\n    .string()\n    .describe('ID of the job to terminate.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const TerminateJobResponse = z.object({\n  job: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Job ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        startedAt: z\n          .date()\n          .describe('When the job was submitted.')\n          .optional()\n          .nullable(),\n        status: z\n          .enum([\n            'UNINITIALIZED',\n            'INITIALIZING',\n            'IN_PROGRESS',\n            'COMPLETED',\n            'FAILED',\n            'PARTIALLY_SUCCESSFUL',\n          ])\n          .describe('Current job status.')\n          .optional(),\n        source: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z.never().optional(),\n              }),\n              z.object({\n                localization: z.never().optional(),\n                file: z.never().optional(),\n                wixDataCollection: z\n                  .object({\n                    collectionId: z\n                      .string()\n                      .describe('ID of the data collection.')\n                      .min(1)\n                      .max(256)\n                      .optional(),\n                    filter: z\n                      .record(z.string(), z.any())\n                      .describe(\n                        'Filter to apply to the items. Only items that pass the filter are moved.\\n\\nLearn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).'\n                      )\n                      .optional()\n                      .nullable(),\n                    fields: z.array(z.string()).optional(),\n                  })\n                  .describe(\n                    'Wix data collection.\\n\\nYou can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                file: z.never().optional(),\n                localization: z\n                  .object({\n                    languages: z.array(z.string()).min(2).max(64).optional(),\n                  })\n                  .describe(\n                    'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z\n                  .object({\n                    format: z\n                      .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                      .describe(\n                        'File format. If not specified, automatically determined by Wix.'\n                      )\n                      .optional(),\n                    fileId: z\n                      .string()\n                      .describe(\n                        \"File ID as returned in the `fileId` property of the Create File Upload URL method's response.\"\n                      )\n                      .max(512)\n                      .optional(),\n                    url: z\n                      .string()\n                      .describe(\n                        'URL where the source file is uploaded. Automatically generated by Wix.'\n                      )\n                      .max(2048)\n                      .optional(),\n                  })\n                  .describe(\n                    'Source file.\\n\\nYou can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.\\n\\nTo upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:\\n\\n`curl --request PUT --upload-file \"${path_to_file}\" \"${uploadUrl}\"`'\n                  ),\n              }),\n            ])\n          )\n          .describe('Source to move data from.')\n          .optional(),\n        destination: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z.never().optional(),\n              }),\n              z.object({\n                localization: z.never().optional(),\n                file: z.never().optional(),\n                wixDataCollection: z\n                  .object({\n                    collectionId: z\n                      .string()\n                      .describe('ID of the destination collection.')\n                      .max(256)\n                      .optional(),\n                    writePolicy: z\n                      .enum(['OVERWRITE', 'SKIP_EXISTING', 'TRUNCATE_BEFORE'])\n                      .describe(\n                        'When items already exist in the destination collection, the data writing policy.\\n\\nDefault: `OVERWRITE`.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Wix data collection.\\n\\nYou can move items to native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                file: z.never().optional(),\n                localization: z\n                  .object({\n                    languages: z.array(z.string()).min(2).max(64).optional(),\n                  })\n                  .describe(\n                    'Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.\\n\\nLearn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).'\n                  ),\n              }),\n              z.object({\n                wixDataCollection: z.never().optional(),\n                localization: z.never().optional(),\n                file: z\n                  .object({\n                    format: z\n                      .enum(['UNKNOWN', 'CSV', 'JSONL'])\n                      .describe('File format.')\n                      .optional(),\n                    fileName: z\n                      .string()\n                      .describe('File name.')\n                      .max(512)\n                      .optional()\n                      .nullable(),\n                    url: z\n                      .string()\n                      .describe('File download URL.')\n                      .max(2048)\n                      .optional(),\n                  })\n                  .describe('Downloadable file with the moved items.'),\n              }),\n            ])\n          )\n          .describe('Destination to move data to.')\n          .optional(),\n        name: z.string().describe('Job name.').max(1024).optional(),\n        progress: z\n          .object({\n            current: z\n              .number()\n              .int()\n              .describe('Number of units already processed.')\n              .optional(),\n            total: z\n              .number()\n              .int()\n              .describe('Total number of units to move.')\n              .optional()\n              .nullable(),\n            itemsRejected: z\n              .number()\n              .int()\n              .describe(\n                'Number of items that failed to move to the destination.'\n              )\n              .optional(),\n            itemsSuccessful: z\n              .number()\n              .int()\n              .describe(\n                'Number of items successfully moved to the destination.'\n              )\n              .optional(),\n          })\n          .describe(\n            'When the job `status` is `IN_PROGRESS`, the progress details.'\n          )\n          .optional(),\n        finishedAt: z\n          .date()\n          .describe(\n            'Job finish time.\\n\\nA job is considered finished when its `status` updates to `COMPLETED`, `FAILED`, or `PARTIALLY_SUCCESSFUL`.'\n          )\n          .optional()\n          .nullable(),\n        error: z\n          .object({\n            code: z.string().describe('Error code.').optional(),\n            description: z\n              .string()\n              .describe('Description of the error.')\n              .optional(),\n            data: z\n              .record(z.string(), z.any())\n              .describe('Data related to the error.')\n              .optional()\n              .nullable(),\n          })\n          .describe('Error information.')\n          .optional(),\n        sourceSiteId: z\n          .string()\n          .describe(\n            'When moving data from a Wix data collection, the source site ID.\\n\\nBy default, the source site is the current site. To move data from [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        destinationSiteId: z\n          .string()\n          .describe(\n            'When moving data to a Wix data collection, the destination site ID.\\n\\nBy default, the destination site is the current site. To move data to [any site in the same Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account), specify the site ID, which you can retrieve by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).\\n\\n> **Note**: You can specify the ID of a source site or destination site, but not both.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        logsRecorded: z\n          .number()\n          .int()\n          .describe('Number of recorded logs.')\n          .optional(),\n        scheduleId: z\n          .string()\n          .describe(\n            'Sync Schedule ID, if the job was triggered by a sync schedule.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Extended fields for custom metadata added by applications.'\n          )\n          .optional(),\n        workflowId: z\n          .string()\n          .describe(\n            'Workflow ID, if the job was created as a child step of a workflow.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n      }),\n      z.xor([\n        z.object({ partiallySuccessfulOptions: z.never().optional() }),\n        z.object({\n          partiallySuccessfulOptions: z\n            .object({\n              cause: z\n                .string()\n                .describe('Reason the job was partially successful.')\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              \"When the job's `status` is `PARTIALLY_SUCCESSFUL`, the additional details.\"\n            ),\n        }),\n      ])\n    )\n    .describe('Details of the terminated job.')\n    .optional(),\n});\nexport const ListMovementLogsRequest = z.object({\n  jobId: z\n    .string()\n    .describe('ID of the job for which to list logs.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe('Maximum number of items to return in the results.')\n            .min(0)\n            .max(100)\n            .optional()\n            .nullable(),\n          cursor: z\n            .string()\n            .describe(\n              \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe('Paging metadata.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const ListMovementLogsResponse = z.object({\n  logs: z\n    .array(\n      z.object({\n        sourceItemId: z\n          .string()\n          .describe(\n            'ID of the item in the source, such as a Wix Data Item or a row number in a CSV file.'\n          )\n          .max(512)\n          .optional(),\n        failure: z\n          .object({\n            code: z.string().describe('Error code.').optional(),\n            description: z\n              .string()\n              .describe('Description of the error.')\n              .optional(),\n            data: z\n              .record(z.string(), z.any())\n              .describe('Data related to the error.')\n              .optional()\n              .nullable(),\n          })\n          .describe('Details about the failure if moving the item fails.')\n          .optional(),\n        details: z\n          .record(z.string(), z.any())\n          .describe(\n            'Additional details provided when moving the item succeeds with details.\\n\\n> **Note**: Each destination type determines the structure of its `details` object.'\n          )\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in current page.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n});\n"],"mappings":"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","names":[]}