35 lines
1.5 KiB
JSON
35 lines
1.5 KiB
JSON
|
|
{
|
||
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
|
|
"$id": "https://github.com/GameCult/CultLib/contracts/cultnet/cultnet.raw-document-header.schema.json",
|
||
|
|
"title": "CultNet Raw Document Header",
|
||
|
|
"description": "R-S (docs/cultnet-selection-cut.md, fix batch 3): CultNetRawDocumentRecord minus payload/payloadEncoding - CultNetRawDocumentHeader has no such members at all, so a header must not $ref the record schema (which requires them). Matches MessagePack-CSharp's map-mode output: every declared key is written, nil included, so every property here is `required` even where its value may be null.",
|
||
|
|
"type": "object",
|
||
|
|
"required": [
|
||
|
|
"schemaId",
|
||
|
|
"schemaName",
|
||
|
|
"schemaVersion",
|
||
|
|
"schemaContentHash",
|
||
|
|
"recordKey",
|
||
|
|
"storedAt",
|
||
|
|
"sourceRuntimeId",
|
||
|
|
"sourceAgentId",
|
||
|
|
"sourceRole",
|
||
|
|
"tags"
|
||
|
|
],
|
||
|
|
"additionalProperties": false,
|
||
|
|
"properties": {
|
||
|
|
"schemaId": { "type": "string", "minLength": 1 },
|
||
|
|
"schemaName": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"schemaVersion": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"schemaContentHash": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"recordKey": { "type": "string", "minLength": 1 },
|
||
|
|
"storedAt": { "type": "string", "minLength": 1 },
|
||
|
|
"sourceRuntimeId": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"sourceAgentId": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"sourceRole": { "type": ["string", "null"], "minLength": 1 },
|
||
|
|
"tags": {
|
||
|
|
"type": ["array", "null"],
|
||
|
|
"items": { "type": "string", "minLength": 1 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|