{
  "$defs": {
    "Effect": {
      "additionalProperties": true,
      "description": "A core change the module asks the host to make; the host applies it on the single writer.",
      "properties": {
        "args": {
          "additionalProperties": true,
          "title": "Args",
          "type": "object"
        },
        "kind": {
          "enum": [
            "jobs.enqueue",
            "jobs.cancel",
            "campaigns.create",
            "campaigns.update",
            "campaigns.cancel",
            "datasets.create",
            "datasets.update",
            "datasets.delete",
            "module_settings.update",
            "store.write",
            "store.delete",
            "files.write",
            "files.put",
            "files.delete",
            "external"
          ],
          "title": "Kind",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "title": "Effect",
      "type": "object"
    },
    "Issue": {
      "additionalProperties": true,
      "properties": {
        "code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "[stable] Module-namespaced reason code, e.g. minos-gatk/assembly_region_order.",
          "title": "Code"
        },
        "message": {
          "title": "Message",
          "type": "string"
        },
        "path": {
          "default": "",
          "description": "[stable] JSON pointer into the input, '' = whole document.",
          "title": "Path",
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "title": "Issue",
      "type": "object"
    }
  },
  "$id": "https://codonic.dev/oarbank/schemas/module-op-apply-result-1.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true,
  "properties": {
    "effects": {
      "items": {
        "$ref": "#/$defs/Effect"
      },
      "title": "Effects",
      "type": "array"
    },
    "errors": {
      "items": {
        "$ref": "#/$defs/Issue"
      },
      "title": "Errors",
      "type": "array"
    },
    "message": {
      "default": "",
      "maxLength": 500,
      "title": "Message",
      "type": "string"
    },
    "response": {
      "default": "toast",
      "enum": [
        "toast",
        "refresh",
        "redirect",
        "job",
        "errors"
      ],
      "title": "Response",
      "type": "string"
    },
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "title": "OpApplyResult",
  "type": "object"
}
