{
  "openapi": "3.1.0",
  "info": {
    "title": "Hovel Daemon RPC",
    "version": "v1",
    "summary": "Stable HTTP/JSON contract between hoveld and Hovel front ends.",
    "description": "The Hovel daemon RPC is the stable local service contract used by the CLI, MCP adapter, one-shot execution, and future front ends. It is transported as HTTP POST with JSON request and response bodies over the daemon listener."
  },
  "jsonSchemaDialect": "https://spec.openapis.org/oas/3.1/dialect/base",
  "x-hovel-stability": "stable",
  "x-hovel-service": "hovel.daemon.v1.DaemonService",
  "x-hovel-json-field-casing": "Use the field names shown here exactly. Older daemon structs without json tags intentionally expose PascalCase JSON fields; newer lower-camel fields are explicitly tagged in source.",
  "servers": [
    {
      "url": "http://hoveld",
      "description": "Logical base URL used by local Unix-domain-socket clients."
    },
    {
      "url": "http://127.0.0.1:9090",
      "description": "Example loopback TCP listener for trusted integration or remote-adapter development; it is not a public authenticated endpoint."
    }
  ],
  "tags": [
    {
      "name": "execution",
      "description": "Module execution and payload-provider bridge calls."
    },
    {
      "name": "sessions",
      "description": "Interactive module session lifecycle and I/O."
    },
    {
      "name": "operator-session",
      "description": "Operation, chain, target, config, step, snapshot, and log state."
    },
    {
      "name": "entities",
      "description": "Live operator entity attachment and launch-key approval state."
    },
    {
      "name": "mesh",
      "description": "Provider-owned Mesh listener lifecycle, topology, task, stream, beacon, and daemon bookkeeping calls."
    },
    {
      "name": "pki",
      "description": "Workspace certificate authority, issuance, signing lease, inventory, and explicit bundle export operations."
    }
  ],
  "paths": {
    "/hovel.daemon.v1.DaemonService/ExecuteModule": {
      "post": {
        "tags": [
          "execution"
        ],
        "operationId": "ExecuteModule",
        "requestBody": {
          "$ref": "#/components/requestBodies/ExecuteModuleRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExecuteModuleResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListSessions": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "ListSessions",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListSessionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ReadSession": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "ReadSession",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionReadRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SessionChunk"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/TailSession": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "TailSession",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionTailRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SessionChunk"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/WriteSession": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "WriteSession",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionWriteRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CloseSession": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "CloseSession",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionCloseRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListSessionCommands": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "ListSessionCommands",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionCommandListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SessionCommandListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RunSessionCommand": {
      "post": {
        "tags": [
          "sessions"
        ],
        "operationId": "RunSessionCommand",
        "requestBody": {
          "$ref": "#/components/requestBodies/SessionCommandRunRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PayloadCommandRunResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreateOperation": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "CreateOperation",
        "requestBody": {
          "$ref": "#/components/requestBodies/OperationRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UseOperation": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "UseOperation",
        "requestBody": {
          "$ref": "#/components/requestBodies/OperationRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreateChain": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "CreateChain",
        "requestBody": {
          "$ref": "#/components/requestBodies/ChainRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UseChain": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "UseChain",
        "requestBody": {
          "$ref": "#/components/requestBodies/ChainRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RenameChain": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "RenameChain",
        "requestBody": {
          "$ref": "#/components/requestBodies/RenameChainRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/DeleteChain": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "DeleteChain",
        "requestBody": {
          "$ref": "#/components/requestBodies/ChainRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AddTarget": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "AddTarget",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/BindTarget": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "BindTarget",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UnbindTarget": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "UnbindTarget",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ClearTargets": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "ClearTargets",
        "requestBody": {
          "$ref": "#/components/requestBodies/ChainRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreateTargetSet": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "CreateTargetSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AddTargetToSet": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "AddTargetToSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RemoveTargetFromSet": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "RemoveTargetFromSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AddModule": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "AddModule",
        "requestBody": {
          "$ref": "#/components/requestBodies/ModuleRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/StepResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/SetChainConfig": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "SetChainConfig",
        "requestBody": {
          "$ref": "#/components/requestBodies/ConfigRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UnsetChainConfig": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "UnsetChainConfig",
        "requestBody": {
          "$ref": "#/components/requestBodies/ConfigRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/SetTargetConfig": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "SetTargetConfig",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetConfigRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UnsetTargetConfig": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "UnsetTargetConfig",
        "requestBody": {
          "$ref": "#/components/requestBodies/TargetConfigRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/Snapshot": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "Snapshot",
        "requestBody": {
          "$ref": "#/components/requestBodies/SnapshotRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SnapshotResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ActiveLogs": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "ActiveLogs",
        "requestBody": {
          "$ref": "#/components/requestBodies/ActiveLogsRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ActiveLogsResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AppendLog": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "AppendLog",
        "requestBody": {
          "$ref": "#/components/requestBodies/AppendLogRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/PollLogs": {
      "post": {
        "tags": [
          "operator-session"
        ],
        "operationId": "PollLogs",
        "requestBody": {
          "$ref": "#/components/requestBodies/PollLogsRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PollLogsResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AttachEntity": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "AttachEntity",
        "requestBody": {
          "$ref": "#/components/requestBodies/AttachEntityRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EntityResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/HeartbeatEntity": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "HeartbeatEntity",
        "requestBody": {
          "$ref": "#/components/requestBodies/HeartbeatEntityRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EntityResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/DetachEntity": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "DetachEntity",
        "requestBody": {
          "$ref": "#/components/requestBodies/DetachEntityRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListEntities": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "ListEntities",
        "requestBody": {
          "$ref": "#/components/requestBodies/ListEntitiesRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListEntitiesResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreatePendingThrow": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "CreatePendingThrow",
        "requestBody": {
          "$ref": "#/components/requestBodies/CreatePendingThrowRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PendingThrowResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ConfirmPendingThrow": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "ConfirmPendingThrow",
        "requestBody": {
          "$ref": "#/components/requestBodies/ConfirmPendingThrowRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PendingThrowResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RequirePendingThrowReady": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "RequirePendingThrowReady",
        "requestBody": {
          "$ref": "#/components/requestBodies/PendingThrowRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PendingThrowResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CancelPendingThrow": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "CancelPendingThrow",
        "requestBody": {
          "$ref": "#/components/requestBodies/PendingThrowRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/GetLaunchKeyPolicy": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "GetLaunchKeyPolicy",
        "requestBody": {
          "$ref": "#/components/requestBodies/LaunchKeyPolicyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/LaunchKeyPolicyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/SetLaunchKeyPolicy": {
      "post": {
        "tags": [
          "entities"
        ],
        "operationId": "SetLaunchKeyPolicy",
        "requestBody": {
          "$ref": "#/components/requestBodies/SetLaunchKeyPolicyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/LaunchKeyPolicyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/GeneratePayload": {
      "post": {
        "tags": [
          "execution"
        ],
        "operationId": "GeneratePayload",
        "requestBody": {
          "$ref": "#/components/requestBodies/PayloadGenerateRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PayloadGenerateResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPayloadCommands": {
      "post": {
        "tags": [
          "execution"
        ],
        "operationId": "ListPayloadCommands",
        "requestBody": {
          "$ref": "#/components/requestBodies/PayloadCommandListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PayloadCommandListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RunPayloadCommand": {
      "post": {
        "tags": [
          "execution"
        ],
        "operationId": "RunPayloadCommand",
        "requestBody": {
          "$ref": "#/components/requestBodies/PayloadCommandRunRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PayloadCommandRunResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/DescribeMesh": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "DescribeMesh",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshDescribeRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshDescribeResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/MeshTopology": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "MeshTopology",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshTopologyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshTopologyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListMeshBeacons": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "ListMeshBeacons",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshBeaconListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshBeaconListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RunMeshTask": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "RunMeshTask",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshTaskRunRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshTaskRunResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/OpenMeshStream": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "OpenMeshStream",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshStreamOpenRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshStreamOpenResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/OpenMeshBridge": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "OpenMeshBridge",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshBridgeOpenRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshBridgeOpenResponse"
          },
          "400": {
            "$ref": "#/components/responses/NoStoreTextError"
          },
          "403": {
            "$ref": "#/components/responses/NoStoreRPCError"
          },
          "405": {
            "$ref": "#/components/responses/NoStoreTextError"
          },
          "413": {
            "$ref": "#/components/responses/NoStoreRequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/NoStoreTextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CloseMeshBridge": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "CloseMeshBridge",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshBridgeCloseRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshBridgeCloseResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListMeshOperations": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "ListMeshOperations",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshOperationListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshOperationListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListMeshListeners": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "ListMeshListeners",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshListenerListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshListenerListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/StartMeshListener": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "StartMeshListener",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshListenerStartRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshListenerStartResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/StopMeshListener": {
      "post": {
        "tags": [
          "mesh"
        ],
        "operationId": "StopMeshListener",
        "requestBody": {
          "$ref": "#/components/requestBodies/MeshListenerStopRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/MeshListenerStopResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/PKIStatus": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "PKIStatus",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIWorkspaceStatus"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InitializePKI": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InitializePKI",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIInitializeRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIWorkspaceStatus"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIBackends": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKIBackends",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIBackendListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIProfiles": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKIProfiles",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIProfileListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIAuthorities": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKIAuthorities",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAuthorityListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKIAuthority": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKIAuthority",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIAuthorityRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAuthorityInspectResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreatePKIAuthority": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "CreatePKIAuthority",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIAuthorityCreateRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAuthorityCreateResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UnlockPKIAuthority": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "UnlockPKIAuthority",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIAuthorityLeaseRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKISigningLease"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/LockPKIAuthority": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "LockPKIAuthority",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIAuthorityLockRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/EmptyResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKICertificates": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKICertificates",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKICertificate": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKICertificate",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateGeneration"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/IssuePKICertificate": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "IssuePKICertificate",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateIssueRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateGeneration"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "423": {
            "$ref": "#/components/responses/RPCError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RenewPKICertificate": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "RenewPKICertificate",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateRenewRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateLifecycleResult"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "423": {
            "$ref": "#/components/responses/RPCError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RotatePKICertificate": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "RotatePKICertificate",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateRotateRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateLifecycleResult"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "423": {
            "$ref": "#/components/responses/RPCError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/RevokePKICertificate": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "RevokePKICertificate",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateRevokeRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKICertificateRevocationResult"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKIRevocation": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKIRevocation",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIRevocationRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIRevocation"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKIGenerationRevocation": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKIGenerationRevocation",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICertificateRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIRevocation"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIRevocations": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKIRevocations",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIRevocationListRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIRevocationListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/PublishPKICRL": {
      "post": {
        "tags": ["pki"],
        "operationId": "PublishPKICRL",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLPublishRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLPublicationResult"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "423": {"$ref": "#/components/responses/RPCError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKICRL": {
      "post": {
        "tags": ["pki"],
        "operationId": "InspectPKICRL",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLGeneration"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKICRLPublication": {
      "post": {
        "tags": ["pki"],
        "operationId": "InspectPKICRLPublication",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLPublicationRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLPublicationIntent"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKICRLPublications": {
      "post": {
        "tags": ["pki"],
        "operationId": "ListPKICRLPublications",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLListRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLPublicationListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKICRLs": {
      "post": {
        "tags": ["pki"],
        "operationId": "ListPKICRLs",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLListRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ReconcilePKICRL": {
      "post": {
        "tags": ["pki"],
        "operationId": "ReconcilePKICRL",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLReconcileRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLPublicationIntent"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ReconcilePKICRLs": {
      "post": {
        "tags": ["pki"],
        "operationId": "ReconcilePKICRLs",
        "requestBody": {"$ref": "#/components/requestBodies/PKICRLsReconcileRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICRLPublicationListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ExportPKIBundle": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ExportPKIBundle",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIBundleExportRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIBundle"
          },
          "400": {
            "$ref": "#/components/responses/NoStoreTextError"
          },
          "403": {
            "$ref": "#/components/responses/NoStoreRPCError"
          },
          "404": {
            "$ref": "#/components/responses/NoStoreRPCError"
          },
          "405": {
            "$ref": "#/components/responses/NoStoreTextError"
          },
          "413": {
            "$ref": "#/components/responses/NoStoreRequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/NoStoreTextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIAssignments": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKIAssignments",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignmentListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKIAssignment": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKIAssignment",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIAssignmentRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignmentInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/BindPKIAssignment": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "BindPKIAssignment",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIBindAssignmentRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignment"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/StagePKIAssignment": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "StagePKIAssignment",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIStageAssignmentRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignmentInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ActivatePKIAssignment": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ActivatePKIAssignment",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIActivateAssignmentRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignmentInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/UnbindPKIAssignment": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "UnbindPKIAssignment",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIUnbindAssignmentRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKIAssignment"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKITrustSets": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ListPKITrustSets",
        "requestBody": {
          "$ref": "#/components/requestBodies/EmptyRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKITrustSetListResponse"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKITrustSet": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "InspectPKITrustSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKITrustSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKITrustSetInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CreatePKITrustSet": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "CreatePKITrustSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKICreateTrustSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKITrustSet"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/StagePKITrustSet": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "StagePKITrustSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIStageTrustSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKITrustSetInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ActivatePKITrustSet": {
      "post": {
        "tags": [
          "pki"
        ],
        "operationId": "ActivatePKITrustSet",
        "requestBody": {
          "$ref": "#/components/requestBodies/PKIActivateTrustSetRequest"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/PKITrustSetInspection"
          },
          "400": {
            "$ref": "#/components/responses/TextError"
          },
          "404": {
            "$ref": "#/components/responses/RPCError"
          },
          "403": {
            "$ref": "#/components/responses/RPCError"
          },
          "405": {
            "$ref": "#/components/responses/TextError"
          },
          "409": {
            "$ref": "#/components/responses/RPCError"
          },
          "413": {
            "$ref": "#/components/responses/RequestTooLargeError"
          },
          "500": {
            "$ref": "#/components/responses/TextError"
          }
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKIOperations": {
      "post": {
        "tags": ["pki"],
        "operationId": "ListPKIOperations",
        "requestBody": {"$ref": "#/components/requestBodies/EmptyRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKIOperation": {
      "post": {
        "tags": ["pki"],
        "operationId": "InspectPKIOperation",
        "requestBody": {"$ref": "#/components/requestBodies/PKIOperationRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKICredentialStamps": {
      "post": {
        "tags": ["pki"],
        "operationId": "ListPKICredentialStamps",
        "requestBody": {"$ref": "#/components/requestBodies/EmptyRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICredentialStampListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKICredentialStamp": {
      "post": {
        "tags": ["pki"],
        "operationId": "InspectPKICredentialStamp",
        "requestBody": {"$ref": "#/components/requestBodies/PKICredentialStampRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICredentialStamp"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ListPKICredentialExecutions": {
      "post": {
        "tags": ["pki"],
        "operationId": "ListPKICredentialExecutions",
        "requestBody": {"$ref": "#/components/requestBodies/EmptyRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICredentialExecutionListResponse"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/InspectPKICredentialExecution": {
      "post": {
        "tags": ["pki"],
        "operationId": "InspectPKICredentialExecution",
        "requestBody": {"$ref": "#/components/requestBodies/PKICredentialExecutionRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKICredentialExecution"},
          "400": {"$ref": "#/components/responses/TextError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/StartPKIAuthorityRollover": {
      "post": {
        "tags": ["pki"],
        "operationId": "StartPKIAuthorityRollover",
        "requestBody": {"$ref": "#/components/requestBodies/PKIStartAuthorityRolloverRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/AcknowledgePKIAuthorityRollover": {
      "post": {
        "tags": ["pki"],
        "operationId": "AcknowledgePKIAuthorityRollover",
        "requestBody": {"$ref": "#/components/requestBodies/PKIAcknowledgeAuthorityRolloverRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/ActivatePKIAuthorityRollover": {
      "post": {
        "tags": ["pki"],
        "operationId": "ActivatePKIAuthorityRollover",
        "requestBody": {"$ref": "#/components/requestBodies/PKIActivateAuthorityRolloverRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/BeginPKIAuthorityRolloverFinalTrust": {
      "post": {
        "tags": ["pki"],
        "operationId": "BeginPKIAuthorityRolloverFinalTrust",
        "requestBody": {"$ref": "#/components/requestBodies/PKIBeginAuthorityRolloverFinalTrustRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CompletePKIAuthorityRollover": {
      "post": {
        "tags": ["pki"],
        "operationId": "CompletePKIAuthorityRollover",
        "requestBody": {"$ref": "#/components/requestBodies/PKICompleteAuthorityRolloverRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    },
    "/hovel.daemon.v1.DaemonService/CancelPKIAuthorityRollover": {
      "post": {
        "tags": ["pki"],
        "operationId": "CancelPKIAuthorityRollover",
        "requestBody": {"$ref": "#/components/requestBodies/PKICancelAuthorityRolloverRequest"},
        "responses": {
          "200": {"$ref": "#/components/responses/PKIOperationInspection"},
          "400": {"$ref": "#/components/responses/TextError"},
          "404": {"$ref": "#/components/responses/RPCError"},
          "403": {"$ref": "#/components/responses/RPCError"},
          "405": {"$ref": "#/components/responses/TextError"},
          "409": {"$ref": "#/components/responses/RPCError"},
          "413": {"$ref": "#/components/responses/RequestTooLargeError"},
          "500": {"$ref": "#/components/responses/TextError"}
        }
      }
    }
  },
  "components": {
    "requestBodies": {
      "EmptyRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/EmptyObject"
            }
          }
        }
      },
      "ExecuteModuleRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExecuteModuleRequest"
            }
          }
        }
      },
      "SessionReadRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionReadRequest"
            }
          }
        }
      },
      "SessionTailRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionTailRequest"
            }
          }
        }
      },
      "SessionWriteRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionWriteRequest"
            }
          }
        }
      },
      "SessionCloseRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionCloseRequest"
            }
          }
        }
      },
      "SessionCommandListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionCommandListRequest"
            }
          }
        }
      },
      "SessionCommandRunRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionCommandRunRequest"
            }
          }
        }
      },
      "OperationRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OperationRequest"
            }
          }
        }
      },
      "ChainRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ChainRequest"
            }
          }
        }
      },
      "RenameChainRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RenameChainRequest"
            }
          }
        }
      },
      "TargetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TargetRequest"
            }
          }
        }
      },
      "TargetSetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TargetSetRequest"
            }
          }
        }
      },
      "ModuleRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ModuleRequest"
            }
          }
        }
      },
      "ConfigRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConfigRequest"
            }
          }
        }
      },
      "TargetConfigRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TargetConfigRequest"
            }
          }
        }
      },
      "SnapshotRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SnapshotRequest"
            }
          }
        }
      },
      "ActiveLogsRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ActiveLogsRequest"
            }
          }
        }
      },
      "AppendLogRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AppendLogRequest"
            }
          }
        }
      },
      "PollLogsRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PollLogsRequest"
            }
          }
        }
      },
      "AttachEntityRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AttachEntityRequest"
            }
          }
        }
      },
      "HeartbeatEntityRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/HeartbeatEntityRequest"
            }
          }
        }
      },
      "DetachEntityRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DetachEntityRequest"
            }
          }
        }
      },
      "ListEntitiesRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ListEntitiesRequest"
            }
          }
        }
      },
      "CreatePendingThrowRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreatePendingThrowRequest"
            }
          }
        }
      },
      "ConfirmPendingThrowRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ConfirmPendingThrowRequest"
            }
          }
        }
      },
      "PendingThrowRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PendingThrowRequest"
            }
          }
        }
      },
      "LaunchKeyPolicyRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LaunchKeyPolicyRequest"
            }
          }
        }
      },
      "SetLaunchKeyPolicyRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SetLaunchKeyPolicyRequest"
            }
          }
        }
      },
      "PayloadGenerateRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadGenerateRequest"
            }
          }
        }
      },
      "PayloadCommandListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadCommandListRequest"
            }
          }
        }
      },
      "PayloadCommandRunRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadCommandRunRequest"
            }
          }
        }
      },
      "MeshDescribeRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshDescribeRequest"
            }
          }
        }
      },
      "MeshTopologyRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshTopologyRequest"
            }
          }
        }
      },
      "MeshBeaconListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBeaconListRequest"
            }
          }
        }
      },
      "MeshTaskRunRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshTaskRunRequest"
            }
          }
        }
      },
      "MeshStreamOpenRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshStreamOpenRequest"
            }
          }
        }
      },
      "MeshOperationListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshOperationListRequest"
            }
          }
        }
      },
      "MeshBridgeOpenRequest": {
        "description": "Open a daemon-owned local TCP or UDP loopback endpoint backed by one Mesh session flow.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBridgeOpenRequest"
            }
          }
        }
      },
      "MeshBridgeCloseRequest": {
        "description": "Close a daemon-owned Mesh bridge by supplying exactly one operation or session id.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBridgeCloseRequest"
            }
          }
        }
      },
      "MeshListenerListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerListRequest"
            }
          }
        }
      },
      "MeshListenerStartRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerStartRequest"
            }
          }
        }
      },
      "MeshListenerStopRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerStopRequest"
            }
          }
        }
      },
      "PKIBundleExportRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIBundleExportRequest"
            }
          }
        }
      },
      "PKIAuthorityLockRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityLockRequest"
            }
          }
        }
      },
      "PKIAuthorityLeaseRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityLeaseRequest"
            }
          }
        }
      },
      "PKIAuthorityCreateRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityCreateRequest"
            }
          }
        }
      },
      "PKICertificateIssueRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateIssueRequest"
            }
          }
        }
      },
      "PKICertificateRenewRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateRenewRequest"
            }
          }
        }
      },
      "PKICertificateRotateRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateRotateRequest"
            }
          }
        }
      },
      "PKICertificateRevokeRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateRevokeRequest"
            }
          }
        }
      },
      "PKIRevocationRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIRevocationRequest"
            }
          }
        }
      },
      "PKIRevocationListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIRevocationListRequest"
            }
          }
        }
      },
      "PKICRLPublishRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLPublishRequest"}
          }
        }
      },
      "PKICRLRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLRequest"}
          }
        }
      },
      "PKICRLPublicationRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLPublicationRequest"}
          }
        }
      },
      "PKICRLListRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLListRequest"}
          }
        }
      },
      "PKICRLReconcileRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLReconcileRequest"}
          }
        }
      },
      "PKICRLsReconcileRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {"$ref": "#/components/schemas/PKICRLsReconcileRequest"}
          }
        }
      },
      "PKICertificateRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateRequest"
            }
          }
        }
      },
      "PKIInitializeRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIInitializeRequest"
            }
          }
        }
      },
      "PKIAuthorityRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityRequest"
            }
          }
        }
      },
      "PKIAssignmentRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAssignmentRequest"
            }
          }
        }
      },
      "PKITrustSetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKITrustSetRequest"
            }
          }
        }
      },
      "PKIBindAssignmentRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIBindAssignmentRequest"
            }
          }
        }
      },
      "PKIStageAssignmentRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIStageAssignmentRequest"
            }
          }
        }
      },
      "PKIActivateAssignmentRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIActivateAssignmentRequest"
            }
          }
        }
      },
      "PKIUnbindAssignmentRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIUnbindAssignmentRequest"
            }
          }
        }
      },
      "PKICreateTrustSetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICreateTrustSetRequest"
            }
          }
        }
      },
      "PKIStageTrustSetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIStageTrustSetRequest"
            }
          }
        }
      },
      "PKIActivateTrustSetRequest": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIActivateTrustSetRequest"
            }
          }
        }
      },
      "PKIOperationRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKIOperationRequest"}}}
      },
      "PKICredentialStampRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialStampRequest"}}}
      },
      "PKICredentialExecutionRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialExecutionRequest"}}}
      },
      "PKIStartAuthorityRolloverRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKIStartAuthorityRolloverRequest"}}}
      },
      "PKIAcknowledgeAuthorityRolloverRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKIAcknowledgeAuthorityRolloverRequest"}}}
      },
      "PKIActivateAuthorityRolloverRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKIActivateAuthorityRolloverRequest"}}}
      },
      "PKIBeginAuthorityRolloverFinalTrustRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKIBeginAuthorityRolloverFinalTrustRequest"}}}
      },
      "PKICompleteAuthorityRolloverRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICompleteAuthorityRolloverRequest"}}}
      },
      "PKICancelAuthorityRolloverRequest": {
        "required": true,
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICancelAuthorityRolloverRequest"}}}
      }
    },
    "responses": {
      "EmptyResponse": {
        "description": "Successful empty JSON object.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/EmptyObject"
            }
          }
        }
      },
      "TextError": {
        "description": "Plain-text daemon error returned by http.Error.",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "RequestTooLargeError": {
        "description": "Plain-text error returned when JSON decoding attempts to read more than the 64 MiB (67,108,864-byte) request-body limit; the daemon does not preflight Content-Length.",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "NoStoreTextError": {
        "description": "Plain-text error from a secret-bearing operation. Every response is non-cacheable.",
        "headers": {
          "Cache-Control": {
            "description": "Secret-bearing operation responses must not be cached.",
            "schema": {
              "const": "no-store"
            }
          }
        },
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "NoStoreRequestTooLargeError": {
        "description": "Non-cacheable plain-text error from a secret-bearing operation when JSON decoding attempts to read more than the 64 MiB (67,108,864-byte) request-body limit; the daemon does not preflight Content-Length.",
        "headers": {
          "Cache-Control": {
            "description": "Secret-bearing operation responses must not be cached.",
            "schema": {
              "const": "no-store"
            }
          }
        },
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "NoStoreRPCError": {
        "description": "Versioned machine-readable error from a secret-bearing operation. Every response is non-cacheable.",
        "headers": {
          "Cache-Control": {
            "description": "Secret-bearing operation responses must not be cached.",
            "schema": {
              "const": "no-store"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RPCError"
            }
          }
        }
      },
      "RPCError": {
        "description": "Versioned machine-readable daemon error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RPCError"
            }
          }
        }
      },
      "ExecuteModuleResponse": {
        "description": "Module execution result.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExecuteModuleResponse"
            }
          }
        }
      },
      "ListSessionsResponse": {
        "description": "Active module sessions.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ListSessionsResponse"
            }
          }
        }
      },
      "SessionChunk": {
        "description": "Session bytes, encoded as base64 by Go JSON.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionChunk"
            }
          }
        }
      },
      "SessionCommandListResponse": {
        "description": "Provider-owned commands for an active session.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadCommandListResponse"
            }
          }
        }
      },
      "PayloadCommandListResponse": {
        "description": "Provider-owned payload commands.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadCommandListResponse"
            }
          }
        }
      },
      "PayloadCommandRunResponse": {
        "description": "Provider-owned command result.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadCommandResult"
            }
          }
        }
      },
      "StepResponse": {
        "description": "Created chain step.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/StepResponse"
            }
          }
        }
      },
      "SnapshotResponse": {
        "description": "Operator-session snapshot.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SnapshotResponse"
            }
          }
        }
      },
      "ActiveLogsResponse": {
        "description": "Current active-chain log entries.",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OperatorLogEntry"
              }
            }
          }
        }
      },
      "PollLogsResponse": {
        "description": "Bounded log stream cursor and entries.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PollLogsResponse"
            }
          }
        }
      },
      "EntityResponse": {
        "description": "Operator entity record.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/EntityResponse"
            }
          }
        }
      },
      "ListEntitiesResponse": {
        "description": "Live operator entities.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ListEntitiesResponse"
            }
          }
        }
      },
      "PendingThrowResponse": {
        "description": "Launch-key pending throw state.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PendingThrowResponse"
            }
          }
        }
      },
      "LaunchKeyPolicyResponse": {
        "description": "Effective launch-key policy.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/LaunchKeyPolicyResponse"
            }
          }
        }
      },
      "PayloadGenerateResponse": {
        "description": "Generated payload artifacts.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PayloadArtifactSet"
            }
          }
        }
      },
      "MeshDescribeResponse": {
        "description": "Mesh provider descriptor.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshDescriptor"
            }
          }
        }
      },
      "MeshTopologyResponse": {
        "description": "Current Mesh topology.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshTopology"
            }
          }
        }
      },
      "MeshBeaconListResponse": {
        "description": "Recent Mesh beacons.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBeaconListResponse"
            }
          }
        }
      },
      "MeshTaskRunResponse": {
        "description": "Mesh task result.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshTaskResult"
            }
          }
        }
      },
      "MeshStreamOpenResponse": {
        "description": "Session opened through a Mesh stream.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SessionRef"
            }
          }
        }
      },
      "MeshOperationListResponse": {
        "description": "Daemon Mesh operation bookkeeping records.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshOperationListResponse"
            }
          }
        }
      },
      "MeshBridgeOpenResponse": {
        "description": "Local endpoint for a daemon-owned Mesh bridge session flow.",
        "headers": {
          "Cache-Control": {
            "description": "The response contains an ephemeral bearer capability and must not be cached.",
            "schema": {"const": "no-store"}
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBridgeOpenResponse"
            }
          }
        }
      },
      "MeshBridgeCloseResponse": {
        "description": "Closed Mesh bridge state.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshBridgeCloseResponse"
            }
          }
        }
      },
      "MeshListenerListResponse": {
        "description": "Provider-reported Mesh listening posts.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerListResponse"
            }
          }
        }
      },
      "MeshListenerStartResponse": {
        "description": "Started or attached Mesh listening post and audit operation.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerStartResponse"
            }
          }
        }
      },
      "MeshListenerStopResponse": {
        "description": "Stopped or detached Mesh listening post and audit operation.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MeshListenerStopResponse"
            }
          }
        }
      },
      "PKICertificateListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateListResponse"
            }
          }
        }
      },
      "PKICertificateGeneration": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateGeneration"
            }
          }
        }
      },
      "PKICertificateLifecycleResult": {
        "description": "Retry-safe certificate renewal or key rotation result.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateLifecycleResult"
            }
          }
        }
      },
      "PKICertificateRevocationResult": {
        "description": "Retry-safe certificate revocation result with all assignment effects.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKICertificateRevocationResult"
            }
          }
        }
      },
      "PKIRevocation": {
        "description": "Immutable certificate revocation record.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIRevocation"
            }
          }
        }
      },
      "PKIRevocationListResponse": {
        "description": "Revocations issued by one authority in recording order.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIRevocationListResponse"
            }
          }
        }
      },
      "PKICRLPublicationResult": {
        "description": "Retry-safe completed CRL publication and immutable signed generation.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICRLPublicationResult"}}}
      },
      "PKICRLGeneration": {
        "description": "Immutable signed CRL generation.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICRLGeneration"}}}
      },
      "PKICRLListResponse": {
        "description": "CRL generations for one authority, ordered by CRL number and ID.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICRLListResponse"}}}
      },
      "PKICRLPublicationIntent": {
        "description": "Durable CRL publication plan after reconciliation.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICRLPublicationIntent"}}}
      },
      "PKICRLPublicationListResponse": {
        "description": "Stale CRL publication plans reconciled in this batch.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICRLPublicationListResponse"}}}
      },
      "PKIAuthorityInspectResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityInspectResponse"
            }
          }
        }
      },
      "PKIBackendListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIBackendListResponse"
            }
          }
        }
      },
      "PKIAuthorityCreateResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityCreateResponse"
            }
          }
        }
      },
      "PKIProfileListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIProfileListResponse"
            }
          }
        }
      },
      "PKISigningLease": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKISigningLease"
            }
          }
        }
      },
      "PKIAuthorityListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAuthorityListResponse"
            }
          }
        }
      },
      "PKIWorkspaceStatus": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIWorkspaceStatus"
            }
          }
        }
      },
      "PKIBundle": {
        "description": "Successful response.",
        "headers": {"Cache-Control": {"description": "Bundle export responses must not be cached.","schema": {"const": "no-store"}}},
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIBundle"
            }
          }
        }
      },
      "PKIAssignmentListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAssignmentListResponse"
            }
          }
        }
      },
      "PKITrustSetListResponse": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKITrustSetListResponse"
            }
          }
        }
      },
      "PKIAssignmentInspection": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAssignmentInspection"
            }
          }
        }
      },
      "PKITrustSetInspection": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKITrustSetInspection"
            }
          }
        }
      },
      "PKIAssignment": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIAssignment"
            }
          }
        }
      },
      "PKITrustSet": {
        "description": "Successful response.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKITrustSet"
            }
          }
        }
      },
      "PKIOperationListResponse": {
        "description": "Canonical PKI operations in deterministic order.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIOperationListResponse"
            }
          }
        }
      },
      "PKIOperationInspection": {
        "description": "One PKI operation with its durable consumer acknowledgements and current acknowledgement gaps.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PKIOperationInspection"
            }
          }
        }
      },
      "PKICredentialStampListResponse": {
        "description": "Secret-free credential stamp plans and terminal evidence in deterministic order.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialStampListResponse"}}}
      },
      "PKICredentialStamp": {
        "description": "One secret-free credential stamp plan and its current lifecycle state.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialStamp"}}}
      },
      "PKICredentialExecutionListResponse": {
        "description": "Secret-free runtime, file-delivery, and provider-encoding execution records in deterministic order.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialExecutionListResponse"}}}
      },
      "PKICredentialExecution": {
        "description": "One secret-free credential provider execution record.",
        "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PKICredentialExecution"}}}
      }
    },
    "schemas": {
      "PKICredentialStampRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKICredentialStampListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["stamps"],
        "properties": {
          "stamps": {
            "type": "array",
            "items": {"$ref": "#/components/schemas/PKICredentialStamp"}
          }
        }
      },
      "PKICredentialStamp": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion", "id", "providerId", "providerVersion", "plan",
          "status", "revision", "createdAt", "updatedAt"
        ],
        "oneOf": [
          {
            "properties": {"status": {"const": "pending"}},
            "not": {"anyOf": [{"required": ["result"]}, {"required": ["failure"]}, {"required": ["supersededBy"]}]}
          },
          {
            "required": ["result"],
            "properties": {"status": {"const": "succeeded"}},
            "not": {"anyOf": [{"required": ["failure"]}, {"required": ["supersededBy"]}]}
          },
          {
            "required": ["failure"],
            "properties": {"status": {"const": "failed"}},
            "not": {"anyOf": [{"required": ["result"]}, {"required": ["supersededBy"]}]}
          },
          {
            "required": ["result", "supersededBy"],
            "properties": {"status": {"const": "superseded"}},
            "not": {"required": ["failure"]}
          }
        ],
        "properties": {
          "schemaVersion": {"const": "hovel.pki.credential-stamp/v1"},
          "id": {"type": "string", "minLength": 1, "maxLength": 256},
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "providerVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "plan": {"$ref": "#/components/schemas/PKICredentialStampPlan"},
          "links": {
            "type": "array",
            "maxItems": 64,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": ["kind", "reference"],
              "properties": {
                "kind": {
                  "enum": [
                    "payload-stamp", "module", "operation", "chain", "throw",
                    "run", "target", "listener", "node"
                  ]
                },
                "reference": {"type": "string", "minLength": 1, "maxLength": 256}
              }
            }
          },
          "status": {"enum": ["pending", "succeeded", "failed", "superseded"]},
          "result": {"$ref": "#/components/schemas/PKICredentialStampResult"},
          "failure": {"type": "string", "minLength": 1, "maxLength": 1024},
          "supersededBy": {"type": "string", "minLength": 1, "maxLength": 256},
          "revision": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 9223372036854775807},
          "createdAt": {"type": "string", "format": "date-time"},
          "updatedAt": {"type": "string", "format": "date-time"}
        }
      },
      "PKICredentialStampPlan": {
        "type": "object",
        "additionalProperties": false,
        "required": ["descriptor", "descriptorSha256", "request", "input", "expectedDigests"],
        "properties": {
          "descriptor": {"$ref": "#/components/schemas/PKICredentialDeliveryDescriptor"},
          "descriptorSha256": {"$ref": "#/components/schemas/PKISHA256"},
          "request": {"$ref": "#/components/schemas/PKICredentialStampContractRequest"},
          "input": {"$ref": "#/components/schemas/PKIStampArtifactReference"},
          "expectedDigests": {
            "type": "array",
            "minItems": 1,
            "maxItems": 128,
            "items": {"$ref": "#/components/schemas/PKIStampedMaterialDigest"}
          }
        }
      },
      "PKICredentialDeliveryDescriptor": {
        "type": "object",
        "additionalProperties": false,
        "required": ["schemaVersion", "deliveryCapabilities"],
        "oneOf": [
          {
            "properties": {
              "deliveryCapabilities": {"const": ["none"]},
              "credentialSlots": {"maxItems": 0},
              "stampTargetKinds": {"maxItems": 0},
              "addressSpaces": {"maxItems": 0},
              "providerTargetSchemas": {"maxItems": 0},
              "providerEncodingSchemas": {"maxItems": 0}
            }
          },
          {
            "required": ["credentialSlots"],
            "properties": {
              "credentialSlots": {"minItems": 1}
            },
            "not": {
              "properties": {
                "deliveryCapabilities": {"contains": {"const": "none"}}
              },
              "required": ["deliveryCapabilities"]
            }
          }
        ],
        "allOf": [
          {
            "if": {
              "properties": {
                "deliveryCapabilities": {
                  "contains": {"enum": ["stamp-standard", "stamp-advanced"]}
                }
              },
              "required": ["deliveryCapabilities"]
            },
            "then": {
              "required": ["stampTargetKinds"],
              "properties": {"stampTargetKinds": {"minItems": 1}}
            }
          },
          {
            "if": {
              "required": ["stampTargetKinds"],
              "properties": {"stampTargetKinds": {"minItems": 1}}
            },
            "then": {
              "properties": {
                "deliveryCapabilities": {
                  "contains": {"enum": ["stamp-standard", "stamp-advanced"]}
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "deliveryCapabilities": {"contains": {"const": "stamp-standard"}}
              },
              "required": ["deliveryCapabilities"]
            },
            "then": {
              "properties": {
                "stampTargetKinds": {"contains": {"const": "named-slot"}}
              }
            }
          },
          {
            "if": {
              "not": {
                "properties": {
                  "deliveryCapabilities": {"contains": {"const": "stamp-advanced"}}
                },
                "required": ["deliveryCapabilities"]
              }
            },
            "then": {
              "properties": {
                "stampTargetKinds": {"items": {"const": "named-slot"}}
              }
            }
          },
          {
            "if": {
              "properties": {"stampTargetKinds": {"contains": {"const": "file-offset"}}},
              "required": ["stampTargetKinds"]
            },
            "then": {
              "required": ["addressSpaces"],
              "properties": {"addressSpaces": {"contains": {"const": "file"}}}
            },
            "else": {
              "properties": {"addressSpaces": {"not": {"contains": {"const": "file"}}}}
            }
          },
          {
            "if": {
              "properties": {"stampTargetKinds": {"contains": {"const": "virtual-address"}}},
              "required": ["stampTargetKinds"]
            },
            "then": {
              "required": ["addressSpaces"],
              "properties": {
                "addressSpaces": {
                  "contains": {"enum": ["elf-virtual-address", "pe-rva", "macho-vm-address"]}
                }
              }
            },
            "else": {
              "properties": {
                "addressSpaces": {
                  "not": {
                    "contains": {"enum": ["elf-virtual-address", "pe-rva", "macho-vm-address"]}
                  }
                }
              }
            }
          },
          {
            "if": {
              "properties": {"stampTargetKinds": {"contains": {"const": "provider-defined"}}},
              "required": ["stampTargetKinds"]
            },
            "then": {
              "required": ["providerTargetSchemas"],
              "properties": {"providerTargetSchemas": {"minItems": 1}}
            },
            "else": {
              "properties": {"providerTargetSchemas": {"maxItems": 0}}
            }
          }
        ],
        "properties": {
          "schemaVersion": {"const": "hovel.pki.credential-delivery/v1"},
          "credentialSlots": {
            "type": "array",
            "maxItems": 256,
            "items": {"$ref": "#/components/schemas/PKICredentialSlot"}
          },
          "deliveryCapabilities": {
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "uniqueItems": true,
            "items": {"enum": ["none", "runtime", "files", "stamp-standard", "stamp-advanced"]}
          },
          "stampTargetKinds": {
            "type": "array",
            "maxItems": 7,
            "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialStampTargetKind"}
          },
          "addressSpaces": {
            "type": "array",
            "maxItems": 4,
            "uniqueItems": true,
            "items": {"enum": ["file", "elf-virtual-address", "pe-rva", "macho-vm-address"]}
          },
          "providerTargetSchemas": {
            "type": "array",
            "maxItems": 64,
            "items": {"$ref": "#/components/schemas/PKICredentialProviderTargetSchema"}
          },
          "providerEncodingSchemas": {
            "type": "array",
            "maxItems": 64,
            "items": {"$ref": "#/components/schemas/PKICredentialProviderEncodingSchema"}
          }
        }
      },
      "PKICredentialSlot": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name", "purpose", "endpointRole", "consumerType",
          "acceptedBundleVersions", "acceptedProfiles", "acceptedCompatibilityTargets",
          "acceptedProjections", "acceptedMaterialForms", "maximumEncodedBytes",
          "remainderPolicy", "privateMaterial"
        ],
        "properties": {
          "name": {"type": "string", "minLength": 1, "maxLength": 256},
          "purpose": {"enum": ["tls-server", "tls-client", "mtls-server", "mtls-client", "dual-role-mtls", "code-signing", "custom"]},
          "endpointRole": {"enum": ["server", "client", "dual", "not-applicable"]},
          "consumerType": {"enum": ["mesh-provider", "mesh-listener", "listening-post", "mesh-node", "implant", "stager", "payload", "c2-service", "service", "external"]},
          "acceptedBundleVersions": {"$ref": "#/components/schemas/PKINonEmptyUniqueStringList"},
          "acceptedProfiles": {"$ref": "#/components/schemas/PKINonEmptyUniqueStringList"},
          "acceptedCompatibilityTargets": {"$ref": "#/components/schemas/PKINonEmptyUniqueStringList"},
          "acceptedProjections": {
            "type": "array", "minItems": 1, "maxItems": 64, "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialProjection"}
          },
          "acceptedMaterialForms": {
            "type": "array", "minItems": 1, "maxItems": 3, "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialMaterialForm"}
          },
          "maximumEncodedBytes": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 25165824},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "privateMaterial": {"enum": ["forbidden", "allowed", "required"]}
        }
      },
      "PKINonEmptyUniqueStringList": {
        "type": "array",
        "minItems": 1,
        "maxItems": 64,
        "uniqueItems": true,
        "items": {"type": "string", "minLength": 1, "maxLength": 256}
      },
      "PKICredentialProjection": {
        "enum": [
          "bundle", "certificate-der", "private-key-pkcs8", "public-key-spki",
          "signer-reference", "chain-der", "trust-der", "crl-der",
          "provider-encoding", "literal-reference"
        ]
      },
      "PKICredentialStampTargetKind": {
        "enum": ["named-slot", "file-offset", "virtual-address", "symbol", "marker", "byte-pattern", "provider-defined"]
      },
      "PKICredentialStampRemainderPolicy": {
        "enum": ["preserve", "zero-fill", "require-exact"]
      },
      "PKICredentialProviderTargetSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": ["providerId", "schemaVersion", "jsonSchema"],
        "properties": {
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "schemaVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "jsonSchema": {"$ref": "#/components/schemas/AnyObject"}
        }
      },
      "PKICredentialProviderEncodingSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": ["providerId", "schemaVersion", "acceptedSourceProjections", "acceptedSourceForms", "outputForms"],
        "properties": {
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "schemaVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "acceptedSourceProjections": {
            "type": "array", "minItems": 1, "maxItems": 64, "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialProjection"}
          },
          "acceptedSourceForms": {
            "type": "array", "minItems": 1, "maxItems": 3, "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialMaterialForm"}
          },
          "outputForms": {
            "type": "array", "minItems": 1, "maxItems": 3, "uniqueItems": true,
            "items": {"$ref": "#/components/schemas/PKICredentialMaterialForm"}
          }
        }
      },
      "PKICredentialStampContractRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["assignmentId", "capability", "slotName", "target", "material", "encodedBytes", "credential"],
        "properties": {
          "assignmentId": {"type": "string", "minLength": 1, "maxLength": 256},
          "capability": {"enum": ["stamp-standard", "stamp-advanced"]},
          "slotName": {"type": "string", "minLength": 1, "maxLength": 256},
          "target": {"$ref": "#/components/schemas/PKICredentialStampTarget"},
          "material": {"$ref": "#/components/schemas/PKICredentialStampMaterial"},
          "encodedBytes": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 25165824},
          "credential": {"$ref": "#/components/schemas/PKIResolvedCredentialMetadata"}
        }
      },
      "PKICredentialStampTarget": {
        "oneOf": [
          {"$ref": "#/components/schemas/PKINamedSlotStampTarget"},
          {"$ref": "#/components/schemas/PKIFileOffsetStampTarget"},
          {"$ref": "#/components/schemas/PKIVirtualAddressStampTarget"},
          {"$ref": "#/components/schemas/PKISymbolStampTarget"},
          {"$ref": "#/components/schemas/PKIMarkerStampTarget"},
          {"$ref": "#/components/schemas/PKIBytePatternStampTarget"},
          {"$ref": "#/components/schemas/PKIProviderDefinedStampTarget"}
        ],
        "discriminator": {"propertyName": "kind"}
      },
      "PKINamedSlotStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "namedSlot"],
        "properties": {
          "kind": {"const": "named-slot"},
          "namedSlot": {
            "type": "object", "additionalProperties": false, "required": ["name"],
            "properties": {"name": {"type": "string", "minLength": 1, "maxLength": 256}}
          }
        }
      },
      "PKIFileOffsetStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "fileOffset"],
        "properties": {"kind": {"const": "file-offset"}, "fileOffset": {"$ref": "#/components/schemas/PKIFileOffsetTargetValue"}}
      },
      "PKIVirtualAddressStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "virtualAddress"],
        "properties": {"kind": {"const": "virtual-address"}, "virtualAddress": {"$ref": "#/components/schemas/PKIVirtualAddressTargetValue"}}
      },
      "PKISymbolStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "symbol"],
        "properties": {"kind": {"const": "symbol"}, "symbol": {"$ref": "#/components/schemas/PKISymbolTargetValue"}}
      },
      "PKIMarkerStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "marker"],
        "properties": {"kind": {"const": "marker"}, "marker": {"$ref": "#/components/schemas/PKIMarkerTargetValue"}}
      },
      "PKIBytePatternStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "bytePattern"],
        "properties": {"kind": {"const": "byte-pattern"}, "bytePattern": {"$ref": "#/components/schemas/PKIBytePatternTargetValue"}}
      },
      "PKIProviderDefinedStampTarget": {
        "type": "object", "additionalProperties": false, "required": ["kind", "providerDefined"],
        "properties": {"kind": {"const": "provider-defined"}, "providerDefined": {"$ref": "#/components/schemas/PKIProviderDefinedTargetValue"}}
      },
      "PKICanonicalUint64": {
        "type": "string",
        "pattern": "^(?:0|[1-9][0-9]{0,18}|1[0-7][0-9]{18}|18[0-3][0-9]{17}|184[0-3][0-9]{16}|1844[0-5][0-9]{15}|18446[0-6][0-9]{14}|184467[0-3][0-9]{13}|1844674[0-3][0-9]{12}|184467440[0-6][0-9]{10}|1844674407[0-2][0-9]{9}|18446744073[0-6][0-9]{8}|1844674407370[0-8][0-9]{6}|18446744073709[0-4][0-9]{5}|184467440737095[0-4][0-9]{4}|18446744073709550[0-9]{3}|18446744073709551[0-5][0-9]{2}|1844674407370955160[0-9]|1844674407370955161[0-4]|18446744073709551615)$",
        "description": "Canonical base-10 uint64 string; leading zeroes are forbidden."
      },
      "PKICredentialStampPrecondition": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind"],
        "oneOf": [
          {"properties": {"kind": {"const": "none"}}, "not": {"anyOf": [{"required": ["bytes"]}, {"required": ["sha256"]}, {"required": ["length"]}]}},
          {"required": ["bytes"], "properties": {"kind": {"const": "bytes"}}, "not": {"anyOf": [{"required": ["sha256"]}, {"required": ["length"]}]}},
          {"required": ["sha256", "length"], "properties": {"kind": {"const": "sha256"}}, "not": {"required": ["bytes"]}}
        ],
        "properties": {
          "kind": {"enum": ["none", "bytes", "sha256"]},
          "bytes": {"$ref": "#/components/schemas/ByteString"},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"},
          "length": {"$ref": "#/components/schemas/PKICanonicalUint64"}
        }
      },
      "PKIFileOffsetTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["offset", "maximumLength", "alignment", "remainderPolicy", "precondition"],
        "properties": {
          "offset": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "maximumLength": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "alignment": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "precondition": {"$ref": "#/components/schemas/PKICredentialStampPrecondition"}
        }
      },
      "PKIVirtualAddressTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["address", "addressSpace", "maximumLength", "alignment", "remainderPolicy", "precondition"],
        "properties": {
          "address": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "addressSpace": {"enum": ["elf-virtual-address", "pe-rva", "macho-vm-address"]},
          "imageBase": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "maximumLength": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "alignment": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "precondition": {"$ref": "#/components/schemas/PKICredentialStampPrecondition"}
        }
      },
      "PKISymbolTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["name", "maximumLength", "remainderPolicy", "precondition"],
        "properties": {
          "name": {"type": "string", "minLength": 1, "maxLength": 256},
          "section": {"type": "string", "minLength": 1, "maxLength": 256},
          "maximumLength": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "precondition": {"$ref": "#/components/schemas/PKICredentialStampPrecondition"}
        }
      },
      "PKIMarkerTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["marker", "occurrence", "maximumLength", "remainderPolicy", "precondition"],
        "properties": {
          "marker": {"$ref": "#/components/schemas/ByteString"},
          "occurrence": {"type": "integer", "minimum": 0, "maximum": 4294967295},
          "maximumLength": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "precondition": {"$ref": "#/components/schemas/PKICredentialStampPrecondition"}
        }
      },
      "PKIBytePatternTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["pattern", "mask", "occurrence", "maximumLength", "remainderPolicy", "precondition"],
        "properties": {
          "pattern": {"$ref": "#/components/schemas/ByteString"},
          "mask": {"$ref": "#/components/schemas/ByteString"},
          "occurrence": {"type": "integer", "minimum": 0, "maximum": 4294967295},
          "maximumLength": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "remainderPolicy": {"$ref": "#/components/schemas/PKICredentialStampRemainderPolicy"},
          "precondition": {"$ref": "#/components/schemas/PKICredentialStampPrecondition"}
        }
      },
      "PKIProviderDefinedTargetValue": {
        "type": "object", "additionalProperties": false,
        "required": ["providerId", "schemaVersion", "value"],
        "properties": {
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "schemaVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "value": {"$ref": "#/components/schemas/AnyObject"}
        }
      },
      "PKICredentialStampMaterial": {
        "type": "object",
        "additionalProperties": false,
        "required": ["projection"],
        "oneOf": [
          {
            "required": ["credential"],
            "properties": {
              "projection": {
                "enum": [
                  "bundle", "certificate-der", "private-key-pkcs8", "public-key-spki",
                  "signer-reference", "chain-der", "trust-der", "crl-der"
                ]
              }
            },
            "not": {"anyOf": [{"required": ["providerEncoding"]}, {"required": ["literalReference"]}]}
          },
          {
            "required": ["providerEncoding"],
            "properties": {"projection": {"const": "provider-encoding"}},
            "not": {"anyOf": [{"required": ["credential"]}, {"required": ["literalReference"]}]}
          },
          {
            "required": ["literalReference"],
            "properties": {"projection": {"const": "literal-reference"}},
            "not": {"anyOf": [{"required": ["credential"]}, {"required": ["providerEncoding"]}]}
          }
        ],
        "properties": {
          "projection": {"$ref": "#/components/schemas/PKICredentialProjection"},
          "credential": {"$ref": "#/components/schemas/PKICredentialMaterialReference"},
          "providerEncoding": {"$ref": "#/components/schemas/PKICredentialProviderEncodingMaterial"},
          "literalReference": {"$ref": "#/components/schemas/PKICredentialLiteralMaterialReference"}
        }
      },
      "PKICredentialMaterialReference": {
        "type": "object", "additionalProperties": false,
        "required": ["projection", "form"],
        "properties": {
          "projection": {"$ref": "#/components/schemas/PKICredentialProjection"},
          "form": {"$ref": "#/components/schemas/PKICredentialMaterialForm"},
          "bundleId": {"type": "string", "minLength": 1, "maxLength": 256},
          "generationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "generationIds": {"$ref": "#/components/schemas/PKINonEmptyUniqueStringList"},
          "trustSetGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "crlGenerationIds": {"$ref": "#/components/schemas/PKINonEmptyUniqueStringList"}
        }
      },
      "PKICredentialProviderEncodingMaterial": {
        "type": "object", "additionalProperties": false,
        "required": ["providerId", "schemaVersion", "form", "source"],
        "properties": {
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "schemaVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "form": {"$ref": "#/components/schemas/PKICredentialMaterialForm"},
          "source": {"$ref": "#/components/schemas/PKICredentialMaterialReference"}
        }
      },
      "PKICredentialLiteralMaterialReference": {
        "type": "object", "additionalProperties": false,
        "required": ["reference", "sha256", "form"],
        "properties": {
          "reference": {"type": "string", "minLength": 1, "maxLength": 256},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"},
          "form": {"$ref": "#/components/schemas/PKICredentialMaterialForm"}
        }
      },
      "PKIStampArtifactReference": {
        "type": "object", "additionalProperties": false,
        "required": ["kind", "id", "sha256"],
        "properties": {
          "kind": {"enum": ["workspace-artifact", "provider-build-input"]},
          "id": {"type": "string", "minLength": 1, "maxLength": 256},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"}
        }
      },
      "PKIStampedMaterialDigest": {
        "type": "object", "additionalProperties": false,
        "required": ["projection", "reference", "sha256"],
        "properties": {
          "projection": {"$ref": "#/components/schemas/PKICredentialProjection"},
          "reference": {"type": "string", "minLength": 1, "maxLength": 256},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"}
        }
      },
      "PKICredentialStampResult": {
        "type": "object", "additionalProperties": false,
        "required": ["targetResolution", "resolvedTarget", "bytesWritten", "materialDigests", "destination"],
        "properties": {
          "targetResolution": {"enum": ["unchanged", "translated"]},
          "resolvedTarget": {"$ref": "#/components/schemas/PKICredentialStampTarget"},
          "bytesWritten": {"$ref": "#/components/schemas/PKICanonicalUint64"},
          "materialDigests": {
            "type": "array", "minItems": 1, "maxItems": 128,
            "items": {"$ref": "#/components/schemas/PKIStampedMaterialDigest"}
          },
          "destination": {"$ref": "#/components/schemas/PKIStampDestination"}
        }
      },
      "PKIStampDestination": {
        "type": "object",
        "additionalProperties": false,
        "oneOf": [
          {"required": ["artifact"], "not": {"required": ["deployment"]}},
          {"required": ["deployment"], "not": {"required": ["artifact"]}}
        ],
        "properties": {
          "artifact": {"$ref": "#/components/schemas/PKIStampArtifactReference"},
          "deployment": {"$ref": "#/components/schemas/PKIStampDeploymentReference"}
        }
      },
      "PKIStampDeploymentReference": {
        "type": "object", "additionalProperties": false,
        "required": ["reference", "receiptSha256"],
        "properties": {
          "reference": {"type": "string", "minLength": 1, "maxLength": 256},
          "receiptSha256": {"$ref": "#/components/schemas/PKISHA256"}
        }
      },
      "PKICredentialExecutionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKICredentialExecutionListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["executions"],
        "properties": {
          "executions": {
            "type": "array",
            "items": {"$ref": "#/components/schemas/PKICredentialExecution"}
          }
        }
      },
      "PKICredentialExecution": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion", "id", "plan", "status", "revision", "createdAt", "updatedAt"
        ],
        "oneOf": [
          {
            "properties": {"status": {"const": "pending"}},
            "not": {"anyOf": [{"required": ["result"]}, {"required": ["failure"]}]}
          },
          {
            "required": ["result"],
            "properties": {"status": {"const": "succeeded"}},
            "not": {"required": ["failure"]}
          },
          {
            "required": ["failure"],
            "properties": {"status": {"const": "failed"}},
            "not": {"required": ["result"]}
          }
        ],
        "properties": {
          "schemaVersion": {"const": "hovel.pki.credential-execution/v1"},
          "id": {"type": "string", "minLength": 1, "maxLength": 256},
          "plan": {"$ref": "#/components/schemas/PKICredentialExecutionPlan"},
          "status": {"enum": ["pending", "succeeded", "failed"]},
          "result": {"$ref": "#/components/schemas/PKICredentialExecutionResult"},
          "failure": {"type": "string", "minLength": 1, "maxLength": 1024},
          "revision": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 9223372036854775807},
          "createdAt": {"type": "string", "format": "date-time"},
          "updatedAt": {"type": "string", "format": "date-time"}
        }
      },
      "PKICredentialExecutionPlan": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind", "provider", "materials", "scope"],
        "oneOf": [
          {
            "required": ["assignmentId", "slotName", "credential"],
            "properties": {"kind": {"const": "runtime"}}
          },
          {
            "required": ["assignmentId", "slotName", "credential"],
            "properties": {"kind": {"const": "files"}}
          },
          {
            "required": ["providerSchema", "outputForm", "maximumEncodedBytes"],
            "properties": {"kind": {"const": "provider-encoding"}},
            "not": {
              "anyOf": [
                {"required": ["assignmentId"]},
                {"required": ["slotName"]},
                {"required": ["credential"]}
              ]
            }
          }
        ],
        "properties": {
          "kind": {"enum": ["runtime", "files", "provider-encoding"]},
          "provider": {"$ref": "#/components/schemas/PKICredentialProviderTarget"},
          "assignmentId": {"type": "string", "minLength": 1, "maxLength": 256},
          "slotName": {"type": "string", "minLength": 1, "maxLength": 256},
          "credential": {"$ref": "#/components/schemas/PKIResolvedCredentialMetadata"},
          "materials": {
            "type": "array",
            "minItems": 1,
            "maxItems": 64,
            "items": {"$ref": "#/components/schemas/PKICredentialExecutionMaterial"}
          },
          "scope": {"$ref": "#/components/schemas/PKICredentialOperationScope"},
          "providerSchema": {"type": "string", "minLength": 1, "maxLength": 256},
          "outputForm": {"$ref": "#/components/schemas/PKICredentialMaterialForm"},
          "maximumEncodedBytes": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 25165824}
        }
      },
      "PKICredentialProviderTarget": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "providerId", "providerVersion", "descriptorSha256"],
        "properties": {
          "moduleId": {"type": "string", "minLength": 1, "maxLength": 256},
          "providerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "providerVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "descriptorSha256": {"$ref": "#/components/schemas/PKISHA256"}
        }
      },
      "PKICredentialOperationScope": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "operationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "runId": {"type": "string", "minLength": 1, "maxLength": 256},
          "chainId": {"type": "string", "minLength": 1, "maxLength": 256},
          "throwId": {"type": "string", "minLength": 1, "maxLength": 256},
          "target": {"type": "string", "minLength": 1, "maxLength": 256},
          "listenerId": {"type": "string", "minLength": 1, "maxLength": 256},
          "nodeId": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKIResolvedCredentialMetadata": {
        "type": "object",
        "additionalProperties": false,
        "required": ["bundleVersion", "purpose", "consumerType", "profileId", "compatibilityTargetId"],
        "properties": {
          "bundleVersion": {"type": "string", "minLength": 1, "maxLength": 256},
          "purpose": {"type": "string", "minLength": 1, "maxLength": 256},
          "consumerType": {"type": "string", "minLength": 1, "maxLength": 256},
          "profileId": {"type": "string", "minLength": 1, "maxLength": 256},
          "compatibilityTargetId": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKICredentialExecutionMaterial": {
        "type": "object",
        "additionalProperties": false,
        "required": ["projection", "form", "encoding", "sha256", "size"],
        "properties": {
          "projection": {
            "enum": [
              "bundle", "certificate-der", "private-key-pkcs8", "public-key-spki",
              "signer-reference", "chain-der", "trust-der", "crl-der",
              "provider-encoding", "literal-reference"
            ]
          },
          "form": {"$ref": "#/components/schemas/PKICredentialMaterialForm"},
          "encoding": {"type": "string", "minLength": 1, "maxLength": 256},
          "mediaType": {"type": "string", "minLength": 1, "maxLength": 256},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"},
          "size": {"type": "integer", "format": "int64", "minimum": 0, "maximum": 25165824}
        }
      },
      "PKICredentialMaterialForm": {
        "enum": ["public", "private-reference", "private-bytes"]
      },
      "PKICredentialExecutionResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "providerReferenceSha256": {"$ref": "#/components/schemas/PKISHA256"},
          "receiptSha256": {"$ref": "#/components/schemas/PKISHA256"},
          "output": {"$ref": "#/components/schemas/PKICredentialExecutionOutput"}
        }
      },
      "PKICredentialExecutionOutput": {
        "type": "object",
        "additionalProperties": false,
        "required": ["form", "encoding", "sha256", "size"],
        "properties": {
          "form": {"$ref": "#/components/schemas/PKICredentialMaterialForm"},
          "encoding": {"type": "string", "minLength": 1, "maxLength": 256},
          "sha256": {"$ref": "#/components/schemas/PKISHA256"},
          "size": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 25165824}
        }
      },
      "PKISHA256": {
        "type": "string",
        "pattern": "^[0-9a-f]{64}$"
      },
      "EmptyObject": {
        "type": "object",
        "additionalProperties": false
      },
      "RPCError": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "version",
          "code",
          "message"
        ],
        "oneOf": [
          {
            "required": ["rolloverReason"],
            "properties": {
              "code": {"const": "rollover-precondition"}
            }
          },
          {
            "properties": {
              "code": {
                "enum": [
                  "internal",
                  "not-found",
                  "revision-conflict",
                  "acknowledgement-exists",
                  "idempotency-conflict",
                  "mutation-exists",
                  "issuance-in-progress",
                  "crl-publication-in-progress",
                  "private-key-export-denied",
                  "authority-signing-locked",
                  "authority-signing-lease-owned",
                  "permission-denied"
                ]
              }
            },
            "not": {
              "anyOf": [
                {"required": ["rolloverReason"]},
                {"required": ["rolloverDetail"]}
              ]
            }
          }
        ],
        "properties": {
          "version": {"const": "v1"},
          "code": {
            "enum": [
              "internal",
              "not-found",
              "revision-conflict",
              "acknowledgement-exists",
              "rollover-precondition",
              "idempotency-conflict",
              "mutation-exists",
              "issuance-in-progress",
              "crl-publication-in-progress",
              "private-key-export-denied",
              "authority-signing-locked",
              "authority-signing-lease-owned",
              "permission-denied"
            ]
          },
          "message": {"type": "string", "minLength": 1},
          "rolloverReason": {
            "enum": [
              "wrong-phase",
              "missing-acknowledgements",
              "trust-changed",
              "assignments-not-rotated",
              "authority-changed",
              "assignment-ineligible",
              "trust-layout-invalid",
              "resource-reserved"
            ]
          },
          "rolloverDetail": {"type": "string"}
        }
      },
      "StringMap": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "AnyObject": {
        "type": "object",
        "additionalProperties": true
      },
      "StringList": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "ByteString": {
        "type": "string",
        "format": "byte",
        "description": "Base64-encoded bytes produced by Go JSON for []byte fields."
      },
      "ExecuteModuleRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "Inputs": {
            "$ref": "#/components/schemas/StringMap"
          },
          "ChainConfig": {
            "$ref": "#/components/schemas/StringMap"
          },
          "TargetConfig": {
            "$ref": "#/components/schemas/StringMap"
          },
          "ThrowStarted": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ExecuteModuleResponse": {
        "type": "object",
        "properties": {
          "RunID": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "State": {
            "type": "string",
            "enum": [
              "succeeded",
              "failed"
            ]
          },
          "Summary": {
            "type": "string"
          },
          "Findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Finding"
            }
          },
          "Artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Artifact"
            }
          },
          "Logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogEntry"
            }
          },
          "Sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionRef"
            }
          },
          "InstalledPayloads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstalledPayloadDescriptor"
            }
          }
        }
      },
      "Finding": {
        "type": "object",
        "properties": {
          "Title": {
            "type": "string"
          },
          "Severity": {
            "type": "string"
          },
          "Detail": {
            "type": "string"
          }
        }
      },
      "Artifact": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string"
          },
          "Kind": {
            "type": "string"
          },
          "Data": {
            "type": "string"
          },
          "Path": {
            "type": "string"
          }
        }
      },
      "SessionRef": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string"
          },
          "RunID": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "Kind": {
            "type": "string"
          },
          "State": {
            "type": "string"
          },
          "Transport": {
            "type": "string"
          },
          "InstalledPayloadID": {
            "type": "string"
          },
          "Capabilities": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "SessionChunk": {
        "type": "object",
        "properties": {
          "SessionID": {
            "type": "string"
          },
          "Data": {
            "$ref": "#/components/schemas/ByteString"
          },
          "Closed": {
            "type": "boolean"
          }
        }
      },
      "SessionReadRequest": {
        "type": "object",
        "properties": {
          "SessionID": {
            "type": "string"
          },
          "TimeoutMs": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "SessionTailRequest": {
        "type": "object",
        "properties": {
          "SessionID": {
            "type": "string"
          },
          "MaxBytes": {
            "type": "integer",
            "minimum": 0
          },
          "MaxLines": {
            "type": "integer",
            "minimum": 0
          },
          "Consume": {
            "type": "boolean"
          }
        }
      },
      "SessionWriteRequest": {
        "type": "object",
        "properties": {
          "SessionID": {
            "type": "string"
          },
          "Data": {
            "$ref": "#/components/schemas/ByteString"
          }
        }
      },
      "SessionCloseRequest": {
        "type": "object",
        "properties": {
          "SessionID": {
            "type": "string"
          }
        }
      },
      "ListSessionsResponse": {
        "type": "object",
        "properties": {
          "Sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionRef"
            }
          }
        }
      },
      "SessionCommandListRequest": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/PayloadCommandListInnerRequest"
          }
        }
      },
      "SessionCommandRunRequest": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/PayloadCommandInnerRequest"
          }
        }
      },
      "OperationRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          }
        }
      },
      "ChainRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "RenameChainRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          }
        }
      },
      "TargetRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "TargetSetRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "ModuleRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "StepID": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "StepResponse": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "StepID": {
            "type": "string"
          }
        }
      },
      "ConfigRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Key": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "TargetConfigRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "Key": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "SnapshotRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "SnapshotResponse": {
        "type": "object",
        "properties": {
          "State": {
            "$ref": "#/components/schemas/PersistedState"
          }
        }
      },
      "AppendLogRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          },
          "Entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperatorLogEntry"
            }
          }
        }
      },
      "ActiveLogsRequest": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "PollLogsRequest": {
        "type": "object",
        "properties": {
          "Since": {
            "type": "integer",
            "minimum": 0
          },
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          }
        }
      },
      "PollLogsResponse": {
        "type": "object",
        "properties": {
          "Last": {
            "type": "integer",
            "minimum": 0
          },
          "Logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublishedLog"
            }
          }
        }
      },
      "PublishedLog": {
        "type": "object",
        "properties": {
          "Seq": {
            "type": "integer",
            "minimum": 0
          },
          "Operation": {
            "type": "string"
          },
          "Chain": {
            "type": "string"
          },
          "Entry": {
            "$ref": "#/components/schemas/OperatorLogEntry"
          }
        }
      },
      "LogEntry": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string"
          },
          "Time": {
            "type": "string",
            "format": "date-time"
          },
          "Topic": {
            "type": "string"
          },
          "Kind": {
            "type": "string"
          },
          "Level": {
            "type": "string"
          },
          "Source": {
            "type": "string"
          },
          "Message": {
            "type": "string"
          },
          "Logger": {
            "type": "string"
          },
          "ChainID": {
            "type": "string"
          },
          "ChainName": {
            "type": "string"
          },
          "RunID": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "ElapsedSeconds": {
            "type": "number"
          },
          "Fields": {
            "$ref": "#/components/schemas/StringMap"
          },
          "Attributes": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "OperatorLogEntry": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string"
          },
          "Time": {
            "type": "string",
            "format": "date-time"
          },
          "Topic": {
            "type": "string"
          },
          "Kind": {
            "type": "string",
            "enum": [
              "header",
              "event",
              "stage",
              "finding",
              "artifact"
            ]
          },
          "Level": {
            "type": "string",
            "enum": [
              "info",
              "warn",
              "error",
              "verbose",
              "trace",
              "stage",
              "success",
              "finding",
              "artifact"
            ]
          },
          "Source": {
            "type": "string"
          },
          "Message": {
            "type": "string"
          },
          "ChainID": {
            "type": "string"
          },
          "ChainName": {
            "type": "string"
          },
          "RunID": {
            "type": "string"
          },
          "Target": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "ElapsedSeconds": {
            "type": "number"
          },
          "Fields": {
            "$ref": "#/components/schemas/StringMap"
          },
          "Attributes": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "PersistedState": {
        "type": "object",
        "properties": {
          "activeOperation": {
            "type": "string"
          },
          "activeChain": {
            "type": "string"
          },
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedOperation"
            }
          },
          "chains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedChain"
            }
          }
        }
      },
      "PersistedOperation": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "targets": {
            "$ref": "#/components/schemas/StringList"
          },
          "targetConfigs": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StringMap"
            }
          },
          "targetSets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetSet"
            }
          },
          "chains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedChain"
            }
          }
        }
      },
      "PersistedChain": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "targets": {
            "$ref": "#/components/schemas/StringList"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedStep"
            }
          },
          "config": {
            "$ref": "#/components/schemas/StringMap"
          },
          "targetConfigs": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/StringMap"
            }
          },
          "logTopic": {
            "type": "string"
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedOperatorLogEntry"
            }
          }
        }
      },
      "PersistedStep": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string"
          },
          "ModuleID": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          }
        }
      },
      "TargetSet": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string"
          },
          "Targets": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "PersistedOperatorLogEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "topic": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "level": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "chainId": {
            "type": "string"
          },
          "chainName": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "moduleId": {
            "type": "string"
          },
          "elapsedSeconds": {
            "type": "number"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperatorLogField"
            }
          },
          "attributes": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "OperatorLogField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "OperatorEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "unknown",
              "cli",
              "tui",
              "mcp",
              "rest",
              "one_shot",
              "service"
            ]
          },
          "displayName": {
            "type": "string"
          },
          "agent": {
            "type": "boolean"
          },
          "operation": {
            "type": "string"
          },
          "activeChain": {
            "type": "string"
          },
          "connectedAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastSeenAt": {
            "type": "string",
            "format": "date-time"
          },
          "capabilities": {
            "$ref": "#/components/schemas/StringList"
          },
          "policyTags": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "AttachEntityRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "unknown",
              "cli",
              "tui",
              "mcp",
              "rest",
              "one_shot",
              "service"
            ]
          },
          "displayName": {
            "type": "string"
          },
          "agent": {
            "type": "boolean"
          },
          "operation": {
            "type": "string"
          },
          "activeChain": {
            "type": "string"
          },
          "capabilities": {
            "$ref": "#/components/schemas/StringList"
          },
          "policyTags": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "HeartbeatEntityRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "operation": {
            "type": "string",
            "description": "Omit to keep the previous operation; send an empty string to clear it."
          },
          "activeChain": {
            "type": "string",
            "description": "Omit to keep the previous chain; send an empty string to clear it."
          }
        }
      },
      "DetachEntityRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "ListEntitiesRequest": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          }
        }
      },
      "EntityResponse": {
        "type": "object",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/OperatorEntity"
          }
        }
      },
      "ListEntitiesResponse": {
        "type": "object",
        "properties": {
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperatorEntity"
            }
          }
        }
      },
      "CreatePendingThrowRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "planHash": {
            "type": "string"
          },
          "allowDangerous": {
            "type": "boolean"
          },
          "nowBypass": {
            "type": "boolean"
          }
        }
      },
      "ConfirmPendingThrowRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "planHash": {
            "type": "string"
          },
          "allowDangerous": {
            "type": "boolean"
          },
          "nowBypass": {
            "type": "boolean"
          }
        }
      },
      "PendingThrowRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "PendingThrowResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "planHash": {
            "type": "string"
          },
          "allowDangerous": {
            "type": "boolean"
          },
          "nowBypass": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "ready": {
            "type": "boolean"
          },
          "requiredApproverIds": {
            "$ref": "#/components/schemas/StringList"
          },
          "missingApproverIds": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "LaunchKeyPolicyRequest": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          }
        }
      },
      "SetLaunchKeyPolicyRequest": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "anyone",
              "quorum",
              "all_connected"
            ]
          },
          "quorum": {
            "type": "integer",
            "minimum": 0
          },
          "heartbeatTimeout": {
            "type": "string",
            "description": "Go duration string, for example 30s or 2m."
          }
        }
      },
      "LaunchKeyPolicyResponse": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          },
          "policy": {
            "$ref": "#/components/schemas/LaunchKeyPolicyOutput"
          }
        }
      },
      "LaunchKeyPolicyOutput": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "anyone",
              "quorum",
              "all_connected"
            ]
          },
          "quorum": {
            "type": "integer",
            "minimum": 0
          },
          "heartbeatTimeout": {
            "type": "string"
          }
        }
      },
      "PayloadGenerateRequest": {
        "type": "object",
        "properties": {
          "moduleId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/GeneratePayloadInnerRequest"
          }
        }
      },
      "GeneratePayloadInnerRequest": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "payloadId": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "PayloadArtifactSet": {
        "type": "object",
        "properties": {
          "primary": {
            "$ref": "#/components/schemas/PayloadArtifact"
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayloadArtifact"
            }
          }
        }
      },
      "PayloadArtifact": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "os": {
            "type": "string"
          },
          "arch": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/StringList"
          },
          "encoding": {
            "type": "string"
          },
          "bytes": {
            "type": "string"
          },
          "handle": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "sha256": {
            "type": "string"
          }
        }
      },
      "PayloadCommandListRequest": {
        "type": "object",
        "properties": {
          "moduleId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/PayloadCommandListInnerRequest"
          }
        }
      },
      "PayloadCommandListInnerRequest": {
        "type": "object",
        "properties": {
          "installedPayloadId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "payloadId": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/StringMap"
          },
          "reconnect": {
            "$ref": "#/components/schemas/PayloadProviderRecord"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "PayloadCommandListResponse": {
        "type": "object",
        "properties": {
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayloadCommand"
            }
          }
        }
      },
      "PayloadCommand": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "usage": {
            "type": "string"
          },
          "readOnly": {
            "type": "boolean"
          },
          "destructive": {
            "type": "boolean"
          },
          "capabilities": {
            "$ref": "#/components/schemas/StringList"
          },
          "arguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayloadCommandArgument"
            }
          }
        }
      },
      "PayloadCommandArgument": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "help": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        }
      },
      "PayloadCommandRunRequest": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "moduleId": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/PayloadCommandInnerRequest"
          }
        }
      },
      "PayloadCommandInnerRequest": {
        "type": "object",
        "properties": {
          "installedPayloadId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "payloadId": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "args": {
            "$ref": "#/components/schemas/StringList"
          },
          "inputPath": {
            "type": "string"
          },
          "inputData": {
            "type": "string"
          },
          "inputEncoding": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/StringMap"
          },
          "reconnect": {
            "$ref": "#/components/schemas/PayloadProviderRecord"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "PayloadCommandResult": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "stdout": {
            "type": "string"
          },
          "stderr": {
            "type": "string"
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersistedArtifact"
            }
          },
          "fields": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "PersistedArtifact": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string"
          },
          "Kind": {
            "type": "string"
          },
          "Data": {
            "type": "string"
          },
          "Path": {
            "type": "string"
          }
        }
      },
      "PayloadProviderRecord": {
        "type": "object",
        "properties": {
          "providerId": {
            "type": "string"
          },
          "schema": {
            "type": "string"
          },
          "schemaVersion": {
            "type": "string"
          },
          "descriptor": {
            "$ref": "#/components/schemas/AnyObject"
          }
        }
      },
      "InstalledPayloadDescriptor": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string"
          },
          "payloadId": {
            "type": "string"
          },
          "payloadVersion": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "transport": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "instanceKey": {
            "type": "string"
          },
          "stampId": {
            "type": "string"
          },
          "artifactIds": {
            "$ref": "#/components/schemas/StringList"
          },
          "supportsReconnect": {
            "type": "boolean"
          },
          "supportsMultipleSessions": {
            "type": "boolean"
          },
          "reconnect": {
            "$ref": "#/components/schemas/PayloadProviderRecord"
          },
          "cleanup": {
            "$ref": "#/components/schemas/PayloadProviderRecord"
          },
          "metadata": {
            "$ref": "#/components/schemas/StringMap"
          }
        }
      },
      "AgentContext": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "schema": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/components/schemas/AgentEntity"
          },
          "operation": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "planId": {
            "type": "string"
          },
          "planHash": {
            "type": "string"
          },
          "approvalState": {
            "type": "string"
          },
          "phase": {
            "type": "string"
          },
          "resources": {
            "$ref": "#/components/schemas/StringList"
          }
        }
      },
      "AgentEntity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "agent": {
            "type": "boolean"
          }
        }
      },
      "AgentHint": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "schema": {"type": "string", "maxLength": 256},
          "phase": {"type": "string", "maxLength": 256},
          "audience": {"type": "string", "maxLength": 256},
          "risk": {"type": "string", "maxLength": 256},
          "appliesTo": {"$ref": "#/components/schemas/StringMap"},
          "text": {"type": "string", "maxLength": 65536},
          "provenance": {"$ref": "#/components/schemas/StringMap"}
        },
        "description": "Untrusted module-authored guidance; it never bypasses planning, guardrails, or confirmation."
      },
      "MeshStringList": {
        "type": "array",
        "maxItems": 4096,
        "uniqueItems": true,
        "items": {"type": "string", "minLength": 1, "maxLength": 256}
      },
      "MeshDescribeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "request"],
        "properties": {
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "request": {
            "$ref": "#/components/schemas/MeshDescribeInnerRequest"
          }
        }
      },
      "MeshDescribeInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "MeshTopologyRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "request"],
        "properties": {
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "request": {
            "$ref": "#/components/schemas/MeshTopologyInnerRequest"
          }
        }
      },
      "MeshTopologyInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "root": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "includeRoutes": {
            "type": "boolean"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          },
          "listenerId": {
            "type": "string", "minLength": 1, "maxLength": 256
          }
        }
      },
      "MeshBeaconListRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "request"],
        "properties": {
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "request": {
            "$ref": "#/components/schemas/MeshBeaconInnerRequest"
          }
        }
      },
      "MeshBeaconInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "nodeId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "since": {
            "type": "string", "format": "date-time"
          },
          "limit": {
            "type": "integer", "minimum": 0, "maximum": 10000
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          },
          "listenerId": {
            "type": "string", "minLength": 1, "maxLength": 256
          }
        }
      },
      "MeshTaskRunRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "request"],
        "dependentRequired": {
          "credentials": ["credentialContext"],
          "credentialContext": ["credentials"]
        },
        "properties": {
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "request": {
            "$ref": "#/components/schemas/MeshDirectTaskRequest"
          },
          "credentials": {
            "$ref": "#/components/schemas/MeshCredentialSelections"
          },
          "credentialContext": {
            "$ref": "#/components/schemas/MeshCredentialRequestContext"
          }
        }
      },
      "MeshStreamOpenRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["moduleId", "request"],
        "dependentRequired": {
          "credentials": ["credentialContext"],
          "credentialContext": ["credentials"]
        },
        "properties": {
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "request": {
            "$ref": "#/components/schemas/MeshStreamRequest"
          },
          "credentials": {
            "$ref": "#/components/schemas/MeshCredentialSelections"
          },
          "credentialContext": {
            "$ref": "#/components/schemas/MeshCredentialRequestContext"
          }
        }
      },
      "MeshOperationListRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "moduleId": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "kind": {
            "enum": ["task", "stream", "bridge", "listener"]
          },
          "state": {
            "enum": ["started", "active", "succeeded", "failed", "closed"]
          },
          "providerStatus": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-defined task outcome retained separately from the closed daemon lifecycle state."
          },
          "listenerId": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "start",
              "stop"
            ]
          }
        }
      },
      "MeshOperationListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["operations"],
        "properties": {
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeshOperation"
            }
          }
        }
      },
      "MeshOperation": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id", "kind", "state", "moduleId", "startedAt", "updatedAt"],
        "properties": {
          "id": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "kind": {
            "enum": ["task", "stream", "bridge", "listener"]
          },
          "state": {
            "enum": ["started", "active", "succeeded", "failed", "closed"]
          },
          "providerStatus": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-defined task outcome retained separately from the closed daemon lifecycle state."
          },
          "moduleId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "runId": {
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "taskKind": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "sessionIds": {
            "type": "array",
            "maxItems": 1024,
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          "nodeId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "routeId": {
            "type": "string"
          },
          "destinationHost": {
            "type": "string"
          },
          "destinationPort": {
            "type": "integer", "minimum": 0, "maximum": 65535
          },
          "protocol": {
            "type": "string",
            "description": "Provider-defined remote flow protocol; independent of a bridge's daemon-local socket network."
          },
          "localNetwork": {
            "type": "string",
            "enum": [
              "tcp",
              "udp"
            ],
            "description": "Daemon-local socket network for bridge operations."
          },
          "localAddress": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "startedAt": {
            "type": "string", "format": "date-time"
          },
          "updatedAt": {
            "type": "string", "format": "date-time"
          },
          "closedAt": {
            "type": "string", "format": "date-time"
          },
          "action": {
            "type": "string",
            "enum": [
              "start",
              "stop"
            ]
          },
          "listenerId": {
            "type": "string"
          },
          "listenerState": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-defined listener state; standard values are starting, active, stopping, stopped, and failed."
          }
        }
      },
      "MeshDescriptor": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "capabilities": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "topology": {
            "$ref": "#/components/schemas/MeshTopology"
          },
          "tasks": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/MeshTaskSpec"
            }
          },
          "triggers": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/MeshTrigger"
            }
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "listenerTypes": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/MeshListenerSpec"
            }
          },
          "credentialDelivery": {
            "$ref": "#/components/schemas/PKICredentialDeliveryDescriptor"
          }
        }
      },
      "MeshTopology": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "root": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "maxItems": 100000,
            "items": {
              "$ref": "#/components/schemas/MeshNode"
            }
          },
          "links": {
            "type": "array",
            "maxItems": 100000,
            "items": {
              "$ref": "#/components/schemas/MeshLink"
            }
          },
          "routes": {
            "type": "array",
            "maxItems": 100000,
            "items": {
              "$ref": "#/components/schemas/MeshRoute"
            }
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          }
        }
      },
      "MeshNode": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "parentId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "os": {
            "type": "string"
          },
          "arch": {
            "type": "string"
          },
          "labels": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "capabilities": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "lastSeen": {
            "type": "string", "format": "date-time"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshLink": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id", "source", "target"],
        "properties": {
          "id": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "source": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "target": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "kind": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "transport": {
            "type": "string"
          },
          "cost": {
            "type": "integer", "minimum": 0
          },
          "latencyMs": {
            "type": "integer", "minimum": 0
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          }
        }
      },
      "MeshRoute": {
        "type": "object",
        "additionalProperties": false,
        "required": ["nodes"],
        "properties": {
          "id": {
            "type": "string"
          },
          "nodes": {
            "type": "array", "minItems": 1, "maxItems": 100000,
            "items": {"type": "string", "minLength": 1, "maxLength": 256}
          },
          "links": {
            "type": "array", "maxItems": 100000,
            "items": {"type": "string", "minLength": 1, "maxLength": 256}
          },
          "cost": {
            "type": "integer", "minimum": 0
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          }
        }
      },
      "MeshTaskSpec": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind"],
        "properties": {
          "kind": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Common values are survey, upload, execute, upload_execute, command, load, and stream; providers may define additional kinds."
          },
          "summary": {
            "type": "string"
          },
          "configSchema": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "readOnly": {
            "type": "boolean"
          },
          "destructive": {
            "type": "boolean"
          },
          "opensStream": {
            "type": "boolean"
          },
          "targetScopes": {
            "type": "array", "maxItems": 3, "uniqueItems": true,
            "items": {"enum": ["node", "route", "destination"]}
          },
          "capabilities": {
            "$ref": "#/components/schemas/MeshStringList"
          }
        }
      },
      "MeshTrigger": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "expression": {
            "type": "string"
          },
          "schedule": {
            "type": "string"
          },
          "actionKind": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "lastFired": {
            "type": "string", "format": "date-time"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshBeacon": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id", "nodeId"],
        "properties": {
          "id": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "nodeId": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "time": {
            "type": "string", "format": "date-time"
          },
          "state": {
            "type": "string"
          },
          "transport": {
            "type": "string"
          },
          "remoteAddr": {
            "type": "string"
          },
          "intervalSeconds": {
            "type": "integer", "minimum": 0
          },
          "fields": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshBeaconListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["beacons"],
        "properties": {
          "beacons": {
            "type": "array",
            "maxItems": 10000,
            "items": {
              "$ref": "#/components/schemas/MeshBeacon"
            }
          }
        }
      },
      "MeshTaskRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind"],
        "properties": {
          "runId": {
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "kind": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-advertised task kind; common values are survey, upload, execute, upload_execute, command, load, and stream."
          },
          "nodeId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "route": {
            "$ref": "#/components/schemas/MeshRoute"
          },
          "destinationHost": {
            "type": "string"
          },
          "destinationPort": {
            "type": "integer", "minimum": 0, "maximum": 65535
          },
          "protocol": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "args": {
            "type": "array", "maxItems": 4096,
            "items": {"type": "string", "maxLength": 65536}
          },
          "inputData": {
            "type": "string"
          },
          "inputEncoding": {
            "type": "string"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshDirectTaskRequest": {
        "description": "Direct daemon task execution is limited to non-executing survey requests. Other provider-advertised task kinds require the persisted throw-plan and confirmation workflow.",
        "allOf": [
          {
            "$ref": "#/components/schemas/MeshTaskRequest"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "const": "survey"
              }
            }
          }
        ]
      },
      "MeshTaskResult": {
        "type": "object",
        "additionalProperties": false,
        "required": ["status"],
        "properties": {
          "taskId": {
            "type": "string"
          },
          "status": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-defined terminal status; standard values are succeeded and failed."
          },
          "summary": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "route": {
            "$ref": "#/components/schemas/MeshRoute"
          },
          "destinationHost": {
            "type": "string"
          },
          "destinationPort": {
            "type": "integer", "minimum": 0, "maximum": 65535
          },
          "protocol": {
            "type": "string"
          },
          "outputs": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Finding"
            }
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Artifact"
            }
          },
          "sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionRef"
            }
          },
          "beacons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeshBeacon"
            }
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeshEvent"
            }
          },
          "agentHints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentHint"
            }
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshEvent": {
        "type": "object",
        "additionalProperties": false,
        "required": ["kind"],
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string", "minLength": 1, "maxLength": 256
          },
          "nodeId": {
            "type": "string"
          },
          "level": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "fields": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshStreamRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "runId": {
            "type": "string"
          },
          "moduleId": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "route": {
            "$ref": "#/components/schemas/MeshRoute"
          },
          "destinationHost": {
            "type": "string"
          },
          "destinationPort": {
            "type": "integer", "minimum": 0, "maximum": 65535
          },
          "protocol": {
            "type": "string",
            "description": "Provider-defined remote flow protocol. OpenMeshBridge does not reinterpret this field as its local socket network."
          },
          "config": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          },
          "listenerId": {
            "type": "string"
          }
        }
      },
      "MeshBridgeOpenRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "moduleId"
        ],
        "dependentRequired": {
          "credentials": ["credentialContext"],
          "credentialContext": ["credentials"]
        },
        "properties": {
          "moduleId": {
            "type": "string",
            "minLength": 1
          },
          "request": {
            "$ref": "#/components/schemas/MeshStreamRequest"
          },
          "localHost": {
            "type": "string",
            "description": "Loopback IP address; empty or localhost selects 127.0.0.1."
          },
          "localPort": {
            "type": "integer",
            "minimum": 0,
            "maximum": 65535
          },
          "localNetwork": {
            "type": "string",
            "enum": [
              "tcp",
              "udp"
            ],
            "default": "tcp",
            "description": "Daemon-local socket adapter. This does not constrain request.protocol, which remains provider-defined."
          },
          "credentials": {
            "$ref": "#/components/schemas/MeshCredentialSelections"
          },
          "credentialContext": {
            "$ref": "#/components/schemas/MeshCredentialRequestContext"
          }
        }
      },
      "MeshBridgeOpenResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "sessionId",
          "localHost",
          "localPort",
          "localNetwork",
          "capability",
          "localAddress"
        ],
        "properties": {
          "operationId": {
            "type": "string",
            "minLength": 1
          },
          "sessionId": {
            "type": "string",
            "minLength": 1
          },
          "localHost": {
            "type": "string"
          },
          "localPort": {
            "type": "integer"
          },
          "localNetwork": {
            "type": "string",
            "enum": [
              "tcp",
              "udp"
            ]
          },
          "capability": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{43}$",
            "x-sensitive": true,
            "description": "Ephemeral 256-bit bearer capability. Send capability plus LF as the first TCP bytes or as the first complete UDP datagram; Hovel consumes the handshake and never forwards it to the provider. Do not log or persist this value."
          },
          "localAddress": {
            "type": "string"
          }
        }
      },
      "MeshBridgeCloseRequest": {
        "type": "object",
        "additionalProperties": false,
        "oneOf": [
          {
            "required": [
              "operationId"
            ]
          },
          {
            "required": [
              "sessionId"
            ]
          }
        ],
        "properties": {
          "operationId": {
            "type": "string",
            "minLength": 1
          },
          "sessionId": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "MeshBridgeCloseResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "sessionId",
          "state"
        ],
        "properties": {
          "operationId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "state": {
            "const": "closed"
          }
        }
      },
      "MeshListenerDeployment": {
        "type": "string",
        "enum": [
          "embedded",
          "separate"
        ]
      },
      "MeshListenerManagement": {
        "type": "string",
        "enum": [
          "provider",
          "external"
        ]
      },
      "MeshListener": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Provider-reported listening post. Start configuration and credentials are intentionally absent.",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "state": {
            "type": "string", "minLength": 1, "maxLength": 256,
            "description": "Provider-defined state; standard values are starting, active, stopping, stopped, and failed."
          },
          "deployment": {
            "$ref": "#/components/schemas/MeshListenerDeployment"
          },
          "management": {
            "$ref": "#/components/schemas/MeshListenerManagement"
          },
          "nodeId": {
            "type": "string"
          },
          "addresses": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "protocols": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "capabilities": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "labels": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "attributes": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "updatedAt": {
            "type": "string", "format": "date-time"
          }
        }
      },
      "MeshListenerSpec": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "minLength": 1
          },
          "summary": {
            "type": "string"
          },
          "deployments": {
            "type": "array",
            "maxItems": 2,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/MeshListenerDeployment"
            }
          },
          "managementModes": {
            "type": "array",
            "maxItems": 2,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/MeshListenerManagement"
            }
          },
          "protocols": {
            "$ref": "#/components/schemas/MeshStringList"
          },
          "configSchema": {
            "$ref": "#/components/schemas/AnyObject"
          },
          "capabilities": {
            "$ref": "#/components/schemas/MeshStringList"
          }
        }
      },
      "MeshListenerListInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "listenerId": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "MeshListenerStartInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "listenerId"
        ],
        "properties": {
          "listenerId": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "deployment": {
            "$ref": "#/components/schemas/MeshListenerDeployment"
          },
          "management": {
            "$ref": "#/components/schemas/MeshListenerManagement"
          },
          "config": {
            "$ref": "#/components/schemas/AnyObject",
            "writeOnly": true,
            "description": "Provider-specific write-only configuration; never returned by listener read models."
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "MeshListenerStopInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "listenerId"
        ],
        "properties": {
          "listenerId": {
            "type": "string",
            "minLength": 1
          },
          "agentContext": {
            "$ref": "#/components/schemas/AgentContext"
          }
        }
      },
      "MeshListenerListRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "moduleId",
          "request"
        ],
        "properties": {
          "moduleId": {
            "type": "string",
            "minLength": 1
          },
          "request": {
            "$ref": "#/components/schemas/MeshListenerListInnerRequest"
          }
        }
      },
      "MeshListenerStartRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "moduleId",
          "request"
        ],
        "dependentRequired": {
          "credentials": ["credentialContext"],
          "credentialContext": ["credentials"]
        },
        "properties": {
          "moduleId": {
            "type": "string",
            "minLength": 1
          },
          "request": {
            "$ref": "#/components/schemas/MeshListenerStartInnerRequest"
          },
          "credentials": {
            "$ref": "#/components/schemas/MeshCredentialSelections"
          },
          "credentialContext": {
            "$ref": "#/components/schemas/MeshCredentialRequestContext"
          }
        }
      },
      "MeshListenerStopRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "moduleId",
          "request"
        ],
        "properties": {
          "moduleId": {
            "type": "string",
            "minLength": 1
          },
          "request": {
            "$ref": "#/components/schemas/MeshListenerStopInnerRequest"
          }
        }
      },
      "MeshListenerListResponse": {
        "type": "object",
        "required": [
          "listeners"
        ],
        "properties": {
          "listeners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeshListener"
            }
          }
        }
      },
      "MeshListenerStartResponse": {
        "type": "object",
        "required": [
          "operationId",
          "listener"
        ],
        "properties": {
          "operationId": {
            "type": "string",
            "minLength": 1
          },
          "listener": {
            "$ref": "#/components/schemas/MeshListener"
          }
        }
      },
      "MeshListenerStopResponse": {
        "type": "object",
        "required": [
          "operationId",
          "listener"
        ],
        "properties": {
          "operationId": {
            "type": "string",
            "minLength": 1
          },
          "listener": {
            "$ref": "#/components/schemas/MeshListener"
          }
        }
      },
      "MeshCredentialSelections": {
        "type": "array",
        "minItems": 1,
        "maxItems": 64,
        "description": "Non-secret assignment and slot selections resolved by the daemon immediately before the Mesh operation. The array never carries credential bytes, references, paths, provider targets, or receipts.",
        "items": {
          "$ref": "#/components/schemas/MeshCredentialSelection"
        }
      },
      "MeshCredentialSelection": {
        "type": "object",
        "additionalProperties": false,
        "required": ["requestId", "assignmentId", "slotName", "capability", "material"],
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Stable idempotency identity for this credential delivery. Reuse it only when retrying the same selection and Mesh operation."
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "slotName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "capability": {
            "const": "runtime",
            "description": "The first production selector path supports same-process runtime delivery only. File materialization and stamping use their dedicated contracts."
          },
          "material": {
            "$ref": "#/components/schemas/MeshCredentialMaterialSelection"
          }
        }
      },
      "MeshCredentialMaterialSelection": {
        "type": "object",
        "additionalProperties": false,
        "required": ["projection", "form"],
        "oneOf": [
          {
            "properties": {
              "projection": {"const": "certificate-der"},
              "form": {"const": "public"}
            }
          },
          {
            "properties": {
              "projection": {"const": "public-key-spki"},
              "form": {"const": "public"}
            }
          },
          {
            "properties": {
              "projection": {"const": "private-key-pkcs8"},
              "form": {"const": "private-bytes"}
            }
          }
        ],
        "properties": {
          "projection": {
            "$ref": "#/components/schemas/PKICredentialProjection"
          },
          "form": {
            "$ref": "#/components/schemas/PKICredentialMaterialForm"
          }
        }
      },
      "MeshCredentialRequestContext": {
        "allOf": [
          {"$ref": "#/components/schemas/PKIRequestContext"},
          {
            "type": "object",
            "required": ["approveCredentialUse"],
            "properties": {
              "approveCredentialUse": {"const": true}
            }
          }
        ]
      },
      "PKIRequestContext": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "actorId",
          "operationId",
          "correlationId"
        ],
        "properties": {
          "actorId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "correlationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "approveSigningLease": {
            "type": "boolean",
            "default": false
          },
          "approvePrivateKeyExport": {
            "type": "boolean",
            "default": false
          },
          "approveCredentialUse": {
            "type": "boolean",
            "default": false,
            "description": "Explicitly authorizes assignment-bound credential delivery into the selected provider process; no secret material is returned to the caller."
          },
          "approveIssuanceReconciliation": {
            "type": "boolean",
            "default": false
          },
          "approveCrlPublicationReconciliation": {
            "type": "boolean",
            "default": false,
            "description": "Explicitly authorizes atomic failure reconciliation of stale CRL publication plans."
          }
        }
      },
      "PKIWorkspaceStatus": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "initialized"
        ],
        "properties": {
          "initialized": {
            "type": "boolean"
          },
          "activeKeyVersion": {
            "type": "string"
          },
          "masterKeyVersions": {
            "type": "integer",
            "minimum": 0
          },
          "error": {
            "type": "string"
          }
        }
      },
      "PKIInitializeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "confirmed"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "confirmed": {
            "const": true
          }
        }
      },
      "PKIBackendDescriptor": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "id",
          "version",
          "capabilityHash",
          "keyAlgorithms",
          "signatureAlgorithms",
          "supportsImport",
          "supportsExport",
          "supportsCrl",
          "supportsCsr",
          "supportsCustomExtensions"
        ],
        "properties": {
          "schemaVersion": {
            "const": "hovel.pki.backend/v1"
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "version": {
            "type": "string",
            "minLength": 1
          },
          "packageDigest": {
            "type": "string"
          },
          "capabilityHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "keyAlgorithms": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "ecdsa",
                "rsa",
                "ed25519",
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
              ]
            }
          },
          "signatureAlgorithms": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKIConcreteSignatureAlgorithm"
            }
          },
          "supportsImport": {
            "type": "boolean"
          },
          "supportsExport": {
            "type": "boolean"
          },
          "supportsCrl": {
            "type": "boolean"
          },
          "supportsCsr": {
            "type": "boolean"
          },
          "supportsCustomExtensions": {
            "type": "boolean"
          }
        }
      },
      "PKIBackendListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "backends"
        ],
        "properties": {
          "backends": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIBackendDescriptor"
            }
          }
        }
      },
      "PKIProfile": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "id",
          "name",
          "purpose",
          "key",
          "signatureAlgorithm",
          "validity",
          "backdate",
          "basicConstraints",
          "keyUsage",
          "exportPolicy",
          "backendId",
          "compatibilityTargetId",
          "keyEstablishmentPolicy"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "authorityRole": {
            "type": "string",
            "enum": [
              "root",
              "subordinate"
            ]
          },
          "key": {
            "$ref": "#/components/schemas/PKIKeySpec"
          },
          "signatureAlgorithm": {
            "$ref": "#/components/schemas/PKISignatureAlgorithm"
          },
          "validity": {
            "type": "integer",
            "description": "Go duration in nanoseconds."
          },
          "backdate": {
            "type": "integer",
            "description": "Go duration in nanoseconds."
          },
          "basicConstraints": {
            "$ref": "#/components/schemas/PKIBasicConstraints"
          },
          "keyUsage": {
            "type": "integer",
            "minimum": 0
          },
          "extendedKeyUsage": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIExtendedKeyUsage"
            }
          },
          "exportPolicy": {
            "$ref": "#/components/schemas/PKIExportPolicy"
          },
          "backendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "compatibilityTargetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "keyEstablishmentPolicy": {
            "$ref": "#/components/schemas/PKIKeyEstablishmentPolicy"
          }
        }
      },
      "PKIProfileListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "profiles"
        ],
        "properties": {
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIProfile"
            }
          }
        }
      },
      "PKIAuthority": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "role",
          "origin",
          "signerMode",
          "state",
          "profileId",
          "exportPolicy",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "role": {
            "type": "string",
            "enum": [
              "root",
              "subordinate"
            ]
          },
          "origin": {
            "type": "string",
            "enum": [
              "generated",
              "imported"
            ]
          },
          "signerMode": {
            "type": "string",
            "enum": [
              "local",
              "external",
              "none"
            ]
          },
          "parentAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "locked",
              "retiring",
              "retired",
              "compromised",
              "destroyed"
            ]
          },
          "activeGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "signerRef": {
            "type": "string"
          },
          "exportPolicy": {
            "$ref": "#/components/schemas/PKIExportPolicy"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "PKIOID": {
        "type": "string",
        "minLength": 3,
        "maxLength": 256,
        "pattern": "^[0-2](?:\\.(?:0|[1-9][0-9]*)){1,}$",
        "description": "Canonical dotted ASN.1 object identifier. Domain validation also enforces the first- and second-arc bounds."
      },
      "PKIKeySource": {
        "type": "string",
        "enum": [
          "generated",
          "imported",
          "existing",
          "csr",
          "external"
        ]
      },
      "PKIKeyAlgorithm": {
        "type": "string",
        "enum": [
          "ecdsa",
          "rsa",
          "ed25519",
          "ml-dsa-44",
          "ml-dsa-65",
          "ml-dsa-87"
        ]
      },
      "PKIEllipticCurve": {
        "type": "string",
        "enum": [
          "P-256",
          "P-384",
          "P-521"
        ]
      },
      "PKISignatureAlgorithm": {
        "type": "string",
        "enum": [
          "",
          "auto",
          "ecdsa-sha256",
          "ecdsa-sha384",
          "ecdsa-sha512",
          "sha256-rsa",
          "sha384-rsa",
          "sha512-rsa",
          "sha256-rsa-pss",
          "sha384-rsa-pss",
          "sha512-rsa-pss",
          "ed25519",
          "ml-dsa-44",
          "ml-dsa-65",
          "ml-dsa-87"
        ],
        "description": "Certificate signature algorithm. An empty value or auto delegates selection to the selected crypto backend."
      },
      "PKIConcreteSignatureAlgorithm": {
        "type": "string",
        "enum": [
          "ecdsa-sha256",
          "ecdsa-sha384",
          "ecdsa-sha512",
          "sha256-rsa",
          "sha384-rsa",
          "sha512-rsa",
          "sha256-rsa-pss",
          "sha384-rsa-pss",
          "sha512-rsa-pss",
          "ed25519",
          "ml-dsa-44",
          "ml-dsa-65",
          "ml-dsa-87"
        ],
        "description": "Concrete signature algorithm durably committed before CRL signing."
      },
      "PKIExtendedKeyUsage": {
        "type": "string",
        "enum": [
          "any",
          "server-auth",
          "client-auth",
          "code-signing",
          "email-protection",
          "time-stamping",
          "ocsp-signing"
        ]
      },
      "PKIIdentifierMode": {
        "type": "string",
        "enum": [
          "automatic",
          "explicit",
          "omitted"
        ]
      },
      "PKIKeyEstablishmentPolicy": {
        "type": "string",
        "enum": [
          "not-applicable",
          "classical-compatible",
          "hybrid-pq-preferred",
          "hybrid-pq-required"
        ]
      },
      "PKIExportPolicy": {
        "type": "string",
        "enum": [
          "public-only",
          "explicit-private-export",
          "never-private-export"
        ]
      },
      "PKITLSNamedGroup": {
        "type": "string",
        "enum": [
          "x25519-mlkem768",
          "secp256r1-mlkem768",
          "secp384r1-mlkem1024",
          "x25519",
          "secp256r1",
          "secp384r1",
          "secp521r1"
        ]
      },
      "PKIASN1StringType": {
        "type": "string",
        "enum": [
          "utf8",
          "printable",
          "ia5"
        ]
      },
      "PKIAttribute": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "oid",
          "value"
        ],
        "properties": {
          "oid": {
            "$ref": "#/components/schemas/PKIOID"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4096
          },
          "stringType": {
            "$ref": "#/components/schemas/PKIASN1StringType"
          }
        }
      },
      "PKIDistinguishedName": {
        "type": "object",
        "additionalProperties": false,
        "description": "Certificate subject. At least one name field or extraNames entry must be non-empty.",
        "properties": {
          "commonName": {
            "type": "string",
            "maxLength": 4096
          },
          "serialNumber": {
            "type": "string",
            "maxLength": 4096
          },
          "country": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "organization": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "organizationalUnit": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "locality": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "province": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "streetAddress": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "postalCode": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "extraNames": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "$ref": "#/components/schemas/PKIAttribute"
            }
          }
        }
      },
      "PKISubjectAlternativeNames": {
        "type": "object",
        "additionalProperties": false,
        "description": "Typed DNS, IP, email, and URI subject alternative names; the aggregate list is limited to 256 entries.",
        "properties": {
          "dnsNames": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "ipAddresses": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 4096,
              "oneOf": [
                {
                  "format": "ipv4"
                },
                {
                  "format": "ipv6"
                }
              ]
            }
          },
          "emailAddresses": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "format": "email",
              "minLength": 3,
              "maxLength": 4096
            }
          },
          "uris": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "format": "uri",
              "minLength": 3,
              "maxLength": 4096
            }
          }
        }
      },
      "PKINameConstraints": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "critical"
        ],
        "description": "Typed CA name constraints; all lists together are limited to 256 entries.",
        "properties": {
          "critical": {
            "type": "boolean"
          },
          "permittedDNSDomains": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "excludedDNSDomains": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "permittedIPRanges": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 4096,
              "description": "IPv4 or IPv6 CIDR range."
            }
          },
          "excludedIPRanges": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 4096,
              "description": "IPv4 or IPv6 CIDR range."
            }
          },
          "permittedEmailAddresses": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "excludedEmailAddresses": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "permittedURIDomains": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "excludedURIDomains": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          }
        }
      },
      "PKIKeySpec": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "source",
          "algorithm"
        ],
        "properties": {
          "source": {
            "$ref": "#/components/schemas/PKIKeySource"
          },
          "algorithm": {
            "$ref": "#/components/schemas/PKIKeyAlgorithm"
          },
          "curve": {
            "$ref": "#/components/schemas/PKIEllipticCurve"
          },
          "rsaBits": {
            "type": "integer",
            "minimum": 2048,
            "maximum": 16384,
            "multipleOf": 256
          },
          "existingKeyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Required only when source is existing; rejected for every other source."
          }
        },
        "allOf": [
          {
            "if": {
              "properties": {
                "source": {
                  "const": "existing"
                }
              },
              "required": [
                "source"
              ]
            },
            "then": {
              "required": [
                "existingKeyId"
              ]
            },
            "else": {
              "not": {
                "required": [
                  "existingKeyId"
                ]
              }
            }
          },
          {
            "if": {
              "properties": {
                "algorithm": {
                  "const": "ecdsa"
                }
              },
              "required": [
                "algorithm"
              ]
            },
            "then": {
              "required": [
                "curve"
              ],
              "not": {
                "required": [
                  "rsaBits"
                ]
              }
            }
          },
          {
            "if": {
              "properties": {
                "algorithm": {
                  "const": "rsa"
                }
              },
              "required": [
                "algorithm"
              ]
            },
            "then": {
              "required": [
                "rsaBits"
              ],
              "not": {
                "required": [
                  "curve"
                ]
              }
            },
            "else": {
              "not": {
                "required": [
                  "rsaBits"
                ]
              }
            }
          },
          {
            "if": {
              "properties": {
                "algorithm": {
                  "enum": [
                    "ed25519",
                    "ml-dsa-44",
                    "ml-dsa-65",
                    "ml-dsa-87"
                  ]
                }
              },
              "required": [
                "algorithm"
              ]
            },
            "then": {
              "not": {
                "anyOf": [
                  {
                    "required": [
                      "curve"
                    ]
                  },
                  {
                    "required": [
                      "rsaBits"
                    ]
                  }
                ]
              }
            }
          }
        ]
      },
      "PKIBasicConstraints": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "critical",
          "isCA"
        ],
        "properties": {
          "critical": {
            "type": "boolean"
          },
          "isCA": {
            "type": "boolean"
          },
          "maxPathLen": {
            "type": "integer",
            "minimum": 0
          },
          "maxPathLenZero": {
            "type": "boolean",
            "description": "Distinguishes an explicit zero path-length constraint from an omitted constraint."
          }
        }
      },
      "PKIKeyIdentifier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/PKIIdentifierMode"
          },
          "value": {
            "type": "string",
            "contentEncoding": "base64",
            "minLength": 4,
            "maxLength": 88,
            "description": "One to 64 decoded bytes when mode is explicit; rejected for automatic and omitted modes."
          }
        },
        "if": {
          "properties": {
            "mode": {
              "const": "explicit"
            }
          },
          "required": [
            "mode"
          ]
        },
        "then": {
          "required": [
            "value"
          ]
        },
        "else": {
          "not": {
            "required": [
              "value"
            ]
          }
        }
      },
      "PKICustomExtension": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "oid",
          "critical",
          "der"
        ],
        "properties": {
          "oid": {
            "$ref": "#/components/schemas/PKIOID"
          },
          "critical": {
            "type": "boolean"
          },
          "der": {
            "type": "string",
            "contentEncoding": "base64",
            "minLength": 4,
            "description": "Non-empty DER value. Typed certificate extension OIDs are rejected here."
          }
        }
      },
      "PKICertificateTemplate": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "serialNumber",
          "subject",
          "notBefore",
          "notAfter",
          "key",
          "signatureAlgorithm",
          "subjectAlternativeNames",
          "basicConstraints",
          "keyUsage",
          "subjectKeyIdentifier",
          "authorityKeyIdentifier",
          "nameConstraints"
        ],
        "properties": {
          "serialNumber": {
            "type": "string",
            "pattern": "^[0-9a-f]{2,40}$",
            "description": "Canonical positive hexadecimal X.509 serial number, limited to 20 DER content bytes."
          },
          "subject": {
            "$ref": "#/components/schemas/PKIDistinguishedName"
          },
          "notBefore": {
            "type": "string",
            "format": "date-time",
            "description": "UTC certificate validity start with whole-second precision."
          },
          "notAfter": {
            "type": "string",
            "format": "date-time",
            "description": "UTC certificate validity end with whole-second precision and later than notBefore."
          },
          "key": {
            "$ref": "#/components/schemas/PKIKeySpec"
          },
          "signatureAlgorithm": {
            "$ref": "#/components/schemas/PKISignatureAlgorithm"
          },
          "subjectAlternativeNames": {
            "$ref": "#/components/schemas/PKISubjectAlternativeNames"
          },
          "basicConstraints": {
            "$ref": "#/components/schemas/PKIBasicConstraints"
          },
          "keyUsage": {
            "type": "integer",
            "minimum": 0,
            "maximum": 511,
            "description": "X.509 key-usage bit mask: digital-signature=1, content-commitment=2, key-encipherment=4, data-encipherment=8, key-agreement=16, certificate-sign=32, crl-sign=64, encipher-only=128, decipher-only=256."
          },
          "extendedKeyUsages": {
            "type": "array",
            "maxItems": 256,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKIExtendedKeyUsage"
            }
          },
          "unknownExtendedKeyUsages": {
            "type": "array",
            "maxItems": 256,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKIOID"
            }
          },
          "subjectKeyIdentifier": {
            "$ref": "#/components/schemas/PKIKeyIdentifier"
          },
          "authorityKeyIdentifier": {
            "$ref": "#/components/schemas/PKIKeyIdentifier"
          },
          "nameConstraints": {
            "$ref": "#/components/schemas/PKINameConstraints"
          },
          "policyOids": {
            "type": "array",
            "maxItems": 256,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKIOID"
            }
          },
          "ocspServers": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "format": "uri",
              "minLength": 3,
              "maxLength": 4096
            }
          },
          "issuingCertificateUrls": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "format": "uri",
              "minLength": 3,
              "maxLength": 4096
            }
          },
          "crlDistributionPoints": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "format": "uri",
              "minLength": 3,
              "maxLength": 4096
            }
          },
          "customExtensions": {
            "type": "array",
            "maxItems": 64,
            "items": {
              "$ref": "#/components/schemas/PKICustomExtension"
            }
          }
        }
      },
      "PKICertificateGeneration": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "certificateId",
          "id",
          "generation",
          "profileId",
          "template",
          "backendId",
          "backendVersion",
          "backendCapabilityHash",
          "signingBackendId",
          "signingBackendVersion",
          "signingBackendCapabilityHash",
          "compatibilityTargetId",
          "compatibilityVersion",
          "purpose",
          "exportPolicy",
          "keyEstablishmentPolicy",
          "fingerprintSha256",
          "state",
          "keyId",
          "certificateDer",
          "publicKeySpki",
          "createdAt"
        ],
        "properties": {
          "certificateId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generation": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "owningAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "template": {
            "$ref": "#/components/schemas/PKICertificateTemplate"
          },
          "backendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "backendVersion": {
            "type": "string"
          },
          "backendPackageDigest": {
            "type": "string"
          },
          "backendCapabilityHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "signingBackendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "signingBackendVersion": {
            "type": "string"
          },
          "signingBackendPackageDigest": {
            "type": "string"
          },
          "signingBackendCapabilityHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "compatibilityTargetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "compatibilityVersion": {
            "type": "string"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "exportPolicy": {
            "$ref": "#/components/schemas/PKIExportPolicy"
          },
          "keyEstablishmentPolicy": {
            "$ref": "#/components/schemas/PKIKeyEstablishmentPolicy"
          },
          "tlsNamedGroups": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKITLSNamedGroup"
            }
          },
          "fingerprintSha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "subjectKeyId": {
            "type": "string",
            "contentEncoding": "base64"
          },
          "authorityKeyId": {
            "type": "string",
            "contentEncoding": "base64"
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "superseded",
              "expired",
              "revoked",
              "invalid"
            ]
          },
          "keyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "certificateDer": {
            "type": "string",
            "contentEncoding": "base64"
          },
          "publicKeySpki": {
            "type": "string",
            "contentEncoding": "base64"
          },
          "chainGenerationIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKIAuthorityListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "authorities"
        ],
        "properties": {
          "authorities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIAuthority"
            }
          }
        }
      },
      "PKIAuthorityRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIAuthorityInspectResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "authority",
          "activeGeneration"
        ],
        "properties": {
          "authority": {
            "$ref": "#/components/schemas/PKIAuthority"
          },
          "activeGeneration": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          }
        }
      },
      "PKICreateAuthorityInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "role"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "certificateId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "keyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "role": {
            "type": "string",
            "enum": [
              "root",
              "subordinate"
            ]
          },
          "parentAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "backendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "template": {
            "$ref": "#/components/schemas/PKICertificateTemplate"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "exportPolicy": {
            "$ref": "#/components/schemas/PKIExportPolicy"
          }
        }
      },
      "PKIAuthorityCreateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKICreateAuthorityInnerRequest"
          }
        }
      },
      "PKIAuthorityCreateResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "authority",
          "generation"
        ],
        "properties": {
          "authority": {
            "$ref": "#/components/schemas/PKIAuthority"
          },
          "generation": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          }
        }
      },
      "PKIAuthorityLeaseRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "id"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "duration": {
            "type": "string",
            "pattern": "^[0-9]+(ns|us|\u00b5s|ms|s|m|h)$"
          }
        }
      },
      "PKIAuthorityLockRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "id"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKISigningLease": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "authorityId",
          "grantedAt",
          "expiresAt",
          "actorId",
          "operationId"
        ],
        "properties": {
          "authorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "grantedAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "actorId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKICertificateListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "certificates"
        ],
        "properties": {
          "certificates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKICertificateGeneration"
            }
          }
        }
      },
      "PKICertificateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIIssueCertificateInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "issuerAuthorityId",
          "name"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "certificateId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "keyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "backendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "template": {
            "$ref": "#/components/schemas/PKICertificateTemplate"
          }
        }
      },
      "PKICertificateIssueRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIIssueCertificateInnerRequest"
          }
        }
      },
      "PKIRenewCertificateInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sourceGenerationId"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "sourceGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "template": {
            "$ref": "#/components/schemas/PKICertificateTemplate",
            "description": "Optional complete typed certificate template. When omitted, Hovel preserves names and usages, allocates a fresh serial and validity window, and binds the existing key."
          }
        }
      },
      "PKIRotateCertificateInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "sourceGenerationId"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "sourceGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "keyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "backendId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "template": {
            "$ref": "#/components/schemas/PKICertificateTemplate",
            "description": "Optional complete typed certificate template. When omitted, Hovel preserves names and usages, allocates a fresh serial and validity window, and requests a new key."
          }
        }
      },
      "PKICertificateRenewRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIRenewCertificateInnerRequest"
          }
        }
      },
      "PKICertificateRotateRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIRotateCertificateInnerRequest"
          }
        }
      },
      "PKICertificateLifecycleResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kind",
          "sourceGenerationId",
          "generation",
          "keyReused"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "certificate-renewal",
              "certificate-rotation"
            ]
          },
          "sourceGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generation": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          },
          "keyReused": {
            "type": "boolean",
            "description": "True only for renewal, which reuses the source key."
          }
        }
      },
      "PKIRevocationReason": {
        "type": "string",
        "enum": [
          "unspecified",
          "key-compromise",
          "ca-compromise",
          "affiliation-changed",
          "superseded",
          "cessation-of-operation",
          "certificate-hold",
          "privilege-withdrawn",
          "aa-compromise"
        ]
      },
      "PKIRevokeCertificateInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "generationId",
          "reason"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "reason": {
            "$ref": "#/components/schemas/PKIRevocationReason"
          },
          "effectiveAt": {
            "type": "string",
            "format": "date-time",
            "description": "Optional effective time. When omitted, the daemon records its current time. Future times are rejected."
          }
        }
      },
      "PKICertificateRevokeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIRevokeCertificateInnerRequest"
          }
        }
      },
      "PKIRevocationRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIRevocationListRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "authorityId"
        ],
        "properties": {
          "authorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIRevocation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "certificateId",
          "generationId",
          "issuerAuthorityId",
          "issuerGenerationId",
          "serialNumber",
          "reason",
          "previousState",
          "effectiveAt",
          "recordedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "certificateId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "serialNumber": {
            "type": "string",
            "pattern": "^[0-9a-f]{2,40}$"
          },
          "reason": {
            "$ref": "#/components/schemas/PKIRevocationReason"
          },
          "previousState": {
            "type": "string",
            "enum": [
              "active",
              "superseded",
              "expired"
            ]
          },
          "effectiveAt": {
            "type": "string",
            "format": "date-time"
          },
          "recordedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKICertificateRevocationResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "revocation",
          "generation",
          "affectedAssignments"
        ],
        "properties": {
          "revocation": {
            "$ref": "#/components/schemas/PKIRevocation"
          },
          "generation": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          },
          "affectedAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIAssignment"
            },
            "description": "Complete sorted assignment updates committed atomically with the revocation."
          }
        }
      },
      "PKIRevocationListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "revocations"
        ],
        "properties": {
          "revocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIRevocation"
            }
          }
        }
      },
      "PKICRLPublicationStatus": {
        "type": "string",
        "enum": ["pending", "completed", "failed"]
      },
      "PKICRLPublicationPhase": {
        "type": "string",
        "enum": ["planned", "signing", "signed"]
      },
      "PKICRLSignedCheckpoint": {
        "type": "object",
        "additionalProperties": false,
        "required": ["fingerprintSha256", "signatureAlgorithm", "crlDer", "recordedAt"],
        "properties": {
          "fingerprintSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
          "signatureAlgorithm": {"$ref": "#/components/schemas/PKIConcreteSignatureAlgorithm"},
          "crlDer": {"type": "string", "contentEncoding": "base64"},
          "providerOperationRef": {"type": "string", "minLength": 1, "maxLength": 1024},
          "recordedAt": {"type": "string", "format": "date-time"}
        }
      },
      "PKIPublishCRLInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["authorityId"],
        "properties": {
          "idempotencyKey": {"type": "string", "maxLength": 256},
          "authorityId": {"type": "string", "minLength": 1, "maxLength": 256},
          "issuerGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "validitySeconds": {
            "oneOf": [
              {"type": "integer", "const": 0},
              {"type": "integer", "minimum": 300, "maximum": 604800}
            ],
            "description": "Zero or omission selects the 24-hour default; non-zero values are bounded to 5 minutes through 7 days."
          },
          "signatureAlgorithm": {
            "$ref": "#/components/schemas/PKISignatureAlgorithm",
            "description": "Omission or auto resolves deterministically from the issuer key before the plan is persisted."
          }
        }
      },
      "PKICRLPublishRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIPublishCRLInnerRequest"}
        }
      },
      "PKICRLRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKICRLPublicationRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["id"],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKICRLListRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["authorityId"],
        "properties": {
          "authorityId": {"type": "string", "minLength": 1, "maxLength": 256}
        }
      },
      "PKIReconcileCRLInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["publicationId", "staleAfterSeconds"],
        "properties": {
          "publicationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "staleAfterSeconds": {"type": "integer", "minimum": 60, "maximum": 86400}
        }
      },
      "PKIReconcileCRLsInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["staleAfterSeconds", "limit"],
        "properties": {
          "staleAfterSeconds": {"type": "integer", "minimum": 60, "maximum": 86400},
          "limit": {"type": "integer", "minimum": 1, "maximum": 100}
        }
      },
      "PKICRLReconcileRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIReconcileCRLInnerRequest"}
        }
      },
      "PKICRLsReconcileRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIReconcileCRLsInnerRequest"}
        }
      },
      "PKICRLPublicationIntent": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id", "idempotencyKey", "requestSha256", "crlGenerationId", "authorityId",
          "issuerGenerationId", "number", "thisUpdate", "nextUpdate", "revocationIds",
          "signingBackendId", "signingBackendVersion", "signingBackendCapabilityHash",
          "signatureAlgorithm", "status", "phase", "ownerToken", "revision", "leaseExpiresAt",
          "createdAt", "updatedAt"
        ],
        "oneOf": [
          {
            "properties": {"status": {"enum": ["pending"]}},
            "not": {
              "anyOf": [
                {"required": ["resultCrlGenerationId"]},
                {"required": ["failure"]}
              ]
            }
          },
          {
            "required": ["resultCrlGenerationId"],
            "properties": {
              "status": {"enum": ["completed"]},
              "phase": {"enum": ["signed"]}
            },
            "not": {"required": ["failure"]}
          },
          {
            "required": ["failure"],
            "properties": {"status": {"enum": ["failed"]}},
            "not": {"required": ["resultCrlGenerationId"]}
          }
        ],
        "allOf": [
          {
            "oneOf": [
              {
                "properties": {"phase": {"enum": ["planned"]}},
                "not": {"required": ["signedCheckpoint"]}
              },
              {
                "properties": {"phase": {"enum": ["signing"]}},
                "not": {"required": ["signedCheckpoint"]}
              },
              {
                "required": ["signedCheckpoint"],
                "properties": {"phase": {"enum": ["signed"]}}
              }
            ]
          }
        ],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256},
          "idempotencyKey": {"type": "string", "minLength": 1, "maxLength": 256},
          "requestSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
          "crlGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "authorityId": {"type": "string", "minLength": 1, "maxLength": 256},
          "issuerGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "number": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 9223372036854775807},
          "thisUpdate": {"type": "string", "format": "date-time"},
          "nextUpdate": {"type": "string", "format": "date-time"},
          "revocationIds": {
            "type": "array", "maxItems": 100000, "uniqueItems": true,
            "items": {"type": "string", "minLength": 1, "maxLength": 256}
          },
          "signingBackendId": {"type": "string", "minLength": 1, "maxLength": 256},
          "signingBackendVersion": {"type": "string", "minLength": 1},
          "signingBackendPackageDigest": {"type": "string"},
          "signingBackendCapabilityHash": {"type": "string", "minLength": 1},
          "signatureAlgorithm": {"$ref": "#/components/schemas/PKIConcreteSignatureAlgorithm"},
          "status": {"$ref": "#/components/schemas/PKICRLPublicationStatus"},
          "phase": {"$ref": "#/components/schemas/PKICRLPublicationPhase"},
          "ownerToken": {"type": "string", "minLength": 1, "maxLength": 256},
          "revision": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 9223372036854775807},
          "leaseExpiresAt": {"type": "string", "format": "date-time"},
          "resultCrlGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "signedCheckpoint": {"$ref": "#/components/schemas/PKICRLSignedCheckpoint"},
          "failure": {"type": "string", "minLength": 1, "maxLength": 1024},
          "createdAt": {"type": "string", "format": "date-time"},
          "updatedAt": {"type": "string", "format": "date-time"}
        }
      },
      "PKICRLGeneration": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id", "authorityId", "issuerGenerationId", "number", "thisUpdate", "nextUpdate",
          "revocationIds", "signingBackendId", "signingBackendVersion",
          "signingBackendCapabilityHash", "signatureAlgorithm", "fingerprintSha256", "crlDer", "createdAt"
        ],
        "properties": {
          "id": {"type": "string", "minLength": 1, "maxLength": 256},
          "authorityId": {"type": "string", "minLength": 1, "maxLength": 256},
          "issuerGenerationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "number": {"type": "integer", "format": "int64", "minimum": 1, "maximum": 9223372036854775807},
          "thisUpdate": {"type": "string", "format": "date-time"},
          "nextUpdate": {"type": "string", "format": "date-time"},
          "revocationIds": {
            "type": "array", "maxItems": 100000, "uniqueItems": true,
            "items": {"type": "string", "minLength": 1, "maxLength": 256}
          },
          "signingBackendId": {"type": "string", "minLength": 1, "maxLength": 256},
          "signingBackendVersion": {"type": "string", "minLength": 1},
          "signingBackendPackageDigest": {"type": "string"},
          "signingBackendCapabilityHash": {"type": "string", "minLength": 1},
          "signatureAlgorithm": {"$ref": "#/components/schemas/PKIConcreteSignatureAlgorithm"},
          "fingerprintSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
          "crlDer": {"type": "string", "contentEncoding": "base64"},
          "createdAt": {"type": "string", "format": "date-time"}
        }
      },
      "PKICRLPublicationResult": {
        "type": "object",
        "additionalProperties": false,
        "required": ["publication", "generation"],
        "properties": {
          "publication": {"$ref": "#/components/schemas/PKICRLPublicationIntent"},
          "generation": {"$ref": "#/components/schemas/PKICRLGeneration"}
        }
      },
      "PKICRLListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["crls"],
        "properties": {
          "crls": {"type": "array", "items": {"$ref": "#/components/schemas/PKICRLGeneration"}}
        }
      },
      "PKICRLPublicationListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": ["publications"],
        "properties": {
          "publications": {"type": "array", "items": {"$ref": "#/components/schemas/PKICRLPublicationIntent"}}
        }
      },
      "PKIBundleExportRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "generationId",
          "purpose"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "includePrivate": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "PKIBinary": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mediaType",
          "encoding",
          "data"
        ],
        "properties": {
          "mediaType": {
            "type": "string",
            "enum": [
              "application/pkix-cert",
              "application/pkix-keyinfo",
              "application/pkcs8",
              "application/pkix-crl"
            ]
          },
          "encoding": {
            "const": "base64-der"
          },
          "data": {
            "type": "string",
            "contentEncoding": "base64"
          }
        }
      },
      "PKICertificateBinary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PKIBinary"
          },
          {
            "properties": {
              "mediaType": {
                "const": "application/pkix-cert"
              }
            }
          }
        ]
      },
      "PKIPublicKeyBinary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PKIBinary"
          },
          {
            "properties": {
              "mediaType": {
                "const": "application/pkix-keyinfo"
              }
            }
          }
        ]
      },
      "PKIPrivateKeyBinary": {
        "x-sensitive": true,
        "allOf": [
          {
            "$ref": "#/components/schemas/PKIBinary"
          },
          {
            "properties": {
              "mediaType": {
                "const": "application/pkcs8"
              }
            }
          }
        ]
      },
      "PKIKeyReference": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "keyId",
          "providerId",
          "capabilities"
        ],
        "properties": {
          "keyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "providerId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "capabilities": {
            "type": "array",
            "maxItems": 64,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKICertificateMember": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "certificateGenerationId",
          "mediaType",
          "encoding",
          "data"
        ],
        "properties": {
          "certificateGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "mediaType": {
            "const": "application/pkix-cert"
          },
          "encoding": {
            "const": "base64-der"
          },
          "data": {
            "type": "string",
            "contentEncoding": "base64"
          }
        }
      },
      "PKICRLMember": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "crlGenerationId",
          "issuerCertificateGenerationId",
          "mediaType",
          "encoding",
          "data"
        ],
        "properties": {
          "crlGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "issuerCertificateGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "mediaType": {
            "const": "application/pkix-crl"
          },
          "encoding": {
            "const": "base64-der"
          },
          "data": {
            "type": "string",
            "contentEncoding": "base64"
          }
        }
      },
      "PKIFingerprints": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "certificateSha256",
          "publicKeySha256"
        ],
        "properties": {
          "certificateSha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "publicKeySha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          }
        }
      },
      "PKIBundle": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "bundleId",
          "certificateId",
          "certificateGenerationId",
          "generation",
          "purpose",
          "compatibilityTargetId",
          "compatibilityVersion",
          "keyEstablishmentPolicy",
          "certificate",
          "publicKey",
          "fingerprints",
          "notBefore",
          "notAfter"
        ],
        "properties": {
          "schemaVersion": {
            "const": "hovel.pki.bundle/v1"
          },
          "bundleId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "certificateId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "certificateGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generation": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "compatibilityTargetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "compatibilityVersion": {
            "type": "string"
          },
          "keyEstablishmentPolicy": {
            "$ref": "#/components/schemas/PKIKeyEstablishmentPolicy"
          },
          "tlsNamedGroups": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/PKITLSNamedGroup"
            }
          },
          "certificate": {
            "$ref": "#/components/schemas/PKICertificateBinary"
          },
          "publicKey": {
            "$ref": "#/components/schemas/PKIPublicKeyBinary"
          },
          "privateKey": {
            "$ref": "#/components/schemas/PKIPrivateKeyBinary"
          },
          "privateKeyRef": {
            "$ref": "#/components/schemas/PKIKeyReference"
          },
          "chain": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKICertificateMember"
            }
          },
          "trustAnchors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKICertificateMember"
            }
          },
          "certificateRevocationLists": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKICRLMember"
            }
          },
          "fingerprints": {
            "$ref": "#/components/schemas/PKIFingerprints"
          },
          "notBefore": {
            "type": "string",
            "format": "date-time"
          },
          "notAfter": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKITrustSetGeneration": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "trustSetId",
          "generation",
          "anchorGenerationIds",
          "createdAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generation": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "anchorGenerationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "intermediateGenerationIds": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "crlGenerationIds": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKITrustSet": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "state",
          "revision",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "activeGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "stagedGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "degraded",
              "retired"
            ]
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKIAssignment": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "purpose",
          "consumerType",
          "consumerId",
          "profileId",
          "state",
          "revision",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "consumerType": {
            "type": "string",
            "enum": [
              "mesh-provider",
              "mesh-listener",
              "listening-post",
              "mesh-node",
              "implant",
              "stager",
              "payload",
              "c2-service",
              "service",
              "external"
            ]
          },
          "consumerId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "activeGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "stagedGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "activeTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Immutable trust generation pinned to the active certificate generation."
          },
          "stagedTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Immutable trust generation pinned to the staged certificate generation."
          },
          "rotationPolicyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "active",
              "degraded",
              "disabled",
              "retired"
            ]
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKITrustSetInspection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "trustSet"
        ],
        "properties": {
          "trustSet": {
            "$ref": "#/components/schemas/PKITrustSet"
          },
          "activeGeneration": {
            "$ref": "#/components/schemas/PKITrustSetGeneration"
          },
          "stagedGeneration": {
            "$ref": "#/components/schemas/PKITrustSetGeneration"
          }
        }
      },
      "PKIAssignmentInspection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "assignment"
        ],
        "properties": {
          "assignment": {
            "$ref": "#/components/schemas/PKIAssignment"
          },
          "activeGeneration": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          },
          "stagedGeneration": {
            "$ref": "#/components/schemas/PKICertificateGeneration"
          },
          "trustSet": {
            "$ref": "#/components/schemas/PKITrustSet"
          },
          "activeTrustGeneration": {
            "$ref": "#/components/schemas/PKITrustSetGeneration"
          },
          "stagedTrustGeneration": {
            "$ref": "#/components/schemas/PKITrustSetGeneration"
          }
        }
      },
      "PKIAssignmentListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "assignments"
        ],
        "properties": {
          "assignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIAssignment"
            }
          }
        }
      },
      "PKITrustSetListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "trustSets"
        ],
        "properties": {
          "trustSets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKITrustSet"
            }
          }
        }
      },
      "PKIAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKITrustSetRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIBindAssignmentInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "purpose",
          "consumerType",
          "consumerId",
          "profileId"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "purpose": {
            "type": "string",
            "enum": [
              "tls-server",
              "tls-client",
              "mtls-server",
              "mtls-client",
              "dual-role-mtls",
              "code-signing",
              "custom"
            ]
          },
          "consumerType": {
            "type": "string",
            "enum": [
              "mesh-provider",
              "mesh-listener",
              "listening-post",
              "mesh-node",
              "implant",
              "stager",
              "payload",
              "c2-service",
              "service",
              "external"
            ]
          },
          "consumerId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "profileId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "rotationPolicyId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Reserved for lifecycle policies; non-empty values are rejected until policy inventory is implemented."
          }
        }
      },
      "PKIStageAssignmentInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "assignmentId",
          "generationId",
          "expectedRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKIActivateAssignmentInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "assignmentId",
          "expectedRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKIUnbindAssignmentInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "assignmentId",
          "expectedRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKICreateTrustSetInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          }
        }
      },
      "PKIStageTrustSetInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "trustSetId",
          "expectedRevision",
          "anchorGenerationIds"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "generationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "anchorGenerationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "intermediateGenerationIds": {
            "type": "array",
            "maxItems": 256,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "crlGenerationIds": {
            "type": "array",
            "maxItems": 256,
            "description": "Immutable CRL generations. Every CRL must be fresh and its issuer must be present in this trust generation.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          }
        }
      },
      "PKIActivateTrustSetInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "trustSetId",
          "expectedRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKIOperationRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKIOperationListResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operations"
        ],
        "properties": {
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PKIOperation"
            }
          }
        }
      },
      "PKIOperationInspection": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operation",
          "acknowledgements",
          "missingAssignmentIds"
        ],
        "properties": {
          "operation": {
            "$ref": "#/components/schemas/PKIOperation"
          },
          "acknowledgements": {
            "type": "array",
            "maxItems": 8192,
            "items": {
              "$ref": "#/components/schemas/PKIConsumerAcknowledgement"
            }
          },
          "missingAssignmentIds": {
            "type": "array",
            "maxItems": 4096,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          }
        }
      },
      "PKIOperation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "kind",
          "status",
          "revision",
          "authorityRollover",
          "createdAt",
          "updatedAt"
        ],
        "oneOf": [
          {
            "properties": {
              "status": {
                "const": "waiting"
              },
              "authorityRollover": {
                "allOf": [
                  {"$ref": "#/components/schemas/PKIAuthorityRollover"},
                  {
                    "properties": {
                      "phase": {
                        "enum": [
                          "awaiting-overlap-acknowledgements",
                          "awaiting-leaf-rotation",
                          "awaiting-final-acknowledgements"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "not": {
              "anyOf": [
                {"required": ["completedAt"]},
                {"required": ["failure"]}
              ]
            }
          },
          {
            "required": [
              "completedAt"
            ],
            "properties": {
              "status": {
                "const": "completed"
              },
              "authorityRollover": {
                "allOf": [
                  {"$ref": "#/components/schemas/PKIAuthorityRollover"},
                  {"properties": {"phase": {"const": "completed"}}}
                ]
              }
            },
            "not": {
              "required": ["failure"]
            }
          },
          {
            "required": [
              "completedAt",
              "failure"
            ],
            "properties": {
              "status": {
                "const": "failed"
              },
              "authorityRollover": {
                "allOf": [
                  {"$ref": "#/components/schemas/PKIAuthorityRollover"},
                  {
                    "properties": {
                      "phase": {
                        "enum": [
                          "awaiting-overlap-acknowledgements",
                          "awaiting-leaf-rotation",
                          "awaiting-final-acknowledgements"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "required": [
              "completedAt"
            ],
            "properties": {
              "status": {
                "const": "canceled"
              },
              "authorityRollover": {
                "allOf": [
                  {"$ref": "#/components/schemas/PKIAuthorityRollover"},
                  {
                    "properties": {
                      "phase": {
                        "const": "awaiting-overlap-acknowledgements"
                      }
                    }
                  }
                ]
              }
            },
            "not": {
              "required": ["failure"]
            }
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "kind": {
            "const": "authority-rollover"
          },
          "status": {
            "enum": [
              "waiting",
              "completed",
              "failed",
              "canceled"
            ]
          },
          "revision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "authorityRollover": {
            "$ref": "#/components/schemas/PKIAuthorityRollover"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "failure": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          }
        }
      },
      "PKIAuthorityRollover": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "previousAuthorityId",
          "previousAuthorityGenerationId",
          "replacementAuthorityId",
          "replacementAuthorityGenerationId",
          "trustSetId",
          "overlapTrustGenerationId",
          "consumerTracking",
          "requiredAssignmentIds",
          "phase"
        ],
        "oneOf": [
          {
            "properties": {
              "phase": {
                "enum": [
                  "awaiting-overlap-acknowledgements",
                  "awaiting-leaf-rotation"
                ]
              }
            },
            "not": {
              "required": ["finalTrustGenerationId"]
            }
          },
          {
            "required": [
              "finalTrustGenerationId"
            ],
            "properties": {
              "phase": {
                "enum": [
                  "awaiting-final-acknowledgements",
                  "completed"
                ]
              }
            }
          }
        ],
        "properties": {
          "previousAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "previousAuthorityGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "replacementAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "replacementAuthorityGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "overlapTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "finalTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "consumerTracking": {
            "enum": [
              "all-tracked",
              "explicit",
              "none"
            ]
          },
          "requiredAssignmentIds": {
            "type": "array",
            "maxItems": 4096,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "phase": {
            "enum": [
              "awaiting-overlap-acknowledgements",
              "awaiting-leaf-rotation",
              "awaiting-final-acknowledgements",
              "completed"
            ]
          }
        }
      },
      "PKIConsumerAcknowledgement": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "operationId",
          "assignmentId",
          "consumerType",
          "consumerId",
          "kind",
          "trustSetGenerationId",
          "acknowledgedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "consumerType": {
            "enum": [
              "mesh-provider",
              "mesh-listener",
              "listening-post",
              "mesh-node",
              "implant",
              "stager",
              "payload",
              "c2-service",
              "service",
              "external"
            ]
          },
          "consumerId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "kind": {
            "const": "trust-set-generation"
          },
          "trustSetGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "evidenceRef": {
            "type": "string",
            "maxLength": 1024
          },
          "acknowledgedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PKIStartAuthorityRolloverInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "previousAuthorityId",
          "replacementAuthorityId",
          "trustSetId",
          "overlapTrustGenerationId",
          "consumerTracking"
        ],
        "oneOf": [
          {
            "properties": {
              "consumerTracking": {
                "enum": ["all-tracked", "none"]
              }
            },
            "not": {
              "required": ["requiredAssignmentIds"]
            }
          },
          {
            "required": [
              "requiredAssignmentIds"
            ],
            "properties": {
              "consumerTracking": {
                "const": "explicit"
              },
              "requiredAssignmentIds": {
                "minItems": 1
              }
            }
          }
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "previousAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "replacementAuthorityId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "trustSetId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "overlapTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "consumerTracking": {
            "enum": [
              "all-tracked",
              "explicit",
              "none"
            ]
          },
          "requiredAssignmentIds": {
            "type": "array",
            "maxItems": 4096,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          }
        }
      },
      "PKIAcknowledgeAuthorityRolloverInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "assignmentId"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "acknowledgementId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "assignmentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "evidenceRef": {
            "type": "string",
            "maxLength": 1024
          }
        }
      },
      "PKIActivateAuthorityRolloverInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "expectedRevision",
          "expectedTrustSetRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "expectedTrustSetRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKIBeginAuthorityRolloverFinalTrustInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "expectedRevision",
          "expectedTrustSetRevision",
          "finalTrustGenerationId"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "expectedTrustSetRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "finalTrustGenerationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "PKICompleteAuthorityRolloverInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "operationId",
          "expectedRevision",
          "expectedTrustSetRevision"
        ],
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "maxLength": 256
          },
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          },
          "expectedTrustSetRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKICancelAuthorityRolloverInnerRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["operationId", "expectedRevision"],
        "properties": {
          "idempotencyKey": {"type": "string", "maxLength": 256},
          "operationId": {"type": "string", "minLength": 1, "maxLength": 256},
          "expectedRevision": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 9223372036854775807
          }
        }
      },
      "PKIStartAuthorityRolloverRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIStartAuthorityRolloverInnerRequest"}
        }
      },
      "PKIAcknowledgeAuthorityRolloverRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIAcknowledgeAuthorityRolloverInnerRequest"}
        }
      },
      "PKIActivateAuthorityRolloverRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIActivateAuthorityRolloverInnerRequest"}
        }
      },
      "PKIBeginAuthorityRolloverFinalTrustRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKIBeginAuthorityRolloverFinalTrustInnerRequest"}
        }
      },
      "PKICompleteAuthorityRolloverRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKICompleteAuthorityRolloverInnerRequest"}
        }
      },
      "PKICancelAuthorityRolloverRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": ["context", "request"],
        "properties": {
          "context": {"$ref": "#/components/schemas/PKIRequestContext"},
          "request": {"$ref": "#/components/schemas/PKICancelAuthorityRolloverInnerRequest"}
        }
      },
      "PKIBindAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIBindAssignmentInnerRequest"
          }
        }
      },
      "PKIStageAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIStageAssignmentInnerRequest"
          }
        }
      },
      "PKIActivateAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIActivateAssignmentInnerRequest"
          }
        }
      },
      "PKIUnbindAssignmentRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIUnbindAssignmentInnerRequest"
          }
        }
      },
      "PKICreateTrustSetRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKICreateTrustSetInnerRequest"
          }
        }
      },
      "PKIStageTrustSetRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIStageTrustSetInnerRequest"
          }
        }
      },
      "PKIActivateTrustSetRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "context",
          "request"
        ],
        "properties": {
          "context": {
            "$ref": "#/components/schemas/PKIRequestContext"
          },
          "request": {
            "$ref": "#/components/schemas/PKIActivateTrustSetInnerRequest"
          }
        }
      }
    }
  }
}
