{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://localendpoints.com/schemas/localendpoint.chatbox-action-queue-plan.schema.json",
  "title": "LocalEndpoint Chatbox Action Queue Plan",
  "description": "App-local queue plan for owner-approved desktop actions.",
  "type": "object",
  "required": [
    "planVersion",
    "workspaceLabel",
    "queueMode",
    "reviewedByOperator",
    "createdUtc",
    "actions",
    "nonClaims"
  ],
  "additionalProperties": false,
  "properties": {
    "planVersion": {
      "type": "string"
    },
    "workspaceLabel": {
      "type": "string"
    },
    "queueMode": {
      "enum": [
        "manual-file-inbox",
        "watch-inbox",
        "dry-run"
      ]
    },
    "reviewedByOperator": {
      "type": "boolean"
    },
    "createdUtc": {
      "type": "string",
      "pattern": "Z$"
    },
    "actions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 30,
      "items": {
        "type": "object",
        "required": [
          "actionId",
          "actionType",
          "reason",
          "parameters"
        ],
        "additionalProperties": false,
        "properties": {
          "actionId": {
            "type": "string"
          },
          "actionType": {
            "enum": [
              "observe",
              "screenshot",
              "move",
              "click",
              "type",
              "hotkey",
              "open_app",
              "open_url",
              "wait"
            ]
          },
          "reason": {
            "type": "string"
          },
          "parameters": {
            "type": "object"
          }
        }
      }
    },
    "nonClaims": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}