Files
sandwich-hime/contracts/himesan-operation-output-v1.schema.json
T

56 lines
2.0 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://sandwichhime.com/schema/himesan-operation-output-v1.schema.json",
"title": "Hime-san generate/check JSON result v1",
"type": "object",
"additionalProperties": false,
"required": ["command", "ok", "result"],
"properties": {
"command": {"enum": ["generate", "check", "bless"]},
"ok": {"type": "boolean"},
"result": {
"type": "object",
"additionalProperties": false,
"required": ["files", "discovered", "changed", "unchanged", "stale", "missing"],
"properties": {
"files": {
"type": ["array", "null"],
"items": {
"type": "object",
"additionalProperties": false,
"required": ["source_path", "output_path", "changed", "stale", "missing"],
"properties": {
"source_path": {"type": "string"},
"output_path": {"type": "string"},
"changed": {"type": "boolean"},
"stale": {"type": "boolean"},
"missing": {"type": "boolean"}
}
}
},
"diagnostics": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["path", "line", "column", "code", "severity", "message"],
"properties": {
"path": {"type": "string"},
"line": {"type": "integer", "minimum": 1},
"column": {"type": "integer", "minimum": 1},
"code": {"type": "string", "pattern": "^HIM[0-9]{4}$"},
"severity": {"enum": ["error", "warning"]},
"message": {"type": "string"}
}
}
},
"discovered": {"type": "integer", "minimum": 0},
"changed": {"type": "integer", "minimum": 0},
"unchanged": {"type": "integer", "minimum": 0},
"stale": {"type": "integer", "minimum": 0},
"missing": {"type": "integer", "minimum": 0}
}
}
}
}