{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "SplitJsonOutput",
  "description": "JSON output for single file split",
  "type": "object",
  "properties": {
    "compression": {
      "type": ["string", "null"]
    },
    "dialect": {
      "type": "string"
    },
    "dialect_confidence": {
      "type": ["string", "null"]
    },
    "dry_run": {
      "type": "boolean"
    },
    "input_file": {
      "type": "string"
    },
    "output_dir": {
      "type": "string"
    },
    "statistics": {
      "$ref": "#/$defs/SplitStatistics"
    },
    "tables": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "input_file",
    "output_dir",
    "dialect",
    "dry_run",
    "statistics",
    "tables"
  ],
  "$defs": {
    "SplitStatistics": {
      "type": "object",
      "properties": {
        "bytes_processed": {
          "type": "integer",
          "minimum": 0
        },
        "elapsed_secs": {
          "type": "number"
        },
        "statements_processed": {
          "type": "integer",
          "minimum": 0
        },
        "tables_found": {
          "type": "integer",
          "minimum": 0
        },
        "throughput_mb_per_sec": {
          "type": ["number", "null"]
        }
      },
      "required": [
        "tables_found",
        "statements_processed",
        "bytes_processed",
        "elapsed_secs"
      ]
    }
  }
}
