52 lines
1.9 KiB
JSON
52 lines
1.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"required": ["assistant_message", "cases", "removed_case_ids"],
|
|
"properties": {
|
|
"assistant_message": {"type": "string"},
|
|
"cases": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["case_id", "name", "table_name", "database_name", "fields", "category", "sql", "sample_sql", "sample_limit", "assertions"],
|
|
"properties": {
|
|
"case_id": {"type": ["string", "null"]},
|
|
"name": {"type": "string"},
|
|
"table_name": {"type": "string"},
|
|
"database_name": {"type": "string"},
|
|
"fields": {"type": "array", "items": {"type": "string"}},
|
|
"category": {"type": "string"},
|
|
"sql": {"type": "string"},
|
|
"sample_sql": {"type": ["string", "null"]},
|
|
"sample_limit": {"type": "integer", "minimum": 1, "maximum": 1000},
|
|
"assertions": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["type", "actual", "expected", "minimum", "maximum"],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["equals", "not_equals", "greater_than", "less_than", "between", "change_rate_between", "result_is_empty"]
|
|
},
|
|
"actual": {"type": ["string", "null"]},
|
|
"expected": {"type": ["string", "number", "boolean", "null"]},
|
|
"minimum": {"type": ["number", "null"]},
|
|
"maximum": {"type": ["number", "null"]}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"removed_case_ids": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|