{"version":3,"sources":["../../src/forms-ai-v1-interactive-form-session-interactive-form-sessions.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateInteractiveFormSessionRequest = z.object({\n  formId: z\n    .string()\n    .describe('Form ID to create an interactive session for.')\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      currentValues: z\n        .record(z.string(), z.any())\n        .describe(\n          'Pre-filled values to apply to the form, to initialize the session with existing data.\\nField keys must match the form schema field names.\\nFor example: `{\"firstName\": \"John\", \"email\": \"john@example.com\", \"age\": 25}`.\\nThese values are merged with any data extracted during the conversation.'\n        )\n        .optional()\n        .nullable(),\n      dryRun: z\n        .boolean()\n        .describe(\n          'Whether the session should run in dry run mode for testing and preview purposes.\\nIn dry run mode, the full conversational flow works normally and form data is extracted,\\nbut no actual form submission occurs.'\n        )\n        .optional(),\n      clientTime: z\n        .object({\n          currentTime: z\n            .string()\n            .describe(\n              'Current date and time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.\\nFor example, `2023-10-01T12:00:00Z`.'\n            )\n            .min(1)\n            .max(200)\n            .optional()\n            .nullable(),\n          timeZone: z\n            .string()\n            .describe(\n              \"Browser's timezone identifier for localizing date and time values in IANA timezone format (for example, `Europe/Vilnius`, `America/New_York`).\"\n            )\n            .min(1)\n            .max(50)\n            .optional()\n            .nullable(),\n        })\n        .describe('Current date-time of api client.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const CreateInteractiveFormSessionResponse = z.object({\n  _id: z\n    .string()\n    .describe('Interactive form session 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  formId: z\n    .string()\n    .describe('Form 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});\nexport const CreateInteractiveFormSessionStreamedRequest = z.object({\n  formId: z\n    .string()\n    .describe('Form ID to create an interactive session for.')\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      currentValues: z\n        .record(z.string(), z.any())\n        .describe(\n          'Pre-filled values to apply to the form, to initialize the session with existing data.\\nField keys must match the form schema field names.\\nFor example: `{\"firstName\": \"John\", \"email\": \"john@example.com\", \"age\": 25}`.\\nThese values are merged with any data extracted during the conversation.'\n        )\n        .optional()\n        .nullable(),\n      dryRun: z\n        .boolean()\n        .describe(\n          'Whether the session should run in dry run mode when no actual form submission occurs.\\nIn dry run mode, the full conversational flow works normally and form data is extracted,\\nbut no actual form submission occurs.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      clientTime: z\n        .object({\n          currentTime: z\n            .string()\n            .describe(\n              'Current date and time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC format.\\nFor example, `2023-10-01T12:00:00Z`.'\n            )\n            .min(1)\n            .max(200)\n            .optional()\n            .nullable(),\n          timeZone: z\n            .string()\n            .describe(\n              \"Browser's timezone identifier for localizing date and time values in IANA timezone format (for example, `Europe/Vilnius`, `America/New_York`).\"\n            )\n            .min(1)\n            .max(50)\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Caller's local date and time.\")\n        .optional(),\n    })\n    .optional(),\n});\nexport const CreateInteractiveFormSessionStreamedResponse = z.object({\n  responseChunk: z\n    .intersection(\n      z.object({\n        chunkType: z\n          .enum([\n            'TEXT',\n            'TEXT_DATA',\n            'MULTI_SELECT_INPUT',\n            'NUMBER_INPUT',\n            'SEPARATOR',\n            'SINGLE_SELECT_INPUT',\n            'ERROR',\n            'SUBMISSION',\n            'IMPORTANT_TEXT',\n            'DEBUG',\n            'END_OF_RESPONSE',\n            'FILE_UPLOAD',\n            'SIGNATURE',\n          ])\n          .describe(\n            'Response chunk type, that determines how the content should be processed and displayed.'\n          )\n          .optional(),\n        meaningfulInput: z\n          .object({\n            startOffset: z\n              .number()\n              .int()\n              .describe(\n                'Character position (0-indexed) where the meaningful portion of user input begins.'\n              )\n              .min(0)\n              .max(10000)\n              .optional(),\n            length: z\n              .number()\n              .int()\n              .describe(\n                'Length in characters of the meaningful portion of user input.\\nUse this with `startOffset` to highlight the relevant text that was processed for data extraction.'\n              )\n              .min(0)\n              .max(10000)\n              .optional(),\n          })\n          .describe(\n            \"Indicates which portion of the original user input was meaningful for data extraction.\\nCan be used to highlight relevant parts of the user's message in the UI.\"\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n        }),\n        z.object({\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          textDetails: z\n            .object({\n              text: z\n                .string()\n                .describe('Text content to display.')\n                .min(1)\n                .max(10000)\n                .optional(),\n              style: z\n                .enum(['NORMAL', 'BOLD'])\n                .describe('Text formatting style for visual presentation.')\n                .optional(),\n            })\n            .describe('Conversational text message for display.'),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          textDataDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier that this extracted data maps to.\\nMatches a field name in the form schema.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n              text: z\n                .string()\n                .describe(\n                  'Human-readable text representation of the extracted data to display.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n              value: z\n                .any()\n                .describe(\n                  'Structured value for form submission (for example, boolean `true`/`false`, number, or string).\\nThis is the actual data value that will be submitted with the form.'\n                )\n                .optional()\n                .nullable(),\n              displayValue: z\n                .string()\n                .describe(\n                  'User-friendly display representation of the value (for example, \"Yes\"/\"No\" for boolean, \"25 years old\" for age).\\nUse this to display confirmation of what was extracted from the user\\'s input.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n            })\n            .describe(\n              'Structured data extracted from user input and mapped to specific form fields.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          multiSelectInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the multi-select input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              options: z\n                .array(\n                  z.object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                    label: z\n                      .string()\n                      .describe(\n                        'Human-readable label for display for this option.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                  })\n                )\n                .min(1)\n                .max(100)\n                .optional(),\n              allowedCustomValue: z\n                .object({\n                  description: z\n                    .string()\n                    .describe(\n                      'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                    )\n                    .max(10000)\n                    .optional(),\n                })\n                .describe(\n                  'When present, allows users to provide custom values not in the predefined options list.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Selector for selecting multiple options from a predefined list.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          numberInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the numeric input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              rangeLimit: z\n                .intersection(\n                  z.object({\n                    minInclusiveValue: z\n                      .number()\n                      .describe('Minimum allowed value (inclusive).')\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.xor([\n                    z.object({\n                      maxInclusiveValue: z.never().optional(),\n                      maxExclusiveValue: z.never().optional(),\n                    }),\n                    z.object({\n                      maxExclusiveValue: z.never().optional(),\n                      maxInclusiveValue: z\n                        .number()\n                        .describe('Maximum allowed value (inclusive).'),\n                    }),\n                    z.object({\n                      maxInclusiveValue: z.never().optional(),\n                      maxExclusiveValue: z\n                        .number()\n                        .describe('Maximum allowed value (exclusive).'),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Minimum and maximum value constraints for the numeric input.'\n                )\n                .optional(),\n              multipleOf: z\n                .number()\n                .describe(\n                  'When provided, restricts input to multiples of this value.\\nFor example, `2.5` would allow 2.5, 5.0, 7.5, and so on.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Selector for numeric input with optional range and validation constraints.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          separatorDetails: z\n            .object({\n              type: z\n                .enum(['PARAGRAPH'])\n                .describe(\n                  'Type of visual separator to display in the conversation flow.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Visual separator element for organizing conversation flow.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          singleSelectInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the single-select input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              options: z\n                .array(\n                  z.object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                    label: z\n                      .string()\n                      .describe(\n                        'Human-readable label for display for this option.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                  })\n                )\n                .min(1)\n                .max(100)\n                .optional(),\n              allowedCustomValue: z\n                .object({\n                  description: z\n                    .string()\n                    .describe(\n                      'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                    )\n                    .max(10000)\n                    .optional(),\n                })\n                .describe(\n                  'When present, allows users to provide a custom value not in the predefined options list.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Selector for selecting a single option from a predefined list.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          errorDetails: z\n            .object({\n              messageText: z\n                .string()\n                .describe(\n                  'Error message detailing what went wrong during processing.\\nFor display to the user when the AI cannot process their input or when validation fails.'\n                )\n                .min(1)\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Error information when processing fails or validation errors occur.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          submissionDetails: z\n            .object({\n              submissionId: z\n                .string()\n                .describe(\n                  'Form submission ID created when the form is successfully completed and submitted.'\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              checkoutId: z\n                .string()\n                .describe(\n                  'Wix eCommerce checkout ID when the form includes payment processing.\\nOnly present for forms that have payment fields or are connected to eCommerce flows.'\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            .describe(\n              'Form submission confirmation including a form submission ID. A checkout ID will also be returned here if the user selected products for purchase.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          importantTextDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier that this important information relates to.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n              text: z\n                .string()\n                .describe(\n                  'Important contextual information to highlight.\\nThis might include validation requirements, format expectations, or clarifying questions.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n            })\n            .describe(\n              'Important contextual information that may influence data extraction or user decisions.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          debugDetails: z\n            .object({\n              data: z\n                .record(z.string(), z.any())\n                .describe(\n                  'Diagnostic data for development and troubleshooting.\\nContains information such as AI tools called, processing times, and internal state.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Diagnostic information for development, debugging, and performance monitoring.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          endOfResponseDetails: z\n            .object({\n              success: z\n                .boolean()\n                .describe(\n                  'Whether the response stream completed successfully.\\nWhen `false`, there may have been processing errors or interruptions.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Stream completion signal indicating no more chunks will be sent in this response.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          fileUploadDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the file upload input.')\n                .min(1)\n                .max(200)\n                .optional(),\n            })\n            .describe(\n              'Input for file upload with field targeting. Not supported.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier for the digital signature input.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n            })\n            .describe(\n              'Input for digital signature capture with field targeting. Not supported.'\n            ),\n        }),\n      ])\n    )\n    .describe(\n      'AI assistant response chunk, streamed in real-time.\\nProcess each chunk as it arrives to provide progressive user feedback.'\n    )\n    .optional(),\n  interactiveFormSession: z\n    .object({\n      _id: z\n        .string()\n        .describe('Interactive form session 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      formId: z\n        .string()\n        .describe('Form 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    })\n    .describe(\n      'Information about the created interactive form session.\\nOnly included in the first chunk of the stream to provide session details immediately.'\n    )\n    .optional(),\n});\nexport const SendUserMessageRequest = z.object({\n  interactiveFormSessionId: z\n    .string()\n    .describe('Interactive form session ID to send the message to.')\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      input: z\n        .string()\n        .describe(\n          \"User's natural language input.\\nThe AI assistant analyzes this text to extract form field data and determine the next conversation step.\\nMaximum length: 10,000 characters.\"\n        )\n        .max(10000)\n        .optional()\n        .nullable(),\n      currentValues: z\n        .record(z.string(), z.any())\n        .describe(\n          'Form field values to apply to the session.\\nUse this to update form data from other sources while the conversation is ongoing.\\nThese values override any existing data for the same field keys.\\nFor example: `{\"lastName\": \"Smith\", \"phoneNumber\": \"+1234567890\"}`.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const SendUserMessageResponse = z.object({\n  interactiveFormSession: z\n    .object({\n      _id: z\n        .string()\n        .describe('Interactive form session 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      formId: z\n        .string()\n        .describe('Form 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    })\n    .describe(\n      'Updated interactive form session after the user input is processed.'\n    )\n    .optional(),\n  responseChunks: z\n    .array(\n      z.intersection(\n        z.object({\n          chunkType: z\n            .enum([\n              'TEXT',\n              'TEXT_DATA',\n              'MULTI_SELECT_INPUT',\n              'NUMBER_INPUT',\n              'SEPARATOR',\n              'SINGLE_SELECT_INPUT',\n              'ERROR',\n              'SUBMISSION',\n              'IMPORTANT_TEXT',\n              'DEBUG',\n              'END_OF_RESPONSE',\n              'FILE_UPLOAD',\n              'SIGNATURE',\n            ])\n            .describe(\n              'Response chunk type, that determines how the content should be processed and displayed.'\n            )\n            .optional(),\n          meaningfulInput: z\n            .object({\n              startOffset: z\n                .number()\n                .int()\n                .describe(\n                  'Character position (0-indexed) where the meaningful portion of user input begins.'\n                )\n                .min(0)\n                .max(10000)\n                .optional(),\n              length: z\n                .number()\n                .int()\n                .describe(\n                  'Length in characters of the meaningful portion of user input.\\nUse this with `startOffset` to highlight the relevant text that was processed for data extraction.'\n                )\n                .min(0)\n                .max(10000)\n                .optional(),\n            })\n            .describe(\n              \"Indicates which portion of the original user input was meaningful for data extraction.\\nCan be used to highlight relevant parts of the user's message in the UI.\"\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n          }),\n          z.object({\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            textDetails: z\n              .object({\n                text: z\n                  .string()\n                  .describe('Text content to display.')\n                  .min(1)\n                  .max(10000)\n                  .optional(),\n                style: z\n                  .enum(['NORMAL', 'BOLD'])\n                  .describe('Text formatting style for visual presentation.')\n                  .optional(),\n              })\n              .describe('Conversational text message for display.'),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            textDataDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe(\n                    'Form field identifier that this extracted data maps to.\\nMatches a field name in the form schema.'\n                  )\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                text: z\n                  .string()\n                  .describe(\n                    'Human-readable text representation of the extracted data to display.'\n                  )\n                  .min(1)\n                  .max(10000)\n                  .optional(),\n                value: z\n                  .any()\n                  .describe(\n                    'Structured value for form submission (for example, boolean `true`/`false`, number, or string).\\nThis is the actual data value that will be submitted with the form.'\n                  )\n                  .optional()\n                  .nullable(),\n                displayValue: z\n                  .string()\n                  .describe(\n                    'User-friendly display representation of the value (for example, \"Yes\"/\"No\" for boolean, \"25 years old\" for age).\\nUse this to display confirmation of what was extracted from the user\\'s input.'\n                  )\n                  .min(1)\n                  .max(10000)\n                  .optional(),\n              })\n              .describe(\n                'Structured data extracted from user input and mapped to specific form fields.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            multiSelectInputDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe('Form field identifier for the multi-select input.')\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                options: z\n                  .array(\n                    z.object({\n                      value: z\n                        .string()\n                        .describe(\n                          'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                        )\n                        .min(1)\n                        .max(10000)\n                        .optional(),\n                      label: z\n                        .string()\n                        .describe(\n                          'Human-readable label for display for this option.'\n                        )\n                        .min(1)\n                        .max(10000)\n                        .optional(),\n                    })\n                  )\n                  .min(1)\n                  .max(100)\n                  .optional(),\n                allowedCustomValue: z\n                  .object({\n                    description: z\n                      .string()\n                      .describe(\n                        'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                      )\n                      .max(10000)\n                      .optional(),\n                  })\n                  .describe(\n                    'When present, allows users to provide custom values not in the predefined options list.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Selector for selecting multiple options from a predefined list.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            numberInputDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe('Form field identifier for the numeric input.')\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                rangeLimit: z\n                  .intersection(\n                    z.object({\n                      minInclusiveValue: z\n                        .number()\n                        .describe('Minimum allowed value (inclusive).')\n                        .optional()\n                        .nullable(),\n                    }),\n                    z.xor([\n                      z.object({\n                        maxInclusiveValue: z.never().optional(),\n                        maxExclusiveValue: z.never().optional(),\n                      }),\n                      z.object({\n                        maxExclusiveValue: z.never().optional(),\n                        maxInclusiveValue: z\n                          .number()\n                          .describe('Maximum allowed value (inclusive).'),\n                      }),\n                      z.object({\n                        maxInclusiveValue: z.never().optional(),\n                        maxExclusiveValue: z\n                          .number()\n                          .describe('Maximum allowed value (exclusive).'),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Minimum and maximum value constraints for the numeric input.'\n                  )\n                  .optional(),\n                multipleOf: z\n                  .number()\n                  .describe(\n                    'When provided, restricts input to multiples of this value.\\nFor example, `2.5` would allow 2.5, 5.0, 7.5, and so on.'\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\n                'Selector for numeric input with optional range and validation constraints.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            separatorDetails: z\n              .object({\n                type: z\n                  .enum(['PARAGRAPH'])\n                  .describe(\n                    'Type of visual separator to display in the conversation flow.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Visual separator element for organizing conversation flow.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            singleSelectInputDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe(\n                    'Form field identifier for the single-select input.'\n                  )\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                options: z\n                  .array(\n                    z.object({\n                      value: z\n                        .string()\n                        .describe(\n                          'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                        )\n                        .min(1)\n                        .max(10000)\n                        .optional(),\n                      label: z\n                        .string()\n                        .describe(\n                          'Human-readable label for display for this option.'\n                        )\n                        .min(1)\n                        .max(10000)\n                        .optional(),\n                    })\n                  )\n                  .min(1)\n                  .max(100)\n                  .optional(),\n                allowedCustomValue: z\n                  .object({\n                    description: z\n                      .string()\n                      .describe(\n                        'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                      )\n                      .max(10000)\n                      .optional(),\n                  })\n                  .describe(\n                    'When present, allows users to provide a custom value not in the predefined options list.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Selector for selecting a single option from a predefined list.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            errorDetails: z\n              .object({\n                messageText: z\n                  .string()\n                  .describe(\n                    'Error message detailing what went wrong during processing.\\nFor display to the user when the AI cannot process their input or when validation fails.'\n                  )\n                  .min(1)\n                  .max(1000)\n                  .optional(),\n              })\n              .describe(\n                'Error information when processing fails or validation errors occur.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            submissionDetails: z\n              .object({\n                submissionId: z\n                  .string()\n                  .describe(\n                    'Form submission ID created when the form is successfully completed and submitted.'\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                checkoutId: z\n                  .string()\n                  .describe(\n                    'Wix eCommerce checkout ID when the form includes payment processing.\\nOnly present for forms that have payment fields or are connected to eCommerce flows.'\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              .describe(\n                'Form submission confirmation including a form submission ID. A checkout ID will also be returned here if the user selected products for purchase.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            importantTextDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe(\n                    'Form field identifier that this important information relates to.'\n                  )\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                text: z\n                  .string()\n                  .describe(\n                    'Important contextual information to highlight.\\nThis might include validation requirements, format expectations, or clarifying questions.'\n                  )\n                  .min(1)\n                  .max(10000)\n                  .optional(),\n              })\n              .describe(\n                'Important contextual information that may influence data extraction or user decisions.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            debugDetails: z\n              .object({\n                data: z\n                  .record(z.string(), z.any())\n                  .describe(\n                    'Diagnostic data for development and troubleshooting.\\nContains information such as AI tools called, processing times, and internal state.'\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\n                'Diagnostic information for development, debugging, and performance monitoring.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            endOfResponseDetails: z\n              .object({\n                success: z\n                  .boolean()\n                  .describe(\n                    'Whether the response stream completed successfully.\\nWhen `false`, there may have been processing errors or interruptions.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Stream completion signal indicating no more chunks will be sent in this response.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            signatureDetails: z.never().optional(),\n            fileUploadDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe('Form field identifier for the file upload input.')\n                  .min(1)\n                  .max(200)\n                  .optional(),\n              })\n              .describe(\n                'Input for file upload with field targeting. Not supported.'\n              ),\n          }),\n          z.object({\n            textDetails: z.never().optional(),\n            textDataDetails: z.never().optional(),\n            multiSelectInputDetails: z.never().optional(),\n            numberInputDetails: z.never().optional(),\n            separatorDetails: z.never().optional(),\n            singleSelectInputDetails: z.never().optional(),\n            errorDetails: z.never().optional(),\n            submissionDetails: z.never().optional(),\n            importantTextDetails: z.never().optional(),\n            debugDetails: z.never().optional(),\n            endOfResponseDetails: z.never().optional(),\n            fileUploadDetails: z.never().optional(),\n            signatureDetails: z\n              .object({\n                fieldTarget: z\n                  .string()\n                  .describe(\n                    'Form field identifier for the digital signature input.'\n                  )\n                  .min(1)\n                  .max(200)\n                  .optional(),\n              })\n              .describe(\n                'Input for digital signature capture with field targeting. Not supported.'\n              ),\n          }),\n        ])\n      )\n    )\n    .optional(),\n});\nexport const SendUserMessageStreamedRequest = z.object({\n  interactiveFormSessionId: z\n    .string()\n    .describe('Interactive form session ID to send the message to.')\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      input: z\n        .string()\n        .describe(\n          \"User's natural language input to process.\\nThe AI assistant analyzes this text to extract form field data and determine the next conversation step.\"\n        )\n        .max(10000)\n        .optional()\n        .nullable(),\n      currentValues: z\n        .record(z.string(), z.any())\n        .describe(\n          'Form field values to apply to the session.\\nUse this to update form data from other sources while the conversation is ongoing.\\nThese values override any existing data for the same field keys.\\nFor example: `{\"lastName\": \"Smith\", \"phoneNumber\": \"+1234567890\"}`.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const SendUserMessageStreamedResponse = z.object({\n  responseChunk: z\n    .intersection(\n      z.object({\n        chunkType: z\n          .enum([\n            'TEXT',\n            'TEXT_DATA',\n            'MULTI_SELECT_INPUT',\n            'NUMBER_INPUT',\n            'SEPARATOR',\n            'SINGLE_SELECT_INPUT',\n            'ERROR',\n            'SUBMISSION',\n            'IMPORTANT_TEXT',\n            'DEBUG',\n            'END_OF_RESPONSE',\n            'FILE_UPLOAD',\n            'SIGNATURE',\n          ])\n          .describe(\n            'Response chunk type, that determines how the content should be processed and displayed.'\n          )\n          .optional(),\n        meaningfulInput: z\n          .object({\n            startOffset: z\n              .number()\n              .int()\n              .describe(\n                'Character position (0-indexed) where the meaningful portion of user input begins.'\n              )\n              .min(0)\n              .max(10000)\n              .optional(),\n            length: z\n              .number()\n              .int()\n              .describe(\n                'Length in characters of the meaningful portion of user input.\\nUse this with `startOffset` to highlight the relevant text that was processed for data extraction.'\n              )\n              .min(0)\n              .max(10000)\n              .optional(),\n          })\n          .describe(\n            \"Indicates which portion of the original user input was meaningful for data extraction.\\nCan be used to highlight relevant parts of the user's message in the UI.\"\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n        }),\n        z.object({\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          textDetails: z\n            .object({\n              text: z\n                .string()\n                .describe('Text content to display.')\n                .min(1)\n                .max(10000)\n                .optional(),\n              style: z\n                .enum(['NORMAL', 'BOLD'])\n                .describe('Text formatting style for visual presentation.')\n                .optional(),\n            })\n            .describe('Conversational text message for display.'),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          textDataDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier that this extracted data maps to.\\nMatches a field name in the form schema.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n              text: z\n                .string()\n                .describe(\n                  'Human-readable text representation of the extracted data to display.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n              value: z\n                .any()\n                .describe(\n                  'Structured value for form submission (for example, boolean `true`/`false`, number, or string).\\nThis is the actual data value that will be submitted with the form.'\n                )\n                .optional()\n                .nullable(),\n              displayValue: z\n                .string()\n                .describe(\n                  'User-friendly display representation of the value (for example, \"Yes\"/\"No\" for boolean, \"25 years old\" for age).\\nUse this to display confirmation of what was extracted from the user\\'s input.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n            })\n            .describe(\n              'Structured data extracted from user input and mapped to specific form fields.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          multiSelectInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the multi-select input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              options: z\n                .array(\n                  z.object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                    label: z\n                      .string()\n                      .describe(\n                        'Human-readable label for display for this option.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                  })\n                )\n                .min(1)\n                .max(100)\n                .optional(),\n              allowedCustomValue: z\n                .object({\n                  description: z\n                    .string()\n                    .describe(\n                      'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                    )\n                    .max(10000)\n                    .optional(),\n                })\n                .describe(\n                  'When present, allows users to provide custom values not in the predefined options list.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Selector for selecting multiple options from a predefined list.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          numberInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the numeric input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              rangeLimit: z\n                .intersection(\n                  z.object({\n                    minInclusiveValue: z\n                      .number()\n                      .describe('Minimum allowed value (inclusive).')\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.xor([\n                    z.object({\n                      maxInclusiveValue: z.never().optional(),\n                      maxExclusiveValue: z.never().optional(),\n                    }),\n                    z.object({\n                      maxExclusiveValue: z.never().optional(),\n                      maxInclusiveValue: z\n                        .number()\n                        .describe('Maximum allowed value (inclusive).'),\n                    }),\n                    z.object({\n                      maxInclusiveValue: z.never().optional(),\n                      maxExclusiveValue: z\n                        .number()\n                        .describe('Maximum allowed value (exclusive).'),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Minimum and maximum value constraints for the numeric input.'\n                )\n                .optional(),\n              multipleOf: z\n                .number()\n                .describe(\n                  'When provided, restricts input to multiples of this value.\\nFor example, `2.5` would allow 2.5, 5.0, 7.5, and so on.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Selector for numeric input with optional range and validation constraints.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          separatorDetails: z\n            .object({\n              type: z\n                .enum(['PARAGRAPH'])\n                .describe(\n                  'Type of visual separator to display in the conversation flow.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Visual separator element for organizing conversation flow.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          singleSelectInputDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the single-select input.')\n                .min(1)\n                .max(200)\n                .optional(),\n              options: z\n                .array(\n                  z.object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Value to be submitted when this option is selected.\\nThis is the technical value used in form processing and submission.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                    label: z\n                      .string()\n                      .describe(\n                        'Human-readable label for display for this option.'\n                      )\n                      .min(1)\n                      .max(10000)\n                      .optional(),\n                  })\n                )\n                .min(1)\n                .max(100)\n                .optional(),\n              allowedCustomValue: z\n                .object({\n                  description: z\n                    .string()\n                    .describe(\n                      'Description of the expected custom value format or content.\\nDisplayed to guide users when they choose to provide a custom option.'\n                    )\n                    .max(10000)\n                    .optional(),\n                })\n                .describe(\n                  'When present, allows users to provide a custom value not in the predefined options list.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Selector for selecting a single option from a predefined list.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          errorDetails: z\n            .object({\n              messageText: z\n                .string()\n                .describe(\n                  'Error message detailing what went wrong during processing.\\nFor display to the user when the AI cannot process their input or when validation fails.'\n                )\n                .min(1)\n                .max(1000)\n                .optional(),\n            })\n            .describe(\n              'Error information when processing fails or validation errors occur.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          submissionDetails: z\n            .object({\n              submissionId: z\n                .string()\n                .describe(\n                  'Form submission ID created when the form is successfully completed and submitted.'\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              checkoutId: z\n                .string()\n                .describe(\n                  'Wix eCommerce checkout ID when the form includes payment processing.\\nOnly present for forms that have payment fields or are connected to eCommerce flows.'\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            .describe(\n              'Form submission confirmation including a form submission ID. A checkout ID will also be returned here if the user selected products for purchase.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          importantTextDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier that this important information relates to.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n              text: z\n                .string()\n                .describe(\n                  'Important contextual information to highlight.\\nThis might include validation requirements, format expectations, or clarifying questions.'\n                )\n                .min(1)\n                .max(10000)\n                .optional(),\n            })\n            .describe(\n              'Important contextual information that may influence data extraction or user decisions.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          debugDetails: z\n            .object({\n              data: z\n                .record(z.string(), z.any())\n                .describe(\n                  'Diagnostic data for development and troubleshooting.\\nContains information such as AI tools called, processing times, and internal state.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Diagnostic information for development, debugging, and performance monitoring.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          endOfResponseDetails: z\n            .object({\n              success: z\n                .boolean()\n                .describe(\n                  'Whether the response stream completed successfully.\\nWhen `false`, there may have been processing errors or interruptions.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Stream completion signal indicating no more chunks will be sent in this response.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          signatureDetails: z.never().optional(),\n          fileUploadDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe('Form field identifier for the file upload input.')\n                .min(1)\n                .max(200)\n                .optional(),\n            })\n            .describe(\n              'Input for file upload with field targeting. Not supported.'\n            ),\n        }),\n        z.object({\n          textDetails: z.never().optional(),\n          textDataDetails: z.never().optional(),\n          multiSelectInputDetails: z.never().optional(),\n          numberInputDetails: z.never().optional(),\n          separatorDetails: z.never().optional(),\n          singleSelectInputDetails: z.never().optional(),\n          errorDetails: z.never().optional(),\n          submissionDetails: z.never().optional(),\n          importantTextDetails: z.never().optional(),\n          debugDetails: z.never().optional(),\n          endOfResponseDetails: z.never().optional(),\n          fileUploadDetails: z.never().optional(),\n          signatureDetails: z\n            .object({\n              fieldTarget: z\n                .string()\n                .describe(\n                  'Form field identifier for the digital signature input.'\n                )\n                .min(1)\n                .max(200)\n                .optional(),\n            })\n            .describe(\n              'Input for digital signature capture with field targeting. Not supported.'\n            ),\n        }),\n      ])\n    )\n    .describe(\n      'AI assistant response chunk streamed in real-time as the message is processed.'\n    )\n    .optional(),\n  interactiveFormSession: z\n    .object({\n      _id: z\n        .string()\n        .describe('Interactive form session 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      formId: z\n        .string()\n        .describe('Form 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    })\n    .describe(\n      'Updated interactive form session information.\\nSession data, including session ID and form ID. Returned in the first chunk of the streamed response.'\n    )\n    .optional(),\n});\nexport const GenerateFormSummaryRequest = (() => {\n  let wixFormsV4FormFieldArrayTypeSchema: z.ZodType<any> = z.object({\n    maxItems: z\n      .number()\n      .int()\n      .describe('Maximum amount of array elements.')\n      .min(0)\n      .max(1000)\n      .optional()\n      .nullable(),\n    minItems: z\n      .number()\n      .int()\n      .describe('Minimum amount of array elements.')\n      .min(0)\n      .max(1000)\n      .optional()\n      .nullable(),\n    items: z\n      .intersection(\n        z.object({}),\n        z.xor([\n          z.object({\n            string: z.never().optional(),\n            number: z.never().optional(),\n            boolean: z.never().optional(),\n            integer: z.never().optional(),\n            object: z.never().optional(),\n          }),\n          z.object({\n            number: z.never().optional(),\n            boolean: z.never().optional(),\n            integer: z.never().optional(),\n            object: z.never().optional(),\n            string: z\n              .intersection(\n                z.object({\n                  minLength: z\n                    .number()\n                    .int()\n                    .describe('Minimum length.')\n                    .min(0)\n                    .max(20000)\n                    .optional()\n                    .nullable(),\n                  maxLength: z\n                    .number()\n                    .int()\n                    .describe('Maximum length.')\n                    .min(0)\n                    .max(20000)\n                    .optional()\n                    .nullable(),\n                  pattern: z\n                    .string()\n                    .describe('Pattern for a regular expression match.')\n                    .max(500)\n                    .optional()\n                    .nullable(),\n                  format: z\n                    .enum([\n                      'UNDEFINED',\n                      'DATE',\n                      'TIME',\n                      'DATE_TIME',\n                      'EMAIL',\n                      'URL',\n                      'UUID',\n                      'PHONE',\n                      'URI',\n                      'HOSTNAME',\n                      'COLOR_HEX',\n                      'CURRENCY',\n                      'LANGUAGE',\n                      'DATE_OPTIONAL_TIME',\n                    ])\n                    .describe('Format of a string.')\n                    .optional(),\n                  errorMessages: z\n                    .object({\n                      default: z\n                        .string()\n                        .describe(\n                          'Default error message on invalid validation.'\n                        )\n                        .max(200)\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe('Custom error messages when validation fails.')\n                    .optional(),\n                  enum: z.array(z.string()).max(500).optional(),\n                  validationMessages: z\n                    .object({\n                      pattern: z\n                        .string()\n                        .describe(\n                          'Error message shown when validation of patter fails'\n                        )\n                        .max(200)\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe(\n                      'User defined error messages when particular validation constraint fails'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    dateOptions: z.never().optional(),\n                    dateTimeOptions: z.never().optional(),\n                    timeOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z.never().optional(),\n                    phoneOptions: z.never().optional(),\n                  }),\n                  z.object({\n                    dateTimeOptions: z.never().optional(),\n                    timeOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z.never().optional(),\n                    phoneOptions: z.never().optional(),\n                    dateOptions: z\n                      .object({\n                        availability: z\n                          .object({\n                            availableDates: z\n                              .array(\n                                z.object({\n                                  start: z\n                                    .string()\n                                    .describe(\n                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                    )\n                                    .optional(),\n                                  end: z\n                                    .string()\n                                    .describe(\n                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                    )\n                                    .optional(),\n                                })\n                              )\n                              .min(0)\n                              .max(5)\n                              .optional(),\n                            unavailableDates: z\n                              .array(\n                                z.object({\n                                  start: z\n                                    .string()\n                                    .describe(\n                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                    )\n                                    .optional(),\n                                  end: z\n                                    .string()\n                                    .describe(\n                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                    )\n                                    .optional(),\n                                })\n                              )\n                              .min(0)\n                              .max(5)\n                              .optional(),\n                            availableDays: z\n                              .array(\n                                z.enum([\n                                  'MONDAY',\n                                  'TUESDAY',\n                                  'WEDNESDAY',\n                                  'THURSDAY',\n                                  'FRIDAY',\n                                  'SATURDAY',\n                                  'SUNDAY',\n                                ])\n                              )\n                              .min(0)\n                              .max(7)\n                              .optional(),\n                          })\n                          .describe(\n                            'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                          )\n                          .optional(),\n                        minimum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                        maximum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('DATE format options'),\n                  }),\n                  z.object({\n                    dateOptions: z.never().optional(),\n                    timeOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z.never().optional(),\n                    phoneOptions: z.never().optional(),\n                    dateTimeOptions: z\n                      .object({\n                        minimum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                        maximum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('DATE_TIME format options'),\n                  }),\n                  z.object({\n                    dateOptions: z.never().optional(),\n                    dateTimeOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z.never().optional(),\n                    phoneOptions: z.never().optional(),\n                    timeOptions: z\n                      .object({\n                        minimum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                        maximum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('TIME format options'),\n                  }),\n                  z.object({\n                    dateOptions: z.never().optional(),\n                    dateTimeOptions: z.never().optional(),\n                    timeOptions: z.never().optional(),\n                    phoneOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z\n                      .object({\n                        minimum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                        maximum: z\n                          .string()\n                          .describe(\n                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                          )\n                          .max(50)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('DATE_OPTIONAL_TIME format options'),\n                  }),\n                  z.object({\n                    dateOptions: z.never().optional(),\n                    dateTimeOptions: z.never().optional(),\n                    timeOptions: z.never().optional(),\n                    dateOptionalTimeOptions: z.never().optional(),\n                    phoneOptions: z\n                      .object({\n                        allowedCountryCodes: z\n                          .array(z.string())\n                          .max(250)\n                          .optional(),\n                      })\n                      .describe('PHONE format options'),\n                  }),\n                ])\n              )\n              .describe('String type validation for items.'),\n          }),\n          z.object({\n            string: z.never().optional(),\n            boolean: z.never().optional(),\n            integer: z.never().optional(),\n            object: z.never().optional(),\n            number: z\n              .object({\n                maximum: z\n                  .number()\n                  .describe('Inclusive maximum value.')\n                  .optional()\n                  .nullable(),\n                minimum: z\n                  .number()\n                  .describe('Inclusive minimum value.')\n                  .optional()\n                  .nullable(),\n                multipleOf: z\n                  .number()\n                  .describe('Multiple of value.')\n                  .optional()\n                  .nullable(),\n                errorMessages: z\n                  .object({\n                    default: z\n                      .string()\n                      .describe('Default error message on invalid validation.')\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Custom error message when validation fails.')\n                  .optional(),\n                enum: z.array(z.number()).max(500).optional(),\n              })\n              .describe('Number type validation for items.'),\n          }),\n          z.object({\n            string: z.never().optional(),\n            number: z.never().optional(),\n            integer: z.never().optional(),\n            object: z.never().optional(),\n            boolean: z\n              .object({\n                errorMessages: z\n                  .object({\n                    default: z\n                      .string()\n                      .describe('Default error message on invalid validation.')\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Custom error message when validation fails.')\n                  .optional(),\n                enum: z.array(z.boolean()).max(2).optional(),\n              })\n              .describe('Boolean type validation for items.'),\n          }),\n          z.object({\n            string: z.never().optional(),\n            number: z.never().optional(),\n            boolean: z.never().optional(),\n            object: z.never().optional(),\n            integer: z\n              .object({\n                maximum: z\n                  .number()\n                  .int()\n                  .describe('Minimum value.')\n                  .optional()\n                  .nullable(),\n                minimum: z\n                  .number()\n                  .int()\n                  .describe('Maximum value.')\n                  .optional()\n                  .nullable(),\n                multipleOf: z\n                  .number()\n                  .int()\n                  .describe('Multiple of value.')\n                  .optional()\n                  .nullable(),\n                errorMessages: z\n                  .object({\n                    default: z\n                      .string()\n                      .describe('Default error message on invalid validation.')\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Custom error message when validation fails.')\n                  .optional(),\n                enum: z.array(z.number().int()).max(500).optional(),\n              })\n              .describe('Integer type validation for items.'),\n          }),\n          z.object({\n            string: z.never().optional(),\n            number: z.never().optional(),\n            boolean: z.never().optional(),\n            integer: z.never().optional(),\n            object: z\n              .object({\n                properties: z\n                  .record(\n                    z.string(),\n                    z.intersection(\n                      z.object({\n                        required: z\n                          .boolean()\n                          .describe('Whether the property is required.')\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          string: z.never().optional(),\n                          number: z.never().optional(),\n                          boolean: z.never().optional(),\n                          integer: z.never().optional(),\n                          array: z.never().optional(),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          boolean: z.never().optional(),\n                          integer: z.never().optional(),\n                          array: z.never().optional(),\n                          string: z\n                            .intersection(\n                              z.object({\n                                minLength: z\n                                  .number()\n                                  .int()\n                                  .describe('Minimum length.')\n                                  .min(0)\n                                  .max(20000)\n                                  .optional()\n                                  .nullable(),\n                                maxLength: z\n                                  .number()\n                                  .int()\n                                  .describe('Maximum length.')\n                                  .min(0)\n                                  .max(20000)\n                                  .optional()\n                                  .nullable(),\n                                pattern: z\n                                  .string()\n                                  .describe(\n                                    'Pattern for a regular expression match.'\n                                  )\n                                  .max(500)\n                                  .optional()\n                                  .nullable(),\n                                format: z\n                                  .enum([\n                                    'UNDEFINED',\n                                    'DATE',\n                                    'TIME',\n                                    'DATE_TIME',\n                                    'EMAIL',\n                                    'URL',\n                                    'UUID',\n                                    'PHONE',\n                                    'URI',\n                                    'HOSTNAME',\n                                    'COLOR_HEX',\n                                    'CURRENCY',\n                                    'LANGUAGE',\n                                    'DATE_OPTIONAL_TIME',\n                                  ])\n                                  .describe('Format of a string.')\n                                  .optional(),\n                                errorMessages: z\n                                  .object({\n                                    default: z\n                                      .string()\n                                      .describe(\n                                        'Default error message on invalid validation.'\n                                      )\n                                      .max(200)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Custom error messages when validation fails.'\n                                  )\n                                  .optional(),\n                                enum: z.array(z.string()).max(500).optional(),\n                                validationMessages: z\n                                  .object({\n                                    pattern: z\n                                      .string()\n                                      .describe(\n                                        'Error message shown when validation of patter fails'\n                                      )\n                                      .max(200)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'User defined error messages when particular validation constraint fails'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  dateOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  timeOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z.never().optional(),\n                                  phoneOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  dateTimeOptions: z.never().optional(),\n                                  timeOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z.never().optional(),\n                                  phoneOptions: z.never().optional(),\n                                  dateOptions: z\n                                    .object({\n                                      availability: z\n                                        .object({\n                                          availableDates: z\n                                            .array(\n                                              z.object({\n                                                start: z\n                                                  .string()\n                                                  .describe(\n                                                    'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                  )\n                                                  .optional(),\n                                                end: z\n                                                  .string()\n                                                  .describe(\n                                                    'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                  )\n                                                  .optional(),\n                                              })\n                                            )\n                                            .min(0)\n                                            .max(5)\n                                            .optional(),\n                                          unavailableDates: z\n                                            .array(\n                                              z.object({\n                                                start: z\n                                                  .string()\n                                                  .describe(\n                                                    'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                  )\n                                                  .optional(),\n                                                end: z\n                                                  .string()\n                                                  .describe(\n                                                    'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                  )\n                                                  .optional(),\n                                              })\n                                            )\n                                            .min(0)\n                                            .max(5)\n                                            .optional(),\n                                          availableDays: z\n                                            .array(\n                                              z.enum([\n                                                'MONDAY',\n                                                'TUESDAY',\n                                                'WEDNESDAY',\n                                                'THURSDAY',\n                                                'FRIDAY',\n                                                'SATURDAY',\n                                                'SUNDAY',\n                                              ])\n                                            )\n                                            .min(0)\n                                            .max(7)\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                        )\n                                        .optional(),\n                                      minimum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      maximum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe('DATE format options'),\n                                }),\n                                z.object({\n                                  dateOptions: z.never().optional(),\n                                  timeOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z.never().optional(),\n                                  phoneOptions: z.never().optional(),\n                                  dateTimeOptions: z\n                                    .object({\n                                      minimum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      maximum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe('DATE_TIME format options'),\n                                }),\n                                z.object({\n                                  dateOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z.never().optional(),\n                                  phoneOptions: z.never().optional(),\n                                  timeOptions: z\n                                    .object({\n                                      minimum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      maximum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe('TIME format options'),\n                                }),\n                                z.object({\n                                  dateOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  timeOptions: z.never().optional(),\n                                  phoneOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z\n                                    .object({\n                                      minimum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      maximum: z\n                                        .string()\n                                        .describe(\n                                          'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'DATE_OPTIONAL_TIME format options'\n                                    ),\n                                }),\n                                z.object({\n                                  dateOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  timeOptions: z.never().optional(),\n                                  dateOptionalTimeOptions: z.never().optional(),\n                                  phoneOptions: z\n                                    .object({\n                                      allowedCountryCodes: z\n                                        .array(z.string())\n                                        .max(250)\n                                        .optional(),\n                                    })\n                                    .describe('PHONE format options'),\n                                }),\n                              ])\n                            )\n                            .describe('String type validation for property.'),\n                        }),\n                        z.object({\n                          string: z.never().optional(),\n                          boolean: z.never().optional(),\n                          integer: z.never().optional(),\n                          array: z.never().optional(),\n                          number: z\n                            .object({\n                              maximum: z\n                                .number()\n                                .describe('Inclusive maximum value.')\n                                .optional()\n                                .nullable(),\n                              minimum: z\n                                .number()\n                                .describe('Inclusive minimum value.')\n                                .optional()\n                                .nullable(),\n                              multipleOf: z\n                                .number()\n                                .describe('Multiple of value.')\n                                .optional()\n                                .nullable(),\n                              errorMessages: z\n                                .object({\n                                  default: z\n                                    .string()\n                                    .describe(\n                                      'Default error message on invalid validation.'\n                                    )\n                                    .max(200)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe(\n                                  'Custom error message when validation fails.'\n                                )\n                                .optional(),\n                              enum: z.array(z.number()).max(500).optional(),\n                            })\n                            .describe('Number type validation for property.'),\n                        }),\n                        z.object({\n                          string: z.never().optional(),\n                          number: z.never().optional(),\n                          integer: z.never().optional(),\n                          array: z.never().optional(),\n                          boolean: z\n                            .object({\n                              errorMessages: z\n                                .object({\n                                  default: z\n                                    .string()\n                                    .describe(\n                                      'Default error message on invalid validation.'\n                                    )\n                                    .max(200)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe(\n                                  'Custom error message when validation fails.'\n                                )\n                                .optional(),\n                              enum: z.array(z.boolean()).max(2).optional(),\n                            })\n                            .describe('Boolean type validation for property.'),\n                        }),\n                        z.object({\n                          string: z.never().optional(),\n                          number: z.never().optional(),\n                          boolean: z.never().optional(),\n                          array: z.never().optional(),\n                          integer: z\n                            .object({\n                              maximum: z\n                                .number()\n                                .int()\n                                .describe('Minimum value.')\n                                .optional()\n                                .nullable(),\n                              minimum: z\n                                .number()\n                                .int()\n                                .describe('Maximum value.')\n                                .optional()\n                                .nullable(),\n                              multipleOf: z\n                                .number()\n                                .int()\n                                .describe('Multiple of value.')\n                                .optional()\n                                .nullable(),\n                              errorMessages: z\n                                .object({\n                                  default: z\n                                    .string()\n                                    .describe(\n                                      'Default error message on invalid validation.'\n                                    )\n                                    .max(200)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe(\n                                  'Custom error message when validation fails.'\n                                )\n                                .optional(),\n                              enum: z\n                                .array(z.number().int())\n                                .max(500)\n                                .optional(),\n                            })\n                            .describe('Integer type validation for property.'),\n                        }),\n                        z.object({\n                          string: z.never().optional(),\n                          number: z.never().optional(),\n                          boolean: z.never().optional(),\n                          integer: z.never().optional(),\n                          array: z\n                            .lazy(() => wixFormsV4FormFieldArrayTypeSchema)\n                            .describe('Array type validation for property.'),\n                        }),\n                      ])\n                    )\n                  )\n                  .describe('Description of object properties.')\n                  .optional(),\n                errorMessages: z\n                  .object({\n                    default: z\n                      .string()\n                      .describe('Default error message on invalid validation.')\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Custom error message when validation fails.')\n                  .optional(),\n              })\n              .describe('Object type validation for items'),\n          }),\n        ])\n      )\n      .describe('Type of items allowed in array.')\n      .optional(),\n    errorMessages: z\n      .object({\n        default: z\n          .string()\n          .describe('Default error message on invalid validation.')\n          .max(200)\n          .optional()\n          .nullable(),\n      })\n      .describe('Custom error message when validation fails.')\n      .optional(),\n  });\n  let wixFormsV4RulesConditionNodeSchema: z.ZodType<any> = z.intersection(\n    z.object({}),\n    z.xor([\n      z.object({\n        and: z.never().optional(),\n        or: z.never().optional(),\n        condition: z.never().optional(),\n      }),\n      z.object({\n        or: z.never().optional(),\n        condition: z.never().optional(),\n        and: z\n          .object({\n            conditions: z\n              .array(z.lazy(() => wixFormsV4RulesConditionNodeSchema))\n              .min(1)\n              .max(400)\n              .optional(),\n          })\n          .describe(\n            'Logical AND condition with 1 or more child conditions. All child conditions must be true.'\n          ),\n      }),\n      z.object({\n        and: z.never().optional(),\n        condition: z.never().optional(),\n        or: z\n          .object({\n            conditions: z\n              .array(z.lazy(() => wixFormsV4RulesConditionNodeSchema))\n              .min(1)\n              .max(400)\n              .optional(),\n          })\n          .describe(\n            'Logical OR condition with 1 or more child conditions. At least 1 child condition must be true.'\n          ),\n      }),\n      z.object({\n        and: z.never().optional(),\n        or: z.never().optional(),\n        condition: z\n          .object({\n            target: z\n              .string()\n              .describe(\n                'Human readable identifier used to reference a field.\\nSupports dot notation for nested properties. For example, `\"address.city\"`.'\n              )\n              .max(100)\n              .optional(),\n            operator: z\n              .enum([\n                'EQUAL',\n                'NOT_EQUAL',\n                'EMPTY',\n                'NOT_EMPTY',\n                'CONTAINS',\n                'NOT_CONTAINS',\n                'LESS_THAN',\n                'LESS_THAN_OR_EQUALS',\n                'GREATER_THAN',\n                'GREATER_THAN_OR_EQUALS',\n                'BEFORE',\n                'BEFORE_OR_EQUAL',\n                'AFTER',\n                'AFTER_OR_EQUAL',\n                'BETWEEN',\n                'ANY',\n                'ARRAY_EQUAL',\n                'ARRAY_NOT_EQUAL',\n                'CHECKED',\n                'NOT_CHECKED',\n                'IN',\n                'NOT_IN',\n                'IS_DATE_OLDER_THAN',\n                'IS_DATE_OLDER_THAN_OR_EQUAL',\n                'IS_DATE_NEWER_THAN',\n                'IS_DATE_NEWER_THAN_OR_EQUAL',\n              ])\n              .describe(\n                'Comparison operator to use for evaluating the condition.'\n              )\n              .optional(),\n            value: z\n              .any()\n              .describe(\n                'Value to compare against the value in the target field.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Single condition to evaluate.'),\n      }),\n    ])\n  );\n  return z.object({\n    form: z\n      .object({\n        _id: z\n          .string()\n          .describe('Form schema 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          .nullable(),\n        formFields: z\n          .array(\n            z.intersection(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Field 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                hidden: z\n                  .boolean()\n                  .describe(\n                    'Whether the field is hidden from submitters.\\n\\nDefault: `false`'\n                  )\n                  .optional(),\n                identifier: z\n                  .string()\n                  .describe(\n                    'Custom identification for the field. This is intended as a way for you to identify certain fields that you want to apply special behavior to in your own logic.'\n                  )\n                  .max(50)\n                  .optional()\n                  .nullable(),\n                fieldType: z\n                  .enum(['UNKNOWN_FIELD_TYPE', 'INPUT', 'DISPLAY'])\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  inputOptions: z.never().optional(),\n                  displayOptions: z.never().optional(),\n                }),\n                z.object({\n                  displayOptions: z.never().optional(),\n                  inputOptions: z\n                    .intersection(\n                      z.object({\n                        target: z\n                          .string()\n                          .describe(\n                            'Human readable identifier used to reference a field. For example, `\"address\"`.\\n\\nCan be set once.'\n                          )\n                          .min(1)\n                          .max(200)\n                          .optional(),\n                        pii: z\n                          .boolean()\n                          .describe(\n                            'Whether this field contains Personally Identifiable Information (PII).\\n\\nPII fields are automatically encrypted when stored.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                        required: z\n                          .boolean()\n                          .describe(\n                            'Whether the field is required for form submission.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                        inputType: z\n                          .enum([\n                            'UNKNOWN_INPUT_TYPE',\n                            'STRING',\n                            'NUMBER',\n                            'BOOLEAN',\n                            'ARRAY',\n                            'OBJECT',\n                            'WIX_FILE',\n                            'PAYMENT',\n                            'SCHEDULING',\n                            'ADDRESS',\n                          ])\n                          .describe(\n                            'Type of the input field that determines what kind of data it collects.'\n                          )\n                          .optional(),\n                        contactMapping: z\n                          .intersection(\n                            z.object({\n                              contactField: z\n                                .enum([\n                                  'FIRST_NAME',\n                                  'LAST_NAME',\n                                  'COMPANY',\n                                  'POSITION',\n                                  'EMAIL',\n                                  'PHONE',\n                                  'ADDRESS',\n                                  'BIRTHDATE',\n                                  'CUSTOM_FIELD',\n                                  'SUBSCRIPTION',\n                                  'VAT_ID',\n                                ])\n                                .describe(\n                                  'The [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/introduction) field that this form field maps to.'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                              }),\n                              z.object({\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                emailInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'MAIN'])\n                                      .describe('Email categorization tag.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for email contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                phoneInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'MAIN'])\n                                      .describe(\n                                        'Phone number categorization tag.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for phone contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                addressInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'HOME'])\n                                      .describe('Address categorization tag.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for address contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                customFieldInfo: z\n                                  .object({\n                                    key: z\n                                      .string()\n                                      .describe('Custom field key.')\n                                      .min(1)\n                                      .max(500)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for custom contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z\n                                  .object({\n                                    confirmationLevel: z\n                                      .enum([\n                                        'UNKNOWN_CONFIRMATION_LEVEL',\n                                        'SINGLE_CONFIRMATION',\n                                        'DOUBLE_CONFIRMATION',\n                                      ])\n                                      .describe(\n                                        'Subscription consent opt-in level, either single or double confirmation.\\nDefault: `SINGLE_CONFIRMATION`'\n                                      )\n                                      .optional(),\n                                    subscriptionChannels: z\n                                      .array(z.enum(['EMAIL', 'SMS']))\n                                      .max(2)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for subscription contact fields.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Mapping configuration for automatically saving field values to contact properties.\\n\\nWhen specified, form submissions automatically create or update contacts with the field data.'\n                          )\n                          .optional(),\n                        readOnly: z\n                          .boolean()\n                          .describe(\n                            'Whether the field is read-only.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                        }),\n                        z.object({\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          stringOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .intersection(\n                                    z.object({\n                                      minLength: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Minimum required length for the string value.'\n                                        )\n                                        .min(0)\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      maxLength: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Maximum allowed length for the string value.'\n                                        )\n                                        .min(0)\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      pattern: z\n                                        .string()\n                                        .describe(\n                                          'Regular expression pattern that the string value must match.'\n                                        )\n                                        .max(500)\n                                        .optional()\n                                        .nullable(),\n                                      format: z\n                                        .enum([\n                                          'UNKNOWN_FORMAT',\n                                          'DATE',\n                                          'TIME',\n                                          'DATE_TIME',\n                                          'EMAIL',\n                                          'URL',\n                                          'UUID',\n                                          'PHONE',\n                                          'URI',\n                                          'HOSTNAME',\n                                          'COLOR_HEX',\n                                          'CURRENCY',\n                                          'LANGUAGE',\n                                          'DATE_OPTIONAL_TIME',\n                                        ])\n                                        .describe(\n                                          'Expected format of the string value.'\n                                        )\n                                        .optional(),\n                                      enum: z\n                                        .array(z.string())\n                                        .max(500)\n                                        .optional(),\n                                      validationMessages: z\n                                        .object({\n                                          pattern: z\n                                            .string()\n                                            .describe(\n                                              \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                            )\n                                            .max(200)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom error messages displayed when validation fails.'\n                                        )\n                                        .optional(),\n                                    }),\n                                    z.xor([\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateOptions: z\n                                          .object({\n                                            availability: z\n                                              .object({\n                                                availableDates: z\n                                                  .array(\n                                                    z.object({\n                                                      start: z\n                                                        .string()\n                                                        .describe(\n                                                          'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                      end: z\n                                                        .string()\n                                                        .describe(\n                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                    })\n                                                  )\n                                                  .min(0)\n                                                  .max(5)\n                                                  .optional(),\n                                                unavailableDates: z\n                                                  .array(\n                                                    z.object({\n                                                      start: z\n                                                        .string()\n                                                        .describe(\n                                                          'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                      end: z\n                                                        .string()\n                                                        .describe(\n                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                    })\n                                                  )\n                                                  .min(0)\n                                                  .max(5)\n                                                  .optional(),\n                                                availableDays: z\n                                                  .array(\n                                                    z.enum([\n                                                      'MONDAY',\n                                                      'TUESDAY',\n                                                      'WEDNESDAY',\n                                                      'THURSDAY',\n                                                      'FRIDAY',\n                                                      'SATURDAY',\n                                                      'SUNDAY',\n                                                    ])\n                                                  )\n                                                  .min(0)\n                                                  .max(7)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                              )\n                                              .optional(),\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with date format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateTimeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with date and time format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        timeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with time format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for string with date and time format, where time is optional.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z\n                                          .object({\n                                            allowedCountryCodes: z\n                                              .array(z.string())\n                                              .max(250)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with phone number format.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                  .describe(\n                                    'Validation configuration for the string input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'TEXT_INPUT',\n                                    'RADIO_GROUP',\n                                    'DROPDOWN',\n                                    'DATE_TIME',\n                                    'PHONE_INPUT',\n                                    'DATE_INPUT',\n                                    'TIME_INPUT',\n                                    'DATE_PICKER',\n                                    'SERVICES_DROPDOWN',\n                                    'PASSWORD',\n                                  ])\n                                  .describe(\n                                    'Component type of the string input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  textInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\\nUseful for providing a hint about the expected format or content.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Text input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  radioGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .max(20000)\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Radio group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dropdownOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .max(20000)\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no option is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Dropdown component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dateTimeOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      use24HourFormat: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to use 24-hour time format.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date-time format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                      showDateLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the date labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Date and time input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  phoneInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      defaultCountryCode: z\n                                        .string()\n                                        .describe(\n                                          'Default country code for the phone number input. Two-letter country code in ISO-3166 alpha-2 format.'\n                                        )\n                                        .min(1)\n                                        .max(5)\n                                        .optional()\n                                        .nullable(),\n                                      showCountryFlag: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the country flag next to the country code.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Phone input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dateInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                      showDateLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the date labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe('Date input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  timeInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe('Field description.')\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      use24HourFormat: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to use 24-hour time format.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO time format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Time input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  datePickerOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no date is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      firstDayOfWeek: z\n                                        .enum(['MONDAY', 'SUNDAY'])\n                                        .describe(\n                                          'First day of the week displayed on the date picker.'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Date picker component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  servicesDropdownOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no service is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe('Service name/label')\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations. Corresponds to the Service ID.'\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                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option value, which is saved to DB. Corresponds to the Service ID.'\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                                        )\n                                        .max(400)\n                                        .optional(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Services dropdown component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\\nUseful for providing a hint about the expected format or content.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Password component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('String input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          numberOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    maximum: z\n                                      .number()\n                                      .describe(\n                                        'The maximum value of the number. Inclusive.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    minimum: z\n                                      .number()\n                                      .describe(\n                                        'The minimum value of the number. Inclusive.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    multipleOf: z\n                                      .number()\n                                      .describe(\n                                        'A number that the value must be a multiple of.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    enum: z\n                                      .array(z.number())\n                                      .max(500)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the number input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'NUMBER_INPUT',\n                                    'RATING_INPUT',\n                                  ])\n                                  .describe(\n                                    'Component type of the number input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  numberInputOptions: z.never().optional(),\n                                  ratingInputOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  ratingInputOptions: z.never().optional(),\n                                  numberInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .number()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Number input settings.'),\n                                }),\n                                z.object({\n                                  numberInputOptions: z.never().optional(),\n                                  ratingInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      defaultValue: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Default rating value for the field.'\n                                        )\n                                        .min(1)\n                                        .max(5)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Rating input settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('Number input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          booleanOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    enum: z\n                                      .array(z.boolean())\n                                      .max(2)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the boolean input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum(['UNKNOWN_COMPONENT_TYPE', 'CHECKBOX'])\n                                  .describe(\n                                    'Component type of the boolean input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  checkboxOptions: z\n                                    .object({\n                                      label: z\n                                        .any()\n                                        .describe('Field label.')\n                                        .optional(),\n                                      checked: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether the checkbox is selected by default when the form loads.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Checkbox component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('Boolean input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          arrayOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    maxItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of elements allowed in the array.'\n                                      )\n                                      .min(0)\n                                      .max(1000)\n                                      .optional()\n                                      .nullable(),\n                                    minItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Minimum number of elements required in the array.'\n                                      )\n                                      .min(0)\n                                      .max(1000)\n                                      .optional()\n                                      .nullable(),\n                                    items: z\n                                      .intersection(\n                                        z.object({\n                                          itemType: z\n                                            .enum([\n                                              'STRING',\n                                              'NUMBER',\n                                              'BOOLEAN',\n                                            ])\n                                            .describe('Allowed item type.')\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                          }),\n                                          z.object({\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            stringOptions: z\n                                              .intersection(\n                                                z.object({\n                                                  minLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Minimum required length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  maxLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Maximum allowed length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  pattern: z\n                                                    .string()\n                                                    .describe(\n                                                      'Regular expression pattern that the string value must match.'\n                                                    )\n                                                    .max(500)\n                                                    .optional()\n                                                    .nullable(),\n                                                  format: z\n                                                    .enum([\n                                                      'UNKNOWN_FORMAT',\n                                                      'DATE',\n                                                      'TIME',\n                                                      'DATE_TIME',\n                                                      'EMAIL',\n                                                      'URL',\n                                                      'UUID',\n                                                      'PHONE',\n                                                      'URI',\n                                                      'HOSTNAME',\n                                                      'COLOR_HEX',\n                                                      'CURRENCY',\n                                                      'LANGUAGE',\n                                                      'DATE_OPTIONAL_TIME',\n                                                    ])\n                                                    .describe(\n                                                      'Expected format of the string value.'\n                                                    )\n                                                    .optional(),\n                                                  enum: z\n                                                    .array(z.string())\n                                                    .max(500)\n                                                    .optional(),\n                                                  validationMessages: z\n                                                    .object({\n                                                      pattern: z\n                                                        .string()\n                                                        .describe(\n                                                          \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                        )\n                                                        .max(200)\n                                                        .optional()\n                                                        .nullable(),\n                                                    })\n                                                    .describe(\n                                                      'Custom error messages displayed when validation fails.'\n                                                    )\n                                                    .optional(),\n                                                }),\n                                                z.xor([\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                  }),\n                                                  z.object({\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptions: z\n                                                      .object({\n                                                        availability: z\n                                                          .object({\n                                                            availableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            unavailableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            availableDays: z\n                                                              .array(\n                                                                z.enum([\n                                                                  'MONDAY',\n                                                                  'TUESDAY',\n                                                                  'WEDNESDAY',\n                                                                  'THURSDAY',\n                                                                  'FRIDAY',\n                                                                  'SATURDAY',\n                                                                  'SUNDAY',\n                                                                ])\n                                                              )\n                                                              .min(0)\n                                                              .max(7)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                          )\n                                                          .optional(),\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date and time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for string with date and time format, where time is optional.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .object({\n                                                        allowedCountryCodes: z\n                                                          .array(z.string())\n                                                          .max(250)\n                                                          .optional(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with phone number format.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Validation rules for string array elements.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            numberOptions: z\n                                              .object({\n                                                maximum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The maximum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                minimum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The minimum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                multipleOf: z\n                                                  .number()\n                                                  .describe(\n                                                    'A number that the value must be a multiple of.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                enum: z\n                                                  .array(z.number())\n                                                  .max(500)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for numeric array elements.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .object({\n                                                enum: z\n                                                  .array(z.boolean())\n                                                  .max(2)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for boolean array elements.'\n                                              ),\n                                          }),\n                                        ])\n                                      )\n                                      .describe(\n                                        'Type of items allowed in the array.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the array input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'CHECKBOX_GROUP',\n                                    'TAGS',\n                                    'SERVICES_CHECKBOX_GROUP',\n                                  ])\n                                  .describe(\n                                    'Component type of the array input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                }),\n                                z.object({\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                  checkboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with this option.'\n                                              )\n                                              .optional(),\n                                            showLabel: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether to display the option label.\\n\\nDefault: `true`'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Checkbox group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                  tagsOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Flag identifying that option should be selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with the option, such as an image.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media item. Media, associated with field, like image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media item.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Tags component settings.'),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Label of the field')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe('Description of the field')\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe('Service name/label')\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations. Corresponds to the Service ID.'\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                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option value, which is saved to DB. Corresponds to the Service ID.'\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                                        )\n                                        .max(100)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying to hide or not label\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Option which can be specified by UoU, enabled when this object is specified.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\nDefault: ONE'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Services checkbox group input field'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Array input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          objectOptions: z\n                            .object({\n                              validation: z\n                                .object({\n                                  properties: z\n                                    .record(\n                                      z.string(),\n                                      z.intersection(\n                                        z.object({\n                                          propertiesType: z\n                                            .enum([\n                                              'STRING',\n                                              'NUMBER',\n                                              'BOOLEAN',\n                                              'ARRAY',\n                                            ])\n                                            .optional(),\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the object property is required for validation.'\n                                            )\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                          }),\n                                          z.object({\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                            stringOptions: z\n                                              .intersection(\n                                                z.object({\n                                                  minLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Minimum required length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  maxLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Maximum allowed length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  pattern: z\n                                                    .string()\n                                                    .describe(\n                                                      'Regular expression pattern that the string value must match.'\n                                                    )\n                                                    .max(500)\n                                                    .optional()\n                                                    .nullable(),\n                                                  format: z\n                                                    .enum([\n                                                      'UNKNOWN_FORMAT',\n                                                      'DATE',\n                                                      'TIME',\n                                                      'DATE_TIME',\n                                                      'EMAIL',\n                                                      'URL',\n                                                      'UUID',\n                                                      'PHONE',\n                                                      'URI',\n                                                      'HOSTNAME',\n                                                      'COLOR_HEX',\n                                                      'CURRENCY',\n                                                      'LANGUAGE',\n                                                      'DATE_OPTIONAL_TIME',\n                                                    ])\n                                                    .describe(\n                                                      'Expected format of the string value.'\n                                                    )\n                                                    .optional(),\n                                                  enum: z\n                                                    .array(z.string())\n                                                    .max(500)\n                                                    .optional(),\n                                                  validationMessages: z\n                                                    .object({\n                                                      pattern: z\n                                                        .string()\n                                                        .describe(\n                                                          \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                        )\n                                                        .max(200)\n                                                        .optional()\n                                                        .nullable(),\n                                                    })\n                                                    .describe(\n                                                      'Custom error messages displayed when validation fails.'\n                                                    )\n                                                    .optional(),\n                                                }),\n                                                z.xor([\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                  }),\n                                                  z.object({\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptions: z\n                                                      .object({\n                                                        availability: z\n                                                          .object({\n                                                            availableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            unavailableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            availableDays: z\n                                                              .array(\n                                                                z.enum([\n                                                                  'MONDAY',\n                                                                  'TUESDAY',\n                                                                  'WEDNESDAY',\n                                                                  'THURSDAY',\n                                                                  'FRIDAY',\n                                                                  'SATURDAY',\n                                                                  'SUNDAY',\n                                                                ])\n                                                              )\n                                                              .min(0)\n                                                              .max(7)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                          )\n                                                          .optional(),\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date and time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for string with date and time format, where time is optional.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .object({\n                                                        allowedCountryCodes: z\n                                                          .array(z.string())\n                                                          .max(250)\n                                                          .optional(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with phone number format.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Validation rules for string properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                            numberOptions: z\n                                              .object({\n                                                maximum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The maximum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                minimum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The minimum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                multipleOf: z\n                                                  .number()\n                                                  .describe(\n                                                    'A number that the value must be a multiple of.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                enum: z\n                                                  .array(z.number())\n                                                  .max(500)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for numeric properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            arrayOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .object({\n                                                enum: z\n                                                  .array(z.boolean())\n                                                  .max(2)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for boolean properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z\n                                              .object({\n                                                maxItems: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum number of elements allowed in the array.'\n                                                  )\n                                                  .min(0)\n                                                  .max(1000)\n                                                  .optional()\n                                                  .nullable(),\n                                                minItems: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Minimum number of elements required in the array.'\n                                                  )\n                                                  .min(0)\n                                                  .max(1000)\n                                                  .optional()\n                                                  .nullable(),\n                                                items: z\n                                                  .intersection(\n                                                    z.object({\n                                                      itemType: z\n                                                        .enum([\n                                                          'STRING',\n                                                          'NUMBER',\n                                                          'BOOLEAN',\n                                                        ])\n                                                        .describe(\n                                                          'Allowed item type.'\n                                                        )\n                                                        .optional(),\n                                                    }),\n                                                    z.xor([\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                      }),\n                                                      z.object({\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        stringOptions: z\n                                                          .intersection(\n                                                            z.object({\n                                                              minLength: z\n                                                                .number()\n                                                                .int()\n                                                                .describe(\n                                                                  'Minimum required length for the string value.'\n                                                                )\n                                                                .min(0)\n                                                                .max(20000)\n                                                                .optional()\n                                                                .nullable(),\n                                                              maxLength: z\n                                                                .number()\n                                                                .int()\n                                                                .describe(\n                                                                  'Maximum allowed length for the string value.'\n                                                                )\n                                                                .min(0)\n                                                                .max(20000)\n                                                                .optional()\n                                                                .nullable(),\n                                                              pattern: z\n                                                                .string()\n                                                                .describe(\n                                                                  'Regular expression pattern that the string value must match.'\n                                                                )\n                                                                .max(500)\n                                                                .optional()\n                                                                .nullable(),\n                                                              format: z\n                                                                .enum([\n                                                                  'UNKNOWN_FORMAT',\n                                                                  'DATE',\n                                                                  'TIME',\n                                                                  'DATE_TIME',\n                                                                  'EMAIL',\n                                                                  'URL',\n                                                                  'UUID',\n                                                                  'PHONE',\n                                                                  'URI',\n                                                                  'HOSTNAME',\n                                                                  'COLOR_HEX',\n                                                                  'CURRENCY',\n                                                                  'LANGUAGE',\n                                                                  'DATE_OPTIONAL_TIME',\n                                                                ])\n                                                                .describe(\n                                                                  'Expected format of the string value.'\n                                                                )\n                                                                .optional(),\n                                                              enum: z\n                                                                .array(\n                                                                  z.string()\n                                                                )\n                                                                .max(500)\n                                                                .optional(),\n                                                              validationMessages:\n                                                                z\n                                                                  .object({\n                                                                    pattern: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                                      )\n                                                                      .max(200)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Custom error messages displayed when validation fails.'\n                                                                  )\n                                                                  .optional(),\n                                                            }),\n                                                            z.xor([\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                              }),\n                                                              z.object({\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptions: z\n                                                                  .object({\n                                                                    availability:\n                                                                      z\n                                                                        .object(\n                                                                          {\n                                                                            availableDates:\n                                                                              z\n                                                                                .array(\n                                                                                  z.object(\n                                                                                    {\n                                                                                      start:\n                                                                                        z\n                                                                                          .string()\n                                                                                          .describe(\n                                                                                            'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                          )\n                                                                                          .optional(),\n                                                                                      end: z\n                                                                                        .string()\n                                                                                        .describe(\n                                                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                        )\n                                                                                        .optional(),\n                                                                                    }\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  5\n                                                                                )\n                                                                                .optional(),\n                                                                            unavailableDates:\n                                                                              z\n                                                                                .array(\n                                                                                  z.object(\n                                                                                    {\n                                                                                      start:\n                                                                                        z\n                                                                                          .string()\n                                                                                          .describe(\n                                                                                            'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                          )\n                                                                                          .optional(),\n                                                                                      end: z\n                                                                                        .string()\n                                                                                        .describe(\n                                                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                        )\n                                                                                        .optional(),\n                                                                                    }\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  5\n                                                                                )\n                                                                                .optional(),\n                                                                            availableDays:\n                                                                              z\n                                                                                .array(\n                                                                                  z.enum(\n                                                                                    [\n                                                                                      'MONDAY',\n                                                                                      'TUESDAY',\n                                                                                      'WEDNESDAY',\n                                                                                      'THURSDAY',\n                                                                                      'FRIDAY',\n                                                                                      'SATURDAY',\n                                                                                      'SUNDAY',\n                                                                                    ]\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  7\n                                                                                )\n                                                                                .optional(),\n                                                                          }\n                                                                        )\n                                                                        .describe(\n                                                                          'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                                        )\n                                                                        .optional(),\n                                                                    minimum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                    maximum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with date format.'\n                                                                  ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .object({\n                                                                      minimum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                      maximum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                    })\n                                                                    .describe(\n                                                                      'Validation rules for strings with date and time format.'\n                                                                    ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                timeOptions: z\n                                                                  .object({\n                                                                    minimum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                    maximum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with time format.'\n                                                                  ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .object({\n                                                                      minimum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                      maximum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                    })\n                                                                    .describe(\n                                                                      'Validation rules for string with date and time format, where time is optional.'\n                                                                    ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .object({\n                                                                    allowedCountryCodes:\n                                                                      z\n                                                                        .array(\n                                                                          z.string()\n                                                                        )\n                                                                        .max(\n                                                                          250\n                                                                        )\n                                                                        .optional(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with phone number format.'\n                                                                  ),\n                                                              }),\n                                                            ])\n                                                          )\n                                                          .describe(\n                                                            'Validation rules for string array elements.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .object({\n                                                            maximum: z\n                                                              .number()\n                                                              .describe(\n                                                                'The maximum value of the number. Inclusive.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            minimum: z\n                                                              .number()\n                                                              .describe(\n                                                                'The minimum value of the number. Inclusive.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            multipleOf: z\n                                                              .number()\n                                                              .describe(\n                                                                'A number that the value must be a multiple of.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            enum: z\n                                                              .array(z.number())\n                                                              .max(500)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Validation rules for numeric array elements.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .object({\n                                                            enum: z\n                                                              .array(\n                                                                z.boolean()\n                                                              )\n                                                              .max(2)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Validation rules for boolean array elements.'\n                                                          ),\n                                                      }),\n                                                    ])\n                                                  )\n                                                  .describe(\n                                                    'Type of items allowed in the array.'\n                                                  )\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for array properties.'\n                                              ),\n                                          }),\n                                        ])\n                                      )\n                                    )\n                                    .describe(\n                                      'Definition of object properties and their validation rules.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Validation configuration for the object input.'\n                                )\n                                .optional(),\n                            })\n                            .describe('Object input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          wixFileOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'FILE_UPLOAD',\n                                    'SIGNATURE',\n                                  ])\n                                  .describe(\n                                    'Component type of the file input field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    fileLimit: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of files that can be uploaded.'\n                                      )\n                                      .min(1)\n                                      .max(30)\n                                      .optional(),\n                                    uploadFileFormats: z\n                                      .array(\n                                        z.enum([\n                                          'VIDEO',\n                                          'IMAGE',\n                                          'AUDIO',\n                                          'DOCUMENT',\n                                          'ARCHIVE',\n                                          'MODEL_3D',\n                                        ])\n                                      )\n                                      .max(6)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the file input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  fileUploadOptions: z.never().optional(),\n                                  signatureOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  signatureOptions: z.never().optional(),\n                                  fileUploadOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      buttonText: z\n                                        .string()\n                                        .describe(\n                                          'Text displayed on the upload button.'\n                                        )\n                                        .max(500)\n                                        .optional()\n                                        .nullable(),\n                                      explanationText: z\n                                        .string()\n                                        .describe(\n                                          'Custom text displayed when a file is uploaded. If not specified, the file name is shown.'\n                                        )\n                                        .max(255)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'File upload component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  fileUploadOptions: z.never().optional(),\n                                  signatureOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      imageUploadEnabled: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether image upload is enabled for the signature field.'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media item.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Signature component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe(\n                              'File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).'\n                            ),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          paymentOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'CHECKBOX_GROUP',\n                                    'DONATION_INPUT',\n                                    'PAYMENT_INPUT',\n                                    'FIXED_PAYMENT',\n                                  ])\n                                  .describe(\n                                    'Component type of the payment input field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    products: z\n                                      .array(\n                                        z.intersection(\n                                          z.object({\n                                            _id: z\n                                              .string()\n                                              .describe('Product 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                                            productType: z\n                                              .enum(['SHIPPABLE', 'DIGITAL'])\n                                              .optional(),\n                                            priceType: z\n                                              .enum([\n                                                'FIXED_PRICE',\n                                                'DYNAMIC_PRICE',\n                                              ])\n                                              .optional(),\n                                            quantityLimit: z\n                                              .object({\n                                                minimum: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Minimum quantity that must be selected for this product.'\n                                                  )\n                                                  .min(1)\n                                                  .max(100000)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum quantity that can be selected for this product.'\n                                                  )\n                                                  .min(1)\n                                                  .max(100000)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe(\n                                                'Limits on how many units of this product can be selected.'\n                                              )\n                                              .optional(),\n                                          }),\n                                          z.xor([\n                                            z.object({\n                                              fixedPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              dynamicPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                            }),\n                                            z.object({\n                                              dynamicPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              fixedPriceOptions: z\n                                                .object({\n                                                  price: z\n                                                    .string()\n                                                    .describe(\n                                                      'Fixed price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"3.99\"`.'\n                                                    )\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Configuration for products with fixed pricing.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              fixedPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              dynamicPriceOptions: z\n                                                .object({\n                                                  minPrice: z\n                                                    .string()\n                                                    .describe(\n                                                      'Minimum price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"1.00\"`.'\n                                                    )\n                                                    .optional(),\n                                                  maxPrice: z\n                                                    .string()\n                                                    .describe(\n                                                      'Maximum monetary price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"10.00\"`.\\n\\nIf not specified, there is no upper limit on the price.'\n                                                    )\n                                                    .optional()\n                                                    .nullable(),\n                                                })\n                                                .describe(\n                                                  'Configuration for products with variable pricing within a range.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                      )\n                                      .min(1)\n                                      .max(100)\n                                      .optional(),\n                                    minItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Minimum number of different products that must be selected.'\n                                      )\n                                      .min(0)\n                                      .max(100)\n                                      .optional()\n                                      .nullable(),\n                                    maxItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of different products that can be selected.'\n                                      )\n                                      .min(0)\n                                      .max(100)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the payment input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  checkboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                \"Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\"\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with this option, such as an image.'\n                                              )\n                                              .optional(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      imageFit: z\n                                        .enum(['COVER', 'CONTAIN'])\n                                        .describe(\n                                          'How an image should be resized to fit within its option container.\\n\\nDefault: `COVER`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Checkbox group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  donationInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                \"Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\"\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                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Donation input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  paymentInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .number()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Payment input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Fixed payment component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Payment input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          schedulingOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'APPOINTMENT',\n                                  ])\n                                  .describe(\n                                    'Component type of the scheduling field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  appointmentOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  appointmentOptions: z\n                                    .intersection(\n                                      z.object({\n                                        label: z\n                                          .string()\n                                          .describe('Field label.')\n                                          .max(255)\n                                          .optional()\n                                          .nullable(),\n                                        name: z\n                                          .string()\n                                          .describe('Appointment name.')\n                                          .min(1)\n                                          .max(400)\n                                          .optional()\n                                          .nullable(),\n                                        durationInMinutes: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Duration of the appointment in minutes.'\n                                          )\n                                          .min(1)\n                                          .max(44639)\n                                          .optional()\n                                          .nullable(),\n                                        manualApprovalRequired: z\n                                          .boolean()\n                                          .describe(\n                                            'Whether appointments require manual approval before confirmation.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                        staffIds: z\n                                          .array(z.string())\n                                          .max(220)\n                                          .optional(),\n                                        format: z\n                                          .enum([\n                                            'IN_PERSON',\n                                            'VIDEO_CONFERENCE',\n                                            'PHONE',\n                                          ])\n                                          .describe('Appointment format.')\n                                          .optional(),\n                                        description: z\n                                          .any()\n                                          .describe(\n                                            'Additional description or instructions for the field.'\n                                          )\n                                          .optional(),\n                                        showLabel: z\n                                          .boolean()\n                                          .describe(\n                                            'Whether to display the field label.\\n\\nDefault: `true`'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                      }),\n                                      z.xor([\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z.never().optional(),\n                                        }),\n                                        z.object({\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z.never().optional(),\n                                          inPersonOptions: z\n                                            .object({\n                                              locations: z\n                                                .array(\n                                                  z.intersection(\n                                                    z.object({}),\n                                                    z.xor([\n                                                      z.object({\n                                                        customAddress: z\n                                                          .never()\n                                                          .optional(),\n                                                        businessLocationId: z\n                                                          .never()\n                                                          .optional(),\n                                                      }),\n                                                      z.object({\n                                                        businessLocationId: z\n                                                          .never()\n                                                          .optional(),\n                                                        customAddress: z\n                                                          .string()\n                                                          .describe(\n                                                            'Custom address specified as a text string.'\n                                                          )\n                                                          .max(512),\n                                                      }),\n                                                      z.object({\n                                                        customAddress: z\n                                                          .never()\n                                                          .optional(),\n                                                        businessLocationId: z\n                                                          .string()\n                                                          .describe(\n                                                            'ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).'\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                                                )\n                                                .min(1)\n                                                .max(1)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Configuration for in-person appointments.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          phoneOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .object({\n                                              description: z\n                                                .string()\n                                                .describe(\n                                                  'Description or instructions for video conference appointments.'\n                                                )\n                                                .max(512)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Configuration for video conference appointments.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z\n                                            .object({\n                                              description: z\n                                                .string()\n                                                .describe(\n                                                  'Description or instructions for phone appointments.'\n                                                )\n                                                .max(512)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Configuration for phone appointments.'\n                                            ),\n                                        }),\n                                      ])\n                                    )\n                                    .describe(\n                                      'Appointment component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Scheduling input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'MULTILINE_ADDRESS',\n                                  ])\n                                  .describe(\n                                    'Component type of the multiline address field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    allowedCountries: z\n                                      .array(z.string())\n                                      .min(0)\n                                      .max(200)\n                                      .optional(),\n                                    fields: z\n                                      .object({\n                                        subdivision: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Subdivision settings.')\n                                          .optional(),\n                                        city: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('City settings.')\n                                          .optional(),\n                                        postalCode: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Postal code settings.')\n                                          .optional(),\n                                        streetName: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Street name settings.')\n                                          .optional(),\n                                        streetNumber: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Street number settings.')\n                                          .optional(),\n                                        addressLine: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Address line settings.')\n                                          .optional(),\n                                        addressLine2: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Address line 2 settings.')\n                                          .optional(),\n                                        country: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Country settings.')\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        'Customization configuration for individual address field components.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the multiline address input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  multilineAddressOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  multilineAddressOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showCountryFlags: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display country flags in the country selection.'\n                                        )\n                                        .optional(),\n                                      defaultCountryConfig: z\n                                        .intersection(\n                                          z.object({\n                                            type: z\n                                              .enum([\n                                                'UNKNOWN_DEFAULT_COUNTRY',\n                                                'BY_IP',\n                                                'COUNTRY',\n                                              ])\n                                              .describe('Default country type.')\n                                              .optional(),\n                                          }),\n                                          z.xor([\n                                            z.object({\n                                              countryOptions: z\n                                                .never()\n                                                .optional(),\n                                            }),\n                                            z.object({\n                                              countryOptions: z\n                                                .string()\n                                                .describe(\n                                                  'Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Default country configuration for the address field.'\n                                        )\n                                        .optional(),\n                                      fieldSettings: z\n                                        .object({\n                                          addressLine2: z\n                                            .object({\n                                              show: z\n                                                .boolean()\n                                                .describe(\n                                                  'Whether to display the address line 2 field.'\n                                                )\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Configuration for the address line 2 field.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Fields settings.')\n                                        .optional(),\n                                      autocompleteEnabled: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether autocomplete is enabled for the address line field.'\n                                        )\n                                        .optional(),\n                                      showAddressLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the address labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the label.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Multiline address component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Address input field settings.'),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Configuration for input fields that collect user data.'\n                    ),\n                }),\n                z.object({\n                  inputOptions: z.never().optional(),\n                  displayOptions: z\n                    .intersection(\n                      z.object({\n                        displayFieldType: z\n                          .enum([\n                            'UNKNOWN_FIELD_TYPE',\n                            'RICH_CONTENT',\n                            'PAGE_NAVIGATION',\n                            'LOGIN_BAR',\n                          ])\n                          .describe(\n                            'Type of display field that determines its appearance and behavior.'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          richContentOptions: z.never().optional(),\n                          pageNavigationOptions: z.never().optional(),\n                        }),\n                        z.object({\n                          pageNavigationOptions: z.never().optional(),\n                          richContentOptions: z\n                            .object({\n                              richContent: z\n                                .any()\n                                .describe(\n                                  'Rich content to display in the field.'\n                                )\n                                .optional(),\n                              maxShownParagraphs: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of paragraphs to show initially.\\nAdditional content is hidden behind an expandable section. If not specified, all content is visible.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Configuration for rich content display fields.'\n                            ),\n                        }),\n                        z.object({\n                          richContentOptions: z.never().optional(),\n                          pageNavigationOptions: z\n                            .object({\n                              nextPageText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it navigates to the next page.\\nOnly applicable when the button is not on the final form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                              previousPageText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it navigates to the previous page.\\nOnly applicable when the button is not on the first form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                              submitText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it submits the form.\\nOnly applicable when the button is on the final form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Configuration for page navigation display fields such as navigation or submit buttons.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Configuration for display fields that show information without collecting input.'\n                    ),\n                }),\n              ])\n            )\n          )\n          .max(500)\n          .optional(),\n        steps: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Step 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              name: z\n                .string()\n                .describe('Name of the step.')\n                .max(200)\n                .optional()\n                .nullable(),\n              hidden: z\n                .boolean()\n                .describe('Whether the step is hidden.')\n                .optional(),\n              layout: z\n                .object({\n                  large: z\n                    .object({\n                      items: z\n                        .array(\n                          z.intersection(\n                            z.object({\n                              row: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Row position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              column: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Column position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              width: z\n                                .number()\n                                .int()\n                                .describe('Width of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                              height: z\n                                .number()\n                                .int()\n                                .describe('Height of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                            }),\n                            z.xor([\n                              z.object({ fieldId: z.never().optional() }),\n                              z.object({\n                                fieldId: z\n                                  .string()\n                                  .describe(\n                                    'ID of the form field to be positioned in the layout.'\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                        )\n                        .max(500)\n                        .optional(),\n                      columns: z\n                        .number()\n                        .int()\n                        .describe('Number of columns in the layout grid.')\n                        .optional()\n                        .nullable(),\n                      rowHeight: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Height of each row in the layout grid, measured in pixels.'\n                        )\n                        .optional()\n                        .nullable(),\n                      margin: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Margin spacing configuration for the form elements.'\n                        )\n                        .optional(),\n                      padding: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Padding spacing inside form elements in pixels.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Layout configuration for large screen breakpoints (desktop).'\n                    )\n                    .optional(),\n                  medium: z\n                    .object({\n                      items: z\n                        .array(\n                          z.intersection(\n                            z.object({\n                              row: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Row position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              column: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Column position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              width: z\n                                .number()\n                                .int()\n                                .describe('Width of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                              height: z\n                                .number()\n                                .int()\n                                .describe('Height of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                            }),\n                            z.xor([\n                              z.object({ fieldId: z.never().optional() }),\n                              z.object({\n                                fieldId: z\n                                  .string()\n                                  .describe(\n                                    'ID of the form field to be positioned in the layout.'\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                        )\n                        .max(500)\n                        .optional(),\n                      columns: z\n                        .number()\n                        .int()\n                        .describe('Number of columns in the layout grid.')\n                        .optional()\n                        .nullable(),\n                      rowHeight: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Height of each row in the layout grid, measured in pixels.'\n                        )\n                        .optional()\n                        .nullable(),\n                      margin: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Margin spacing configuration for the form elements.'\n                        )\n                        .optional(),\n                      padding: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Padding spacing inside form elements in pixels.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Layout configuration for medium screen breakpoints (tablet).'\n                    )\n                    .optional(),\n                  small: z\n                    .object({\n                      items: z\n                        .array(\n                          z.intersection(\n                            z.object({\n                              row: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Row position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              column: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Column position in the grid where this item is placed.'\n                                )\n                                .optional()\n                                .nullable(),\n                              width: z\n                                .number()\n                                .int()\n                                .describe('Width of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                              height: z\n                                .number()\n                                .int()\n                                .describe('Height of the item in grid units.')\n                                .optional()\n                                .nullable(),\n                            }),\n                            z.xor([\n                              z.object({ fieldId: z.never().optional() }),\n                              z.object({\n                                fieldId: z\n                                  .string()\n                                  .describe(\n                                    'ID of the form field to be positioned in the layout.'\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                        )\n                        .max(500)\n                        .optional(),\n                      columns: z\n                        .number()\n                        .int()\n                        .describe('Number of columns in the layout grid.')\n                        .optional()\n                        .nullable(),\n                      rowHeight: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Height of each row in the layout grid, measured in pixels.'\n                        )\n                        .optional()\n                        .nullable(),\n                      margin: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Margin spacing configuration for the form elements.'\n                        )\n                        .optional(),\n                      padding: z\n                        .object({\n                          horizontal: z\n                            .number()\n                            .int()\n                            .describe('Horizontal spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                          vertical: z\n                            .number()\n                            .int()\n                            .describe('Vertical spacing in pixels.')\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe(\n                          'Padding spacing inside form elements in pixels.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Layout configuration for small screen breakpoints (mobile).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Layout configuration that defines how form fields are arranged within this step.'\n                )\n                .optional(),\n            })\n          )\n          .max(100)\n          .optional(),\n        rules: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Rule 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              condition: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Condition that determines when this rule's overrides should be applied.\"\n                )\n                .optional()\n                .nullable(),\n              overrides: z\n                .array(\n                  z.object({\n                    entityType: z.enum(['UNKNOWN', 'FIELD']).optional(),\n                    entityId: z\n                      .string()\n                      .describe(\n                        'ID of the form element to modify.\\nFor nested form fields, use the format: \"{fieldIdWithNestedForm}/{nestedFormFieldId}\".'\n                      )\n                      .max(73)\n                      .optional()\n                      .nullable(),\n                    valueChanges: z\n                      .record(z.string(), z.any())\n                      .describe(\n                        'Property changes to apply to the form element when the rule condition is met.\\nEach key represents a property path, and the value is the new value to set.'\n                      )\n                      .optional(),\n                  })\n                )\n                .max(500)\n                .optional(),\n              name: z\n                .string()\n                .describe('Name for the rule.')\n                .max(200)\n                .optional()\n                .nullable(),\n              namespaceRule: z\n                .boolean()\n                .describe(\n                  'Namespace rules are part of business logic of app owning namespace, have limited editing possibilities'\n                )\n                .optional()\n                .nullable(),\n            })\n          )\n          .max(100)\n          .optional(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'Revision number, which increments by 1 each time the form schema is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the form schema.'\n          )\n          .optional()\n          .nullable(),\n        _createdDate: z\n          .date()\n          .describe('Date and time when the form schema was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time when the form schema was last updated.')\n          .optional()\n          .nullable(),\n        deletedFields: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Item 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              target: z\n                .string()\n                .describe(\n                  'Definition of a target where the value of field belongs.'\n                )\n                .max(200)\n                .optional()\n                .nullable(),\n              validation: z\n                .intersection(\n                  z.object({\n                    required: z\n                      .boolean()\n                      .describe('Whether the field is required.')\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                    }),\n                    z.object({\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                      string: z\n                        .intersection(\n                          z.object({\n                            minLength: z\n                              .number()\n                              .int()\n                              .describe('Minimum length.')\n                              .min(0)\n                              .max(20000)\n                              .optional()\n                              .nullable(),\n                            maxLength: z\n                              .number()\n                              .int()\n                              .describe('Maximum length.')\n                              .min(0)\n                              .max(20000)\n                              .optional()\n                              .nullable(),\n                            pattern: z\n                              .string()\n                              .describe(\n                                'Pattern for a regular expression match.'\n                              )\n                              .max(500)\n                              .optional()\n                              .nullable(),\n                            format: z\n                              .enum([\n                                'UNDEFINED',\n                                'DATE',\n                                'TIME',\n                                'DATE_TIME',\n                                'EMAIL',\n                                'URL',\n                                'UUID',\n                                'PHONE',\n                                'URI',\n                                'HOSTNAME',\n                                'COLOR_HEX',\n                                'CURRENCY',\n                                'LANGUAGE',\n                                'DATE_OPTIONAL_TIME',\n                              ])\n                              .describe('Format of a string.')\n                              .optional(),\n                            errorMessages: z\n                              .object({\n                                default: z\n                                  .string()\n                                  .describe(\n                                    'Default error message on invalid validation.'\n                                  )\n                                  .max(200)\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                'Custom error messages when validation fails.'\n                              )\n                              .optional(),\n                            enum: z.array(z.string()).max(500).optional(),\n                            validationMessages: z\n                              .object({\n                                pattern: z\n                                  .string()\n                                  .describe(\n                                    'Error message shown when validation of patter fails'\n                                  )\n                                  .max(200)\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                'User defined error messages when particular validation constraint fails'\n                              )\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              dateOptions: z.never().optional(),\n                              dateTimeOptions: z.never().optional(),\n                              timeOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z.never().optional(),\n                              phoneOptions: z.never().optional(),\n                            }),\n                            z.object({\n                              dateTimeOptions: z.never().optional(),\n                              timeOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z.never().optional(),\n                              phoneOptions: z.never().optional(),\n                              dateOptions: z\n                                .object({\n                                  availability: z\n                                    .object({\n                                      availableDates: z\n                                        .array(\n                                          z.object({\n                                            start: z\n                                              .string()\n                                              .describe(\n                                                'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                              )\n                                              .optional(),\n                                            end: z\n                                              .string()\n                                              .describe(\n                                                'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .min(0)\n                                        .max(5)\n                                        .optional(),\n                                      unavailableDates: z\n                                        .array(\n                                          z.object({\n                                            start: z\n                                              .string()\n                                              .describe(\n                                                'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                              )\n                                              .optional(),\n                                            end: z\n                                              .string()\n                                              .describe(\n                                                'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .min(0)\n                                        .max(5)\n                                        .optional(),\n                                      availableDays: z\n                                        .array(\n                                          z.enum([\n                                            'MONDAY',\n                                            'TUESDAY',\n                                            'WEDNESDAY',\n                                            'THURSDAY',\n                                            'FRIDAY',\n                                            'SATURDAY',\n                                            'SUNDAY',\n                                          ])\n                                        )\n                                        .min(0)\n                                        .max(7)\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                    )\n                                    .optional(),\n                                  minimum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                  maximum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe('DATE format options'),\n                            }),\n                            z.object({\n                              dateOptions: z.never().optional(),\n                              timeOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z.never().optional(),\n                              phoneOptions: z.never().optional(),\n                              dateTimeOptions: z\n                                .object({\n                                  minimum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                  maximum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe('DATE_TIME format options'),\n                            }),\n                            z.object({\n                              dateOptions: z.never().optional(),\n                              dateTimeOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z.never().optional(),\n                              phoneOptions: z.never().optional(),\n                              timeOptions: z\n                                .object({\n                                  minimum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                  maximum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe('TIME format options'),\n                            }),\n                            z.object({\n                              dateOptions: z.never().optional(),\n                              dateTimeOptions: z.never().optional(),\n                              timeOptions: z.never().optional(),\n                              phoneOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z\n                                .object({\n                                  minimum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                  maximum: z\n                                    .string()\n                                    .describe(\n                                      'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                    )\n                                    .max(50)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe('DATE_OPTIONAL_TIME format options'),\n                            }),\n                            z.object({\n                              dateOptions: z.never().optional(),\n                              dateTimeOptions: z.never().optional(),\n                              timeOptions: z.never().optional(),\n                              dateOptionalTimeOptions: z.never().optional(),\n                              phoneOptions: z\n                                .object({\n                                  allowedCountryCodes: z\n                                    .array(z.string())\n                                    .max(250)\n                                    .optional(),\n                                })\n                                .describe('PHONE format options'),\n                            }),\n                          ])\n                        )\n                        .describe('Validation of string type.'),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                      number: z\n                        .object({\n                          maximum: z\n                            .number()\n                            .describe('Inclusive maximum value.')\n                            .optional()\n                            .nullable(),\n                          minimum: z\n                            .number()\n                            .describe('Inclusive minimum value.')\n                            .optional()\n                            .nullable(),\n                          multipleOf: z\n                            .number()\n                            .describe('Multiple of value.')\n                            .optional()\n                            .nullable(),\n                          errorMessages: z\n                            .object({\n                              default: z\n                                .string()\n                                .describe(\n                                  'Default error message on invalid validation.'\n                                )\n                                .max(200)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Custom error message when validation fails.'\n                            )\n                            .optional(),\n                          enum: z.array(z.number()).max(500).optional(),\n                        })\n                        .describe('Validation of number type.'),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                      integer: z\n                        .object({\n                          maximum: z\n                            .number()\n                            .int()\n                            .describe('Minimum value.')\n                            .optional()\n                            .nullable(),\n                          minimum: z\n                            .number()\n                            .int()\n                            .describe('Maximum value.')\n                            .optional()\n                            .nullable(),\n                          multipleOf: z\n                            .number()\n                            .int()\n                            .describe('Multiple of value.')\n                            .optional()\n                            .nullable(),\n                          errorMessages: z\n                            .object({\n                              default: z\n                                .string()\n                                .describe(\n                                  'Default error message on invalid validation.'\n                                )\n                                .max(200)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Custom error message when validation fails.'\n                            )\n                            .optional(),\n                          enum: z.array(z.number().int()).max(500).optional(),\n                        })\n                        .describe('Validation of integer type.'),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                      boolean: z\n                        .object({\n                          errorMessages: z\n                            .object({\n                              default: z\n                                .string()\n                                .describe(\n                                  'Default error message on invalid validation.'\n                                )\n                                .max(200)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Custom error message when validation fails.'\n                            )\n                            .optional(),\n                          enum: z.array(z.boolean()).max(2).optional(),\n                        })\n                        .describe('Validation of boolean type.'),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z.never().optional(),\n                      array: wixFormsV4FormFieldArrayTypeSchema.describe(\n                        'Validation of array type.'\n                      ),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      predefined: z.never().optional(),\n                      object: z\n                        .object({\n                          properties: z\n                            .record(\n                              z.string(),\n                              z.intersection(\n                                z.object({\n                                  required: z\n                                    .boolean()\n                                    .describe(\n                                      'Whether the property is required.'\n                                    )\n                                    .optional(),\n                                }),\n                                z.xor([\n                                  z.object({\n                                    string: z.never().optional(),\n                                    number: z.never().optional(),\n                                    boolean: z.never().optional(),\n                                    integer: z.never().optional(),\n                                    array: z.never().optional(),\n                                  }),\n                                  z.object({\n                                    number: z.never().optional(),\n                                    boolean: z.never().optional(),\n                                    integer: z.never().optional(),\n                                    array: z.never().optional(),\n                                    string: z\n                                      .intersection(\n                                        z.object({\n                                          minLength: z\n                                            .number()\n                                            .int()\n                                            .describe('Minimum length.')\n                                            .min(0)\n                                            .max(20000)\n                                            .optional()\n                                            .nullable(),\n                                          maxLength: z\n                                            .number()\n                                            .int()\n                                            .describe('Maximum length.')\n                                            .min(0)\n                                            .max(20000)\n                                            .optional()\n                                            .nullable(),\n                                          pattern: z\n                                            .string()\n                                            .describe(\n                                              'Pattern for a regular expression match.'\n                                            )\n                                            .max(500)\n                                            .optional()\n                                            .nullable(),\n                                          format: z\n                                            .enum([\n                                              'UNDEFINED',\n                                              'DATE',\n                                              'TIME',\n                                              'DATE_TIME',\n                                              'EMAIL',\n                                              'URL',\n                                              'UUID',\n                                              'PHONE',\n                                              'URI',\n                                              'HOSTNAME',\n                                              'COLOR_HEX',\n                                              'CURRENCY',\n                                              'LANGUAGE',\n                                              'DATE_OPTIONAL_TIME',\n                                            ])\n                                            .describe('Format of a string.')\n                                            .optional(),\n                                          errorMessages: z\n                                            .object({\n                                              default: z\n                                                .string()\n                                                .describe(\n                                                  'Default error message on invalid validation.'\n                                                )\n                                                .max(200)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Custom error messages when validation fails.'\n                                            )\n                                            .optional(),\n                                          enum: z\n                                            .array(z.string())\n                                            .max(500)\n                                            .optional(),\n                                          validationMessages: z\n                                            .object({\n                                              pattern: z\n                                                .string()\n                                                .describe(\n                                                  'Error message shown when validation of patter fails'\n                                                )\n                                                .max(200)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'User defined error messages when particular validation constraint fails'\n                                            )\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            dateOptions: z.never().optional(),\n                                            dateTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            timeOptions: z.never().optional(),\n                                            dateOptionalTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            phoneOptions: z.never().optional(),\n                                          }),\n                                          z.object({\n                                            dateTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            timeOptions: z.never().optional(),\n                                            dateOptionalTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            phoneOptions: z.never().optional(),\n                                            dateOptions: z\n                                              .object({\n                                                availability: z\n                                                  .object({\n                                                    availableDates: z\n                                                      .array(\n                                                        z.object({\n                                                          start: z\n                                                            .string()\n                                                            .describe(\n                                                              'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                            )\n                                                            .optional(),\n                                                          end: z\n                                                            .string()\n                                                            .describe(\n                                                              'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                            )\n                                                            .optional(),\n                                                        })\n                                                      )\n                                                      .min(0)\n                                                      .max(5)\n                                                      .optional(),\n                                                    unavailableDates: z\n                                                      .array(\n                                                        z.object({\n                                                          start: z\n                                                            .string()\n                                                            .describe(\n                                                              'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                            )\n                                                            .optional(),\n                                                          end: z\n                                                            .string()\n                                                            .describe(\n                                                              'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                            )\n                                                            .optional(),\n                                                        })\n                                                      )\n                                                      .min(0)\n                                                      .max(5)\n                                                      .optional(),\n                                                    availableDays: z\n                                                      .array(\n                                                        z.enum([\n                                                          'MONDAY',\n                                                          'TUESDAY',\n                                                          'WEDNESDAY',\n                                                          'THURSDAY',\n                                                          'FRIDAY',\n                                                          'SATURDAY',\n                                                          'SUNDAY',\n                                                        ])\n                                                      )\n                                                      .min(0)\n                                                      .max(7)\n                                                      .optional(),\n                                                  })\n                                                  .describe(\n                                                    'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                  )\n                                                  .optional(),\n                                                minimum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe('DATE format options'),\n                                          }),\n                                          z.object({\n                                            dateOptions: z.never().optional(),\n                                            timeOptions: z.never().optional(),\n                                            dateOptionalTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            phoneOptions: z.never().optional(),\n                                            dateTimeOptions: z\n                                              .object({\n                                                minimum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe(\n                                                'DATE_TIME format options'\n                                              ),\n                                          }),\n                                          z.object({\n                                            dateOptions: z.never().optional(),\n                                            dateTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            dateOptionalTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            phoneOptions: z.never().optional(),\n                                            timeOptions: z\n                                              .object({\n                                                minimum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe('TIME format options'),\n                                          }),\n                                          z.object({\n                                            dateOptions: z.never().optional(),\n                                            dateTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            timeOptions: z.never().optional(),\n                                            phoneOptions: z.never().optional(),\n                                            dateOptionalTimeOptions: z\n                                              .object({\n                                                minimum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .string()\n                                                  .describe(\n                                                    'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                  )\n                                                  .max(50)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe(\n                                                'DATE_OPTIONAL_TIME format options'\n                                              ),\n                                          }),\n                                          z.object({\n                                            dateOptions: z.never().optional(),\n                                            dateTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            timeOptions: z.never().optional(),\n                                            dateOptionalTimeOptions: z\n                                              .never()\n                                              .optional(),\n                                            phoneOptions: z\n                                              .object({\n                                                allowedCountryCodes: z\n                                                  .array(z.string())\n                                                  .max(250)\n                                                  .optional(),\n                                              })\n                                              .describe('PHONE format options'),\n                                          }),\n                                        ])\n                                      )\n                                      .describe(\n                                        'String type validation for property.'\n                                      ),\n                                  }),\n                                  z.object({\n                                    string: z.never().optional(),\n                                    boolean: z.never().optional(),\n                                    integer: z.never().optional(),\n                                    array: z.never().optional(),\n                                    number: z\n                                      .object({\n                                        maximum: z\n                                          .number()\n                                          .describe('Inclusive maximum value.')\n                                          .optional()\n                                          .nullable(),\n                                        minimum: z\n                                          .number()\n                                          .describe('Inclusive minimum value.')\n                                          .optional()\n                                          .nullable(),\n                                        multipleOf: z\n                                          .number()\n                                          .describe('Multiple of value.')\n                                          .optional()\n                                          .nullable(),\n                                        errorMessages: z\n                                          .object({\n                                            default: z\n                                              .string()\n                                              .describe(\n                                                'Default error message on invalid validation.'\n                                              )\n                                              .max(200)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Custom error message when validation fails.'\n                                          )\n                                          .optional(),\n                                        enum: z\n                                          .array(z.number())\n                                          .max(500)\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        'Number type validation for property.'\n                                      ),\n                                  }),\n                                  z.object({\n                                    string: z.never().optional(),\n                                    number: z.never().optional(),\n                                    integer: z.never().optional(),\n                                    array: z.never().optional(),\n                                    boolean: z\n                                      .object({\n                                        errorMessages: z\n                                          .object({\n                                            default: z\n                                              .string()\n                                              .describe(\n                                                'Default error message on invalid validation.'\n                                              )\n                                              .max(200)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Custom error message when validation fails.'\n                                          )\n                                          .optional(),\n                                        enum: z\n                                          .array(z.boolean())\n                                          .max(2)\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        'Boolean type validation for property.'\n                                      ),\n                                  }),\n                                  z.object({\n                                    string: z.never().optional(),\n                                    number: z.never().optional(),\n                                    boolean: z.never().optional(),\n                                    array: z.never().optional(),\n                                    integer: z\n                                      .object({\n                                        maximum: z\n                                          .number()\n                                          .int()\n                                          .describe('Minimum value.')\n                                          .optional()\n                                          .nullable(),\n                                        minimum: z\n                                          .number()\n                                          .int()\n                                          .describe('Maximum value.')\n                                          .optional()\n                                          .nullable(),\n                                        multipleOf: z\n                                          .number()\n                                          .int()\n                                          .describe('Multiple of value.')\n                                          .optional()\n                                          .nullable(),\n                                        errorMessages: z\n                                          .object({\n                                            default: z\n                                              .string()\n                                              .describe(\n                                                'Default error message on invalid validation.'\n                                              )\n                                              .max(200)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Custom error message when validation fails.'\n                                          )\n                                          .optional(),\n                                        enum: z\n                                          .array(z.number().int())\n                                          .max(500)\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        'Integer type validation for property.'\n                                      ),\n                                  }),\n                                  z.object({\n                                    string: z.never().optional(),\n                                    number: z.never().optional(),\n                                    boolean: z.never().optional(),\n                                    integer: z.never().optional(),\n                                    array: z\n                                      .lazy(\n                                        () => wixFormsV4FormFieldArrayTypeSchema\n                                      )\n                                      .describe(\n                                        'Array type validation for property.'\n                                      ),\n                                  }),\n                                ])\n                              )\n                            )\n                            .describe('Description of object properties.')\n                            .optional(),\n                          errorMessages: z\n                            .object({\n                              default: z\n                                .string()\n                                .describe(\n                                  'Default error message on invalid validation.'\n                                )\n                                .max(200)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Custom error message when validation fails.'\n                            )\n                            .optional(),\n                        })\n                        .describe('Validation of object type.'),\n                    }),\n                    z.object({\n                      string: z.never().optional(),\n                      number: z.never().optional(),\n                      integer: z.never().optional(),\n                      boolean: z.never().optional(),\n                      array: z.never().optional(),\n                      object: z.never().optional(),\n                      predefined: z\n                        .intersection(\n                          z.object({\n                            format: z\n                              .enum([\n                                'UNDEFINED',\n                                'WIX_FILE',\n                                'PAYMENT',\n                                'MULTILINE_ADDRESS',\n                                'SCHEDULING',\n                                'OBJECT_ARRAY',\n                              ])\n                              .describe('Format of predefined validation.')\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              paymentOptions: z.never().optional(),\n                              multilineAddressOptions: z.never().optional(),\n                              objectArrayOptions: z.never().optional(),\n                            }),\n                            z.object({\n                              multilineAddressOptions: z.never().optional(),\n                              objectArrayOptions: z.never().optional(),\n                              paymentOptions: z\n                                .object({\n                                  products: z\n                                    .array(\n                                      z.intersection(\n                                        z.object({\n                                          _id: z\n                                            .string()\n                                            .describe('Product 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                                          productType: z\n                                            .enum(['SHIPPABLE', 'DIGITAL'])\n                                            .optional(),\n                                          priceType: z\n                                            .enum([\n                                              'FIXED_PRICE',\n                                              'DYNAMIC_PRICE',\n                                            ])\n                                            .optional(),\n                                          quantityLimit: z\n                                            .object({\n                                              minimum: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Minimum quantity that must be selected for this product.'\n                                                )\n                                                .min(1)\n                                                .max(100000)\n                                                .optional()\n                                                .nullable(),\n                                              maximum: z\n                                                .number()\n                                                .int()\n                                                .describe(\n                                                  'Maximum quantity that can be selected for this product.'\n                                                )\n                                                .min(1)\n                                                .max(100000)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Limits on how many units of this product can be selected.'\n                                            )\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            fixedPriceOptions: z\n                                              .never()\n                                              .optional(),\n                                            dynamicPriceOptions: z\n                                              .never()\n                                              .optional(),\n                                          }),\n                                          z.object({\n                                            dynamicPriceOptions: z\n                                              .never()\n                                              .optional(),\n                                            fixedPriceOptions: z\n                                              .object({\n                                                price: z\n                                                  .string()\n                                                  .describe(\n                                                    'Fixed price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"3.99\"`.'\n                                                  )\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Configuration for products with fixed pricing.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            fixedPriceOptions: z\n                                              .never()\n                                              .optional(),\n                                            dynamicPriceOptions: z\n                                              .object({\n                                                minPrice: z\n                                                  .string()\n                                                  .describe(\n                                                    'Minimum price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"1.00\"`.'\n                                                  )\n                                                  .optional(),\n                                                maxPrice: z\n                                                  .string()\n                                                  .describe(\n                                                    'Maximum monetary price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"10.00\"`.\\n\\nIf not specified, there is no upper limit on the price.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe(\n                                                'Configuration for products with variable pricing within a range.'\n                                              ),\n                                          }),\n                                        ])\n                                      )\n                                    )\n                                    .min(1)\n                                    .max(100)\n                                    .optional(),\n                                  minItems: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minimum number of different products that must be selected.'\n                                    )\n                                    .min(0)\n                                    .max(100)\n                                    .optional()\n                                    .nullable(),\n                                  maxItems: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Maximum number of different products that can be selected.'\n                                    )\n                                    .min(0)\n                                    .max(100)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe('Payment input field.'),\n                            }),\n                            z.object({\n                              paymentOptions: z.never().optional(),\n                              objectArrayOptions: z.never().optional(),\n                              multilineAddressOptions: z\n                                .object({\n                                  allowedCountries: z\n                                    .array(z.string())\n                                    .min(0)\n                                    .max(200)\n                                    .optional(),\n                                  fields: z\n                                    .object({\n                                      subdivision: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Subdivision settings.')\n                                        .optional(),\n                                      city: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('City settings.')\n                                        .optional(),\n                                      postalCode: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Postal code settings.')\n                                        .optional(),\n                                      streetName: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Street name settings.')\n                                        .optional(),\n                                      streetNumber: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Street number settings.')\n                                        .optional(),\n                                      addressLine: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Address line settings.')\n                                        .optional(),\n                                      addressLine2: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Address line 2 settings.')\n                                        .optional(),\n                                      country: z\n                                        .object({\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the field is required.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Country settings.')\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Customization configuration for individual address field components.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe('Multiline address validation.'),\n                            }),\n                            z.object({\n                              paymentOptions: z.never().optional(),\n                              multilineAddressOptions: z.never().optional(),\n                              objectArrayOptions: z\n                                .object({\n                                  maxItems: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Maximum number of elements allowed in the array.'\n                                    )\n                                    .min(0)\n                                    .max(1000)\n                                    .optional()\n                                    .nullable(),\n                                  minItems: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minimum number of elements required in the array.'\n                                    )\n                                    .min(0)\n                                    .max(1000)\n                                    .optional()\n                                    .nullable(),\n                                })\n                                .describe(\n                                  'Validation configuration for the object array input.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe('Predefined validation of specific format'),\n                    }),\n                  ])\n                )\n                .describe('Validation of field output value.')\n                .optional(),\n              pii: z\n                .boolean()\n                .describe(\n                  'Mark the field as containing personal information. This will encrypt user data when storing it.'\n                )\n                .optional(),\n              hidden: z\n                .boolean()\n                .describe('Whether the field is hidden.')\n                .optional(),\n              view: z\n                .record(z.string(), z.any())\n                .describe('Field view properties.')\n                .optional()\n                .nullable(),\n              dataExtensionsDetails: z\n                .object({ fqdns: z.array(z.string()).max(10).optional() })\n                .describe(\n                  'Details identifying field, which is extension of other entity'\n                )\n                .optional(),\n              readOnly: z\n                .boolean()\n                .describe('Whether the field is read only.\\nDefault: false')\n                .optional(),\n            })\n          )\n          .max(150)\n          .optional(),\n        deletedFormFields: z\n          .array(\n            z.intersection(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Field 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                hidden: z\n                  .boolean()\n                  .describe(\n                    'Whether the field is hidden from submitters.\\n\\nDefault: `false`'\n                  )\n                  .optional(),\n                identifier: z\n                  .string()\n                  .describe(\n                    'Custom identification for the field. This is intended as a way for you to identify certain fields that you want to apply special behavior to in your own logic.'\n                  )\n                  .max(50)\n                  .optional()\n                  .nullable(),\n                fieldType: z\n                  .enum(['UNKNOWN_FIELD_TYPE', 'INPUT', 'DISPLAY'])\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  inputOptions: z.never().optional(),\n                  displayOptions: z.never().optional(),\n                }),\n                z.object({\n                  displayOptions: z.never().optional(),\n                  inputOptions: z\n                    .intersection(\n                      z.object({\n                        target: z\n                          .string()\n                          .describe(\n                            'Human readable identifier used to reference a field. For example, `\"address\"`.\\n\\nCan be set once.'\n                          )\n                          .min(1)\n                          .max(200)\n                          .optional(),\n                        pii: z\n                          .boolean()\n                          .describe(\n                            'Whether this field contains Personally Identifiable Information (PII).\\n\\nPII fields are automatically encrypted when stored.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                        required: z\n                          .boolean()\n                          .describe(\n                            'Whether the field is required for form submission.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                        inputType: z\n                          .enum([\n                            'UNKNOWN_INPUT_TYPE',\n                            'STRING',\n                            'NUMBER',\n                            'BOOLEAN',\n                            'ARRAY',\n                            'OBJECT',\n                            'WIX_FILE',\n                            'PAYMENT',\n                            'SCHEDULING',\n                            'ADDRESS',\n                          ])\n                          .describe(\n                            'Type of the input field that determines what kind of data it collects.'\n                          )\n                          .optional(),\n                        contactMapping: z\n                          .intersection(\n                            z.object({\n                              contactField: z\n                                .enum([\n                                  'FIRST_NAME',\n                                  'LAST_NAME',\n                                  'COMPANY',\n                                  'POSITION',\n                                  'EMAIL',\n                                  'PHONE',\n                                  'ADDRESS',\n                                  'BIRTHDATE',\n                                  'CUSTOM_FIELD',\n                                  'SUBSCRIPTION',\n                                  'VAT_ID',\n                                ])\n                                .describe(\n                                  'The [Contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/introduction) field that this form field maps to.'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                              }),\n                              z.object({\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                emailInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'MAIN'])\n                                      .describe('Email categorization tag.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for email contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                phoneInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'MAIN'])\n                                      .describe(\n                                        'Phone number categorization tag.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for phone contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                addressInfo: z\n                                  .object({\n                                    tag: z\n                                      .enum(['UNTAGGED', 'HOME'])\n                                      .describe('Address categorization tag.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for address contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                subscriptionInfo: z.never().optional(),\n                                customFieldInfo: z\n                                  .object({\n                                    key: z\n                                      .string()\n                                      .describe('Custom field key.')\n                                      .min(1)\n                                      .max(500)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for custom contact fields.'\n                                  ),\n                              }),\n                              z.object({\n                                emailInfo: z.never().optional(),\n                                phoneInfo: z.never().optional(),\n                                addressInfo: z.never().optional(),\n                                customFieldInfo: z.never().optional(),\n                                subscriptionInfo: z\n                                  .object({\n                                    confirmationLevel: z\n                                      .enum([\n                                        'UNKNOWN_CONFIRMATION_LEVEL',\n                                        'SINGLE_CONFIRMATION',\n                                        'DOUBLE_CONFIRMATION',\n                                      ])\n                                      .describe(\n                                        'Subscription consent opt-in level, either single or double confirmation.\\nDefault: `SINGLE_CONFIRMATION`'\n                                      )\n                                      .optional(),\n                                    subscriptionChannels: z\n                                      .array(z.enum(['EMAIL', 'SMS']))\n                                      .max(2)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for subscription contact fields.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Mapping configuration for automatically saving field values to contact properties.\\n\\nWhen specified, form submissions automatically create or update contacts with the field data.'\n                          )\n                          .optional(),\n                        readOnly: z\n                          .boolean()\n                          .describe(\n                            'Whether the field is read-only.\\n\\nDefault: `false`'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                        }),\n                        z.object({\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          stringOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .intersection(\n                                    z.object({\n                                      minLength: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Minimum required length for the string value.'\n                                        )\n                                        .min(0)\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      maxLength: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Maximum allowed length for the string value.'\n                                        )\n                                        .min(0)\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      pattern: z\n                                        .string()\n                                        .describe(\n                                          'Regular expression pattern that the string value must match.'\n                                        )\n                                        .max(500)\n                                        .optional()\n                                        .nullable(),\n                                      format: z\n                                        .enum([\n                                          'UNKNOWN_FORMAT',\n                                          'DATE',\n                                          'TIME',\n                                          'DATE_TIME',\n                                          'EMAIL',\n                                          'URL',\n                                          'UUID',\n                                          'PHONE',\n                                          'URI',\n                                          'HOSTNAME',\n                                          'COLOR_HEX',\n                                          'CURRENCY',\n                                          'LANGUAGE',\n                                          'DATE_OPTIONAL_TIME',\n                                        ])\n                                        .describe(\n                                          'Expected format of the string value.'\n                                        )\n                                        .optional(),\n                                      enum: z\n                                        .array(z.string())\n                                        .max(500)\n                                        .optional(),\n                                      validationMessages: z\n                                        .object({\n                                          pattern: z\n                                            .string()\n                                            .describe(\n                                              \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                            )\n                                            .max(200)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom error messages displayed when validation fails.'\n                                        )\n                                        .optional(),\n                                    }),\n                                    z.xor([\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateOptions: z\n                                          .object({\n                                            availability: z\n                                              .object({\n                                                availableDates: z\n                                                  .array(\n                                                    z.object({\n                                                      start: z\n                                                        .string()\n                                                        .describe(\n                                                          'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                      end: z\n                                                        .string()\n                                                        .describe(\n                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                    })\n                                                  )\n                                                  .min(0)\n                                                  .max(5)\n                                                  .optional(),\n                                                unavailableDates: z\n                                                  .array(\n                                                    z.object({\n                                                      start: z\n                                                        .string()\n                                                        .describe(\n                                                          'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                      end: z\n                                                        .string()\n                                                        .describe(\n                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                        )\n                                                        .optional(),\n                                                    })\n                                                  )\n                                                  .min(0)\n                                                  .max(5)\n                                                  .optional(),\n                                                availableDays: z\n                                                  .array(\n                                                    z.enum([\n                                                      'MONDAY',\n                                                      'TUESDAY',\n                                                      'WEDNESDAY',\n                                                      'THURSDAY',\n                                                      'FRIDAY',\n                                                      'SATURDAY',\n                                                      'SUNDAY',\n                                                    ])\n                                                  )\n                                                  .min(0)\n                                                  .max(7)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                              )\n                                              .optional(),\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with date format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateTimeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with date and time format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z.never().optional(),\n                                        timeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with time format.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        phoneOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .object({\n                                            minimum: z\n                                              .string()\n                                              .describe(\n                                                'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                            maximum: z\n                                              .string()\n                                              .describe(\n                                                'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                              )\n                                              .max(50)\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                          .describe(\n                                            'Validation rules for string with date and time format, where time is optional.'\n                                          ),\n                                      }),\n                                      z.object({\n                                        dateOptions: z.never().optional(),\n                                        dateTimeOptions: z.never().optional(),\n                                        timeOptions: z.never().optional(),\n                                        dateOptionalTimeOptions: z\n                                          .never()\n                                          .optional(),\n                                        phoneOptions: z\n                                          .object({\n                                            allowedCountryCodes: z\n                                              .array(z.string())\n                                              .max(250)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Validation rules for strings with phone number format.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                  .describe(\n                                    'Validation configuration for the string input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'TEXT_INPUT',\n                                    'RADIO_GROUP',\n                                    'DROPDOWN',\n                                    'DATE_TIME',\n                                    'PHONE_INPUT',\n                                    'DATE_INPUT',\n                                    'TIME_INPUT',\n                                    'DATE_PICKER',\n                                    'SERVICES_DROPDOWN',\n                                    'PASSWORD',\n                                  ])\n                                  .describe(\n                                    'Component type of the string input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  textInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\\nUseful for providing a hint about the expected format or content.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Text input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  radioGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .max(20000)\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Radio group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dropdownOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .max(20000)\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no option is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Dropdown component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dateTimeOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      use24HourFormat: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to use 24-hour time format.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date-time format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                      showDateLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the date labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Date and time input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  phoneInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      defaultCountryCode: z\n                                        .string()\n                                        .describe(\n                                          'Default country code for the phone number input. Two-letter country code in ISO-3166 alpha-2 format.'\n                                        )\n                                        .min(1)\n                                        .max(5)\n                                        .optional()\n                                        .nullable(),\n                                      showCountryFlag: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the country flag next to the country code.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Phone input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  dateInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                      showDateLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the date labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe('Date input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  timeInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe('Field description.')\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showPlaceholder: z\n                                        .boolean()\n                                        .describe(\n                                          \"Whether to display placeholder text in the field when it's empty.\\n\\nDefault: `true`\"\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      use24HourFormat: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to use 24-hour time format.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO time format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Time input component settings.'),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  datePickerOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no date is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      firstDayOfWeek: z\n                                        .enum(['MONDAY', 'SUNDAY'])\n                                        .describe(\n                                          'First day of the week displayed on the date picker.'\n                                        )\n                                        .optional(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.\\nSupports static constrains defined as ISO date format, as well as dynamic calculations using special keywords\\nsuch as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                        )\n                                        .max(50)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Date picker component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  passwordOptions: z.never().optional(),\n                                  servicesDropdownOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          'Placeholder text shown when no service is selected.'\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe('Service name/label')\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations. Corresponds to the Service ID.'\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                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option value, which is saved to DB. Corresponds to the Service ID.'\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                                        )\n                                        .max(400)\n                                        .optional(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Services dropdown component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  textInputOptions: z.never().optional(),\n                                  radioGroupOptions: z.never().optional(),\n                                  dropdownOptions: z.never().optional(),\n                                  dateTimeOptions: z.never().optional(),\n                                  phoneInputOptions: z.never().optional(),\n                                  dateInputOptions: z.never().optional(),\n                                  timeInputOptions: z.never().optional(),\n                                  datePickerOptions: z.never().optional(),\n                                  servicesDropdownOptions: z.never().optional(),\n                                  passwordOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\\nUseful for providing a hint about the expected format or content.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .string()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .max(20000)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Password component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('String input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          numberOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    maximum: z\n                                      .number()\n                                      .describe(\n                                        'The maximum value of the number. Inclusive.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    minimum: z\n                                      .number()\n                                      .describe(\n                                        'The minimum value of the number. Inclusive.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    multipleOf: z\n                                      .number()\n                                      .describe(\n                                        'A number that the value must be a multiple of.'\n                                      )\n                                      .optional()\n                                      .nullable(),\n                                    enum: z\n                                      .array(z.number())\n                                      .max(500)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the number input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'NUMBER_INPUT',\n                                    'RATING_INPUT',\n                                  ])\n                                  .describe(\n                                    'Component type of the number input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  numberInputOptions: z.never().optional(),\n                                  ratingInputOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  ratingInputOptions: z.never().optional(),\n                                  numberInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .number()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Number input settings.'),\n                                }),\n                                z.object({\n                                  numberInputOptions: z.never().optional(),\n                                  ratingInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      defaultValue: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Default rating value for the field.'\n                                        )\n                                        .min(1)\n                                        .max(5)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Rating input settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('Number input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          booleanOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    enum: z\n                                      .array(z.boolean())\n                                      .max(2)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the boolean input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum(['UNKNOWN_COMPONENT_TYPE', 'CHECKBOX'])\n                                  .describe(\n                                    'Component type of the boolean input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  checkboxOptions: z\n                                    .object({\n                                      label: z\n                                        .any()\n                                        .describe('Field label.')\n                                        .optional(),\n                                      checked: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether the checkbox is selected by default when the form loads.\\n\\nDefault: `false`'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Checkbox component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe('Boolean input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          arrayOptions: z\n                            .intersection(\n                              z.object({\n                                validation: z\n                                  .object({\n                                    maxItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of elements allowed in the array.'\n                                      )\n                                      .min(0)\n                                      .max(1000)\n                                      .optional()\n                                      .nullable(),\n                                    minItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Minimum number of elements required in the array.'\n                                      )\n                                      .min(0)\n                                      .max(1000)\n                                      .optional()\n                                      .nullable(),\n                                    items: z\n                                      .intersection(\n                                        z.object({\n                                          itemType: z\n                                            .enum([\n                                              'STRING',\n                                              'NUMBER',\n                                              'BOOLEAN',\n                                            ])\n                                            .describe('Allowed item type.')\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                          }),\n                                          z.object({\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            stringOptions: z\n                                              .intersection(\n                                                z.object({\n                                                  minLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Minimum required length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  maxLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Maximum allowed length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  pattern: z\n                                                    .string()\n                                                    .describe(\n                                                      'Regular expression pattern that the string value must match.'\n                                                    )\n                                                    .max(500)\n                                                    .optional()\n                                                    .nullable(),\n                                                  format: z\n                                                    .enum([\n                                                      'UNKNOWN_FORMAT',\n                                                      'DATE',\n                                                      'TIME',\n                                                      'DATE_TIME',\n                                                      'EMAIL',\n                                                      'URL',\n                                                      'UUID',\n                                                      'PHONE',\n                                                      'URI',\n                                                      'HOSTNAME',\n                                                      'COLOR_HEX',\n                                                      'CURRENCY',\n                                                      'LANGUAGE',\n                                                      'DATE_OPTIONAL_TIME',\n                                                    ])\n                                                    .describe(\n                                                      'Expected format of the string value.'\n                                                    )\n                                                    .optional(),\n                                                  enum: z\n                                                    .array(z.string())\n                                                    .max(500)\n                                                    .optional(),\n                                                  validationMessages: z\n                                                    .object({\n                                                      pattern: z\n                                                        .string()\n                                                        .describe(\n                                                          \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                        )\n                                                        .max(200)\n                                                        .optional()\n                                                        .nullable(),\n                                                    })\n                                                    .describe(\n                                                      'Custom error messages displayed when validation fails.'\n                                                    )\n                                                    .optional(),\n                                                }),\n                                                z.xor([\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                  }),\n                                                  z.object({\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptions: z\n                                                      .object({\n                                                        availability: z\n                                                          .object({\n                                                            availableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            unavailableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            availableDays: z\n                                                              .array(\n                                                                z.enum([\n                                                                  'MONDAY',\n                                                                  'TUESDAY',\n                                                                  'WEDNESDAY',\n                                                                  'THURSDAY',\n                                                                  'FRIDAY',\n                                                                  'SATURDAY',\n                                                                  'SUNDAY',\n                                                                ])\n                                                              )\n                                                              .min(0)\n                                                              .max(7)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                          )\n                                                          .optional(),\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date and time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for string with date and time format, where time is optional.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .object({\n                                                        allowedCountryCodes: z\n                                                          .array(z.string())\n                                                          .max(250)\n                                                          .optional(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with phone number format.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Validation rules for string array elements.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            numberOptions: z\n                                              .object({\n                                                maximum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The maximum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                minimum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The minimum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                multipleOf: z\n                                                  .number()\n                                                  .describe(\n                                                    'A number that the value must be a multiple of.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                enum: z\n                                                  .array(z.number())\n                                                  .max(500)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for numeric array elements.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .object({\n                                                enum: z\n                                                  .array(z.boolean())\n                                                  .max(2)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for boolean array elements.'\n                                              ),\n                                          }),\n                                        ])\n                                      )\n                                      .describe(\n                                        'Type of items allowed in the array.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the array input.'\n                                  )\n                                  .optional(),\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'CHECKBOX_GROUP',\n                                    'TAGS',\n                                    'SERVICES_CHECKBOX_GROUP',\n                                  ])\n                                  .describe(\n                                    'Component type of the array input field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                }),\n                                z.object({\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                  checkboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with this option.'\n                                              )\n                                              .optional(),\n                                            showLabel: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether to display the option label.\\n\\nDefault: `true`'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Checkbox group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .never()\n                                    .optional(),\n                                  tagsOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                'Value stored on submission when this option is selected.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Flag identifying that option should be selected by default.'\n                                              )\n                                              .optional(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with the option, such as an image.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media item. Media, associated with field, like image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media item.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Tags component settings.'),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  tagsOptions: z.never().optional(),\n                                  servicesCheckboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Label of the field')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe('Description of the field')\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe('Service name/label')\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option id. Used as binding for translations. Corresponds to the Service ID.'\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                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option value, which is saved to DB. Corresponds to the Service ID.'\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                                        )\n                                        .max(100)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying to hide or not label\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Option which can be specified by UoU, enabled when this object is specified.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\nDefault: ONE'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Services checkbox group input field'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Array input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          objectOptions: z\n                            .object({\n                              validation: z\n                                .object({\n                                  properties: z\n                                    .record(\n                                      z.string(),\n                                      z.intersection(\n                                        z.object({\n                                          propertiesType: z\n                                            .enum([\n                                              'STRING',\n                                              'NUMBER',\n                                              'BOOLEAN',\n                                              'ARRAY',\n                                            ])\n                                            .optional(),\n                                          required: z\n                                            .boolean()\n                                            .describe(\n                                              'Whether the object property is required for validation.'\n                                            )\n                                            .optional(),\n                                        }),\n                                        z.xor([\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                          }),\n                                          z.object({\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                            stringOptions: z\n                                              .intersection(\n                                                z.object({\n                                                  minLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Minimum required length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  maxLength: z\n                                                    .number()\n                                                    .int()\n                                                    .describe(\n                                                      'Maximum allowed length for the string value.'\n                                                    )\n                                                    .min(0)\n                                                    .max(20000)\n                                                    .optional()\n                                                    .nullable(),\n                                                  pattern: z\n                                                    .string()\n                                                    .describe(\n                                                      'Regular expression pattern that the string value must match.'\n                                                    )\n                                                    .max(500)\n                                                    .optional()\n                                                    .nullable(),\n                                                  format: z\n                                                    .enum([\n                                                      'UNKNOWN_FORMAT',\n                                                      'DATE',\n                                                      'TIME',\n                                                      'DATE_TIME',\n                                                      'EMAIL',\n                                                      'URL',\n                                                      'UUID',\n                                                      'PHONE',\n                                                      'URI',\n                                                      'HOSTNAME',\n                                                      'COLOR_HEX',\n                                                      'CURRENCY',\n                                                      'LANGUAGE',\n                                                      'DATE_OPTIONAL_TIME',\n                                                    ])\n                                                    .describe(\n                                                      'Expected format of the string value.'\n                                                    )\n                                                    .optional(),\n                                                  enum: z\n                                                    .array(z.string())\n                                                    .max(500)\n                                                    .optional(),\n                                                  validationMessages: z\n                                                    .object({\n                                                      pattern: z\n                                                        .string()\n                                                        .describe(\n                                                          \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                        )\n                                                        .max(200)\n                                                        .optional()\n                                                        .nullable(),\n                                                    })\n                                                    .describe(\n                                                      'Custom error messages displayed when validation fails.'\n                                                    )\n                                                    .optional(),\n                                                }),\n                                                z.xor([\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                  }),\n                                                  z.object({\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptions: z\n                                                      .object({\n                                                        availability: z\n                                                          .object({\n                                                            availableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            unavailableDates: z\n                                                              .array(\n                                                                z.object({\n                                                                  start: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                  end: z\n                                                                    .string()\n                                                                    .describe(\n                                                                      'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                    )\n                                                                    .optional(),\n                                                                })\n                                                              )\n                                                              .min(0)\n                                                              .max(5)\n                                                              .optional(),\n                                                            availableDays: z\n                                                              .array(\n                                                                z.enum([\n                                                                  'MONDAY',\n                                                                  'TUESDAY',\n                                                                  'WEDNESDAY',\n                                                                  'THURSDAY',\n                                                                  'FRIDAY',\n                                                                  'SATURDAY',\n                                                                  'SUNDAY',\n                                                                ])\n                                                              )\n                                                              .min(0)\n                                                              .max(7)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                          )\n                                                          .optional(),\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with date and time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with time format.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .object({\n                                                        minimum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                        maximum: z\n                                                          .string()\n                                                          .describe(\n                                                            'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                          )\n                                                          .max(50)\n                                                          .optional()\n                                                          .nullable(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for string with date and time format, where time is optional.'\n                                                      ),\n                                                  }),\n                                                  z.object({\n                                                    dateOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    timeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    dateOptionalTimeOptions: z\n                                                      .never()\n                                                      .optional(),\n                                                    phoneOptions: z\n                                                      .object({\n                                                        allowedCountryCodes: z\n                                                          .array(z.string())\n                                                          .max(250)\n                                                          .optional(),\n                                                      })\n                                                      .describe(\n                                                        'Validation rules for strings with phone number format.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Validation rules for string properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z.never().optional(),\n                                            numberOptions: z\n                                              .object({\n                                                maximum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The maximum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                minimum: z\n                                                  .number()\n                                                  .describe(\n                                                    'The minimum value of the number. Inclusive.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                multipleOf: z\n                                                  .number()\n                                                  .describe(\n                                                    'A number that the value must be a multiple of.'\n                                                  )\n                                                  .optional()\n                                                  .nullable(),\n                                                enum: z\n                                                  .array(z.number())\n                                                  .max(500)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for numeric properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            arrayOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .object({\n                                                enum: z\n                                                  .array(z.boolean())\n                                                  .max(2)\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for boolean properties.'\n                                              ),\n                                          }),\n                                          z.object({\n                                            stringOptions: z.never().optional(),\n                                            numberOptions: z.never().optional(),\n                                            booleanOptions: z\n                                              .never()\n                                              .optional(),\n                                            arrayOptions: z\n                                              .object({\n                                                maxItems: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum number of elements allowed in the array.'\n                                                  )\n                                                  .min(0)\n                                                  .max(1000)\n                                                  .optional()\n                                                  .nullable(),\n                                                minItems: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Minimum number of elements required in the array.'\n                                                  )\n                                                  .min(0)\n                                                  .max(1000)\n                                                  .optional()\n                                                  .nullable(),\n                                                items: z\n                                                  .intersection(\n                                                    z.object({\n                                                      itemType: z\n                                                        .enum([\n                                                          'STRING',\n                                                          'NUMBER',\n                                                          'BOOLEAN',\n                                                        ])\n                                                        .describe(\n                                                          'Allowed item type.'\n                                                        )\n                                                        .optional(),\n                                                    }),\n                                                    z.xor([\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                      }),\n                                                      z.object({\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        stringOptions: z\n                                                          .intersection(\n                                                            z.object({\n                                                              minLength: z\n                                                                .number()\n                                                                .int()\n                                                                .describe(\n                                                                  'Minimum required length for the string value.'\n                                                                )\n                                                                .min(0)\n                                                                .max(20000)\n                                                                .optional()\n                                                                .nullable(),\n                                                              maxLength: z\n                                                                .number()\n                                                                .int()\n                                                                .describe(\n                                                                  'Maximum allowed length for the string value.'\n                                                                )\n                                                                .min(0)\n                                                                .max(20000)\n                                                                .optional()\n                                                                .nullable(),\n                                                              pattern: z\n                                                                .string()\n                                                                .describe(\n                                                                  'Regular expression pattern that the string value must match.'\n                                                                )\n                                                                .max(500)\n                                                                .optional()\n                                                                .nullable(),\n                                                              format: z\n                                                                .enum([\n                                                                  'UNKNOWN_FORMAT',\n                                                                  'DATE',\n                                                                  'TIME',\n                                                                  'DATE_TIME',\n                                                                  'EMAIL',\n                                                                  'URL',\n                                                                  'UUID',\n                                                                  'PHONE',\n                                                                  'URI',\n                                                                  'HOSTNAME',\n                                                                  'COLOR_HEX',\n                                                                  'CURRENCY',\n                                                                  'LANGUAGE',\n                                                                  'DATE_OPTIONAL_TIME',\n                                                                ])\n                                                                .describe(\n                                                                  'Expected format of the string value.'\n                                                                )\n                                                                .optional(),\n                                                              enum: z\n                                                                .array(\n                                                                  z.string()\n                                                                )\n                                                                .max(500)\n                                                                .optional(),\n                                                              validationMessages:\n                                                                z\n                                                                  .object({\n                                                                    pattern: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        \"Error message shown when the pattern validation fails.\\n\\nThis message is displayed to users when their input doesn't match the specified regex pattern.\"\n                                                                      )\n                                                                      .max(200)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Custom error messages displayed when validation fails.'\n                                                                  )\n                                                                  .optional(),\n                                                            }),\n                                                            z.xor([\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                              }),\n                                                              z.object({\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptions: z\n                                                                  .object({\n                                                                    availability:\n                                                                      z\n                                                                        .object(\n                                                                          {\n                                                                            availableDates:\n                                                                              z\n                                                                                .array(\n                                                                                  z.object(\n                                                                                    {\n                                                                                      start:\n                                                                                        z\n                                                                                          .string()\n                                                                                          .describe(\n                                                                                            'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                          )\n                                                                                          .optional(),\n                                                                                      end: z\n                                                                                        .string()\n                                                                                        .describe(\n                                                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                        )\n                                                                                        .optional(),\n                                                                                    }\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  5\n                                                                                )\n                                                                                .optional(),\n                                                                            unavailableDates:\n                                                                              z\n                                                                                .array(\n                                                                                  z.object(\n                                                                                    {\n                                                                                      start:\n                                                                                        z\n                                                                                          .string()\n                                                                                          .describe(\n                                                                                            'The beginning of the date range (inclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                          )\n                                                                                          .optional(),\n                                                                                      end: z\n                                                                                        .string()\n                                                                                        .describe(\n                                                                                          'The end of the date range (exclusive). ISO 8601 date format (YYYY-MM-DD).'\n                                                                                        )\n                                                                                        .optional(),\n                                                                                    }\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  5\n                                                                                )\n                                                                                .optional(),\n                                                                            availableDays:\n                                                                              z\n                                                                                .array(\n                                                                                  z.enum(\n                                                                                    [\n                                                                                      'MONDAY',\n                                                                                      'TUESDAY',\n                                                                                      'WEDNESDAY',\n                                                                                      'THURSDAY',\n                                                                                      'FRIDAY',\n                                                                                      'SATURDAY',\n                                                                                      'SUNDAY',\n                                                                                    ]\n                                                                                  )\n                                                                                )\n                                                                                .min(\n                                                                                  0\n                                                                                )\n                                                                                .max(\n                                                                                  7\n                                                                                )\n                                                                                .optional(),\n                                                                          }\n                                                                        )\n                                                                        .describe(\n                                                                          'Allows to specify available and unavailable dates and days of the week.\\nIf unset, all dates from minimum to maximum are available.'\n                                                                        )\n                                                                        .optional(),\n                                                                    minimum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                    maximum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Support static constrains defined as ISO date/time format, as well as\\ndynamic calculations can be performed using special keywords such as \"$now\" to represent the current date and time.\\nThe dynamic calculation supports expressions like \"$now+2d\" (2 days in the future), \"$now-1h\" (1 hour in the past), etc.\\nThe regex pattern for dynamic calculations is: \\\\$now([+-]\\\\d{1,2})([yMdmh])'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with date format.'\n                                                                  ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .object({\n                                                                      minimum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                      maximum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                    })\n                                                                    .describe(\n                                                                      'Validation rules for strings with date and time format.'\n                                                                    ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                timeOptions: z\n                                                                  .object({\n                                                                    minimum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                    maximum: z\n                                                                      .string()\n                                                                      .describe(\n                                                                        'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                      )\n                                                                      .max(50)\n                                                                      .optional()\n                                                                      .nullable(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with time format.'\n                                                                  ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                phoneOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .object({\n                                                                      minimum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Minimum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                      maximum: z\n                                                                        .string()\n                                                                        .describe(\n                                                                          'Maximum allowed datetime value.\\n\\nSupports ISO datetime format or dynamic calculations using \"$now\" keyword.\\nThe dynamic calculation supports times in the future and past.\\nThe pattern for dynamic calculations: $now([+-]\\\\d{1,2})([yMdmh]).\\n\\nExamples: `\"2023-01-01\"`, `\"$now-1d\"` (1 day ago), `\"$now+2h\"` (2 hours from now).'\n                                                                        )\n                                                                        .max(50)\n                                                                        .optional()\n                                                                        .nullable(),\n                                                                    })\n                                                                    .describe(\n                                                                      'Validation rules for string with date and time format, where time is optional.'\n                                                                    ),\n                                                              }),\n                                                              z.object({\n                                                                dateOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                timeOptions: z\n                                                                  .never()\n                                                                  .optional(),\n                                                                dateOptionalTimeOptions:\n                                                                  z\n                                                                    .never()\n                                                                    .optional(),\n                                                                phoneOptions: z\n                                                                  .object({\n                                                                    allowedCountryCodes:\n                                                                      z\n                                                                        .array(\n                                                                          z.string()\n                                                                        )\n                                                                        .max(\n                                                                          250\n                                                                        )\n                                                                        .optional(),\n                                                                  })\n                                                                  .describe(\n                                                                    'Validation rules for strings with phone number format.'\n                                                                  ),\n                                                              }),\n                                                            ])\n                                                          )\n                                                          .describe(\n                                                            'Validation rules for string array elements.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .object({\n                                                            maximum: z\n                                                              .number()\n                                                              .describe(\n                                                                'The maximum value of the number. Inclusive.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            minimum: z\n                                                              .number()\n                                                              .describe(\n                                                                'The minimum value of the number. Inclusive.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            multipleOf: z\n                                                              .number()\n                                                              .describe(\n                                                                'A number that the value must be a multiple of.'\n                                                              )\n                                                              .optional()\n                                                              .nullable(),\n                                                            enum: z\n                                                              .array(z.number())\n                                                              .max(500)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Validation rules for numeric array elements.'\n                                                          ),\n                                                      }),\n                                                      z.object({\n                                                        stringOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        numberOptions: z\n                                                          .never()\n                                                          .optional(),\n                                                        booleanOptions: z\n                                                          .object({\n                                                            enum: z\n                                                              .array(\n                                                                z.boolean()\n                                                              )\n                                                              .max(2)\n                                                              .optional(),\n                                                          })\n                                                          .describe(\n                                                            'Validation rules for boolean array elements.'\n                                                          ),\n                                                      }),\n                                                    ])\n                                                  )\n                                                  .describe(\n                                                    'Type of items allowed in the array.'\n                                                  )\n                                                  .optional(),\n                                              })\n                                              .describe(\n                                                'Validation rules for array properties.'\n                                              ),\n                                          }),\n                                        ])\n                                      )\n                                    )\n                                    .describe(\n                                      'Definition of object properties and their validation rules.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Validation configuration for the object input.'\n                                )\n                                .optional(),\n                            })\n                            .describe('Object input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          wixFileOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'FILE_UPLOAD',\n                                    'SIGNATURE',\n                                  ])\n                                  .describe(\n                                    'Component type of the file input field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    fileLimit: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of files that can be uploaded.'\n                                      )\n                                      .min(1)\n                                      .max(30)\n                                      .optional(),\n                                    uploadFileFormats: z\n                                      .array(\n                                        z.enum([\n                                          'VIDEO',\n                                          'IMAGE',\n                                          'AUDIO',\n                                          'DOCUMENT',\n                                          'ARCHIVE',\n                                          'MODEL_3D',\n                                        ])\n                                      )\n                                      .max(6)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the file input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  fileUploadOptions: z.never().optional(),\n                                  signatureOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  signatureOptions: z.never().optional(),\n                                  fileUploadOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      buttonText: z\n                                        .string()\n                                        .describe(\n                                          'Text displayed on the upload button.'\n                                        )\n                                        .max(500)\n                                        .optional()\n                                        .nullable(),\n                                      explanationText: z\n                                        .string()\n                                        .describe(\n                                          'Custom text displayed when a file is uploaded. If not specified, the file name is shown.'\n                                        )\n                                        .max(255)\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'File upload component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  fileUploadOptions: z.never().optional(),\n                                  signatureOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      imageUploadEnabled: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether image upload is enabled for the signature field.'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media item.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Signature component settings.'),\n                                }),\n                              ])\n                            )\n                            .describe(\n                              'File input field settings. Files are uploaded to the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager).'\n                            ),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          paymentOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'CHECKBOX_GROUP',\n                                    'DONATION_INPUT',\n                                    'PAYMENT_INPUT',\n                                    'FIXED_PAYMENT',\n                                  ])\n                                  .describe(\n                                    'Component type of the payment input field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    products: z\n                                      .array(\n                                        z.intersection(\n                                          z.object({\n                                            _id: z\n                                              .string()\n                                              .describe('Product 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                                            productType: z\n                                              .enum(['SHIPPABLE', 'DIGITAL'])\n                                              .optional(),\n                                            priceType: z\n                                              .enum([\n                                                'FIXED_PRICE',\n                                                'DYNAMIC_PRICE',\n                                              ])\n                                              .optional(),\n                                            quantityLimit: z\n                                              .object({\n                                                minimum: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Minimum quantity that must be selected for this product.'\n                                                  )\n                                                  .min(1)\n                                                  .max(100000)\n                                                  .optional()\n                                                  .nullable(),\n                                                maximum: z\n                                                  .number()\n                                                  .int()\n                                                  .describe(\n                                                    'Maximum quantity that can be selected for this product.'\n                                                  )\n                                                  .min(1)\n                                                  .max(100000)\n                                                  .optional()\n                                                  .nullable(),\n                                              })\n                                              .describe(\n                                                'Limits on how many units of this product can be selected.'\n                                              )\n                                              .optional(),\n                                          }),\n                                          z.xor([\n                                            z.object({\n                                              fixedPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              dynamicPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                            }),\n                                            z.object({\n                                              dynamicPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              fixedPriceOptions: z\n                                                .object({\n                                                  price: z\n                                                    .string()\n                                                    .describe(\n                                                      'Fixed price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"3.99\"`.'\n                                                    )\n                                                    .optional(),\n                                                })\n                                                .describe(\n                                                  'Configuration for products with fixed pricing.'\n                                                ),\n                                            }),\n                                            z.object({\n                                              fixedPriceOptions: z\n                                                .never()\n                                                .optional(),\n                                              dynamicPriceOptions: z\n                                                .object({\n                                                  minPrice: z\n                                                    .string()\n                                                    .describe(\n                                                      'Minimum price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"1.00\"`.'\n                                                    )\n                                                    .optional(),\n                                                  maxPrice: z\n                                                    .string()\n                                                    .describe(\n                                                      'Maximum monetary price of the product.\\n\\nSpecified as a decimal string with period as decimal separator. For example, `\"10.00\"`.\\n\\nIf not specified, there is no upper limit on the price.'\n                                                    )\n                                                    .optional()\n                                                    .nullable(),\n                                                })\n                                                .describe(\n                                                  'Configuration for products with variable pricing within a range.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                      )\n                                      .min(1)\n                                      .max(100)\n                                      .optional(),\n                                    minItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Minimum number of different products that must be selected.'\n                                      )\n                                      .min(0)\n                                      .max(100)\n                                      .optional()\n                                      .nullable(),\n                                    maxItems: z\n                                      .number()\n                                      .int()\n                                      .describe(\n                                        'Maximum number of different products that can be selected.'\n                                      )\n                                      .min(0)\n                                      .max(100)\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the payment input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  checkboxGroupOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            label: z\n                                              .string()\n                                              .describe(\n                                                'Selectable option label.'\n                                              )\n                                              .max(400)\n                                              .optional()\n                                              .nullable(),\n                                            value: z\n                                              .any()\n                                              .describe(\n                                                \"Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\"\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            _id: z\n                                              .string()\n                                              .describe(\n                                                'Option ID. Can be used to connect this option with [Wix Multilingual](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/introduction) for translation.'\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                                            media: z\n                                              .intersection(\n                                                z.object({}),\n                                                z.xor([\n                                                  z.object({\n                                                    image: z.never().optional(),\n                                                  }),\n                                                  z.object({\n                                                    image: z\n                                                      .string()\n                                                      .describe(\n                                                        'WixMedia image.'\n                                                      ),\n                                                  }),\n                                                ])\n                                              )\n                                              .describe(\n                                                'Media content associated with this option, such as an image.'\n                                              )\n                                              .optional(),\n                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      imageFit: z\n                                        .enum(['COVER', 'CONTAIN'])\n                                        .describe(\n                                          'How an image should be resized to fit within its option container.\\n\\nDefault: `COVER`'\n                                        )\n                                        .optional(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Checkbox group component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  donationInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      options: z\n                                        .array(\n                                          z.object({\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                \"Value stored on submission when this option is selected. Must match a product ID found in the field's products list.\"\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                                            default: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether this option is selected by default.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(400)\n                                        .optional(),\n                                      customOption: z\n                                        .object({\n                                          label: z\n                                            .string()\n                                            .describe('Custom option label.')\n                                            .max(350)\n                                            .optional()\n                                            .nullable(),\n                                          placeholder: z\n                                            .string()\n                                            .describe(\n                                              'Custom option placeholder text.'\n                                            )\n                                            .max(100)\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                        .describe(\n                                          'Custom option which can be specified by the submitter.'\n                                        )\n                                        .optional(),\n                                      numberOfColumns: z\n                                        .enum(['ONE', 'TWO', 'THREE', 'ZERO'])\n                                        .describe(\n                                          'Specifies the number of columns used to display the selections within the component.\\n\\nDefault: `ONE`'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Donation input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z.never().optional(),\n                                  paymentInputOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      placeholder: z\n                                        .string()\n                                        .describe(\n                                          \"Placeholder text shown inside the field when it's empty.\"\n                                        )\n                                        .max(100)\n                                        .optional()\n                                        .nullable(),\n                                      default: z\n                                        .number()\n                                        .describe(\n                                          'Default value for the field. This value is pre-populated in the field when the form loads.'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Payment input component settings.'\n                                    ),\n                                }),\n                                z.object({\n                                  checkboxGroupOptions: z.never().optional(),\n                                  donationInputOptions: z.never().optional(),\n                                  paymentInputOptions: z.never().optional(),\n                                  fixedPaymentOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display the field label.\\n\\nDefault: `true`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      media: z\n                                        .intersection(\n                                          z.object({}),\n                                          z.xor([\n                                            z.object({\n                                              image: z.never().optional(),\n                                            }),\n                                            z.object({\n                                              image: z\n                                                .string()\n                                                .describe('WixMedia image.'),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Media content associated with the field, such as an image.'\n                                        )\n                                        .optional(),\n                                      mediaSettings: z\n                                        .object({\n                                          imagePosition: z\n                                            .enum(['ABOVE', 'BELOW'])\n                                            .describe(\n                                              \"Specifies where the image should be displayed relative to the field's label.\\nDefault: `BELOW`\"\n                                            )\n                                            .optional(),\n                                          imageAlignment: z\n                                            .enum(['LEFT', 'CENTER', 'RIGHT'])\n                                            .describe(\n                                              'Specifies the image alignment.\\nDefault: `CENTER`'\n                                            )\n                                            .optional(),\n                                          imageFit: z\n                                            .enum(['COVER', 'CONTAIN'])\n                                            .describe(\n                                              'Specifies how an image should be resized to fit.\\nDefault: `COVER`'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe(\n                                          'Configuration for the media content.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      'Fixed payment component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Payment input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          addressOptions: z.never().optional(),\n                          schedulingOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'APPOINTMENT',\n                                  ])\n                                  .describe(\n                                    'Component type of the scheduling field.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  appointmentOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  appointmentOptions: z\n                                    .intersection(\n                                      z.object({\n                                        label: z\n                                          .string()\n                                          .describe('Field label.')\n                                          .max(255)\n                                          .optional()\n                                          .nullable(),\n                                        name: z\n                                          .string()\n                                          .describe('Appointment name.')\n                                          .min(1)\n                                          .max(400)\n                                          .optional()\n                                          .nullable(),\n                                        durationInMinutes: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Duration of the appointment in minutes.'\n                                          )\n                                          .min(1)\n                                          .max(44639)\n                                          .optional()\n                                          .nullable(),\n                                        manualApprovalRequired: z\n                                          .boolean()\n                                          .describe(\n                                            'Whether appointments require manual approval before confirmation.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                        staffIds: z\n                                          .array(z.string())\n                                          .max(220)\n                                          .optional(),\n                                        format: z\n                                          .enum([\n                                            'IN_PERSON',\n                                            'VIDEO_CONFERENCE',\n                                            'PHONE',\n                                          ])\n                                          .describe('Appointment format.')\n                                          .optional(),\n                                        description: z\n                                          .any()\n                                          .describe(\n                                            'Additional description or instructions for the field.'\n                                          )\n                                          .optional(),\n                                        showLabel: z\n                                          .boolean()\n                                          .describe(\n                                            'Whether to display the field label.\\n\\nDefault: `true`'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                      }),\n                                      z.xor([\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z.never().optional(),\n                                        }),\n                                        z.object({\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z.never().optional(),\n                                          inPersonOptions: z\n                                            .object({\n                                              locations: z\n                                                .array(\n                                                  z.intersection(\n                                                    z.object({}),\n                                                    z.xor([\n                                                      z.object({\n                                                        customAddress: z\n                                                          .never()\n                                                          .optional(),\n                                                        businessLocationId: z\n                                                          .never()\n                                                          .optional(),\n                                                      }),\n                                                      z.object({\n                                                        businessLocationId: z\n                                                          .never()\n                                                          .optional(),\n                                                        customAddress: z\n                                                          .string()\n                                                          .describe(\n                                                            'Custom address specified as a text string.'\n                                                          )\n                                                          .max(512),\n                                                      }),\n                                                      z.object({\n                                                        customAddress: z\n                                                          .never()\n                                                          .optional(),\n                                                        businessLocationId: z\n                                                          .string()\n                                                          .describe(\n                                                            'ID of a predefined business [location](https://dev.wix.com/docs/rest/crm/members-contacts/locations/locations/introduction).'\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                                                )\n                                                .min(1)\n                                                .max(1)\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Configuration for in-person appointments.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          phoneOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .object({\n                                              description: z\n                                                .string()\n                                                .describe(\n                                                  'Description or instructions for video conference appointments.'\n                                                )\n                                                .max(512)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Configuration for video conference appointments.'\n                                            ),\n                                        }),\n                                        z.object({\n                                          inPersonOptions: z.never().optional(),\n                                          videoConferenceOptions: z\n                                            .never()\n                                            .optional(),\n                                          phoneOptions: z\n                                            .object({\n                                              description: z\n                                                .string()\n                                                .describe(\n                                                  'Description or instructions for phone appointments.'\n                                                )\n                                                .max(512)\n                                                .optional()\n                                                .nullable(),\n                                            })\n                                            .describe(\n                                              'Configuration for phone appointments.'\n                                            ),\n                                        }),\n                                      ])\n                                    )\n                                    .describe(\n                                      'Appointment component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Scheduling input field settings.'),\n                        }),\n                        z.object({\n                          stringOptions: z.never().optional(),\n                          numberOptions: z.never().optional(),\n                          booleanOptions: z.never().optional(),\n                          arrayOptions: z.never().optional(),\n                          objectOptions: z.never().optional(),\n                          wixFileOptions: z.never().optional(),\n                          paymentOptions: z.never().optional(),\n                          schedulingOptions: z.never().optional(),\n                          addressOptions: z\n                            .intersection(\n                              z.object({\n                                componentType: z\n                                  .enum([\n                                    'UNKNOWN_COMPONENT_TYPE',\n                                    'MULTILINE_ADDRESS',\n                                  ])\n                                  .describe(\n                                    'Component type of the multiline address field.'\n                                  )\n                                  .optional(),\n                                validation: z\n                                  .object({\n                                    allowedCountries: z\n                                      .array(z.string())\n                                      .min(0)\n                                      .max(200)\n                                      .optional(),\n                                    fields: z\n                                      .object({\n                                        subdivision: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Subdivision settings.')\n                                          .optional(),\n                                        city: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('City settings.')\n                                          .optional(),\n                                        postalCode: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Postal code settings.')\n                                          .optional(),\n                                        streetName: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Street name settings.')\n                                          .optional(),\n                                        streetNumber: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Street number settings.')\n                                          .optional(),\n                                        addressLine: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Address line settings.')\n                                          .optional(),\n                                        addressLine2: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Address line 2 settings.')\n                                          .optional(),\n                                        country: z\n                                          .object({\n                                            required: z\n                                              .boolean()\n                                              .describe(\n                                                'Whether the field is required.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe('Country settings.')\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        'Customization configuration for individual address field components.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Validation configuration for the multiline address input.'\n                                  )\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  multilineAddressOptions: z.never().optional(),\n                                }),\n                                z.object({\n                                  multilineAddressOptions: z\n                                    .object({\n                                      label: z\n                                        .string()\n                                        .describe('Field label.')\n                                        .max(350)\n                                        .optional()\n                                        .nullable(),\n                                      description: z\n                                        .any()\n                                        .describe(\n                                          'Additional description or instructions for the field.'\n                                        )\n                                        .optional(),\n                                      showCountryFlags: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether to display country flags in the country selection.'\n                                        )\n                                        .optional(),\n                                      defaultCountryConfig: z\n                                        .intersection(\n                                          z.object({\n                                            type: z\n                                              .enum([\n                                                'UNKNOWN_DEFAULT_COUNTRY',\n                                                'BY_IP',\n                                                'COUNTRY',\n                                              ])\n                                              .describe('Default country type.')\n                                              .optional(),\n                                          }),\n                                          z.xor([\n                                            z.object({\n                                              countryOptions: z\n                                                .never()\n                                                .optional(),\n                                            }),\n                                            z.object({\n                                              countryOptions: z\n                                                .string()\n                                                .describe(\n                                                  'Country code for the pre-selected default country. Two-letter country code in ISO-3166 alpha-2 format.'\n                                                ),\n                                            }),\n                                          ])\n                                        )\n                                        .describe(\n                                          'Default country configuration for the address field.'\n                                        )\n                                        .optional(),\n                                      fieldSettings: z\n                                        .object({\n                                          addressLine2: z\n                                            .object({\n                                              show: z\n                                                .boolean()\n                                                .describe(\n                                                  'Whether to display the address line 2 field.'\n                                                )\n                                                .optional(),\n                                            })\n                                            .describe(\n                                              'Configuration for the address line 2 field.'\n                                            )\n                                            .optional(),\n                                        })\n                                        .describe('Fields settings.')\n                                        .optional(),\n                                      autocompleteEnabled: z\n                                        .boolean()\n                                        .describe(\n                                          'Whether autocomplete is enabled for the address line field.'\n                                        )\n                                        .optional(),\n                                      showAddressLabels: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the address labels.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      showLabel: z\n                                        .boolean()\n                                        .describe(\n                                          'Flag identifying whether to show or hide the label.\\nDefault: true'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                    .describe(\n                                      'Multiline address component settings.'\n                                    ),\n                                }),\n                              ])\n                            )\n                            .describe('Address input field settings.'),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Configuration for input fields that collect user data.'\n                    ),\n                }),\n                z.object({\n                  inputOptions: z.never().optional(),\n                  displayOptions: z\n                    .intersection(\n                      z.object({\n                        displayFieldType: z\n                          .enum([\n                            'UNKNOWN_FIELD_TYPE',\n                            'RICH_CONTENT',\n                            'PAGE_NAVIGATION',\n                            'LOGIN_BAR',\n                          ])\n                          .describe(\n                            'Type of display field that determines its appearance and behavior.'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          richContentOptions: z.never().optional(),\n                          pageNavigationOptions: z.never().optional(),\n                        }),\n                        z.object({\n                          pageNavigationOptions: z.never().optional(),\n                          richContentOptions: z\n                            .object({\n                              richContent: z\n                                .any()\n                                .describe(\n                                  'Rich content to display in the field.'\n                                )\n                                .optional(),\n                              maxShownParagraphs: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of paragraphs to show initially.\\nAdditional content is hidden behind an expandable section. If not specified, all content is visible.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Configuration for rich content display fields.'\n                            ),\n                        }),\n                        z.object({\n                          richContentOptions: z.never().optional(),\n                          pageNavigationOptions: z\n                            .object({\n                              nextPageText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it navigates to the next page.\\nOnly applicable when the button is not on the final form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                              previousPageText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it navigates to the previous page.\\nOnly applicable when the button is not on the first form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                              submitText: z\n                                .string()\n                                .describe(\n                                  'Text displayed on the button when it submits the form.\\nOnly applicable when the button is on the final form page.'\n                                )\n                                .max(65)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe(\n                              'Configuration for page navigation display fields such as navigation or submit buttons.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Configuration for display fields that show information without collecting input.'\n                    ),\n                }),\n              ])\n            )\n          )\n          .max(150)\n          .optional(),\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('Data extensions for storing additional custom properties.')\n          .optional(),\n        namespace: z\n          .string()\n          .describe(\n            'Unique identifier for the app that owns this form schema.\\nFor example, `wix.form_app.form` for Wix Forms.\\n\\nSee a list of namespaces for [apps made by Wix](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction#namespaces-of-apps-made-by-wix) section.'\n          )\n          .min(10)\n          .max(50)\n          .optional(),\n        mediaFolderId: z\n          .string()\n          .describe(\n            'Media folder ID for storing uploaded files from form submissions.'\n          )\n          .max(100)\n          .optional()\n          .nullable(),\n        limitationRule: z\n          .object({\n            maxAllowedSubmissions: z\n              .number()\n              .int()\n              .describe(\n                'Limitation by submission count, disables form when a set amount of submissions is reached.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            dateTimeDeadline: z\n              .date()\n              .describe(\n                'Limitation by submission date, disables form when a set date and time is reached.'\n              )\n              .optional()\n              .nullable(),\n            submissionLimitPerUser: z\n              .number()\n              .int()\n              .describe(\n                'Limitation per user submission count, disables form when a set amount of submissions per user is reached.'\n              )\n              .min(1)\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Submission limits that can automatically disable the form when reached.'\n          )\n          .optional(),\n        spamFilterProtectionLevel: z\n          .enum(['UNKNOWN', 'NONE', 'BASIC', 'ADVANCED'])\n          .optional(),\n        requiredIndicatorProperties: z\n          .object({\n            requiredIndicator: z.enum(['ASTERISK', 'TEXT', 'NONE']).optional(),\n            requiredIndicatorPlacement: z\n              .enum(['AFTER_FIELD_TITLE', 'BEFORE_FIELD_TITLE'])\n              .optional(),\n          })\n          .describe(\n            'Configuration for how required field indicators are displayed to the submitter.'\n          )\n          .optional(),\n        submitSettings: z\n          .intersection(\n            z.object({\n              submitSuccessAction: z\n                .enum(['NO_ACTION', 'THANK_YOU_MESSAGE', 'REDIRECT', 'POPUP'])\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                thankYouMessageOptions: z.never().optional(),\n                redirectOptions: z.never().optional(),\n                popupOptions: z.never().optional(),\n              }),\n              z.object({\n                redirectOptions: z.never().optional(),\n                popupOptions: z.never().optional(),\n                thankYouMessageOptions: z\n                  .object({\n                    durationInSeconds: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Duration in seconds before the thank you message automatically disappears.\\nIf set to 0, the message remains visible until manually dismissed.'\n                      )\n                      .optional()\n                      .nullable(),\n                    richContent: z\n                      .any()\n                      .describe(\n                        'Rich content message displayed to users after successful form submission.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Configuration for displaying a thank you message after submission.'\n                  ),\n              }),\n              z.object({\n                thankYouMessageOptions: z.never().optional(),\n                popupOptions: z.never().optional(),\n                redirectOptions: z\n                  .object({\n                    redirectUrl: z\n                      .string()\n                      .describe(\n                        'URL to which the user should be redirected after successfully submitting the form.'\n                      )\n                      .max(2000)\n                      .optional()\n                      .nullable(),\n                    target: z\n                      .enum(['UNKNOWN_TARGET', 'SELF', 'BLANK'])\n                      .describe(\n                        'How the redirect URL should be opened in the browser.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Configuration for redirecting submitters to a URL after submission.'\n                  ),\n              }),\n              z.object({\n                thankYouMessageOptions: z.never().optional(),\n                redirectOptions: z.never().optional(),\n                popupOptions: z\n                  .object({\n                    popupId: z\n                      .string()\n                      .describe(\n                        'ID of the site popup to open after successful form submission.'\n                      )\n                      .min(1)\n                      .max(100)\n                      .optional(),\n                  })\n                  .describe(\n                    'Configuration for displaying a popup after submission.'\n                  ),\n              }),\n            ])\n          )\n          .describe(\n            'Configuration for actions taken after a form is successfully submitted.'\n          )\n          .optional(),\n        disabledFormMessage: z\n          .any()\n          .describe(\n            \"Message displayed to visitors when the form is disabled.\\nThis allows you to inform submitters why the form isn't available.\"\n          )\n          .optional(),\n        enabled: z\n          .boolean()\n          .describe(\n            \"Whether the form is effectively active — `true` only when the user has not disabled the form\\n**and** no system service has placed an `activation_block` on it.\\n\\nWriting `enabled: true` records the user's intent to activate the form, but the value read\\nback may still be `false` if `activation_block` is present (e.g. a plan restriction is in\\neffect). Once the block is lifted the form becomes active automatically without any additional\\nwrite.\\n\\nDefault: `true`\"\n          )\n          .optional()\n          .nullable(),\n        name: z\n          .string()\n          .describe('Display name of the form schema.')\n          .max(200)\n          .optional()\n          .nullable(),\n        formRules: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Rule 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              expression: wixFormsV4RulesConditionNodeSchema\n                .describe(\n                  'Conditional expression that determines when this rule should be applied.\\nThe overrides defined in this rule are applied when this expression evaluates to true.'\n                )\n                .optional(),\n              overrides: z\n                .array(\n                  z.intersection(\n                    z.object({ entityType: z.enum(['FIELD']).optional() }),\n                    z.xor([\n                      z.object({ fieldOptions: z.never().optional() }),\n                      z.object({\n                        fieldOptions: z\n                          .intersection(\n                            z.object({\n                              fieldId: z\n                                .string()\n                                .describe(\n                                  'ID of the field to be modified by this override.'\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                              propertyType: z\n                                .enum(['REQUIRED', 'HIDDEN', 'ALLOWED_VALUES'])\n                                .describe(\n                                  'The new value for the field property that will be set when the rule conditions are met.'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                requiredOptions: z.never().optional(),\n                                hiddenOptions: z.never().optional(),\n                                allowedValuesOptions: z.never().optional(),\n                              }),\n                              z.object({\n                                hiddenOptions: z.never().optional(),\n                                allowedValuesOptions: z.never().optional(),\n                                requiredOptions: z\n                                  .object({\n                                    required: z\n                                      .boolean()\n                                      .describe(\n                                        'Whether the field should be required.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for changing the required property of a field.'\n                                  ),\n                              }),\n                              z.object({\n                                requiredOptions: z.never().optional(),\n                                allowedValuesOptions: z.never().optional(),\n                                hiddenOptions: z\n                                  .object({\n                                    hidden: z\n                                      .boolean()\n                                      .describe(\n                                        'Whether the field should be hidden.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for changing the visibility property of a field.'\n                                  ),\n                              }),\n                              z.object({\n                                requiredOptions: z.never().optional(),\n                                hiddenOptions: z.never().optional(),\n                                allowedValuesOptions: z\n                                  .object({\n                                    allowedValues: z\n                                      .array(z.any())\n                                      .max(300)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Configuration for changing the allowed values of a field.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe('Field override settings.'),\n                      }),\n                    ])\n                  )\n                )\n                .max(500)\n                .optional(),\n              name: z\n                .string()\n                .describe('Human-readable name for the rule.')\n                .max(200)\n                .optional()\n                .nullable(),\n              namespaceRule: z\n                .boolean()\n                .describe(\n                  'Namespace rules are part of business logic of app owning namespace, have limited editing possibilities'\n                )\n                .optional()\n                .nullable(),\n            })\n          )\n          .max(100)\n          .optional(),\n        tags: z\n          .object({\n            privateTags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n              )\n              .optional(),\n            tags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n              )\n              .optional(),\n          })\n          .describe('Tag IDs collections associated with the current entity.')\n          .optional(),\n        autoFillContact: z.enum(['MEMBER_DATA', 'FORM_INPUT']).optional(),\n        submissionAccess: z\n          .enum([\n            'UNKNOWN_SUBMISSION_ACCESS',\n            'OWNER_AND_COLLABORATORS',\n            'MEMBERS',\n            'PUBLIC',\n          ])\n          .optional(),\n      })\n      .describe(\n        \"Form object to generate a summary for.\\nMust include the form's fields and configuration.\"\n      ),\n  });\n})();\nexport const GenerateFormSummaryResponse = z.object({\n  formSummary: z\n    .string()\n    .describe(\n      \"AI-generated natural language summary describing the form's structure, fields, and intended purpose.\\nMaximum 255 characters.\"\n    )\n    .max(255)\n    .optional()\n    .nullable(),\n});\n"],"mappings":"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","names":[]}