{"version":3,"sources":["../../src/hub-v1-job-movement-jobs.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const SubmitJobRequest = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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              .intersection(\n                z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                    )\n                    .optional()\n                    .nullable(),\n                  fields: z.array(z.string()).optional(),\n                }),\n                z.xor([\n                  z.object({\n                    filterQuery: z.never().optional(),\n                    aggregationQuery: z.never().optional(),\n                  }),\n                  z.object({\n                    aggregationQuery: z.never().optional(),\n                    filterQuery: z\n                      .object({\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                        'Filter and field selection to apply to the collection items.'\n                      ),\n                  }),\n                  z.object({\n                    filterQuery: z.never().optional(),\n                    aggregationQuery: z\n                      .object({\n                        aggregationPipeline: z\n                          .intersection(\n                            z.object({\n                              stages: z\n                                .array(\n                                  z.intersection(\n                                    z.object({}),\n                                    z.xor([\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        group: z\n                                          .object({\n                                            groupIds: z\n                                              .array(\n                                                z.object({\n                                                  key: z\n                                                    .string()\n                                                    .describe(\n                                                      \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                  expression:\n                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                      .describe(\n                                                        \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                      )\n                                                      .optional(),\n                                                })\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                            accumulators: z\n                                              .array(\n                                                z.intersection(\n                                                  z.object({\n                                                    resultFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Field key in the output item to store the result in.'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  }),\n                                                  z.xor([\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                    }),\n                                                    z.object({\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      avg: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Calculates the average value across all items in the group based on the specified expression.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      min: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Finds the minimum value across all items in the group.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      max: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Finds the maximum value across all items in the group.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      sum: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Calculates the sum of the specified expression across all items in the group.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      first: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                'Expression to find the first item in the group.'\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Finds the first item in the group.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                'Expression to find the last item in the group.'\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Finds the last item in the group.'\n                                                        ),\n                                                    }),\n                                                    z.object({\n                                                      avg: z.never().optional(),\n                                                      min: z.never().optional(),\n                                                      max: z.never().optional(),\n                                                      sum: z.never().optional(),\n                                                      first: z\n                                                        .never()\n                                                        .optional(),\n                                                      last: z\n                                                        .never()\n                                                        .optional(),\n                                                      push: z\n                                                        .object({\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                'Expression to collect items into an array.'\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                        .describe(\n                                                          'Collects values from all items in the group into an array.'\n                                                        ),\n                                                    }),\n                                                  ])\n                                                )\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Groups aggregated items to new result items.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        filter: z\n                                          .record(z.string(), z.any())\n                                          .describe(\n                                            'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        sort: z\n                                          .object({\n                                            values: z\n                                              .array(\n                                                z.object({\n                                                  fieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Name of the field to sort by.'\n                                                    )\n                                                    .min(1)\n                                                    .max(1000)\n                                                    .optional(),\n                                                  order: z\n                                                    .enum(['ASC', 'DESC'])\n                                                    .optional(),\n                                                })\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        projection: z\n                                          .object({\n                                            fields: z\n                                              .array(\n                                                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Transforms items by including, excluding, or reshaping fields.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        objectToArray: z\n                                          .object({\n                                            objectFieldName: z\n                                              .string()\n                                              .describe(\n                                                'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                            destinationFieldName: z\n                                              .string()\n                                              .describe(\n                                                'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        unwindArray: z\n                                          .object({\n                                            arrayFieldName: z\n                                              .string()\n                                              .describe(\n                                                'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                              )\n                                              .max(1000)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        limit: z.never().optional(),\n                                        skip: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Number of results to skip from the beginning of the result set.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        group: z.never().optional(),\n                                        filter: z.never().optional(),\n                                        sort: z.never().optional(),\n                                        projection: z.never().optional(),\n                                        objectToArray: z.never().optional(),\n                                        unwindArray: z.never().optional(),\n                                        skip: z.never().optional(),\n                                        limit: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Maximum number of results to return.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                )\n                                .max(100)\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                paging: z.never().optional(),\n                                cursorPaging: z.never().optional(),\n                              }),\n                              z.object({\n                                cursorPaging: z.never().optional(),\n                                paging: z\n                                  .object({\n                                    limit: z\n                                      .number()\n                                      .int()\n                                      .describe('Number of items to load.')\n                                      .min(0)\n                                      .optional()\n                                      .nullable(),\n                                    offset: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Number of items to skip in the current sort order.'\n                                      )\n                                      .min(0)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                  ),\n                              }),\n                              z.object({\n                                paging: z.never().optional(),\n                                cursorPaging: z\n                                  .object({\n                                    limit: z\n                                      .number()\n                                      .int()\n                                      .describe('Number of items to load.')\n                                      .min(0)\n                                      .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                      )\n                                      .max(150000)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Aggregation pipeline to run on the collection.'\n                          )\n                          .optional(),\n                        fields: z\n                          .array(\n                            z.object({\n                              key: z\n                                .string()\n                                .describe(\n                                  'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                )\n                                .max(1024)\n                                .optional(),\n                              displayName: z\n                                .string()\n                                .describe(\n                                  'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                )\n                                .max(1024)\n                                .optional(),\n                              fieldType: z\n                                .enum([\n                                  'ANY',\n                                  'STRING',\n                                  'NUMBER',\n                                  'BOOLEAN',\n                                  'DATE',\n                                  'DATETIME',\n                                  'BINARY',\n                                  'OBJECT',\n                                  'ARRAY',\n                                  'URL',\n                                  'WIX_MEDIA_URL',\n                                  'WIX_MEDIA_IMAGE_URL',\n                                  'WIX_MEDIA_VIDEO_URL',\n                                  'WIX_MEDIA_DOCUMENT_URL',\n                                  'IMAGE_URL',\n                                  'VIDEO_URL',\n                                ])\n                                .optional(),\n                            })\n                          )\n                          .min(0)\n                          .max(1000)\n                          .optional(),\n                      })\n                      .describe(\n                        'Aggregation pipeline to run on the collection.'\n                      ),\n                  }),\n                ])\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  });\n})();\nexport const SubmitJobResponse = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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                    .intersection(\n                      z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                          )\n                          .optional()\n                          .nullable(),\n                        fields: z.array(z.string()).optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          filterQuery: z.never().optional(),\n                          aggregationQuery: z.never().optional(),\n                        }),\n                        z.object({\n                          aggregationQuery: z.never().optional(),\n                          filterQuery: z\n                            .object({\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                              'Filter and field selection to apply to the collection items.'\n                            ),\n                        }),\n                        z.object({\n                          filterQuery: z.never().optional(),\n                          aggregationQuery: z\n                            .object({\n                              aggregationPipeline: z\n                                .intersection(\n                                  z.object({\n                                    stages: z\n                                      .array(\n                                        z.intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              group: z\n                                                .object({\n                                                  groupIds: z\n                                                    .array(\n                                                      z.object({\n                                                        key: z\n                                                          .string()\n                                                          .describe(\n                                                            \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                          )\n                                                          .max(1000)\n                                                          .optional(),\n                                                        expression:\n                                                          comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                            .describe(\n                                                              \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                            )\n                                                            .optional(),\n                                                      })\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                  accumulators: z\n                                                    .array(\n                                                      z.intersection(\n                                                        z.object({\n                                                          resultFieldName: z\n                                                            .string()\n                                                            .describe(\n                                                              'Field key in the output item to store the result in.'\n                                                            )\n                                                            .max(1000)\n                                                            .optional(),\n                                                        }),\n                                                        z.xor([\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                          }),\n                                                          z.object({\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            avg: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Calculates the average value across all items in the group based on the specified expression.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the minimum value across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the maximum value across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Calculates the sum of the specified expression across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to find the first item in the group.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the first item in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to find the last item in the group.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the last item in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to collect items into an array.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Collects values from all items in the group into an array.'\n                                                              ),\n                                                          }),\n                                                        ])\n                                                      )\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Groups aggregated items to new result items.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              filter: z\n                                                .record(z.string(), z.any())\n                                                .describe(\n                                                  'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              sort: z\n                                                .object({\n                                                  values: z\n                                                    .array(\n                                                      z.object({\n                                                        fieldName: z\n                                                          .string()\n                                                          .describe(\n                                                            'Name of the field to sort by.'\n                                                          )\n                                                          .min(1)\n                                                          .max(1000)\n                                                          .optional(),\n                                                        order: z\n                                                          .enum(['ASC', 'DESC'])\n                                                          .describe(\n                                                            'Sort order.'\n                                                          )\n                                                          .optional(),\n                                                      })\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              projection: z\n                                                .object({\n                                                  fields: z\n                                                    .array(\n                                                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Transforms items by including, excluding, or reshaping fields.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              objectToArray: z\n                                                .object({\n                                                  objectFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                  destinationFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              unwindArray: z\n                                                .object({\n                                                  arrayFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              skip: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Number of results to skip from the beginning of the result set.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Maximum number of results to return.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                      )\n                                      .max(100)\n                                      .optional(),\n                                  }),\n                                  z.xor([\n                                    z.object({\n                                      paging: z.never().optional(),\n                                      cursorPaging: z.never().optional(),\n                                    }),\n                                    z.object({\n                                      cursorPaging: z.never().optional(),\n                                      paging: z\n                                        .object({\n                                          limit: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to load.'\n                                            )\n                                            .min(0)\n                                            .optional()\n                                            .nullable(),\n                                          offset: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to skip in the current sort order.'\n                                            )\n                                            .min(0)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                        ),\n                                    }),\n                                    z.object({\n                                      paging: z.never().optional(),\n                                      cursorPaging: z\n                                        .object({\n                                          limit: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to load.'\n                                            )\n                                            .min(0)\n                                            .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                            )\n                                            .max(150000)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                        ),\n                                    }),\n                                  ])\n                                )\n                                .describe(\n                                  'Aggregation pipeline to run on the collection.'\n                                )\n                                .optional(),\n                              fields: z\n                                .array(\n                                  z.object({\n                                    key: z\n                                      .string()\n                                      .describe(\n                                        'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                      )\n                                      .max(1024)\n                                      .optional(),\n                                    displayName: z\n                                      .string()\n                                      .describe(\n                                        'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                      )\n                                      .max(1024)\n                                      .optional(),\n                                    fieldType: z\n                                      .enum([\n                                        'ANY',\n                                        'STRING',\n                                        'NUMBER',\n                                        'BOOLEAN',\n                                        'DATE',\n                                        'DATETIME',\n                                        'BINARY',\n                                        'OBJECT',\n                                        'ARRAY',\n                                        'URL',\n                                        'WIX_MEDIA_URL',\n                                        'WIX_MEDIA_IMAGE_URL',\n                                        'WIX_MEDIA_VIDEO_URL',\n                                        'WIX_MEDIA_DOCUMENT_URL',\n                                        'IMAGE_URL',\n                                        'VIDEO_URL',\n                                      ])\n                                      .describe(\n                                        'Field data type. Default: `ANY`.\\n\\nLearn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).'\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .min(0)\n                                .max(1000)\n                                .optional(),\n                            })\n                            .describe(\n                              'Aggregation pipeline to run on the collection.'\n                            ),\n                        }),\n                      ])\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  });\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 = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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                .intersection(\n                  z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                      )\n                      .optional()\n                      .nullable(),\n                    fields: z.array(z.string()).optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      filterQuery: z.never().optional(),\n                      aggregationQuery: z.never().optional(),\n                    }),\n                    z.object({\n                      aggregationQuery: z.never().optional(),\n                      filterQuery: z\n                        .object({\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                          'Filter and field selection to apply to the collection items.'\n                        ),\n                    }),\n                    z.object({\n                      filterQuery: z.never().optional(),\n                      aggregationQuery: z\n                        .object({\n                          aggregationPipeline: z\n                            .intersection(\n                              z.object({\n                                stages: z\n                                  .array(\n                                    z.intersection(\n                                      z.object({}),\n                                      z.xor([\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                        }),\n                                        z.object({\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          group: z\n                                            .object({\n                                              groupIds: z\n                                                .array(\n                                                  z.object({\n                                                    key: z\n                                                      .string()\n                                                      .describe(\n                                                        \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                    expression:\n                                                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                        .describe(\n                                                          \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                        )\n                                                        .optional(),\n                                                  })\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                              accumulators: z\n                                                .array(\n                                                  z.intersection(\n                                                    z.object({\n                                                      resultFieldName: z\n                                                        .string()\n                                                        .describe(\n                                                          'Field key in the output item to store the result in.'\n                                                        )\n                                                        .max(1000)\n                                                        .optional(),\n                                                    }),\n                                                    z.xor([\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                      }),\n                                                      z.object({\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        avg: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Calculates the average value across all items in the group based on the specified expression.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Finds the minimum value across all items in the group.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Finds the maximum value across all items in the group.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Calculates the sum of the specified expression across all items in the group.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  'Expression to find the first item in the group.'\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Finds the first item in the group.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  'Expression to find the last item in the group.'\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Finds the last item in the group.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        avg: z\n                                                          .never()\n                                                          .optional(),\n                                                        min: z\n                                                          .never()\n                                                          .optional(),\n                                                        max: z\n                                                          .never()\n                                                          .optional(),\n                                                        sum: z\n                                                          .never()\n                                                          .optional(),\n                                                        first: z\n                                                          .never()\n                                                          .optional(),\n                                                        last: z\n                                                          .never()\n                                                          .optional(),\n                                                        push: z\n                                                          .object({\n                                                            expression:\n                                                              comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                .describe(\n                                                                  'Expression to collect items into an array.'\n                                                                )\n                                                                .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Collects values from all items in the group into an array.'\n                                                          ),\n                                                      }),\n                                                    ])\n                                                  )\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Groups aggregated items to new result items.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          filter: z\n                                            .record(z.string(), z.any())\n                                            .describe(\n                                              'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          sort: z\n                                            .object({\n                                              values: z\n                                                .array(\n                                                  z.object({\n                                                    fieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Name of the field to sort by.'\n                                                      )\n                                                      .min(1)\n                                                      .max(1000)\n                                                      .optional(),\n                                                    order: z\n                                                      .enum(['ASC', 'DESC'])\n                                                      .describe('Sort order.')\n                                                      .optional(),\n                                                  })\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          projection: z\n                                            .object({\n                                              fields: z\n                                                .array(\n                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Transforms items by including, excluding, or reshaping fields.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          objectToArray: z\n                                            .object({\n                                              objectFieldName: z\n                                                .string()\n                                                .describe(\n                                                  'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                              destinationFieldName: z\n                                                .string()\n                                                .describe(\n                                                  'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          unwindArray: z\n                                            .object({\n                                              arrayFieldName: z\n                                                .string()\n                                                .describe(\n                                                  'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                )\n                                                .max(1000)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          limit: z.never().optional(),\n                                          skip: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of results to skip from the beginning of the result set.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          group: z.never().optional(),\n                                          filter: z.never().optional(),\n                                          sort: z.never().optional(),\n                                          projection: z.never().optional(),\n                                          objectToArray: z.never().optional(),\n                                          unwindArray: z.never().optional(),\n                                          skip: z.never().optional(),\n                                          limit: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Maximum number of results to return.'\n                                            ),\n                                        }),\n                                      ])\n                                    )\n                                  )\n                                  .max(100)\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  paging: z.never().optional(),\n                                  cursorPaging: z.never().optional(),\n                                }),\n                                z.object({\n                                  cursorPaging: z.never().optional(),\n                                  paging: z\n                                    .object({\n                                      limit: z\n                                        .number()\n                                        .int()\n                                        .describe('Number of items to load.')\n                                        .min(0)\n                                        .optional()\n                                        .nullable(),\n                                      offset: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Number of items to skip in the current sort order.'\n                                        )\n                                        .min(0)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                    ),\n                                }),\n                                z.object({\n                                  paging: z.never().optional(),\n                                  cursorPaging: z\n                                    .object({\n                                      limit: z\n                                        .number()\n                                        .int()\n                                        .describe('Number of items to load.')\n                                        .min(0)\n                                        .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                        )\n                                        .max(150000)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe(\n                              'Aggregation pipeline to run on the collection.'\n                            )\n                            .optional(),\n                          fields: z\n                            .array(\n                              z.object({\n                                key: z\n                                  .string()\n                                  .describe(\n                                    'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                  )\n                                  .max(1024)\n                                  .optional(),\n                                displayName: z\n                                  .string()\n                                  .describe(\n                                    'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                  )\n                                  .max(1024)\n                                  .optional(),\n                                fieldType: z\n                                  .enum([\n                                    'ANY',\n                                    'STRING',\n                                    'NUMBER',\n                                    'BOOLEAN',\n                                    'DATE',\n                                    'DATETIME',\n                                    'BINARY',\n                                    'OBJECT',\n                                    'ARRAY',\n                                    'URL',\n                                    'WIX_MEDIA_URL',\n                                    'WIX_MEDIA_IMAGE_URL',\n                                    'WIX_MEDIA_VIDEO_URL',\n                                    'WIX_MEDIA_DOCUMENT_URL',\n                                    'IMAGE_URL',\n                                    'VIDEO_URL',\n                                  ])\n                                  .describe(\n                                    'Field data type. Default: `ANY`.\\n\\nLearn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).'\n                                  )\n                                  .optional(),\n                              })\n                            )\n                            .min(0)\n                            .max(1000)\n                            .optional(),\n                        })\n                        .describe(\n                          'Aggregation pipeline to run on the collection.'\n                        ),\n                    }),\n                  ])\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(\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('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  );\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 = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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                      .intersection(\n                        z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                            )\n                            .optional()\n                            .nullable(),\n                          fields: z.array(z.string()).optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            filterQuery: z.never().optional(),\n                            aggregationQuery: z.never().optional(),\n                          }),\n                          z.object({\n                            aggregationQuery: z.never().optional(),\n                            filterQuery: z\n                              .object({\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                                'Filter and field selection to apply to the collection items.'\n                              ),\n                          }),\n                          z.object({\n                            filterQuery: z.never().optional(),\n                            aggregationQuery: z\n                              .object({\n                                aggregationPipeline: z\n                                  .intersection(\n                                    z.object({\n                                      stages: z\n                                        .array(\n                                          z.intersection(\n                                            z.object({}),\n                                            z.xor([\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                              }),\n                                              z.object({\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                group: z\n                                                  .object({\n                                                    groupIds: z\n                                                      .array(\n                                                        z.object({\n                                                          key: z\n                                                            .string()\n                                                            .describe(\n                                                              \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                            )\n                                                            .max(1000)\n                                                            .optional(),\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                    accumulators: z\n                                                      .array(\n                                                        z.intersection(\n                                                          z.object({\n                                                            resultFieldName: z\n                                                              .string()\n                                                              .describe(\n                                                                'Field key in the output item to store the result in.'\n                                                              )\n                                                              .max(1000)\n                                                              .optional(),\n                                                          }),\n                                                          z.xor([\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                            }),\n                                                            z.object({\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              avg: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Calculates the average value across all items in the group based on the specified expression.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the minimum value across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the maximum value across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Calculates the sum of the specified expression across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to find the first item in the group.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the first item in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to find the last item in the group.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the last item in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to collect items into an array.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Collects values from all items in the group into an array.'\n                                                                ),\n                                                            }),\n                                                          ])\n                                                        )\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Groups aggregated items to new result items.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                filter: z\n                                                  .record(z.string(), z.any())\n                                                  .describe(\n                                                    'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                sort: z\n                                                  .object({\n                                                    values: z\n                                                      .array(\n                                                        z.object({\n                                                          fieldName: z\n                                                            .string()\n                                                            .describe(\n                                                              'Name of the field to sort by.'\n                                                            )\n                                                            .min(1)\n                                                            .max(1000)\n                                                            .optional(),\n                                                          order: z\n                                                            .enum([\n                                                              'ASC',\n                                                              'DESC',\n                                                            ])\n                                                            .describe(\n                                                              'Sort order.'\n                                                            )\n                                                            .optional(),\n                                                        })\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                projection: z\n                                                  .object({\n                                                    fields: z\n                                                      .array(\n                                                        comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Transforms items by including, excluding, or reshaping fields.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                objectToArray: z\n                                                  .object({\n                                                    objectFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                    destinationFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                unwindArray: z\n                                                  .object({\n                                                    arrayFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                limit: z.never().optional(),\n                                                skip: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Number of results to skip from the beginning of the result set.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum number of results to return.'\n                                                  ),\n                                              }),\n                                            ])\n                                          )\n                                        )\n                                        .max(100)\n                                        .optional(),\n                                    }),\n                                    z.xor([\n                                      z.object({\n                                        paging: z.never().optional(),\n                                        cursorPaging: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        cursorPaging: z.never().optional(),\n                                        paging: z\n                                          .object({\n                                            limit: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to load.'\n                                              )\n                                              .min(0)\n                                              .optional()\n                                              .nullable(),\n                                            offset: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to skip in the current sort order.'\n                                              )\n                                              .min(0)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                          ),\n                                      }),\n                                      z.object({\n                                        paging: z.never().optional(),\n                                        cursorPaging: z\n                                          .object({\n                                            limit: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to load.'\n                                              )\n                                              .min(0)\n                                              .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                              )\n                                              .max(150000)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                  .describe(\n                                    'Aggregation pipeline to run on the collection.'\n                                  )\n                                  .optional(),\n                                fields: z\n                                  .array(\n                                    z.object({\n                                      key: z\n                                        .string()\n                                        .describe(\n                                          'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                        )\n                                        .max(1024)\n                                        .optional(),\n                                      displayName: z\n                                        .string()\n                                        .describe(\n                                          'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                        )\n                                        .max(1024)\n                                        .optional(),\n                                      fieldType: z\n                                        .enum([\n                                          'ANY',\n                                          'STRING',\n                                          'NUMBER',\n                                          'BOOLEAN',\n                                          'DATE',\n                                          'DATETIME',\n                                          'BINARY',\n                                          'OBJECT',\n                                          'ARRAY',\n                                          'URL',\n                                          'WIX_MEDIA_URL',\n                                          'WIX_MEDIA_IMAGE_URL',\n                                          'WIX_MEDIA_VIDEO_URL',\n                                          'WIX_MEDIA_DOCUMENT_URL',\n                                          'IMAGE_URL',\n                                          'VIDEO_URL',\n                                        ])\n                                        .describe(\n                                          'Field data type. Default: `ANY`.\\n\\nLearn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).'\n                                        )\n                                        .optional(),\n                                    })\n                                  )\n                                  .min(0)\n                                  .max(1000)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Aggregation pipeline to run on the collection.'\n                              ),\n                          }),\n                        ])\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\n                          .array(z.string())\n                          .min(2)\n                          .max(64)\n                          .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([\n                            'OVERWRITE',\n                            'SKIP_EXISTING',\n                            'TRUNCATE_BEFORE',\n                          ])\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\n                          .array(z.string())\n                          .min(2)\n                          .max(64)\n                          .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  });\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 = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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                      .intersection(\n                        z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                            )\n                            .optional()\n                            .nullable(),\n                          fields: z.array(z.string()).optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            filterQuery: z.never().optional(),\n                            aggregationQuery: z.never().optional(),\n                          }),\n                          z.object({\n                            aggregationQuery: z.never().optional(),\n                            filterQuery: z\n                              .object({\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                                'Filter and field selection to apply to the collection items.'\n                              ),\n                          }),\n                          z.object({\n                            filterQuery: z.never().optional(),\n                            aggregationQuery: z\n                              .object({\n                                aggregationPipeline: z\n                                  .intersection(\n                                    z.object({\n                                      stages: z\n                                        .array(\n                                          z.intersection(\n                                            z.object({}),\n                                            z.xor([\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                              }),\n                                              z.object({\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                group: z\n                                                  .object({\n                                                    groupIds: z\n                                                      .array(\n                                                        z.object({\n                                                          key: z\n                                                            .string()\n                                                            .describe(\n                                                              \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                            )\n                                                            .max(1000)\n                                                            .optional(),\n                                                          expression:\n                                                            comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                              .describe(\n                                                                \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                              )\n                                                              .optional(),\n                                                        })\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                    accumulators: z\n                                                      .array(\n                                                        z.intersection(\n                                                          z.object({\n                                                            resultFieldName: z\n                                                              .string()\n                                                              .describe(\n                                                                'Field key in the output item to store the result in.'\n                                                              )\n                                                              .max(1000)\n                                                              .optional(),\n                                                          }),\n                                                          z.xor([\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                            }),\n                                                            z.object({\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              avg: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Calculates the average value across all items in the group based on the specified expression.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the minimum value across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the maximum value across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Calculates the sum of the specified expression across all items in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to find the first item in the group.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the first item in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to find the last item in the group.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Finds the last item in the group.'\n                                                                ),\n                                                            }),\n                                                            z.object({\n                                                              avg: z\n                                                                .never()\n                                                                .optional(),\n                                                              min: z\n                                                                .never()\n                                                                .optional(),\n                                                              max: z\n                                                                .never()\n                                                                .optional(),\n                                                              sum: z\n                                                                .never()\n                                                                .optional(),\n                                                              first: z\n                                                                .never()\n                                                                .optional(),\n                                                              last: z\n                                                                .never()\n                                                                .optional(),\n                                                              push: z\n                                                                .object({\n                                                                  expression:\n                                                                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                      .describe(\n                                                                        'Expression to collect items into an array.'\n                                                                      )\n                                                                      .optional(),\n                                                                })\n                                                                .describe(\n                                                                  'Collects values from all items in the group into an array.'\n                                                                ),\n                                                            }),\n                                                          ])\n                                                        )\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Groups aggregated items to new result items.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                filter: z\n                                                  .record(z.string(), z.any())\n                                                  .describe(\n                                                    'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                sort: z\n                                                  .object({\n                                                    values: z\n                                                      .array(\n                                                        z.object({\n                                                          fieldName: z\n                                                            .string()\n                                                            .describe(\n                                                              'Name of the field to sort by.'\n                                                            )\n                                                            .min(1)\n                                                            .max(1000)\n                                                            .optional(),\n                                                          order: z\n                                                            .enum([\n                                                              'ASC',\n                                                              'DESC',\n                                                            ])\n                                                            .describe(\n                                                              'Sort order.'\n                                                            )\n                                                            .optional(),\n                                                        })\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                projection: z\n                                                  .object({\n                                                    fields: z\n                                                      .array(\n                                                        comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Transforms items by including, excluding, or reshaping fields.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                objectToArray: z\n                                                  .object({\n                                                    objectFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                    destinationFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z.never().optional(),\n                                                unwindArray: z\n                                                  .object({\n                                                    arrayFieldName: z\n                                                      .string()\n                                                      .describe(\n                                                        'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                      )\n                                                      .max(1000)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                limit: z.never().optional(),\n                                                skip: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Number of results to skip from the beginning of the result set.'\n                                                  ),\n                                              }),\n                                              z.object({\n                                                group: z.never().optional(),\n                                                filter: z.never().optional(),\n                                                sort: z.never().optional(),\n                                                projection: z\n                                                  .never()\n                                                  .optional(),\n                                                objectToArray: z\n                                                  .never()\n                                                  .optional(),\n                                                unwindArray: z\n                                                  .never()\n                                                  .optional(),\n                                                skip: z.never().optional(),\n                                                limit: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum number of results to return.'\n                                                  ),\n                                              }),\n                                            ])\n                                          )\n                                        )\n                                        .max(100)\n                                        .optional(),\n                                    }),\n                                    z.xor([\n                                      z.object({\n                                        paging: z.never().optional(),\n                                        cursorPaging: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        cursorPaging: z.never().optional(),\n                                        paging: z\n                                          .object({\n                                            limit: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to load.'\n                                              )\n                                              .min(0)\n                                              .optional()\n                                              .nullable(),\n                                            offset: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to skip in the current sort order.'\n                                              )\n                                              .min(0)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                          ),\n                                      }),\n                                      z.object({\n                                        paging: z.never().optional(),\n                                        cursorPaging: z\n                                          .object({\n                                            limit: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of items to load.'\n                                              )\n                                              .min(0)\n                                              .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                              )\n                                              .max(150000)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                  .describe(\n                                    'Aggregation pipeline to run on the collection.'\n                                  )\n                                  .optional(),\n                                fields: z\n                                  .array(\n                                    z.object({\n                                      key: z\n                                        .string()\n                                        .describe(\n                                          'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                        )\n                                        .max(1024)\n                                        .optional(),\n                                      displayName: z\n                                        .string()\n                                        .describe(\n                                          'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                        )\n                                        .max(1024)\n                                        .optional(),\n                                      fieldType: z\n                                        .enum([\n                                          'ANY',\n                                          'STRING',\n                                          'NUMBER',\n                                          'BOOLEAN',\n                                          'DATE',\n                                          'DATETIME',\n                                          'BINARY',\n                                          'OBJECT',\n                                          'ARRAY',\n                                          'URL',\n                                          'WIX_MEDIA_URL',\n                                          'WIX_MEDIA_IMAGE_URL',\n                                          'WIX_MEDIA_VIDEO_URL',\n                                          'WIX_MEDIA_DOCUMENT_URL',\n                                          'IMAGE_URL',\n                                          'VIDEO_URL',\n                                        ])\n                                        .describe(\n                                          'Field data type. Default: `ANY`.\\n\\nLearn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).'\n                                        )\n                                        .optional(),\n                                    })\n                                  )\n                                  .min(0)\n                                  .max(1000)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Aggregation pipeline to run on the collection.'\n                              ),\n                          }),\n                        ])\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\n                          .array(z.string())\n                          .min(2)\n                          .max(64)\n                          .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([\n                            'OVERWRITE',\n                            'SKIP_EXISTING',\n                            'TRUNCATE_BEFORE',\n                          ])\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\n                          .array(z.string())\n                          .min(2)\n                          .max(64)\n                          .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  });\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 = (() => {\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n        }),\n        z.object({\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          fieldPath: z\n            .string()\n            .describe(\n              'Path to the field containing the value to resolve.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`.'\n            )\n            .max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          text: z.string().describe('Text value.').max(1000),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          numeric: z.number().describe('Number value.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          add: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Adds the specified expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          sum: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Calculates the total sum of multiple expressions.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          subtract: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract `secondExpression` from.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to subtract from `firstExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Subtracts 1 expression from another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          multiply: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe('Multiplies multiple expressions together.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          divide: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression`.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe('Divides 1 expression by another.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          abs: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to find the absolute value of.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Finds the absolute value of an expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          mod: z\n            .object({\n              firstExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide by `secondExpression` to find the remainder.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              secondExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to divide `firstExpression` by.\\n\\nExpression must resolve to a non-zero number.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Finds the remainder when dividing 1 expression by another.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          floor: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round down to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression down to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          ceil: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to round up to the nearest whole number.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Rounds an expression up to the nearest whole number.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          concat: z\n            .object({\n              expressions: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Joins multiple expressions together to create a string.'\n            ),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          stringify: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe('Expression to convert to a string.')\n                .optional(),\n            })\n            .describe('Converts an expression to a string.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toLower: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to lowercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to lowercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          substring: z.never().optional(),\n          length: z.never().optional(),\n          toUpper: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to convert to uppercase.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Converts an expression to uppercase.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          length: z.never().optional(),\n          substring: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to extract a substring from.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n              startExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Starting position of the substring to extract, specified in zero-based indexing.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n              lengthExpression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Number of characters to extract from the starting position.\\n\\nExpression must resolve to a number.'\n                )\n                .optional(),\n            })\n            .describe('Extracts a portion of a string expression.'),\n        }),\n        z.object({\n          fieldPath: z.never().optional(),\n          text: z.never().optional(),\n          numeric: z.never().optional(),\n          add: z.never().optional(),\n          sum: z.never().optional(),\n          subtract: z.never().optional(),\n          multiply: z.never().optional(),\n          divide: z.never().optional(),\n          abs: z.never().optional(),\n          mod: z.never().optional(),\n          floor: z.never().optional(),\n          ceil: z.never().optional(),\n          concat: z.never().optional(),\n          stringify: z.never().optional(),\n          toLower: z.never().optional(),\n          toUpper: z.never().optional(),\n          substring: z.never().optional(),\n          length: z\n            .object({\n              expression: z\n                .lazy(\n                  () =>\n                    comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                )\n                .describe(\n                  'Expression to count the total number of characters of.\\n\\nExpression must resolve to a string.'\n                )\n                .optional(),\n            })\n            .describe('Finds the length of a string expression.'),\n        }),\n      ])\n    );\n  let comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({}),\n      z.xor([\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n        }),\n        z.object({\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          include: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to include in the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, includes only the specified field in the result. All other fields are excluded.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z.never().optional(),\n          exclude: z\n            .object({\n              fieldName: z\n                .string()\n                .describe(\n                  'Key of the field to exclude from the result.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'When specified, excludes the specified field from the result. All other fields are included.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          projectNested: z.never().optional(),\n          reshape: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the field to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              expression:\n                comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                  .describe(\n                    'Expression to resolve. The result of the expression becomes the value of the new field.'\n                  )\n                  .optional(),\n            })\n            .describe(\n              'Reshapes a new field based on the specified expression. The field used by the expression is not included in the result.'\n            ),\n        }),\n        z.object({\n          include: z.never().optional(),\n          exclude: z.never().optional(),\n          reshape: z.never().optional(),\n          projectNested: z\n            .object({\n              resultFieldName: z\n                .string()\n                .describe(\n                  'Key of the parent field for the nested fields.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                )\n                .max(1000)\n                .optional(),\n              fields: z\n                .array(\n                  z.lazy(\n                    () =>\n                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                  )\n                )\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Creates nested fields by including, excluding, or reshaping fields.'\n            ),\n        }),\n      ])\n    );\n  return 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                    .intersection(\n                      z.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).\\nDeprecated: Use `filter_query.filter` instead.'\n                          )\n                          .optional()\n                          .nullable(),\n                        fields: z.array(z.string()).optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          filterQuery: z.never().optional(),\n                          aggregationQuery: z.never().optional(),\n                        }),\n                        z.object({\n                          aggregationQuery: z.never().optional(),\n                          filterQuery: z\n                            .object({\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                              'Filter and field selection to apply to the collection items.'\n                            ),\n                        }),\n                        z.object({\n                          filterQuery: z.never().optional(),\n                          aggregationQuery: z\n                            .object({\n                              aggregationPipeline: z\n                                .intersection(\n                                  z.object({\n                                    stages: z\n                                      .array(\n                                        z.intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              group: z\n                                                .object({\n                                                  groupIds: z\n                                                    .array(\n                                                      z.object({\n                                                        key: z\n                                                          .string()\n                                                          .describe(\n                                                            \"Name of the field to group items by.\\n\\nThis becomes the field name in the result's `_id` property.\"\n                                                          )\n                                                          .max(1000)\n                                                          .optional(),\n                                                        expression:\n                                                          comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                            .describe(\n                                                              \"Expression to determine the grouping value. Items whose expression resolves to the same value are grouped together in the result item's `_id` property.\"\n                                                            )\n                                                            .optional(),\n                                                      })\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                  accumulators: z\n                                                    .array(\n                                                      z.intersection(\n                                                        z.object({\n                                                          resultFieldName: z\n                                                            .string()\n                                                            .describe(\n                                                              'Field key in the output item to store the result in.'\n                                                            )\n                                                            .max(1000)\n                                                            .optional(),\n                                                        }),\n                                                        z.xor([\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                          }),\n                                                          z.object({\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            avg: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to calculate the group's average value.\\n\\nExpression must resolve to a number.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Calculates the average value across all items in the group based on the specified expression.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to find the group's minimum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the minimum value across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to find the group's maximum value.\\n\\nExpression must resolve to a comparable value, such as a number or string.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the maximum value across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      \"Expression to calculate the group's total sum.\\n\\nExpression must resolve to a number.\"\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Calculates the sum of the specified expression across all items in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to find the first item in the group.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the first item in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to find the last item in the group.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Finds the last item in the group.'\n                                                              ),\n                                                          }),\n                                                          z.object({\n                                                            avg: z\n                                                              .never()\n                                                              .optional(),\n                                                            min: z\n                                                              .never()\n                                                              .optional(),\n                                                            max: z\n                                                              .never()\n                                                              .optional(),\n                                                            sum: z\n                                                              .never()\n                                                              .optional(),\n                                                            first: z\n                                                              .never()\n                                                              .optional(),\n                                                            last: z\n                                                              .never()\n                                                              .optional(),\n                                                            push: z\n                                                              .object({\n                                                                expression:\n                                                                  comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestExpressionSchema\n                                                                    .describe(\n                                                                      'Expression to collect items into an array.'\n                                                                    )\n                                                                    .optional(),\n                                                              })\n                                                              .describe(\n                                                                'Collects values from all items in the group into an array.'\n                                                              ),\n                                                          }),\n                                                        ])\n                                                      )\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Groups aggregated items to new result items.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              filter: z\n                                                .record(z.string(), z.any())\n                                                .describe(\n                                                  'Aggregation filter. Only items that match the filter are processed.\\n\\nLearn more about [filters in API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language#filters).\\n\\n> **Note:** The values you provide for each filter field must adhere to that field\\'s data type. For example, when filtering by a field whose type is Date and Time, use an object in the following format: `\"someDateAndTimeFieldKey\": { \"$date\": \"YYYY-MM-DDTHH:mm:ss.sssZ\"}`. Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/data-types-in-wix-data).'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              sort: z\n                                                .object({\n                                                  values: z\n                                                    .array(\n                                                      z.object({\n                                                        fieldName: z\n                                                          .string()\n                                                          .describe(\n                                                            'Name of the field to sort by.'\n                                                          )\n                                                          .min(1)\n                                                          .max(1000)\n                                                          .optional(),\n                                                        order: z\n                                                          .enum(['ASC', 'DESC'])\n                                                          .describe(\n                                                            'Sort order.'\n                                                          )\n                                                          .optional(),\n                                                      })\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Sorting preferences.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              projection: z\n                                                .object({\n                                                  fields: z\n                                                    .array(\n                                                      comWixpressCloudDataApiDataAggregatePipelineDataItemsRequestProjectionFieldSchema\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Transforms items by including, excluding, or reshaping fields.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              objectToArray: z\n                                                .object({\n                                                  objectFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the object field to convert to an array.\\n\\nUse dot notation to specify nested fields. For example, `user.name` or `product.price`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                  destinationFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the new array to create in the result item.\\n\\nLearn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  \"Transforms an object into an array where each object property becomes a new array element containing the property's key and value, as well as all other properties from the original object.\"\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              skip: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              unwindArray: z\n                                                .object({\n                                                  arrayFieldName: z\n                                                    .string()\n                                                    .describe(\n                                                      'Key of the array field to unwind.\\n\\nUse dot notation to specify a nested array. For example, `user.products` or `product.colors`. Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).'\n                                                    )\n                                                    .max(1000)\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Creates a result item for each array element. Each result contains the full original item, with the array field replaced by an element whose key is the array name and whose value is the array element.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              limit: z.never().optional(),\n                                              skip: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Number of results to skip from the beginning of the result set.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              group: z.never().optional(),\n                                              filter: z.never().optional(),\n                                              sort: z.never().optional(),\n                                              projection: z.never().optional(),\n                                              objectToArray: z\n                                                .never()\n                                                .optional(),\n                                              unwindArray: z.never().optional(),\n                                              skip: z.never().optional(),\n                                              limit: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Maximum number of results to return.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                      )\n                                      .max(100)\n                                      .optional(),\n                                  }),\n                                  z.xor([\n                                    z.object({\n                                      paging: z.never().optional(),\n                                      cursorPaging: z.never().optional(),\n                                    }),\n                                    z.object({\n                                      cursorPaging: z.never().optional(),\n                                      paging: z\n                                        .object({\n                                          limit: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to load.'\n                                            )\n                                            .min(0)\n                                            .optional()\n                                            .nullable(),\n                                          offset: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to skip in the current sort order.'\n                                            )\n                                            .min(0)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Paging options to limit and skip the number of results.\\n\\nLearn more about [sorting and paging](https://dev.wix.com/docs/rest/articles/get-started/sorting-and-paging).'\n                                        ),\n                                    }),\n                                    z.object({\n                                      paging: z.never().optional(),\n                                      cursorPaging: z\n                                        .object({\n                                          limit: z\n                                            .number()\n                                            .int()\n                                            .describe(\n                                              'Number of items to load.'\n                                            )\n                                            .min(0)\n                                            .max(1000)\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\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                                            )\n                                            .max(150000)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Cursor token referring to a page of results.\\n\\nNot used in the first request. Subsequent requests use the cursor token and not `filter` or `sort`.'\n                                        ),\n                                    }),\n                                  ])\n                                )\n                                .describe(\n                                  'Aggregation pipeline to run on the collection.'\n                                )\n                                .optional(),\n                              fields: z\n                                .array(\n                                  z.object({\n                                    key: z\n                                      .string()\n                                      .describe(\n                                        'Field ID.\\n\\nIf the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.'\n                                      )\n                                      .max(1024)\n                                      .optional(),\n                                    displayName: z\n                                      .string()\n                                      .describe(\n                                        'Field display name.\\n\\nWhen moving items to CSV files, use this to set the header of the target column.'\n                                      )\n                                      .max(1024)\n                                      .optional(),\n                                    fieldType: z\n                                      .enum([\n                                        'ANY',\n                                        'STRING',\n                                        'NUMBER',\n                                        'BOOLEAN',\n                                        'DATE',\n                                        'DATETIME',\n                                        'BINARY',\n                                        'OBJECT',\n                                        'ARRAY',\n                                        'URL',\n                                        'WIX_MEDIA_URL',\n                                        'WIX_MEDIA_IMAGE_URL',\n                                        'WIX_MEDIA_VIDEO_URL',\n                                        'WIX_MEDIA_DOCUMENT_URL',\n                                        'IMAGE_URL',\n                                        'VIDEO_URL',\n                                      ])\n                                      .describe(\n                                        'Field data type. Default: `ANY`.\\n\\nLearn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).'\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .min(0)\n                                .max(1000)\n                                .optional(),\n                            })\n                            .describe(\n                              'Aggregation pipeline to run on the collection.'\n                            ),\n                        }),\n                      ])\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  });\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":[]}