{
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "string",
      "enum": [
        "1"
      ],
      "default": "1"
    },
    "request_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Optional caller-supplied id, echoed back. Generated if omitted."
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8000,
      "description": "The decision to make, phrased as a question."
    },
    "options": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 500
      },
      "minItems": 2,
      "maxItems": 256,
      "uniqueItems": true,
      "description": "Candidate answers. If given, the decision is exactly one of them."
    },
    "context": {
      "type": "object",
      "description": "Free-form structured context passed to the provider."
    },
    "min_confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Abstain below this confidence. Defaults to the configured threshold."
    }
  },
  "required": [
    "question"
  ],
  "additionalProperties": false
}
