☰ Contents
AISA v2.0 / Technical documentation / model-turn.schema.json

model-turn.schema.json

JSON · 78 lines · 1,585 bytes · wiki path 10 Architecture/contracts/model-turn.schema.json · download the raw file · cited from Model execution · Case protocol · Contracts

Same folder: Connectors.Abstractions.cs · configuration-change.schema.json · configuration-input.schema.json · connector-capability.schema.json · eval-set.schema.json · execution-obligations.schema.json · ledger-record.schema.json · message-envelope.schema.json · module-manifest.schema.json · openapi.yaml · realtime-events.schema.json · runtime-state.schema.json · tool-package.schema.json · validate_case_journeys.py · validate_contracts.py · validate_runtime_contracts.py · validate_tool_packages.py · write-shape.schema.json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://aisa.ablera.com/contracts/model-turn.schema.json",
  "title": "Model turn action v1",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "kind",
    "summary",
    "tool_calls",
    "message"
  ],
  "properties": {
    "kind": {
      "enum": [
        "tool_calls",
        "message"
      ]
    },
    "summary": {
      "type": "string"
    },
    "tool_calls": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "arguments_json"
        ],
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_.-]+$"
          },
          "arguments_json": {
            "type": "string",
            "description": "A JSON object validated against the registered tool input schema."
          }
        }
      }
    },
    "message": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false,
      "required": [
        "type",
        "payload_json",
        "paper_ref"
      ],
      "properties": {
        "type": {
          "enum": [
            "Plan",
            "Question",
            "Result",
            "Verdict",
            "Finding",
            "DeadEnd"
          ]
        },
        "payload_json": {
          "type": "string"
        },
        "paper_ref": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  }
}