{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://lumi.local/protocol/v1/envelope.schema.json",
  "type": "object",
  "required": ["version", "type", "id", "sent_at"],
  "properties": {
    "version": { "const": 1 },
    "type": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9_]*$" },
    "id": { "type": "string", "format": "uuid" },
    "sent_at": { "type": "string", "format": "date-time" },
    "session_id": { "type": ["string", "null"], "format": "uuid" },
    "payload": { "type": "object" }
  },
  "additionalProperties": false
}
