{
  "type": "object",
  "required": [
    "metadata",
    "results",
    "elapsed_time"
  ],
  "properties": {
    "metadata": {
      "$ref": "#/definitions/FreshnessMetadata"
    },
    "results": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/definitions/SourceFreshnessRuntimeError"
          },
          {
            "$ref": "#/definitions/SourceFreshnessOutput"
          }
        ]
      }
    },
    "elapsed_time": {
      "type": "number"
    }
  },
  "additionalProperties": false,
  "description": "FreshnessExecutionResultArtifact(metadata: dbt.contracts.results.FreshnessMetadata, results: Sequence[Union[dbt.contracts.results.SourceFreshnessRuntimeError, dbt.contracts.results.SourceFreshnessOutput]], elapsed_time: float)",
  "definitions": {
    "FreshnessMetadata": {
      "type": "object",
      "required": [],
      "properties": {
        "dbt_schema_version": {
          "type": "string",
          "default": "https://schemas.getdbt.com/dbt/sources/v2.json"
        },
        "dbt_version": {
          "type": "string",
          "default": "0.21.0rc1"
        },
        "generated_at": {
          "type": "string",
          "format": "date-time",
          "default": "2021-09-24T13:29:14.312598Z"
        },
        "invocation_id": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "default": {}
        }
      },
      "additionalProperties": false,
      "description": "FreshnessMetadata(dbt_schema_version: str = <factory>, dbt_version: str = '0.21.0rc1', generated_at: datetime.datetime = <factory>, invocation_id: Union[str, NoneType] = <factory>, env: Dict[str, str] = <factory>)"
    },
    "SourceFreshnessRuntimeError": {
      "type": "object",
      "required": [
        "unique_id",
        "status"
      ],
      "properties": {
        "unique_id": {
          "type": "string"
        },
        "error": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "runtime error"
          ]
        }
      },
      "additionalProperties": false,
      "description": "SourceFreshnessRuntimeError(unique_id: str, error: Union[str, int, NoneType], status: dbt.contracts.results.FreshnessErrorEnum)"
    },
    "SourceFreshnessOutput": {
      "type": "object",
      "required": [
        "unique_id",
        "max_loaded_at",
        "snapshotted_at",
        "max_loaded_at_time_ago_in_s",
        "status",
        "criteria",
        "adapter_response",
        "timing",
        "thread_id",
        "execution_time"
      ],
      "properties": {
        "unique_id": {
          "type": "string"
        },
        "max_loaded_at": {
          "type": "string",
          "format": "date-time"
        },
        "snapshotted_at": {
          "type": "string",
          "format": "date-time"
        },
        "max_loaded_at_time_ago_in_s": {
          "type": "number"
        },
        "status": {
          "type": "string",
          "enum": [
            "pass",
            "warn",
            "error",
            "runtime error"
          ]
        },
        "criteria": {
          "$ref": "#/definitions/FreshnessThreshold"
        },
        "adapter_response": {
          "type": "object"
        },
        "timing": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimingInfo"
          }
        },
        "thread_id": {
          "type": "string"
        },
        "execution_time": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "description": "SourceFreshnessOutput(unique_id: str, max_loaded_at: datetime.datetime, snapshotted_at: datetime.datetime, max_loaded_at_time_ago_in_s: float, status: dbt.contracts.results.FreshnessStatus, criteria: dbt.contracts.graph.unparsed.FreshnessThreshold, adapter_response: Dict[str, Any], timing: List[dbt.contracts.results.TimingInfo], thread_id: str, execution_time: float)"
    },
    "FreshnessThreshold": {
      "type": "object",
      "required": [],
      "properties": {
        "warn_after": {
          "oneOf": [
            {
              "$ref": "#/definitions/Time"
            },
            {
              "type": "null"
            }
          ]
        },
        "error_after": {
          "oneOf": [
            {
              "$ref": "#/definitions/Time"
            },
            {
              "type": "null"
            }
          ]
        },
        "filter": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false,
      "description": "FreshnessThreshold(warn_after: Union[dbt.contracts.graph.unparsed.Time, NoneType] = None, error_after: Union[dbt.contracts.graph.unparsed.Time, NoneType] = None, filter: Union[str, NoneType] = None)"
    },
    "Time": {
      "type": "object",
      "required": [
        "count",
        "period"
      ],
      "properties": {
        "count": {
          "type": "integer"
        },
        "period": {
          "type": "string",
          "enum": [
            "minute",
            "hour",
            "day"
          ]
        }
      },
      "additionalProperties": false,
      "description": "Time(count: int, period: dbt.contracts.graph.unparsed.TimePeriod)"
    },
    "TimingInfo": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "started_at": {
          "oneOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        },
        "completed_at": {
          "oneOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false,
      "description": "TimingInfo(name: str, started_at: Union[datetime.datetime, NoneType] = None, completed_at: Union[datetime.datetime, NoneType] = None)"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.getdbt.com/dbt/sources/v2.json"
}