{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "operation": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1
        },
        "id": {
          "type": "string",
          "minLength": 1
        },
        "scope": {
          "type": "object",
          "properties": {
            "apiUrl": {
              "type": "string"
            },
            "organization": {
              "type": "string"
            },
            "project": {
              "type": "string",
              "description": "Empty for organization-scoped project creation before its ID is known."
            },
            "environment": {
              "type": "string",
              "enum": ["test", "live"]
            }
          },
          "required": ["apiUrl", "organization", "project", "environment"],
          "additionalProperties": {}
        },
        "resume": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": ["kind", "id", "scope", "resume"],
      "additionalProperties": {},
      "title": "Operation",
      "description": "A change the CLI sent that can be finished from a fresh process: run `domino` with `resume` as its arguments, which use pinned scope flags or the saved local operation journal. `scope` never contains a credential."
    },
    "state": {
      "type": "string",
      "enum": ["pending", "complete"]
    },
    "createdAt": {
      "type": "number"
    },
    "updatedAt": {
      "type": "number"
    },
    "project": {
      "type": "string"
    },
    "result": {},
    "note": {
      "type": "string"
    }
  },
  "required": ["operation", "state", "createdAt", "updatedAt"],
  "additionalProperties": {},
  "title": "Saved operation",
  "description": "Persisted CLI operation metadata and, once complete, its committed result. Never includes credentials or request inputs. A webhook create or rotation result keeps its signing secret only until the CLI prints it once, when the operation completes or the first show or resume after that; the saved result then has `secretRedacted: true` instead, and `note` says how to rotate it. List never includes the secret."
}
