{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "title": "FreshnessExecutionResultArtifact",
  "properties": {
    "metadata": {
      "type": "object",
      "title": "FreshnessMetadata",
      "properties": {
        "dbt_schema_version": {
          "type": "string"
        },
        "dbt_version": {
          "type": "string",
          "default": "1.11.6"
        },
        "generated_at": {
          "type": "string"
        },
        "invocation_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "invocation_started_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "propertyNames": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "results": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "title": "SourceFreshnessRuntimeError",
            "properties": {
              "unique_id": {
                "type": "string"
              },
              "error": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "enum": [
                  "runtime error"
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "unique_id",
              "error",
              "status"
            ]
          },
          {
            "type": "object",
            "title": "SourceFreshnessOutput",
            "properties": {
              "unique_id": {
                "type": "string"
              },
              "max_loaded_at": {
                "type": "string"
              },
              "snapshotted_at": {
                "type": "string"
              },
              "max_loaded_at_time_ago_in_s": {
                "type": "number"
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "error",
                  "runtime error"
                ]
              },
              "criteria": {
                "type": "object",
                "title": "FreshnessThreshold",
                "properties": {
                  "warn_after": {
                    "anyOf": [
                      {
                        "type": "object",
                        "title": "Time",
                        "properties": {
                          "count": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          },
                          "period": {
                            "anyOf": [
                              {
                                "enum": [
                                  "minute",
                                  "hour",
                                  "day"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "error_after": {
                    "anyOf": [
                      {
                        "type": "object",
                        "title": "Time",
                        "properties": {
                          "count": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          },
                          "period": {
                            "anyOf": [
                              {
                                "enum": [
                                  "minute",
                                  "hour",
                                  "day"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "filter": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  }
                },
                "additionalProperties": false
              },
              "adapter_response": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                }
              },
              "timing": {
                "type": "array",
                "items": {
                  "type": "object",
                  "title": "TimingInfo",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "started_at": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "completed_at": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "name"
                  ]
                }
              },
              "thread_id": {
                "type": "string"
              },
              "execution_time": {
                "type": "number"
              }
            },
            "additionalProperties": false,
            "required": [
              "unique_id",
              "max_loaded_at",
              "snapshotted_at",
              "max_loaded_at_time_ago_in_s",
              "status",
              "criteria",
              "adapter_response",
              "timing",
              "thread_id",
              "execution_time"
            ]
          }
        ]
      }
    },
    "elapsed_time": {
      "type": "number"
    }
  },
  "additionalProperties": false,
  "required": [
    "metadata",
    "results",
    "elapsed_time"
  ],
  "$id": "https://schemas.getdbt.com/dbt/sources/v3.json"
}
