{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://hwlab.pikastech.local/protocol/schemas/hardware-operation.schema.json",
  "title": "HWLAB Hardware Operation",
  "type": "object",
  "required": [
    "operationId",
    "projectId",
    "gatewaySessionId",
    "resourceId",
    "capabilityId",
    "requestedBy",
    "status",
    "environment",
    "requestedAt",
    "updatedAt"
  ],
  "properties": {
    "operationId": {
      "$ref": "common.json#/$defs/id"
    },
    "projectId": {
      "$ref": "common.json#/$defs/id"
    },
    "gatewaySessionId": {
      "$ref": "common.json#/$defs/id"
    },
    "agentSessionId": {
      "$ref": "common.json#/$defs/id"
    },
    "workerSessionId": {
      "$ref": "common.json#/$defs/id"
    },
    "resourceId": {
      "$ref": "common.json#/$defs/id"
    },
    "capabilityId": {
      "$ref": "common.json#/$defs/id"
    },
    "requestedBy": {
      "$ref": "common.json#/$defs/id"
    },
    "input": true,
    "output": true,
    "status": {
      "$ref": "common.json#/$defs/operationStatus"
    },
    "environment": {
      "$ref": "common.json#/$defs/environment"
    },
    "requestedAt": {
      "$ref": "common.json#/$defs/timestamp"
    },
    "startedAt": {
      "$ref": "common.json#/$defs/timestamp"
    },
    "completedAt": {
      "$ref": "common.json#/$defs/timestamp"
    },
    "updatedAt": {
      "$ref": "common.json#/$defs/timestamp"
    },
    "error": {
      "$ref": "common.json#/$defs/jsonObject"
    }
  },
  "additionalProperties": false
}
