{
  "$id": "https://opendatafabric.org/schemas/engines/v1alpha1/TransformRequestInput",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Sent as part of the engine transform request operation to describe the input",
  "type": "object",
  "required": [
    "datasetId",
    "datasetAlias",
    "queryAlias",
    "vocab",
    "dataPaths",
    "schemaFile",
    "explicitWatermarks"
  ],
  "properties": {
    "datasetId": {
      "type": "string",
      "format": "dataset-id",
      "description": "Unique identifier of the dataset."
    },
    "datasetAlias": {
      "type": "string",
      "format": "dataset-alias",
      "description": "Alias of the output dataset, for logging purposes only."
    },
    "queryAlias": {
      "type": "string",
      "description": "An alias of this input to be used in queries."
    },
    "vocab": {
      "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/DatasetVocabulary",
      "description": "Vocabulary of the input dataset.",
      "unevaluatedProperties": false
    },
    "offsetInterval": {
      "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/OffsetInterval",
      "description": "Subset of data that goes into this transaction.",
      "unevaluatedProperties": false
    },
    "dataPaths": {
      "type": "array",
      "description": "TODO: This will be removed when coordinator will be slicing data for the engine.",
      "items": {
        "type": "string",
        "format": "path"
      }
    },
    "schemaFile": {
      "type": "string",
      "format": "path",
      "description": "TODO: replace with actual DDL or Parquet schema."
    },
    "explicitWatermarks": {
      "type": "array",
      "items": {
        "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/Watermark",
        "unevaluatedProperties": false
      },
      "description": "Watermarks that should be injected into the stream to separate micro batches for reproducibility."
    }
  }
}
