{
  "package": {
    "name": "@teamgrid/mcp-server",
    "sourceCommit": "b0e4b3dfa4afd74822a73b8b5e8b647236f273ce",
    "sourceRepository": "TeamGrid/developer-platform",
    "version": "1.2.2"
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "contract": {
    "domain": "tasks-write",
    "concurrency": "read",
    "idempotency": false,
    "coreCas": false
  },
  "outputSchema": {
    "type": "object",
    "anyOf": [
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/$defs/TaskRecurrencePreview"
          },
          "meta": {
            "additionalProperties": false,
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Unique identifier assigned to the API request for tracing and support."
              },
              "privateResource": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "uri",
                  "maxBytes",
                  "readMethod"
                ],
                "properties": {
                  "uri": {
                    "type": "string",
                    "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                  },
                  "maxBytes": {
                    "const": 1048576
                  },
                  "readMethod": {
                    "const": "resources/read"
                  }
                }
              },
              "etag": {
                "type": "string",
                "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
              },
              "resume": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "tool",
                  "arguments"
                ],
                "properties": {
                  "tool": {
                    "enum": [
                      "teamgrid_project_lifecycle_operation_get",
                      "teamgrid_planned_work_operation_get",
                      "teamgrid_task_recurrence_operation_get",
                      "teamgrid_export_get"
                    ]
                  },
                  "arguments": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      }
                    }
                  }
                }
              },
              "outcome": {
                "enum": [
                  "completed",
                  "accepted",
                  "partial",
                  "unknown",
                  "failed"
                ]
              },
              "omittedFields": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contentReadTool": {
                "const": "teamgrid_document_get"
              },
              "contentPage": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "unit": {
                    "const": "utf16"
                  },
                  "offset": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "nextOffset": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "totalLength": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "complete": {
                    "type": "boolean"
                  },
                  "revision": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "unit",
                  "offset",
                  "nextOffset",
                  "totalLength",
                  "complete",
                  "revision"
                ]
              },
              "search": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "complete": {
                    "const": false
                  },
                  "indexed": {
                    "const": true
                  },
                  "returned": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50
                  },
                  "continuation": {
                    "const": "narrow-query-or-list"
                  },
                  "verification": {
                    "const": "read-by-id"
                  }
                },
                "required": [
                  "complete",
                  "indexed",
                  "returned",
                  "limit",
                  "continuation",
                  "verification"
                ]
              }
            },
            "required": [
              "requestId"
            ],
            "type": "object",
            "description": "Public API representation of meta."
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/$defs/TaskRecurrenceOperation"
          },
          "meta": {
            "additionalProperties": false,
            "properties": {
              "requestId": {
                "type": "string",
                "description": "Unique identifier assigned to the API request for tracing and support."
              },
              "privateResource": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "uri",
                  "maxBytes",
                  "readMethod"
                ],
                "properties": {
                  "uri": {
                    "type": "string",
                    "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                  },
                  "maxBytes": {
                    "const": 1048576
                  },
                  "readMethod": {
                    "const": "resources/read"
                  }
                }
              },
              "etag": {
                "type": "string",
                "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
              },
              "resume": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "tool",
                  "arguments"
                ],
                "properties": {
                  "tool": {
                    "enum": [
                      "teamgrid_project_lifecycle_operation_get",
                      "teamgrid_planned_work_operation_get",
                      "teamgrid_task_recurrence_operation_get",
                      "teamgrid_export_get"
                    ]
                  },
                  "arguments": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                      }
                    }
                  }
                }
              },
              "outcome": {
                "enum": [
                  "completed",
                  "accepted",
                  "partial",
                  "unknown",
                  "failed"
                ]
              },
              "omittedFields": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contentReadTool": {
                "const": "teamgrid_document_get"
              },
              "contentPage": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "unit": {
                    "const": "utf16"
                  },
                  "offset": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "nextOffset": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "totalLength": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "complete": {
                    "type": "boolean"
                  },
                  "revision": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "unit",
                  "offset",
                  "nextOffset",
                  "totalLength",
                  "complete",
                  "revision"
                ]
              },
              "search": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "complete": {
                    "const": false
                  },
                  "indexed": {
                    "const": true
                  },
                  "returned": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50
                  },
                  "continuation": {
                    "const": "narrow-query-or-list"
                  },
                  "verification": {
                    "const": "read-by-id"
                  }
                },
                "required": [
                  "complete",
                  "indexed",
                  "returned",
                  "limit",
                  "continuation",
                  "verification"
                ]
              }
            },
            "required": [
              "requestId"
            ],
            "type": "object",
            "description": "Public API representation of meta."
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      }
    ],
    "$defs": {
      "TaskRecurrencePreview": {
        "additionalProperties": false,
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "properties": {
              "costClass": {
                "enum": [
                  "low",
                  "medium",
                  "high",
                  "async",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ],
                "description": "Canonical cost class value for this task recurrence preview attributes."
              },
              "definitionHash": {
                "pattern": "^[a-f0-9]{64}$",
                "type": "string",
                "description": "The definition hash associated with this task recurrence preview attributes."
              },
              "occurrences": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "cardDates": {
                      "additionalProperties": false,
                      "properties": {
                        "dueDate": {
                          "format": "date-time",
                          "type": "string",
                          "description": "ISO 8601 timestamp for due date."
                        },
                        "plannedEnd": {
                          "format": "date-time",
                          "type": "string",
                          "description": "Planned end timestamp."
                        },
                        "plannedStart": {
                          "format": "date-time",
                          "type": "string",
                          "description": "Planned start timestamp."
                        }
                      },
                      "type": "object",
                      "description": "The card dates associated with this task recurrence preview attributes occurrences."
                    },
                    "occurrenceKey": {
                      "maxLength": 256,
                      "minLength": 1,
                      "type": "string",
                      "description": "The occurrence key associated with this task recurrence preview attributes occurrences."
                    },
                    "placeholderToken": {
                      "anyOf": [
                        {
                          "maxLength": 32768,
                          "pattern": "^trp1\\.[A-Za-z0-9_-]+$",
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "The placeholder token associated with this task recurrence preview attributes occurrences."
                    },
                    "provenance": {
                      "items": {
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "maxItems": 100,
                      "type": "array",
                      "description": "The provenance associated with this task recurrence preview attributes occurrences."
                    },
                    "scheduledFor": {
                      "format": "date-time",
                      "type": "string",
                      "description": "ISO 8601 timestamp for scheduled for."
                    },
                    "scheduledForLocal": {
                      "maxLength": 32,
                      "minLength": 16,
                      "type": "string",
                      "description": "The scheduled for local associated with this task recurrence preview attributes occurrences."
                    },
                    "timeZone": {
                      "maxLength": 128,
                      "minLength": 1,
                      "type": "string",
                      "description": "The time zone associated with this task recurrence preview attributes occurrences."
                    }
                  },
                  "required": [
                    "cardDates",
                    "occurrenceKey",
                    "placeholderToken",
                    "provenance",
                    "scheduledFor",
                    "scheduledForLocal",
                    "timeZone"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array",
                "description": "The occurrences associated with this task recurrence preview attributes."
              },
              "summary": {
                "additionalProperties": true,
                "maxProperties": 256,
                "type": "object",
                "description": "Short human-readable summary."
              }
            },
            "required": [
              "costClass",
              "definitionHash",
              "occurrences",
              "summary"
            ],
            "type": "object",
            "description": "The attributes associated with this task recurrence preview."
          },
          "id": {
            "type": "string",
            "description": "Stable TeamGrid identifier for this resource."
          },
          "type": {
            "const": "taskRecurrencePreview",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type",
          "id",
          "attributes"
        ],
        "type": "object",
        "description": "Public API representation of task recurrence preview."
      },
      "TaskRecurrenceOperation": {
        "additionalProperties": false,
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "properties": {
              "completedAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp at which the work item was completed."
              },
              "createdAt": {
                "format": "date-time",
                "type": "string",
                "description": "Timestamp at which the resource was created."
              },
              "errorCode": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The error code associated with this task recurrence operation attributes."
              },
              "operationType": {
                "enum": [
                  "catchUp",
                  "preview",
                  "recheck",
                  "repair"
                ],
                "type": "string",
                "description": "Canonical operation type value for this task recurrence operation attributes."
              },
              "progress": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 256,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The progress associated with this task recurrence operation attributes."
              },
              "result": {
                "anyOf": [
                  {
                    "additionalProperties": true,
                    "maxProperties": 256,
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The result associated with this task recurrence operation attributes."
              },
              "seriesId": {
                "maxLength": 128,
                "type": [
                  "string",
                  "null"
                ],
                "description": "The series id associated with this task recurrence operation attributes."
              },
              "status": {
                "enum": [
                  "pending",
                  "running",
                  "succeeded",
                  "failed",
                  "cancelled"
                ],
                "type": "string",
                "description": "Canonical status of the resource or operation."
              },
              "updatedAt": {
                "format": "date-time",
                "type": "string",
                "description": "Timestamp of the most recent successful update."
              }
            },
            "required": [
              "completedAt",
              "createdAt",
              "errorCode",
              "operationType",
              "progress",
              "result",
              "seriesId",
              "status",
              "updatedAt"
            ],
            "type": "object",
            "description": "The attributes associated with this task recurrence operation."
          },
          "id": {
            "type": "string",
            "description": "Stable TeamGrid identifier for this resource."
          },
          "type": {
            "const": "taskRecurrenceOperation",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type",
          "id",
          "attributes"
        ],
        "type": "object",
        "description": "Public API representation of task recurrence operation."
      }
    }
  },
  "profileOutputSchemas": {},
  "exposure": "read",
  "apiOperations": [
    {
      "href": "/api/v1/reference/operations/previewtaskrecurrence/",
      "method": "POST",
      "operationId": "previewTaskRecurrence",
      "path": "/task-recurrences/preview"
    }
  ],
  "availableIn": [
    "full",
    "tasks-write"
  ],
  "baseProfile": "full",
  "description": "Preview a draft task recurrence Acceptance is not completion. Use the corresponding operation-get tool to inspect the returned operation until terminal.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "context": {
            "additionalProperties": true,
            "maxProperties": 256,
            "type": "object",
            "description": "The context associated with this task recurrence preview."
          },
          "count": {
            "default": 20,
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The count associated with this task recurrence preview."
          },
          "from": {
            "format": "date-time",
            "type": "string",
            "description": "ISO 8601 timestamp for from."
          },
          "policy": {
            "additionalProperties": false,
            "description": "The policy associated with this task recurrence preview.",
            "properties": {
              "candidates": {
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "calendarRule",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "rule": {
                        "additionalProperties": false,
                        "properties": {
                          "byHour": {
                            "items": {
                              "maximum": 23,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "maxItems": 24,
                            "type": "array",
                            "description": "The by hour associated with this task recurrence calendar rule."
                          },
                          "byMinute": {
                            "items": {
                              "maximum": 59,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "maxItems": 60,
                            "type": "array",
                            "description": "The by minute associated with this task recurrence calendar rule."
                          },
                          "byMonth": {
                            "items": {
                              "maximum": 12,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "maxItems": 12,
                            "type": "array",
                            "description": "The by month associated with this task recurrence calendar rule."
                          },
                          "byMonthDay": {
                            "items": {
                              "maximum": 31,
                              "minimum": -31,
                              "not": {
                                "const": 0
                              },
                              "type": "integer"
                            },
                            "maxItems": 62,
                            "type": "array",
                            "description": "The by month day associated with this task recurrence calendar rule."
                          },
                          "bySetPosition": {
                            "items": {
                              "maximum": 366,
                              "minimum": -366,
                              "not": {
                                "const": 0
                              },
                              "type": "integer"
                            },
                            "maxItems": 732,
                            "type": "array",
                            "description": "The by set position associated with this task recurrence calendar rule."
                          },
                          "byWeekDay": {
                            "items": {
                              "maximum": 6,
                              "minimum": 0,
                              "type": "integer"
                            },
                            "maxItems": 7,
                            "type": "array",
                            "description": "The by week day associated with this task recurrence calendar rule."
                          },
                          "frequency": {
                            "enum": [
                              "minutely",
                              "hourly",
                              "daily",
                              "weekly",
                              "monthly",
                              "yearly"
                            ],
                            "type": "string",
                            "description": "Canonical frequency value for this task recurrence calendar rule."
                          },
                          "interval": {
                            "default": 1,
                            "maximum": 1000000,
                            "minimum": 1,
                            "type": "integer",
                            "description": "The interval associated with this task recurrence calendar rule."
                          },
                          "invalidDayHandling": {
                            "enum": [
                              "next-valid-day",
                              "omit",
                              "previous-valid-day"
                            ],
                            "type": "string",
                            "description": "Canonical invalid day handling value for this task recurrence calendar rule."
                          },
                          "startLocal": {
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                            "type": "string",
                            "description": "The start local associated with this task recurrence calendar rule."
                          },
                          "weekStart": {
                            "maximum": 6,
                            "minimum": 0,
                            "type": "integer",
                            "description": "The week start associated with this task recurrence calendar rule."
                          }
                        },
                        "required": [
                          "frequency",
                          "startLocal"
                        ],
                        "type": "object",
                        "description": "The rule associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "rule"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "dateSet",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "dates": {
                        "items": {
                          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                          "type": "string"
                        },
                        "maxItems": 500,
                        "minItems": 1,
                        "type": "array",
                        "description": "The dates associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "dates"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "monthSet",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "months": {
                        "items": {
                          "maximum": 12,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "maxItems": 12,
                        "minItems": 1,
                        "type": "array",
                        "description": "The months associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "months"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "sequence",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "anchorLocal": {
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                        "type": "string",
                        "description": "The anchor local associated with this task recurrence candidate source."
                      },
                      "intervals": {
                        "items": {
                          "allOf": [
                            {
                              "additionalProperties": false,
                              "allOf": [
                                {
                                  "if": {
                                    "properties": {
                                      "unit": {
                                        "const": "business-day"
                                      }
                                    },
                                    "required": [
                                      "unit"
                                    ]
                                  },
                                  "then": {
                                    "properties": {
                                      "value": {
                                        "maximum": 10000,
                                        "minimum": -10000,
                                        "type": "integer"
                                      }
                                    }
                                  }
                                }
                              ],
                              "properties": {
                                "unit": {
                                  "enum": [
                                    "minute",
                                    "hour",
                                    "day",
                                    "week",
                                    "month",
                                    "year",
                                    "business-day"
                                  ],
                                  "type": "string",
                                  "description": "Canonical unit value for this task recurrence duration."
                                },
                                "value": {
                                  "maximum": 1000000,
                                  "minimum": -1000000,
                                  "type": "integer",
                                  "description": "Canonical value represented by this field."
                                }
                              },
                              "required": [
                                "unit",
                                "value"
                              ],
                              "type": "object",
                              "description": "Public API representation of task recurrence duration."
                            },
                            {
                              "properties": {
                                "value": {
                                  "minimum": 0,
                                  "type": "integer",
                                  "description": "Canonical value represented by this field."
                                }
                              },
                              "type": "object"
                            }
                          ]
                        },
                        "maxItems": 500,
                        "minItems": 1,
                        "type": "array",
                        "description": "The intervals associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "anchorLocal",
                      "intervals"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "afterOccurrenceEvent",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "completionMode": {
                        "enum": [
                          "every-completion-transition",
                          "first-completion-only"
                        ],
                        "type": "string",
                        "description": "Canonical completion mode value for this task recurrence candidate source."
                      },
                      "delay": {
                        "allOf": [
                          {
                            "additionalProperties": false,
                            "allOf": [
                              {
                                "if": {
                                  "properties": {
                                    "unit": {
                                      "const": "business-day"
                                    }
                                  },
                                  "required": [
                                    "unit"
                                  ]
                                },
                                "then": {
                                  "properties": {
                                    "value": {
                                      "maximum": 10000,
                                      "minimum": -10000,
                                      "type": "integer"
                                    }
                                  }
                                }
                              }
                            ],
                            "properties": {
                              "unit": {
                                "enum": [
                                  "minute",
                                  "hour",
                                  "day",
                                  "week",
                                  "month",
                                  "year",
                                  "business-day"
                                ],
                                "type": "string",
                                "description": "Canonical unit value for this task recurrence duration."
                              },
                              "value": {
                                "maximum": 1000000,
                                "minimum": -1000000,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "required": [
                              "unit",
                              "value"
                            ],
                            "type": "object",
                            "description": "Public API representation of task recurrence duration."
                          },
                          {
                            "properties": {
                              "value": {
                                "minimum": 0,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "type": "object"
                          }
                        ],
                        "description": "The delay associated with this task recurrence candidate source."
                      },
                      "event": {
                        "enum": [
                          "completed",
                          "created",
                          "reopened"
                        ],
                        "type": "string",
                        "description": "Canonical TeamGrid event name."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "event"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "afterProjectEvent",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "delay": {
                        "allOf": [
                          {
                            "additionalProperties": false,
                            "allOf": [
                              {
                                "if": {
                                  "properties": {
                                    "unit": {
                                      "const": "business-day"
                                    }
                                  },
                                  "required": [
                                    "unit"
                                  ]
                                },
                                "then": {
                                  "properties": {
                                    "value": {
                                      "maximum": 10000,
                                      "minimum": -10000,
                                      "type": "integer"
                                    }
                                  }
                                }
                              }
                            ],
                            "properties": {
                              "unit": {
                                "enum": [
                                  "minute",
                                  "hour",
                                  "day",
                                  "week",
                                  "month",
                                  "year",
                                  "business-day"
                                ],
                                "type": "string",
                                "description": "Canonical unit value for this task recurrence duration."
                              },
                              "value": {
                                "maximum": 1000000,
                                "minimum": -1000000,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "required": [
                              "unit",
                              "value"
                            ],
                            "type": "object",
                            "description": "Public API representation of task recurrence duration."
                          },
                          {
                            "properties": {
                              "value": {
                                "minimum": 0,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "type": "object"
                          }
                        ],
                        "description": "The delay associated with this task recurrence candidate source."
                      },
                      "event": {
                        "enum": [
                          "archived",
                          "completed",
                          "created",
                          "reopened",
                          "restored"
                        ],
                        "type": "string",
                        "description": "Canonical TeamGrid event name."
                      },
                      "projectId": {
                        "maxLength": 256,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "Identifier of the related project."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "event",
                      "projectId"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "nodeId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The node id associated with this task recurrence candidate source."
                      },
                      "op": {
                        "const": "externalEvent",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "delay": {
                        "allOf": [
                          {
                            "additionalProperties": false,
                            "allOf": [
                              {
                                "if": {
                                  "properties": {
                                    "unit": {
                                      "const": "business-day"
                                    }
                                  },
                                  "required": [
                                    "unit"
                                  ]
                                },
                                "then": {
                                  "properties": {
                                    "value": {
                                      "maximum": 10000,
                                      "minimum": -10000,
                                      "type": "integer"
                                    }
                                  }
                                }
                              }
                            ],
                            "properties": {
                              "unit": {
                                "enum": [
                                  "minute",
                                  "hour",
                                  "day",
                                  "week",
                                  "month",
                                  "year",
                                  "business-day"
                                ],
                                "type": "string",
                                "description": "Canonical unit value for this task recurrence duration."
                              },
                              "value": {
                                "maximum": 1000000,
                                "minimum": -1000000,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "required": [
                              "unit",
                              "value"
                            ],
                            "type": "object",
                            "description": "Public API representation of task recurrence duration."
                          },
                          {
                            "properties": {
                              "value": {
                                "minimum": 0,
                                "type": "integer",
                                "description": "Canonical value represented by this field."
                              }
                            },
                            "type": "object"
                          }
                        ],
                        "description": "The delay associated with this task recurrence candidate source."
                      },
                      "eventType": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z][A-Za-z0-9_.:-]{0,127}$",
                        "type": "string",
                        "description": "The event type associated with this task recurrence candidate source."
                      },
                      "sourceId": {
                        "maxLength": 128,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9_.:-]+$",
                        "type": "string",
                        "description": "The source id associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "nodeId",
                      "op",
                      "eventType"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "op": {
                        "const": "union",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "sources": {
                        "items": {
                          "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                        },
                        "maxItems": 32,
                        "minItems": 1,
                        "type": "array",
                        "description": "The sources associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "op",
                      "sources"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "op": {
                        "const": "intersection",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "sources": {
                        "items": {
                          "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                        },
                        "maxItems": 32,
                        "minItems": 1,
                        "type": "array",
                        "description": "The sources associated with this task recurrence candidate source."
                      }
                    },
                    "required": [
                      "op",
                      "sources"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "op": {
                        "const": "difference",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "exclude": {
                        "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                      },
                      "include": {
                        "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                      }
                    },
                    "required": [
                      "op",
                      "exclude",
                      "include"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "op": {
                        "const": "deduplicate",
                        "type": "string",
                        "description": "The op associated with this task recurrence candidate source."
                      },
                      "granularity": {
                        "enum": [
                          "instant",
                          "day",
                          "minute"
                        ],
                        "type": "string",
                        "description": "Canonical granularity value for this task recurrence candidate source."
                      },
                      "source": {
                        "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                      }
                    },
                    "required": [
                      "op",
                      "granularity",
                      "source"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The candidates associated with this task recurrence policy."
              },
              "conditions": {
                "items": {
                  "oneOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "all",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "conditions": {
                          "items": {
                            "$ref": "#/$defs/TaskRecurrenceCondition"
                          },
                          "maxItems": 64,
                          "type": "array",
                          "description": "The conditions associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "conditions"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "any",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "conditions": {
                          "items": {
                            "$ref": "#/$defs/TaskRecurrenceCondition"
                          },
                          "maxItems": 64,
                          "type": "array",
                          "description": "The conditions associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "conditions"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "not",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "condition": {
                          "$ref": "#/$defs/TaskRecurrenceCondition"
                        }
                      },
                      "required": [
                        "op",
                        "condition"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "exists",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "value": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "Canonical value represented by this field."
                        }
                      },
                      "required": [
                        "op",
                        "value"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "eq",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "neq",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "lt",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "lte",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "gt",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "gte",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "in",
                          "type": "string",
                          "description": "The op associated with this task recurrence condition."
                        },
                        "left": {
                          "oneOf": [
                            {
                              "type": [
                                "boolean",
                                "number",
                                "string",
                                "null"
                              ]
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "ref": {
                                  "maxLength": 256,
                                  "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                  "type": "string",
                                  "description": "The ref associated with this task recurrence condition value."
                                }
                              },
                              "required": [
                                "ref"
                              ],
                              "type": "object"
                            }
                          ],
                          "description": "The left associated with this task recurrence condition."
                        },
                        "right": {
                          "items": {
                            "oneOf": [
                              {
                                "type": [
                                  "boolean",
                                  "number",
                                  "string",
                                  "null"
                                ]
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "ref": {
                                    "maxLength": 256,
                                    "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                                    "type": "string",
                                    "description": "The ref associated with this task recurrence condition value."
                                  }
                                },
                                "required": [
                                  "ref"
                                ],
                                "type": "object"
                              }
                            ],
                            "description": "Public API representation of task recurrence condition value."
                          },
                          "maxItems": 100,
                          "type": "array",
                          "description": "The right associated with this task recurrence condition."
                        }
                      },
                      "required": [
                        "op",
                        "left",
                        "right"
                      ],
                      "type": "object"
                    }
                  ],
                  "description": "Public API representation of task recurrence condition."
                },
                "maxItems": 64,
                "type": "array",
                "description": "The conditions associated with this task recurrence policy."
              },
              "engineVersion": {
                "const": "recurrence-v1",
                "type": "string",
                "description": "The engine version associated with this task recurrence policy."
              },
              "limits": {
                "additionalProperties": false,
                "properties": {
                  "maxOccurrences": {
                    "minimum": 1,
                    "type": [
                      "integer",
                      "null"
                    ],
                    "description": "The max occurrences associated with this task recurrence policy limits."
                  },
                  "until": {
                    "maxLength": 32,
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The until associated with this task recurrence policy limits."
                  }
                },
                "required": [
                  "maxOccurrences",
                  "until"
                ],
                "type": "object",
                "description": "The limits associated with this task recurrence policy."
              },
              "materialization": {
                "additionalProperties": false,
                "allOf": [
                  {
                    "else": {
                      "properties": {
                        "catchUpLimit": false
                      }
                    },
                    "if": {
                      "properties": {
                        "catchUp": {
                          "const": "bounded"
                        }
                      },
                      "required": [
                        "catchUp"
                      ]
                    },
                    "then": {
                      "properties": {
                        "catchUpLimit": {
                          "maximum": 100,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "catchUpLimit"
                      ]
                    }
                  }
                ],
                "properties": {
                  "catchUp": {
                    "enum": [
                      "all",
                      "bounded",
                      "latest",
                      "none"
                    ],
                    "type": "string",
                    "description": "Canonical catch up value for this task recurrence policy materialization."
                  },
                  "catchUpLimit": {
                    "maximum": 100,
                    "minimum": 1,
                    "type": "integer",
                    "description": "The catch up limit associated with this task recurrence policy materialization."
                  },
                  "lead": {
                    "allOf": [
                      {
                        "additionalProperties": false,
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "unit": {
                                  "const": "business-day"
                                }
                              },
                              "required": [
                                "unit"
                              ]
                            },
                            "then": {
                              "properties": {
                                "value": {
                                  "maximum": 10000,
                                  "minimum": -10000,
                                  "type": "integer"
                                }
                              }
                            }
                          }
                        ],
                        "properties": {
                          "unit": {
                            "enum": [
                              "minute",
                              "hour",
                              "day",
                              "week",
                              "month",
                              "year",
                              "business-day"
                            ],
                            "type": "string",
                            "description": "Canonical unit value for this task recurrence duration."
                          },
                          "value": {
                            "maximum": 1000000,
                            "minimum": -1000000,
                            "type": "integer",
                            "description": "Canonical value represented by this field."
                          }
                        },
                        "required": [
                          "unit",
                          "value"
                        ],
                        "type": "object",
                        "description": "Public API representation of task recurrence duration."
                      },
                      {
                        "properties": {
                          "value": {
                            "minimum": 0,
                            "type": "integer",
                            "description": "Canonical value represented by this field."
                          }
                        },
                        "type": "object"
                      }
                    ],
                    "description": "The lead associated with this task recurrence policy materialization."
                  },
                  "overlap": {
                    "enum": [
                      "allow",
                      "defer",
                      "latest-only",
                      "pause-series",
                      "skip"
                    ],
                    "type": "string",
                    "description": "Canonical overlap value for this task recurrence policy materialization."
                  }
                },
                "required": [
                  "catchUp",
                  "lead",
                  "overlap"
                ],
                "type": "object",
                "description": "The materialization associated with this task recurrence policy."
              },
              "schemaVersion": {
                "const": 1,
                "type": "integer",
                "description": "The schema version associated with this task recurrence policy."
              },
              "timeBasis": {
                "additionalProperties": false,
                "properties": {
                  "disambiguation": {
                    "enum": [
                      "compatible",
                      "earlier",
                      "later",
                      "reject"
                    ],
                    "type": "string",
                    "description": "Canonical disambiguation value for this task recurrence policy time basis."
                  },
                  "mode": {
                    "enum": [
                      "elapsed",
                      "wall-clock"
                    ],
                    "type": "string",
                    "description": "Canonical mode value for this task recurrence policy time basis."
                  },
                  "timeZone": {
                    "maxLength": 128,
                    "minLength": 1,
                    "type": "string",
                    "description": "The time zone associated with this task recurrence policy time basis."
                  }
                },
                "required": [
                  "disambiguation",
                  "mode",
                  "timeZone"
                ],
                "type": "object",
                "description": "The time basis associated with this task recurrence policy."
              },
              "transforms": {
                "items": {
                  "oneOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "offset",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "unit": {
                          "enum": [
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                            "business-day"
                          ],
                          "type": "string",
                          "description": "Canonical unit value for this task recurrence transform."
                        },
                        "unitMode": {
                          "enum": [
                            "elapsed",
                            "wall-clock"
                          ],
                          "type": "string",
                          "description": "Canonical unit mode value for this task recurrence transform."
                        },
                        "value": {
                          "maximum": 1000000,
                          "minimum": -1000000,
                          "type": "integer",
                          "description": "Canonical value represented by this field."
                        }
                      },
                      "required": [
                        "op",
                        "unit",
                        "value"
                      ],
                      "type": "object",
                      "allOf": [
                        {
                          "if": {
                            "properties": {
                              "unit": {
                                "const": "business-day"
                              }
                            },
                            "required": [
                              "unit"
                            ]
                          },
                          "then": {
                            "properties": {
                              "value": {
                                "maximum": 10000,
                                "minimum": -10000,
                                "type": "integer"
                              }
                            }
                          }
                        }
                      ]
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "nthBusinessDay",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "calendarBinding": {
                          "enum": [
                            "assignee",
                            "project",
                            "series"
                          ],
                          "type": "string",
                          "description": "Canonical calendar binding value for this task recurrence transform."
                        },
                        "period": {
                          "enum": [
                            "month",
                            "quarter",
                            "year"
                          ],
                          "type": "string",
                          "description": "Canonical period value for this task recurrence transform."
                        },
                        "position": {
                          "maximum": 366,
                          "minimum": -366,
                          "not": {
                            "const": 0
                          },
                          "type": "integer",
                          "description": "The position associated with this task recurrence transform."
                        }
                      },
                      "required": [
                        "op",
                        "period",
                        "position"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "shiftToBusinessTime",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "calendarBinding": {
                          "enum": [
                            "assignee",
                            "project",
                            "series"
                          ],
                          "type": "string",
                          "description": "Canonical calendar binding value for this task recurrence transform."
                        },
                        "direction": {
                          "enum": [
                            "next",
                            "previous"
                          ],
                          "type": "string",
                          "description": "Canonical direction value for this task recurrence transform."
                        },
                        "includeAbsences": {
                          "type": "boolean",
                          "description": "Whether include absences applies to this task recurrence transform."
                        }
                      },
                      "required": [
                        "op",
                        "direction"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "snapToWorkingTime",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "calendarBinding": {
                          "enum": [
                            "assignee",
                            "project",
                            "series"
                          ],
                          "type": "string",
                          "description": "Canonical calendar binding value for this task recurrence transform."
                        },
                        "direction": {
                          "enum": [
                            "next",
                            "previous"
                          ],
                          "type": "string",
                          "description": "Canonical direction value for this task recurrence transform."
                        },
                        "includeAbsences": {
                          "type": "boolean",
                          "description": "Whether include absences applies to this task recurrence transform."
                        }
                      },
                      "required": [
                        "op",
                        "direction"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "setLocalTime",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "hour": {
                          "maximum": 23,
                          "minimum": 0,
                          "type": "integer",
                          "description": "The hour associated with this task recurrence transform."
                        },
                        "minute": {
                          "maximum": 59,
                          "minimum": 0,
                          "type": "integer",
                          "description": "The minute associated with this task recurrence transform."
                        }
                      },
                      "required": [
                        "op",
                        "hour",
                        "minute"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "limit",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "count": {
                          "maximum": 1000000,
                          "minimum": 1,
                          "type": "integer",
                          "description": "The count associated with this task recurrence transform."
                        },
                        "start": {
                          "maxLength": 32,
                          "minLength": 10,
                          "type": "string",
                          "description": "Start timestamp of the represented interval."
                        },
                        "until": {
                          "maxLength": 32,
                          "minLength": 10,
                          "type": "string",
                          "description": "The until associated with this task recurrence transform."
                        }
                      },
                      "required": [
                        "op"
                      ],
                      "type": "object",
                      "anyOf": [
                        {
                          "properties": {
                            "count": {
                              "type": "integer",
                              "description": "The count associated with this task recurrence transform."
                            }
                          },
                          "required": [
                            "count"
                          ],
                          "type": "object"
                        },
                        {
                          "properties": {
                            "start": {
                              "type": "string",
                              "description": "Start timestamp of the represented interval."
                            }
                          },
                          "required": [
                            "start"
                          ],
                          "type": "object"
                        },
                        {
                          "properties": {
                            "until": {
                              "type": "string",
                              "description": "The until associated with this task recurrence transform."
                            }
                          },
                          "required": [
                            "until"
                          ],
                          "type": "object"
                        }
                      ]
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "excludeDateSet",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "dates": {
                          "items": {
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                            "type": "string"
                          },
                          "maxItems": 500,
                          "minItems": 1,
                          "type": "array",
                          "description": "The dates associated with this task recurrence transform."
                        }
                      },
                      "required": [
                        "op",
                        "dates"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "excludePeriod",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "end": {
                          "maxLength": 32,
                          "minLength": 10,
                          "type": "string",
                          "description": "End timestamp of the represented interval."
                        },
                        "start": {
                          "maxLength": 32,
                          "minLength": 10,
                          "type": "string",
                          "description": "Start timestamp of the represented interval."
                        }
                      },
                      "required": [
                        "op",
                        "end",
                        "start"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "op": {
                          "const": "mapToDueAndPlanningDates",
                          "type": "string",
                          "description": "The op associated with this task recurrence transform."
                        },
                        "dueOffset": {
                          "additionalProperties": false,
                          "allOf": [
                            {
                              "if": {
                                "properties": {
                                  "unit": {
                                    "const": "business-day"
                                  }
                                },
                                "required": [
                                  "unit"
                                ]
                              },
                              "then": {
                                "properties": {
                                  "value": {
                                    "maximum": 10000,
                                    "minimum": -10000,
                                    "type": "integer"
                                  }
                                }
                              }
                            }
                          ],
                          "properties": {
                            "unit": {
                              "enum": [
                                "minute",
                                "hour",
                                "day",
                                "week",
                                "month",
                                "year",
                                "business-day"
                              ],
                              "type": "string",
                              "description": "Canonical unit value for this task recurrence duration."
                            },
                            "value": {
                              "maximum": 1000000,
                              "minimum": -1000000,
                              "type": "integer",
                              "description": "Canonical value represented by this field."
                            }
                          },
                          "required": [
                            "unit",
                            "value"
                          ],
                          "type": "object",
                          "description": "The due offset associated with this task recurrence transform."
                        },
                        "plannedEndOffset": {
                          "additionalProperties": false,
                          "allOf": [
                            {
                              "if": {
                                "properties": {
                                  "unit": {
                                    "const": "business-day"
                                  }
                                },
                                "required": [
                                  "unit"
                                ]
                              },
                              "then": {
                                "properties": {
                                  "value": {
                                    "maximum": 10000,
                                    "minimum": -10000,
                                    "type": "integer"
                                  }
                                }
                              }
                            }
                          ],
                          "properties": {
                            "unit": {
                              "enum": [
                                "minute",
                                "hour",
                                "day",
                                "week",
                                "month",
                                "year",
                                "business-day"
                              ],
                              "type": "string",
                              "description": "Canonical unit value for this task recurrence duration."
                            },
                            "value": {
                              "maximum": 1000000,
                              "minimum": -1000000,
                              "type": "integer",
                              "description": "Canonical value represented by this field."
                            }
                          },
                          "required": [
                            "unit",
                            "value"
                          ],
                          "type": "object",
                          "description": "The planned end offset associated with this task recurrence transform."
                        },
                        "plannedStartOffset": {
                          "additionalProperties": false,
                          "allOf": [
                            {
                              "if": {
                                "properties": {
                                  "unit": {
                                    "const": "business-day"
                                  }
                                },
                                "required": [
                                  "unit"
                                ]
                              },
                              "then": {
                                "properties": {
                                  "value": {
                                    "maximum": 10000,
                                    "minimum": -10000,
                                    "type": "integer"
                                  }
                                }
                              }
                            }
                          ],
                          "properties": {
                            "unit": {
                              "enum": [
                                "minute",
                                "hour",
                                "day",
                                "week",
                                "month",
                                "year",
                                "business-day"
                              ],
                              "type": "string",
                              "description": "Canonical unit value for this task recurrence duration."
                            },
                            "value": {
                              "maximum": 1000000,
                              "minimum": -1000000,
                              "type": "integer",
                              "description": "Canonical value represented by this field."
                            }
                          },
                          "required": [
                            "unit",
                            "value"
                          ],
                          "type": "object",
                          "description": "The planned start offset associated with this task recurrence transform."
                        }
                      },
                      "required": [
                        "op"
                      ],
                      "type": "object"
                    }
                  ],
                  "description": "Public API representation of task recurrence transform."
                },
                "maxItems": 64,
                "type": "array",
                "description": "The transforms associated with this task recurrence policy."
              }
            },
            "required": [
              "candidates",
              "conditions",
              "engineVersion",
              "limits",
              "materialization",
              "schemaVersion",
              "timeBasis",
              "transforms"
            ],
            "type": "object"
          },
          "template": {
            "additionalProperties": false,
            "description": "The template associated with this task recurrence preview.",
            "properties": {
              "billable": {
                "type": "boolean",
                "description": "Whether this time or service can be billed."
              },
              "contactId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related contact."
              },
              "customFieldValues": {
                "additionalProperties": {
                  "oneOf": [
                    {
                      "type": [
                        "boolean",
                        "number",
                        "string",
                        "null"
                      ]
                    },
                    {
                      "items": {
                        "type": [
                          "boolean",
                          "number",
                          "string",
                          "null"
                        ]
                      },
                      "maxItems": 250,
                      "type": "array"
                    }
                  ]
                },
                "maxProperties": 256,
                "type": "object",
                "description": "The custom field values associated with this task recurrence template."
              },
              "description": {
                "maxLength": 200000,
                "type": "string",
                "description": "Human-readable description of the resource."
              },
              "descriptionFormat": {
                "enum": [
                  "markdown-v1",
                  "plain-text"
                ],
                "type": "string",
                "description": "How to interpret the task description. Legacy and unmarked descriptions are plain-text; markdown-v1 enables TeamGrid Markdown."
              },
              "groupId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related workspace group."
              },
              "listId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related task list."
              },
              "name": {
                "maxLength": 1000,
                "minLength": 1,
                "type": "string",
                "description": "Human-readable name of the resource."
              },
              "personalListId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The personal list id associated with this task recurrence template."
              },
              "plannedTime": {
                "maximum": 100000000,
                "minimum": 0,
                "type": "number",
                "description": "Planned effort in minutes."
              },
              "projectId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related project."
              },
              "serviceId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related service."
              },
              "subscriberIds": {
                "items": {
                  "maxLength": 256,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9_.:-]+$",
                  "type": "string"
                },
                "maxItems": 250,
                "type": "array",
                "description": "Ordered set of subscriber identifiers associated with this task recurrence template."
              },
              "subTasks": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "order": {
                      "maximum": 100000000,
                      "minimum": -100000000,
                      "type": "number",
                      "description": "The order associated with this task recurrence template sub tasks."
                    },
                    "title": {
                      "maxLength": 5000,
                      "minLength": 1,
                      "type": "string",
                      "description": "Human-readable title of the resource."
                    }
                  },
                  "required": [
                    "title"
                  ],
                  "type": "object"
                },
                "maxItems": 500,
                "type": "array",
                "description": "The sub tasks associated with this task recurrence template."
              },
              "tagIds": {
                "items": {
                  "maxLength": 256,
                  "minLength": 1,
                  "pattern": "^[A-Za-z0-9_.:-]+$",
                  "type": "string"
                },
                "maxItems": 250,
                "type": "array",
                "description": "Ordered set of tag identifiers associated with this task recurrence template."
              },
              "userId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related workspace user."
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          },
          "until": {
            "format": "date-time",
            "type": "string",
            "description": "ISO 8601 timestamp for until."
          }
        },
        "required": [
          "policy"
        ],
        "type": "object",
        "description": "Public API representation of task recurrence preview."
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false,
    "$defs": {
      "TaskRecurrenceCandidateSource": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "calendarRule",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "rule": {
                "additionalProperties": false,
                "properties": {
                  "byHour": {
                    "items": {
                      "maximum": 23,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "maxItems": 24,
                    "type": "array",
                    "description": "The by hour associated with this task recurrence calendar rule."
                  },
                  "byMinute": {
                    "items": {
                      "maximum": 59,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "maxItems": 60,
                    "type": "array",
                    "description": "The by minute associated with this task recurrence calendar rule."
                  },
                  "byMonth": {
                    "items": {
                      "maximum": 12,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "maxItems": 12,
                    "type": "array",
                    "description": "The by month associated with this task recurrence calendar rule."
                  },
                  "byMonthDay": {
                    "items": {
                      "maximum": 31,
                      "minimum": -31,
                      "not": {
                        "const": 0
                      },
                      "type": "integer"
                    },
                    "maxItems": 62,
                    "type": "array",
                    "description": "The by month day associated with this task recurrence calendar rule."
                  },
                  "bySetPosition": {
                    "items": {
                      "maximum": 366,
                      "minimum": -366,
                      "not": {
                        "const": 0
                      },
                      "type": "integer"
                    },
                    "maxItems": 732,
                    "type": "array",
                    "description": "The by set position associated with this task recurrence calendar rule."
                  },
                  "byWeekDay": {
                    "items": {
                      "maximum": 6,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "maxItems": 7,
                    "type": "array",
                    "description": "The by week day associated with this task recurrence calendar rule."
                  },
                  "frequency": {
                    "enum": [
                      "minutely",
                      "hourly",
                      "daily",
                      "weekly",
                      "monthly",
                      "yearly"
                    ],
                    "type": "string",
                    "description": "Canonical frequency value for this task recurrence calendar rule."
                  },
                  "interval": {
                    "default": 1,
                    "maximum": 1000000,
                    "minimum": 1,
                    "type": "integer",
                    "description": "The interval associated with this task recurrence calendar rule."
                  },
                  "invalidDayHandling": {
                    "enum": [
                      "next-valid-day",
                      "omit",
                      "previous-valid-day"
                    ],
                    "type": "string",
                    "description": "Canonical invalid day handling value for this task recurrence calendar rule."
                  },
                  "startLocal": {
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                    "type": "string",
                    "description": "The start local associated with this task recurrence calendar rule."
                  },
                  "weekStart": {
                    "maximum": 6,
                    "minimum": 0,
                    "type": "integer",
                    "description": "The week start associated with this task recurrence calendar rule."
                  }
                },
                "required": [
                  "frequency",
                  "startLocal"
                ],
                "type": "object",
                "description": "The rule associated with this task recurrence candidate source."
              }
            },
            "required": [
              "nodeId",
              "op",
              "rule"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "dateSet",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "dates": {
                "items": {
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                  "type": "string"
                },
                "maxItems": 500,
                "minItems": 1,
                "type": "array",
                "description": "The dates associated with this task recurrence candidate source."
              }
            },
            "required": [
              "nodeId",
              "op",
              "dates"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "monthSet",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "months": {
                "items": {
                  "maximum": 12,
                  "minimum": 1,
                  "type": "integer"
                },
                "maxItems": 12,
                "minItems": 1,
                "type": "array",
                "description": "The months associated with this task recurrence candidate source."
              }
            },
            "required": [
              "nodeId",
              "op",
              "months"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "sequence",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "anchorLocal": {
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2})?$",
                "type": "string",
                "description": "The anchor local associated with this task recurrence candidate source."
              },
              "intervals": {
                "items": {
                  "allOf": [
                    {
                      "additionalProperties": false,
                      "allOf": [
                        {
                          "if": {
                            "properties": {
                              "unit": {
                                "const": "business-day"
                              }
                            },
                            "required": [
                              "unit"
                            ]
                          },
                          "then": {
                            "properties": {
                              "value": {
                                "maximum": 10000,
                                "minimum": -10000,
                                "type": "integer"
                              }
                            }
                          }
                        }
                      ],
                      "properties": {
                        "unit": {
                          "enum": [
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                            "business-day"
                          ],
                          "type": "string",
                          "description": "Canonical unit value for this task recurrence duration."
                        },
                        "value": {
                          "maximum": 1000000,
                          "minimum": -1000000,
                          "type": "integer",
                          "description": "Canonical value represented by this field."
                        }
                      },
                      "required": [
                        "unit",
                        "value"
                      ],
                      "type": "object",
                      "description": "Public API representation of task recurrence duration."
                    },
                    {
                      "properties": {
                        "value": {
                          "minimum": 0,
                          "type": "integer",
                          "description": "Canonical value represented by this field."
                        }
                      },
                      "type": "object"
                    }
                  ]
                },
                "maxItems": 500,
                "minItems": 1,
                "type": "array",
                "description": "The intervals associated with this task recurrence candidate source."
              }
            },
            "required": [
              "nodeId",
              "op",
              "anchorLocal",
              "intervals"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "afterOccurrenceEvent",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "completionMode": {
                "enum": [
                  "every-completion-transition",
                  "first-completion-only"
                ],
                "type": "string",
                "description": "Canonical completion mode value for this task recurrence candidate source."
              },
              "delay": {
                "allOf": [
                  {
                    "additionalProperties": false,
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "unit": {
                              "const": "business-day"
                            }
                          },
                          "required": [
                            "unit"
                          ]
                        },
                        "then": {
                          "properties": {
                            "value": {
                              "maximum": 10000,
                              "minimum": -10000,
                              "type": "integer"
                            }
                          }
                        }
                      }
                    ],
                    "properties": {
                      "unit": {
                        "enum": [
                          "minute",
                          "hour",
                          "day",
                          "week",
                          "month",
                          "year",
                          "business-day"
                        ],
                        "type": "string",
                        "description": "Canonical unit value for this task recurrence duration."
                      },
                      "value": {
                        "maximum": 1000000,
                        "minimum": -1000000,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "required": [
                      "unit",
                      "value"
                    ],
                    "type": "object",
                    "description": "Public API representation of task recurrence duration."
                  },
                  {
                    "properties": {
                      "value": {
                        "minimum": 0,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "type": "object"
                  }
                ],
                "description": "The delay associated with this task recurrence candidate source."
              },
              "event": {
                "enum": [
                  "completed",
                  "created",
                  "reopened"
                ],
                "type": "string",
                "description": "Canonical TeamGrid event name."
              }
            },
            "required": [
              "nodeId",
              "op",
              "event"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "afterProjectEvent",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "delay": {
                "allOf": [
                  {
                    "additionalProperties": false,
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "unit": {
                              "const": "business-day"
                            }
                          },
                          "required": [
                            "unit"
                          ]
                        },
                        "then": {
                          "properties": {
                            "value": {
                              "maximum": 10000,
                              "minimum": -10000,
                              "type": "integer"
                            }
                          }
                        }
                      }
                    ],
                    "properties": {
                      "unit": {
                        "enum": [
                          "minute",
                          "hour",
                          "day",
                          "week",
                          "month",
                          "year",
                          "business-day"
                        ],
                        "type": "string",
                        "description": "Canonical unit value for this task recurrence duration."
                      },
                      "value": {
                        "maximum": 1000000,
                        "minimum": -1000000,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "required": [
                      "unit",
                      "value"
                    ],
                    "type": "object",
                    "description": "Public API representation of task recurrence duration."
                  },
                  {
                    "properties": {
                      "value": {
                        "minimum": 0,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "type": "object"
                  }
                ],
                "description": "The delay associated with this task recurrence candidate source."
              },
              "event": {
                "enum": [
                  "archived",
                  "completed",
                  "created",
                  "reopened",
                  "restored"
                ],
                "type": "string",
                "description": "Canonical TeamGrid event name."
              },
              "projectId": {
                "maxLength": 256,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "Identifier of the related project."
              }
            },
            "required": [
              "nodeId",
              "op",
              "event",
              "projectId"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "nodeId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The node id associated with this task recurrence candidate source."
              },
              "op": {
                "const": "externalEvent",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "delay": {
                "allOf": [
                  {
                    "additionalProperties": false,
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "unit": {
                              "const": "business-day"
                            }
                          },
                          "required": [
                            "unit"
                          ]
                        },
                        "then": {
                          "properties": {
                            "value": {
                              "maximum": 10000,
                              "minimum": -10000,
                              "type": "integer"
                            }
                          }
                        }
                      }
                    ],
                    "properties": {
                      "unit": {
                        "enum": [
                          "minute",
                          "hour",
                          "day",
                          "week",
                          "month",
                          "year",
                          "business-day"
                        ],
                        "type": "string",
                        "description": "Canonical unit value for this task recurrence duration."
                      },
                      "value": {
                        "maximum": 1000000,
                        "minimum": -1000000,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "required": [
                      "unit",
                      "value"
                    ],
                    "type": "object",
                    "description": "Public API representation of task recurrence duration."
                  },
                  {
                    "properties": {
                      "value": {
                        "minimum": 0,
                        "type": "integer",
                        "description": "Canonical value represented by this field."
                      }
                    },
                    "type": "object"
                  }
                ],
                "description": "The delay associated with this task recurrence candidate source."
              },
              "eventType": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]{0,127}$",
                "type": "string",
                "description": "The event type associated with this task recurrence candidate source."
              },
              "sourceId": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^[A-Za-z0-9_.:-]+$",
                "type": "string",
                "description": "The source id associated with this task recurrence candidate source."
              }
            },
            "required": [
              "nodeId",
              "op",
              "eventType"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "union",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "sources": {
                "items": {
                  "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                },
                "maxItems": 32,
                "minItems": 1,
                "type": "array",
                "description": "The sources associated with this task recurrence candidate source."
              }
            },
            "required": [
              "op",
              "sources"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "intersection",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "sources": {
                "items": {
                  "$ref": "#/$defs/TaskRecurrenceCandidateSource"
                },
                "maxItems": 32,
                "minItems": 1,
                "type": "array",
                "description": "The sources associated with this task recurrence candidate source."
              }
            },
            "required": [
              "op",
              "sources"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "difference",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "exclude": {
                "$ref": "#/$defs/TaskRecurrenceCandidateSource"
              },
              "include": {
                "$ref": "#/$defs/TaskRecurrenceCandidateSource"
              }
            },
            "required": [
              "op",
              "exclude",
              "include"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "deduplicate",
                "type": "string",
                "description": "The op associated with this task recurrence candidate source."
              },
              "granularity": {
                "enum": [
                  "instant",
                  "day",
                  "minute"
                ],
                "type": "string",
                "description": "Canonical granularity value for this task recurrence candidate source."
              },
              "source": {
                "$ref": "#/$defs/TaskRecurrenceCandidateSource"
              }
            },
            "required": [
              "op",
              "granularity",
              "source"
            ],
            "type": "object"
          }
        ],
        "description": "Public API representation of task recurrence candidate source."
      },
      "TaskRecurrenceCondition": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "all",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "conditions": {
                "items": {
                  "$ref": "#/$defs/TaskRecurrenceCondition"
                },
                "maxItems": 64,
                "type": "array",
                "description": "The conditions associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "conditions"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "any",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "conditions": {
                "items": {
                  "$ref": "#/$defs/TaskRecurrenceCondition"
                },
                "maxItems": 64,
                "type": "array",
                "description": "The conditions associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "conditions"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "not",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "condition": {
                "$ref": "#/$defs/TaskRecurrenceCondition"
              }
            },
            "required": [
              "op",
              "condition"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "exists",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "value": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "Canonical value represented by this field."
              }
            },
            "required": [
              "op",
              "value"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "eq",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "neq",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "lt",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "lte",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "gt",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "gte",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "op": {
                "const": "in",
                "type": "string",
                "description": "The op associated with this task recurrence condition."
              },
              "left": {
                "oneOf": [
                  {
                    "type": [
                      "boolean",
                      "number",
                      "string",
                      "null"
                    ]
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "ref": {
                        "maxLength": 256,
                        "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                        "type": "string",
                        "description": "The ref associated with this task recurrence condition value."
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "type": "object"
                  }
                ],
                "description": "The left associated with this task recurrence condition."
              },
              "right": {
                "items": {
                  "oneOf": [
                    {
                      "type": [
                        "boolean",
                        "number",
                        "string",
                        "null"
                      ]
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "ref": {
                          "maxLength": 256,
                          "pattern": "^(event\\.[A-Za-z0-9_.:-]+|occurrence\\.(scheduledFor|scheduledDate)|previousOccurrence\\.(archived|completed|exists|state)|project\\.(active|archived|completed|exists)|series\\.(status|occurrenceCount)|customField\\.[A-Za-z0-9_.:-]+)$",
                          "type": "string",
                          "description": "The ref associated with this task recurrence condition value."
                        }
                      },
                      "required": [
                        "ref"
                      ],
                      "type": "object"
                    }
                  ],
                  "description": "Public API representation of task recurrence condition value."
                },
                "maxItems": 100,
                "type": "array",
                "description": "The right associated with this task recurrence condition."
              }
            },
            "required": [
              "op",
              "left",
              "right"
            ],
            "type": "object"
          }
        ],
        "description": "Public API representation of task recurrence condition."
      }
    }
  },
  "profileInputSchemas": {},
  "name": "teamgrid_task_recurrence_preview_input",
  "scopes": {
    "optional": [],
    "conditional": [],
    "required": [
      "task-recurrences:write",
      "tasks:read",
      "tasks:write"
    ]
  },
  "security": {
    "classification": "operational-data",
    "summary": "The response contains operational workspace data visible to the credential."
  },
  "output": {
    "format": "The bounded API result is returned as MCP structured content and equivalent JSON text.",
    "kind": "single-resource",
    "maxSerializedBytes": 262144,
    "pagination": null,
    "redactions": [],
    "searchLimit": null
  },
  "examplePrompt": "Use `teamgrid_task_recurrence_preview_input` to inspect or preview the selected TeamGrid resource. Resolve its required arguments from the schema and report only returned data. Do not change business state.",
  "typicalErrors": [
    {
      "condition": "The selected tool profile or allow/deny filter excludes `teamgrid_task_recurrence_preview_input`.",
      "result": "The tool is not advertised to the host. Select the narrowest profile that contains it and restart the host."
    },
    {
      "condition": "An argument violates this tool’s input schema: required field, type, enum, pattern, length, or range.",
      "result": "MCP input validation rejects the call before an API request is made."
    },
    {
      "condition": "The credential lacks `task-recurrences:write` and `tasks:read` and `tasks:write` or cannot access the requested resource.",
      "result": "The tool preserves a safe API error code such as `insufficient_scope`, with redacted detail and available status/request metadata."
    },
    {
      "condition": "A read exceeds the 256 KiB tool result limit.",
      "result": "Use a bounded section, smaller supported read, private resource or authorized App/CLI transfer."
    },
    {
      "condition": "An unknown input property is supplied.",
      "result": "The strict input schema rejects the call before an API request is made."
    }
  ]
}
