{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Coral Server API",
    "version" : "1.5.0"
  },
  "externalDocs" : {
    "url" : "/"
  },
  "servers" : [ ],
  "tags" : [ ],
  "paths" : {
    "/api/v1/local/session" : {
      "post" : {
        "tags" : [ "local" ],
        "summary" : "Create session",
        "description" : "Creates a new session in a given namespace",
        "operationId" : "createSession",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The session request body, containing the agents to use in the session and other settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SessionRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionIdentifier"
                }
              }
            }
          },
          "403" : {
            "description" : "Invalid application ID or privacy key",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "The agent graph is invalid and could not be processed",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/namespace" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "List base namespace states",
        "description" : "Returns a list of namespace states",
        "operationId" : "getNamespaceStates",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SessionNamespaceStateBase"
                  },
                  "title" : "ArrayList<SessionNamespaceStateBase>"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "local" ],
        "summary" : "Create namespace",
        "description" : "Creates a new empty namespace",
        "operationId" : "createNamespace",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Namespace settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SessionNamespaceRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "403" : {
            "description" : "Invalid application ID or privacy key",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid namespace settings providewd",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/session/{namespace}/{sessionId}" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "Get base session state",
        "description" : "Returns a session's state",
        "operationId" : "getSessionState",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The sessionId of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionStateBase"
                }
              }
            }
          },
          "404" : {
            "description" : "Either namespace or session ID is invalid",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "local" ],
        "summary" : "Executes a session",
        "description" : "Executes a session was created with deferred execution",
        "operationId" : "executeDeferredSession",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The sessionId of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Settings for the execution of the session",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SessionRuntimeSettings"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "Either namespace or session ID is invalid",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "The session exists but is not pending execution",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "local" ],
        "summary" : "Close an active session",
        "description" : "Closes an active session, cancelling all running agents",
        "operationId" : "closeSession",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace of the session to close",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The sessionId of the session to close",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "If either namespace or session ID is invalid",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/namespace/{namespace}" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "List base session states",
        "description" : "List base session states for a given namespace",
        "operationId" : "getSessionStates",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SessionStateBase"
                  },
                  "title" : "ArrayList<SessionStateBase>"
                }
              }
            }
          },
          "404" : {
            "description" : "Invalid namespace provided",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "local" ],
        "summary" : "Delete a namespace",
        "description" : "Deletes a given namespace, closing any session that it may contain",
        "operationId" : "deleteNamespace",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace to delete",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Invalid namespace provided",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/namespace/{namespace}/extended" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "List extended session states",
        "description" : "List extended session states for a given namespace",
        "operationId" : "getSessionStatesExtended",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SessionStateExtended"
                  },
                  "title" : "ArrayList<SessionStateExtended>"
                }
              }
            }
          },
          "404" : {
            "description" : "Invalid namespace provided",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/namespace/extended" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "List extended namespace states",
        "description" : "Returns a list of extended namespace states",
        "operationId" : "getNamespaceStatesExtended",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SessionNamespaceStateExtended"
                  },
                  "title" : "ArrayList<SessionNamespaceStateExtended>"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/local/session/{namespace}/{sessionId}/extended" : {
      "get" : {
        "tags" : [ "local" ],
        "summary" : "Get extended session state",
        "description" : "Returns a session's extended state",
        "operationId" : "getSessionStateExtended",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The namespace of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The sessionId of the session",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionStateExtended"
                }
              }
            }
          },
          "404" : {
            "description" : "Either namespace or session ID is invalid",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/registry" : {
      "get" : {
        "tags" : [ "registry" ],
        "summary" : "Get registry agents",
        "description" : "Returns a list of all agents available in this servers registry",
        "operationId" : "getRegistryAgents",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AgentRegistrySource"
                  },
                  "title" : "ArrayList<AgentRegistrySource>"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/registry/local/{agentName}/{agentVersion}" : {
      "get" : {
        "tags" : [ "registry" ],
        "summary" : "Inspect local registry agent",
        "description" : "Returns all details about a specific agent in the local registry",
        "operationId" : "inspectLocalAgent",
        "parameters" : [ {
          "name" : "agentName",
          "in" : "path",
          "description" : "The name of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentVersion",
          "in" : "path",
          "description" : "The version of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestrictedRegistryAgent"
                }
              }
            }
          },
          "404" : {
            "description" : "Agent not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/registry/marketplace/{agentName}/{agentVersion}" : {
      "get" : {
        "tags" : [ "registry" ],
        "summary" : "Inspect marketplace registry agent",
        "description" : "Returns all details about a specific agent in the marketplace",
        "operationId" : "inspectMarketplaceAgent",
        "parameters" : [ {
          "name" : "agentName",
          "in" : "path",
          "description" : "The name of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentVersion",
          "in" : "path",
          "description" : "The version of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestrictedRegistryAgent"
                }
              }
            }
          },
          "404" : {
            "description" : "Agent not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/registry/linked/{linkedServerName}/{agentName}/{agentVersion}" : {
      "get" : {
        "tags" : [ "registry" ],
        "summary" : "Inspect linked server registry agent",
        "description" : "Returns all details about a specific agent from a specific linked server",
        "operationId" : "inspectLinkedServerAgent",
        "parameters" : [ {
          "name" : "linkedServerName",
          "in" : "path",
          "description" : "The name of the linked server to source the details of this agent from",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The name of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentVersion",
          "in" : "path",
          "description" : "The version of the agent",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestrictedRegistryAgent"
                }
              }
            }
          },
          "404" : {
            "description" : "Agent or linked server not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/puppet/{namespace}/{sessionId}/{agentName}/thread" : {
      "post" : {
        "tags" : [ "puppet" ],
        "summary" : "Create thread",
        "description" : "Creates a new thread masquerading as the specified agent",
        "operationId" : "puppetCreateThread",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Thread creation input",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateThreadInput"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateThreadOutput"
                }
              }
            }
          },
          "404" : {
            "description" : "Agent not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "puppet" ],
        "summary" : "Close thread",
        "description" : "Closes a thread masquerading as the specified agent",
        "operationId" : "puppetCloseThread",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Thread close input",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CloseThreadInput"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "Agent or thread not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Thread cannot be closed",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/puppet/{namespace}/{sessionId}/{agentName}/thread/message" : {
      "post" : {
        "tags" : [ "puppet" ],
        "summary" : "Send message",
        "description" : "Sends a message in a thread masquerading as the specified agent",
        "operationId" : "puppetSendMessage",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Message input",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SendMessageInput"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SendMessageOutput"
                }
              }
            }
          },
          "404" : {
            "description" : "Agent or thread not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad message",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/puppet/{namespace}/{sessionId}/{agentName}/thread/participant" : {
      "post" : {
        "tags" : [ "puppet" ],
        "summary" : "Add thread participant",
        "description" : "Adds an agent to a thread masquerading as the specified agent",
        "operationId" : "puppetAddThreadParticipant",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Thread and participant information details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddParticipantInput"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "Agent or thread not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Participant cannot be added",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "puppet" ],
        "summary" : "Remove thread participant",
        "description" : "Removes an agent from a thread masquerading as the specified agent",
        "operationId" : "puppetRemoveThreadParticipant",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Thread and participant information details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RemoveParticipantInput"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "Agent or thread not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Participant cannot be removed",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/puppet/{namespace}/{sessionId}/{agentName}" : {
      "delete" : {
        "tags" : [ "puppet" ],
        "summary" : "End agent runtime",
        "description" : "Forcefully cause an agent to exit it's own runtime",
        "operationId" : "puppetKillAgent",
        "parameters" : [ {
          "name" : "namespace",
          "in" : "path",
          "description" : "The session's namespace",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "path",
          "description" : "The session's ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "agentName",
          "in" : "path",
          "description" : "The agent's name",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { }
          },
          "404" : {
            "description" : "Agent not found",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Agent not running",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "token" : [ ]
        } ]
      }
    },
    "/api/v1/agent-rpc/claim" : {
      "post" : {
        "tags" : [ "agent-rpc" ],
        "summary" : "Submit an agent claim",
        "description" : "Submits a claim for work performed",
        "operationId" : "submitClaim",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "A description of the work done and the payment required",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AgentClaimRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AgentClaimResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Bad agent secret provided",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid claim type provided",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RouteException"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "agentSecret" : [ ]
        } ]
      }
    },
    "/api/v1/agent-rpc/x402" : {
      "post" : {
        "tags" : [ "agent-rpc" ],
        "summary" : "Request for x402 proxying",
        "description" : "Allows an agent to request that the server pays for an x402 service by proxy",
        "operationId" : "requestX402Proxy",
        "parameters" : [ {
          "name" : "agentSecret",
          "in" : "path",
          "description" : "The agent's unique secret",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "The request to be proxied",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/X402ProxyRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Success",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/X402ProxiedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "agentSecret" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "McpToolName" : {
        "type" : "string",
        "enum" : [ "coral_create_thread", "coral_close_thread", "coral_add_participant", "coral_remove_participant", "coral_send_message", "coral_wait_for_message", "coral_wait_for_mention", "coral_wait_for_agent", "coral_close_session" ],
        "title" : "McpToolName"
      },
      "McpResourceName" : {
        "type" : "string",
        "enum" : [ "coral://state", "coral://instruction" ],
        "title" : "McpResourceName"
      },
      "LocalSessionManagerEvent" : {
        "anyOf" : [ {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "namespace_closed" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "finalState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "finalState", "timestamp", "type" ],
          "title" : "namespace_closed"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "namespace_created" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "initialState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "initialState", "timestamp", "type" ],
          "title" : "namespace_created"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "session_closed" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "finalSessionState" : {
              "$ref" : "#/components/schemas/SessionStateBase",
              "description" : "The base state of a running session, without agent or threads"
            },
            "namespaceState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "finalSessionState", "namespaceState", "timestamp", "type" ],
          "title" : "session_closed"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "session_closing" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "sessionState" : {
              "$ref" : "#/components/schemas/SessionStateBase",
              "description" : "The base state of a running session, without agent or threads"
            },
            "namespaceState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "namespaceState", "sessionState", "timestamp", "type" ],
          "title" : "session_closing"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "session_created" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "initialSessionState" : {
              "$ref" : "#/components/schemas/SessionStateBase",
              "description" : "The base state of a running session, without agent or threads"
            },
            "namespaceState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "initialSessionState", "namespaceState", "timestamp", "type" ],
          "title" : "session_created"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "session_running" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "sessionState" : {
              "$ref" : "#/components/schemas/SessionStateBase",
              "description" : "The base state of a running session, without agent or threads"
            },
            "namespaceState" : {
              "$ref" : "#/components/schemas/SessionNamespaceStateBase",
              "description" : "The base state of a namespace, without session information"
            }
          },
          "required" : [ "namespaceState", "sessionState", "timestamp", "type" ],
          "title" : "session_running"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "LocalSessionManagerEvent"
      },
      "SessionNamespaceStateBase" : {
        "type" : "object",
        "description" : "The base state of a namespace, without session information",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of this namespace",
            "title" : "String"
          },
          "deleteOnLastSessionExit" : {
            "type" : "boolean",
            "description" : "Whether or not this namespace will be deleted when the last session exits",
            "title" : "Boolean"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "annotations", "deleteOnLastSessionExit", "name" ],
        "title" : "SessionNamespaceStateBase"
      },
      "SessionStateBase" : {
        "type" : "object",
        "description" : "The base state of a running session, without agent or threads",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier for this session",
            "title" : "String"
          },
          "timestamp" : {
            "type" : "string",
            "description" : "The timestamp of when this state was generated",
            "title" : "UTC timestamp ISO-8601"
          },
          "namespace" : {
            "type" : "string",
            "description" : "The namespace that this session resides in",
            "title" : "String"
          },
          "status" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "\n        The session is closing and will soon be removed from memory.  The closing status can only be observed when \n        the session has persistence configure in SessionRuntimeSettings.  Note that there is no closed state for \n        sessions, as closed sessions are deleted from memory\n        ",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "closing" ],
                  "title" : "String"
                },
                "executionTime" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                },
                "closingTime" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "closingTime", "executionTime", "type" ],
              "title" : "closing"
            }, {
              "type" : "object",
              "description" : "This session status is only achieved when creating sessions with deferred execution",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "pending_execution" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "pending_execution"
            }, {
              "type" : "object",
              "description" : "\n        The session launched it's agents and is currently running.  The session's status will remain as running until:\n        \n        1. All the agents in the session exit, or\n        2. The session's TTL expires, or\n        3. Manual exit \n        ",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "executed" ],
                  "title" : "String"
                },
                "executionTime" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "executionTime", "type" ],
              "title" : "executed"
            } ],
            "description" : "The status of the session",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionStatus"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "annotations", "id", "namespace", "status", "timestamp" ],
        "title" : "SessionStateBase"
      },
      "SessionEvent" : {
        "anyOf" : [ {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_budget_claim" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "agent" : {
              "type" : "string",
              "title" : "String"
            },
            "claim" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "llm_proxy_claim" ],
                    "title" : "String"
                  },
                  "timestamp" : {
                    "type" : "string",
                    "title" : "UTC timestamp ISO-8601"
                  },
                  "inputTokenCount" : {
                    "type" : "integer",
                    "title" : "ULong"
                  },
                  "inputTokenCost" : {
                    "type" : "integer",
                    "title" : "AgentBudgetUnit"
                  },
                  "outputTokenCount" : {
                    "type" : "integer",
                    "title" : "ULong"
                  },
                  "outputTokenCost" : {
                    "type" : "integer",
                    "title" : "AgentBudgetUnit"
                  }
                },
                "required" : [ "inputTokenCost", "inputTokenCount", "outputTokenCost", "outputTokenCount", "timestamp", "type" ],
                "title" : "llm_proxy_claim"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "rpc_claim" ],
                    "title" : "String"
                  },
                  "timestamp" : {
                    "type" : "string",
                    "title" : "UTC timestamp ISO-8601"
                  },
                  "claimType" : {
                    "$ref" : "#/components/schemas/RegistryAgentClaimType"
                  },
                  "quantity" : {
                    "type" : "integer",
                    "maximum" : 4294967295,
                    "minimum" : 0,
                    "title" : "UInt"
                  },
                  "additionalDescription" : {
                    "type" : "string",
                    "title" : "String"
                  }
                },
                "required" : [ "claimType", "quantity", "timestamp", "type" ],
                "title" : "rpc_claim"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "SessionAgentClaim"
            },
            "result" : {
              "$ref" : "#/components/schemas/AgentClaimResult",
              "description" : "A response to a claim request."
            }
          },
          "required" : [ "agent", "claim", "result", "timestamp", "type" ],
          "title" : "agent_budget_claim"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_connected" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "timestamp", "type" ],
          "title" : "agent_connected"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_sleep_start" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "timestamp", "type" ],
          "title" : "agent_sleep_start"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_sleep_stop" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "timestamp", "type" ],
          "title" : "agent_sleep_stop"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_wait_start" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            },
            "filters" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "from" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    }
                  },
                  "required" : [ "name", "type" ],
                  "title" : "from"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "mentions" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    }
                  },
                  "required" : [ "name", "type" ],
                  "title" : "mentions"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "thread" ],
                      "title" : "String"
                    },
                    "threadId" : {
                      "type" : "string",
                      "title" : "String"
                    }
                  },
                  "required" : [ "threadId", "type" ],
                  "title" : "thread"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "SessionThreadMessageFilter"
              },
              "title" : "LinkedHashSet<SessionThreadMessageFilter>",
              "uniqueItems" : true
            }
          },
          "required" : [ "filters", "name", "timestamp", "type" ],
          "title" : "agent_wait_start"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "agent_wait_stop" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            },
            "message" : {
              "$ref" : "#/components/schemas/SessionThreadMessage"
            }
          },
          "required" : [ "message", "name", "timestamp", "type" ],
          "title" : "agent_wait_stop"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "docker_container_created" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "containerId" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "containerId", "timestamp", "type" ],
          "title" : "docker_container_created"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "docker_container_removed" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "containerId" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "containerId", "timestamp", "type" ],
          "title" : "docker_container_removed"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "llm_proxy_call" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "agentName" : {
              "type" : "string",
              "title" : "String"
            },
            "modelName" : {
              "type" : "string",
              "title" : "String"
            },
            "providerRequestName" : {
              "type" : "string",
              "title" : "String"
            },
            "statusCode" : {
              "type" : "integer",
              "format" : "int32",
              "title" : "Int"
            },
            "usage" : {
              "$ref" : "#/components/schemas/LlmUsage"
            }
          },
          "required" : [ "agentName", "modelName", "providerRequestName", "statusCode", "timestamp", "type", "usage" ],
          "title" : "llm_proxy_call"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "runtime_started" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "timestamp", "type" ],
          "title" : "runtime_started"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "runtime_stopped" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "timestamp", "type" ],
          "title" : "runtime_stopped"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "thread_closed" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "threadId" : {
              "type" : "string",
              "title" : "String"
            },
            "summary" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "summary", "threadId", "timestamp", "type" ],
          "title" : "thread_closed"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "thread_created" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "thread" : {
              "$ref" : "#/components/schemas/SessionThread"
            }
          },
          "required" : [ "thread", "timestamp", "type" ],
          "title" : "thread_created"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "thread_message_sent" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "message" : {
              "$ref" : "#/components/schemas/SessionThreadMessage"
            }
          },
          "required" : [ "message", "timestamp", "type" ],
          "title" : "thread_message_sent"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "thread_participant_added" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "threadId" : {
              "type" : "string",
              "title" : "String"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "threadId", "timestamp", "type" ],
          "title" : "thread_participant_added"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "thread_participant_removed" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "threadId" : {
              "type" : "string",
              "title" : "String"
            },
            "name" : {
              "type" : "string",
              "title" : "String"
            }
          },
          "required" : [ "name", "threadId", "timestamp", "type" ],
          "title" : "thread_participant_removed"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "SessionEvent"
      },
      "RegistryAgentClaimType" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A unique name for this claim type. This name will be used to make claims of this type",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "description" : "A human-readable description of this claim type",
            "title" : "String"
          },
          "dependency" : {
            "type" : "string",
            "title" : "String"
          },
          "cost" : {
            "type" : "integer",
            "description" : "The cost of this claim type. This value can be overridden by the application. Application developers are encouraged to specify values for all claim types. The value is specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.",
            "title" : "AgentBudgetUnit"
          }
        },
        "required" : [ "dependency", "description", "name" ],
        "title" : "RegistryAgentClaimType"
      },
      "AgentClaimResult" : {
        "type" : "object",
        "description" : "A response to a claim request.",
        "properties" : {
          "claimId" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "A unique sequential ID assigned to this claim",
            "title" : "Int"
          },
          "requestedAmount" : {
            "type" : "integer",
            "description" : "The amount requested, echoed back to the agent",
            "title" : "AgentBudgetUnit"
          },
          "fulfilledAmount" : {
            "type" : "integer",
            "description" : "The amount of the budget that could be fulfilled. If this is not equal to the requested amount, the budget was exhausted.",
            "title" : "AgentBudgetUnit"
          },
          "remainingAgentBudget" : {
            "type" : "integer",
            "description" : "The remaining agent budget after the claim was made",
            "title" : "AgentBudgetUnit"
          },
          "remainingSessionBudget" : {
            "type" : "integer",
            "description" : "The remaining session budget after the claim was made",
            "title" : "AgentBudgetUnit"
          },
          "shouldExit" : {
            "type" : "boolean",
            "description" : "If this is true, the claim resulted in a budget exhaustion that should cause the agent to exit.",
            "title" : "Boolean"
          }
        },
        "required" : [ "claimId", "fulfilledAmount", "remainingAgentBudget", "remainingSessionBudget", "requestedAmount", "shouldExit" ],
        "title" : "AgentClaimResult"
      },
      "SessionThreadMessage" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "threadId" : {
            "type" : "string",
            "title" : "String"
          },
          "text" : {
            "type" : "string",
            "title" : "String"
          },
          "senderName" : {
            "type" : "string",
            "title" : "String"
          },
          "mentionNames" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "timestamp" : {
            "type" : "string",
            "title" : "UTC timestamp ISO-8601"
          }
        },
        "required" : [ "id", "mentionNames", "senderName", "text", "threadId", "timestamp" ],
        "title" : "SessionThreadMessage"
      },
      "LlmUsage" : {
        "type" : "object",
        "properties" : {
          "inputTokens" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "outputTokens" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "title" : "LlmUsage"
      },
      "SessionThread" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "creatorName" : {
            "type" : "string",
            "title" : "String"
          },
          "participants" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "messages" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SessionThreadMessage"
            },
            "title" : "ArrayList<SessionThreadMessage>"
          },
          "state" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "state" : {
                  "type" : "string",
                  "enum" : [ "closed" ],
                  "title" : "String"
                },
                "summary" : {
                  "type" : "string",
                  "title" : "String"
                },
                "timestamp" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "state", "summary", "timestamp" ],
              "title" : "closed"
            }, {
              "type" : "object",
              "properties" : {
                "state" : {
                  "type" : "string",
                  "enum" : [ "open" ],
                  "title" : "String"
                }
              },
              "required" : [ "state" ],
              "title" : "open"
            } ],
            "discriminator" : {
              "propertyName" : "state"
            },
            "title" : "SessionThreadState"
          },
          "timestamp" : {
            "type" : "string",
            "title" : "UTC timestamp ISO-8601"
          }
        },
        "required" : [ "creatorName", "id", "messages", "name", "participants", "state", "timestamp" ],
        "title" : "SessionThread"
      },
      "LoggingEvent" : {
        "anyOf" : [ {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "debug" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "text" : {
              "type" : "string",
              "title" : "String"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "name", "type" ],
                  "title" : "agent"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent_claim" ],
                      "title" : "String"
                    },
                    "claimId" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "claimId", "mdcMap", "type" ],
                  "title" : "agent_claim"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "stdout" ],
                      "title" : "String"
                    },
                    "io" : {
                      "$ref" : "#/components/schemas/LoggingTagIo"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "io", "mdcMap", "type" ],
                  "title" : "stdout"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "namespace" ],
                      "title" : "String"
                    },
                    "namespace" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "namespace", "type" ],
                  "title" : "namespace"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "proxy_request" ],
                      "title" : "String"
                    },
                    "proxyNumber" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "proxyNumber", "type" ],
                  "title" : "proxy_request"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "sensitive" ],
                      "title" : "String"
                    }
                  },
                  "required" : [ "type" ],
                  "title" : "sensitive"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "session" ],
                      "title" : "String"
                    },
                    "sessionId" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "sessionId", "type" ],
                  "title" : "session"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "LoggingTag"
              },
              "title" : "LinkedHashSet<LoggingTag>",
              "uniqueItems" : true
            }
          },
          "required" : [ "tags", "text", "timestamp", "type" ],
          "title" : "debug"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "error" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "text" : {
              "type" : "string",
              "title" : "String"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "name", "type" ],
                  "title" : "agent"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent_claim" ],
                      "title" : "String"
                    },
                    "claimId" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "claimId", "mdcMap", "type" ],
                  "title" : "agent_claim"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "stdout" ],
                      "title" : "String"
                    },
                    "io" : {
                      "$ref" : "#/components/schemas/LoggingTagIo"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "io", "mdcMap", "type" ],
                  "title" : "stdout"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "namespace" ],
                      "title" : "String"
                    },
                    "namespace" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "namespace", "type" ],
                  "title" : "namespace"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "proxy_request" ],
                      "title" : "String"
                    },
                    "proxyNumber" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "proxyNumber", "type" ],
                  "title" : "proxy_request"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "sensitive" ],
                      "title" : "String"
                    }
                  },
                  "required" : [ "type" ],
                  "title" : "sensitive"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "session" ],
                      "title" : "String"
                    },
                    "sessionId" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "sessionId", "type" ],
                  "title" : "session"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "LoggingTag"
              },
              "title" : "LinkedHashSet<LoggingTag>",
              "uniqueItems" : true
            },
            "exceptionStackTrace" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            }
          },
          "required" : [ "exceptionStackTrace", "tags", "text", "timestamp", "type" ],
          "title" : "error"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "info" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "text" : {
              "type" : "string",
              "title" : "String"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "name", "type" ],
                  "title" : "agent"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent_claim" ],
                      "title" : "String"
                    },
                    "claimId" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "claimId", "mdcMap", "type" ],
                  "title" : "agent_claim"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "stdout" ],
                      "title" : "String"
                    },
                    "io" : {
                      "$ref" : "#/components/schemas/LoggingTagIo"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "io", "mdcMap", "type" ],
                  "title" : "stdout"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "namespace" ],
                      "title" : "String"
                    },
                    "namespace" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "namespace", "type" ],
                  "title" : "namespace"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "proxy_request" ],
                      "title" : "String"
                    },
                    "proxyNumber" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "proxyNumber", "type" ],
                  "title" : "proxy_request"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "sensitive" ],
                      "title" : "String"
                    }
                  },
                  "required" : [ "type" ],
                  "title" : "sensitive"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "session" ],
                      "title" : "String"
                    },
                    "sessionId" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "sessionId", "type" ],
                  "title" : "session"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "LoggingTag"
              },
              "title" : "LinkedHashSet<LoggingTag>",
              "uniqueItems" : true
            }
          },
          "required" : [ "tags", "text", "timestamp", "type" ],
          "title" : "info"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "trace" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "text" : {
              "type" : "string",
              "title" : "String"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "name", "type" ],
                  "title" : "agent"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent_claim" ],
                      "title" : "String"
                    },
                    "claimId" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "claimId", "mdcMap", "type" ],
                  "title" : "agent_claim"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "stdout" ],
                      "title" : "String"
                    },
                    "io" : {
                      "$ref" : "#/components/schemas/LoggingTagIo"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "io", "mdcMap", "type" ],
                  "title" : "stdout"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "namespace" ],
                      "title" : "String"
                    },
                    "namespace" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "namespace", "type" ],
                  "title" : "namespace"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "proxy_request" ],
                      "title" : "String"
                    },
                    "proxyNumber" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "proxyNumber", "type" ],
                  "title" : "proxy_request"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "sensitive" ],
                      "title" : "String"
                    }
                  },
                  "required" : [ "type" ],
                  "title" : "sensitive"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "session" ],
                      "title" : "String"
                    },
                    "sessionId" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "sessionId", "type" ],
                  "title" : "session"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "LoggingTag"
              },
              "title" : "LinkedHashSet<LoggingTag>",
              "uniqueItems" : true
            }
          },
          "required" : [ "tags", "text", "timestamp", "type" ],
          "title" : "trace"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "warning" ],
              "title" : "String"
            },
            "timestamp" : {
              "type" : "string",
              "title" : "UTC timestamp ISO-8601"
            },
            "text" : {
              "type" : "string",
              "title" : "String"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "anyOf" : [ {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent" ],
                      "title" : "String"
                    },
                    "name" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "name", "type" ],
                  "title" : "agent"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "agent_claim" ],
                      "title" : "String"
                    },
                    "claimId" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "claimId", "mdcMap", "type" ],
                  "title" : "agent_claim"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "stdout" ],
                      "title" : "String"
                    },
                    "io" : {
                      "$ref" : "#/components/schemas/LoggingTagIo"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "io", "mdcMap", "type" ],
                  "title" : "stdout"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "namespace" ],
                      "title" : "String"
                    },
                    "namespace" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "namespace", "type" ],
                  "title" : "namespace"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "proxy_request" ],
                      "title" : "String"
                    },
                    "proxyNumber" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "proxyNumber", "type" ],
                  "title" : "proxy_request"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "sensitive" ],
                      "title" : "String"
                    }
                  },
                  "required" : [ "type" ],
                  "title" : "sensitive"
                }, {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "session" ],
                      "title" : "String"
                    },
                    "sessionId" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "mdcMap" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string",
                        "title" : "String"
                      },
                      "title" : "LinkedHashMap<String,String>"
                    }
                  },
                  "required" : [ "mdcMap", "sessionId", "type" ],
                  "title" : "session"
                } ],
                "discriminator" : {
                  "propertyName" : "type"
                },
                "title" : "LoggingTag"
              },
              "title" : "LinkedHashSet<LoggingTag>",
              "uniqueItems" : true
            }
          },
          "required" : [ "tags", "text", "timestamp", "type" ],
          "title" : "warning"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "LoggingEvent"
      },
      "LoggingTagIo" : {
        "type" : "string",
        "enum" : [ "out", "error" ],
        "title" : "LoggingTagIo"
      },
      "SessionEndReport" : {
        "type" : "object",
        "properties" : {
          "timestamp" : {
            "type" : "string",
            "description" : "The time that the session ended, ISO 8601",
            "title" : "UTC timestamp ISO-8601"
          },
          "namespaceState" : {
            "$ref" : "#/components/schemas/SessionNamespaceStateBase",
            "description" : "The namespace that the session belonged in"
          },
          "sessionState" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "base" ],
                  "title" : "String"
                },
                "state" : {
                  "$ref" : "#/components/schemas/SessionStateBase",
                  "description" : "The base state of a running session, without agent or threads"
                }
              },
              "required" : [ "state", "type" ],
              "title" : "base"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "extended" ],
                  "title" : "String"
                },
                "state" : {
                  "$ref" : "#/components/schemas/SessionStateExtended",
                  "description" : "The state of a running session"
                }
              },
              "required" : [ "state", "type" ],
              "title" : "extended"
            } ],
            "description" : "The state of the ended session",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionState"
          },
          "agentStats" : {
            "type" : "array",
            "description" : "The statistics for each agent in the session, note that an individual agent may appear more than once if they restarted during a session",
            "items" : {
              "$ref" : "#/components/schemas/SessionAgentUsageReport"
            },
            "title" : "ArrayList<SessionAgentUsageReport>"
          }
        },
        "required" : [ "agentStats", "namespaceState", "sessionState", "timestamp" ],
        "title" : "SessionEndReport"
      },
      "SessionStateExtended" : {
        "type" : "object",
        "description" : "The state of a running session",
        "properties" : {
          "base" : {
            "$ref" : "#/components/schemas/SessionStateBase",
            "description" : "Base session state"
          },
          "agents" : {
            "type" : "array",
            "description" : "A list of the states of all agents in this session",
            "items" : {
              "$ref" : "#/components/schemas/SessionAgentState"
            },
            "title" : "ArrayList<SessionAgentState>"
          },
          "threads" : {
            "type" : "array",
            "description" : "A list of the states of all threads in this session",
            "items" : {
              "$ref" : "#/components/schemas/SessionThread"
            },
            "title" : "ArrayList<SessionThread>"
          },
          "runningBudget" : {
            "$ref" : "#/components/schemas/SessionRunningBudget",
            "description" : "A counter for the session's running budget.  See SessionRunningBudget for more information"
          },
          "budgetSettings" : {
            "$ref" : "#/components/schemas/SessionBudgetSettings",
            "description" : "The budget settings for this session"
          },
          "agentClaimReceipts" : {
            "type" : "array",
            "description" : "A list of receipts for all claims made by all agents in this session",
            "items" : {
              "$ref" : "#/components/schemas/SessionAgentClaimReceipt"
            },
            "title" : "ArrayList<SessionAgentClaimReceipt>"
          }
        },
        "required" : [ "agentClaimReceipts", "agents", "base", "budgetSettings", "runningBudget", "threads" ],
        "title" : "SessionStateExtended"
      },
      "SessionAgentState" : {
        "type" : "object",
        "description" : "The state of an agent running in a session",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name given for this agent in the AgentGraph, this is unique in the graph",
            "title" : "String"
          },
          "registryAgentIdentifier" : {
            "$ref" : "#/components/schemas/RegistryAgentIdentifier",
            "description" : "The identifier for this agent's registry entry.  See RegistryAgent for more information"
          },
          "status" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "The agent is running and potentially has a connection with the agent's MCP server",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "running" ],
                  "title" : "String"
                },
                "connectionStatus" : {
                  "anyOf" : [ {
                    "type" : "object",
                    "description" : "The agent has an active MCP connection with the agent's MCP server",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "enum" : [ "connected" ],
                        "title" : "String"
                      },
                      "communicationStatus" : {
                        "anyOf" : [ {
                          "type" : "object",
                          "description" : "The agent is sleeping",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "enum" : [ "sleeping" ],
                              "title" : "String"
                            }
                          },
                          "required" : [ "type" ],
                          "title" : "sleeping"
                        }, {
                          "type" : "object",
                          "description" : "The agent is not waiting for messages or sleeping and is assumed to be thinking",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "enum" : [ "thinking" ],
                              "title" : "String"
                            }
                          },
                          "required" : [ "type" ],
                          "title" : "thinking"
                        }, {
                          "type" : "object",
                          "description" : "The agent is waiting for a message",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "enum" : [ "waiting_message" ],
                              "title" : "String"
                            }
                          },
                          "required" : [ "type" ],
                          "title" : "waiting_message"
                        } ],
                        "discriminator" : {
                          "propertyName" : "type"
                        },
                        "title" : "SessionAgentCommunicationStatus"
                      }
                    },
                    "required" : [ "communicationStatus", "type" ],
                    "title" : "connected"
                  }, {
                    "type" : "object",
                    "description" : "The agent is not connected to the agent's MCP server, it may be trying to connect actively or it may have encountered an error",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "enum" : [ "not_connected" ],
                        "title" : "String"
                      }
                    },
                    "required" : [ "type" ],
                    "title" : "not_connected"
                  } ],
                  "discriminator" : {
                    "propertyName" : "type"
                  },
                  "title" : "SessionAgentConnectionStatus"
                },
                "startTime" : {
                  "type" : "string",
                  "description" : "The time that this agent started",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "connectionStatus", "startTime", "type" ],
              "title" : "running"
            }, {
              "type" : "object",
              "description" : "The agent's runtime started and then subsequently stopped",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "stopped" ],
                  "title" : "String"
                },
                "startTime" : {
                  "type" : "string",
                  "description" : "The time that this agent started",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "type" ],
              "title" : "stopped"
            }, {
              "type" : "object",
              "description" : "The agent is waiting to be launched",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "waiting" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "waiting"
            } ],
            "description" : "Nested status state for this agent, running -> connected -> thinking/waiting/sleeping",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionAgentStatus"
          },
          "description" : {
            "type" : "string",
            "description" : "The description of this agent, given to other agents in the graph",
            "title" : "String"
          },
          "links" : {
            "type" : "array",
            "description" : "A list of agents that this agent is aware of, constructed from agent groups in the AgentGraph",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "runningBudget" : {
            "$ref" : "#/components/schemas/SessionRunningBudget",
            "description" : "A counter for the agent's running budget.  See SessionRunningBudget for more information"
          },
          "budgetSettings" : {
            "$ref" : "#/components/schemas/GraphAgentBudgetSettings",
            "description" : "The budget settings for this agent"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "annotations", "budgetSettings", "links", "name", "registryAgentIdentifier", "runningBudget", "status" ],
        "title" : "SessionAgentState"
      },
      "RegistryAgentIdentifier" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The exact name of the agent in the registry",
            "title" : "String"
          },
          "version" : {
            "type" : "string",
            "description" : "The exact version of the agent in the registry",
            "title" : "String"
          },
          "registrySourceId" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "linked" ],
                  "title" : "String"
                },
                "linkedServerId" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "linkedServerId", "type" ],
              "title" : "linked"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "local" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "local"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "marketplace" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "marketplace"
            } ],
            "description" : "The identifier for the registry source that contains this agent",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "AgentRegistrySourceIdentifier"
          }
        },
        "required" : [ "name", "registrySourceId", "version" ],
        "title" : "RegistryAgentIdentifier"
      },
      "SessionRunningBudget" : {
        "type" : "object",
        "properties" : {
          "startBudget" : {
            "type" : "integer",
            "title" : "AgentBudgetUnit"
          },
          "clamp" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "remaining" : {
            "type" : "integer",
            "title" : "AgentBudgetUnit"
          },
          "overclaim" : {
            "type" : "integer",
            "title" : "AgentBudgetUnit"
          }
        },
        "required" : [ "clamp", "overclaim", "remaining", "startBudget" ],
        "title" : "SessionRunningBudget"
      },
      "GraphAgentBudgetSettings" : {
        "type" : "object",
        "properties" : {
          "budget" : {
            "type" : "integer",
            "description" : "The budget for this specific agent.  The value is specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.",
            "title" : "AgentBudgetUnit"
          },
          "claimTypeCosts" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "title" : "AgentBudgetUnit"
            },
            "description" : "A map where each key is a claim type name and the value the cost for that claim. Claims that do not have default values set must have their values set in this map or else they will not contribute to the budget.",
            "title" : "LinkedHashMap<String,AgentBudgetUnit>"
          },
          "exhaustionBehavior" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "Once's the agent's budget is exhausted, it will consume the session's budget.  If the session's budget is also exhausted, the session's exhaustion behavior will be applied.  If a claim is made that cannot be fully fulfilled by the agent's budget, the remainder will be taken from the session's budget.",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "consume_session" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "consume_session"
            }, {
              "type" : "object",
              "description" : "Once the agent's budget is less than the specified minimum amount, the agent will be killed.  The higher the minimum is the lower the chance of overclaiming. This behavior will stop the agent claiming from the session's budget",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "kill" ],
                  "title" : "String"
                },
                "minimum" : {
                  "type" : "integer",
                  "description" : "The minimum value, specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.",
                  "title" : "AgentBudgetUnit"
                },
                "force" : {
                  "type" : "boolean",
                  "description" : "If this is true, the agent will be killed immediately.  If this is false, the agent will only be killed if the claim requests for automatic closing.",
                  "title" : "Boolean"
                },
                "forceDelay" : {
                  "type" : "string",
                  "description" : "If force killing is enabled, it will be delayed by this amount before the agent is killed.  If this delay is too low the agent may be killed before it handles to response to a claim",
                  "title" : "Duration"
                }
              },
              "required" : [ "force", "minimum", "type" ],
              "title" : "kill"
            } ],
            "description" : "The behavior of agent budget exhaustion, defaults to consuming session budget.",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "AgentBudgetExhaustionBehavior"
          }
        },
        "title" : "GraphAgentBudgetSettings"
      },
      "SessionBudgetSettings" : {
        "type" : "object",
        "description" : "Budgets settings for this session.  Budgets are consumed by agents in the session.",
        "properties" : {
          "budget" : {
            "type" : "integer",
            "description" : "\n        This budget is shared across all agents in the session and can be used by any agent configured to consume the shared budget.\n        \n        The value is specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.\")    \n        ",
            "title" : "AgentBudgetUnit"
          },
          "exhaustionBehavior" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "The exhaustion of the session's budget will be ignored.  This has a high chance of overclaiming.",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "ignore" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "ignore"
            }, {
              "type" : "object",
              "description" : "Once the session budget drops below the specified minimum, agents that claim for it will be killed.  The higher the minimum is the lower the chance of overclaiming.",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "kill_agent" ],
                  "title" : "String"
                },
                "minimum" : {
                  "type" : "integer",
                  "description" : "The minimum value, specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.",
                  "title" : "AgentBudgetUnit"
                },
                "force" : {
                  "type" : "boolean",
                  "description" : "If this is true, when an agent claims from the session budget that is below the minimum, the agent will be killed immediately.  If this is false, the agent will only be killed if the agent requests for automatic closing.",
                  "title" : "Boolean"
                },
                "forceDelay" : {
                  "type" : "string",
                  "description" : "If force killing is enabled, it will be delayed by this amount before the agent is killed.  If this delay is too low the agent may be killed before it handles to response to a claim",
                  "title" : "Duration"
                }
              },
              "required" : [ "force", "minimum", "type" ],
              "title" : "kill_agent"
            }, {
              "type" : "object",
              "description" : "Once the session budget drops below the specified minimum, agents that claim for it will trigger the session to be killed.  The higher the minimum is the lower the chance of overclaiming.",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "kill_session" ],
                  "title" : "String"
                },
                "minimum" : {
                  "type" : "integer",
                  "description" : "The minimum value, specified in micro cents. $1.00 is 100000000 and $0.01 is 1000000.",
                  "title" : "AgentBudgetUnit"
                },
                "delay" : {
                  "type" : "string",
                  "description" : "The delay before the session is killed.  If this delay is too low, the agent whose claim triggered this may be killed before it receives the response to that claim",
                  "title" : "Duration"
                }
              },
              "required" : [ "minimum", "type" ],
              "title" : "kill_session"
            } ],
            "description" : "\n        The behavior for agents consuming from this budget after it has been exhausted.  Note that this behavior\n        only applies to agents that consume from the session budgets. Agents that have their own budget will first \n        perform behaviors described by the agent's own budget settings.\n        ",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionBudgetExhaustionBehavior"
          }
        },
        "title" : "SessionBudgetSettings"
      },
      "SessionAgentClaimReceipt" : {
        "type" : "object",
        "description" : "A receipt for a claim made by an agent",
        "properties" : {
          "claim" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "llm_proxy_claim" ],
                  "title" : "String"
                },
                "timestamp" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                },
                "inputTokenCount" : {
                  "type" : "integer",
                  "title" : "ULong"
                },
                "inputTokenCost" : {
                  "type" : "integer",
                  "title" : "AgentBudgetUnit"
                },
                "outputTokenCount" : {
                  "type" : "integer",
                  "title" : "ULong"
                },
                "outputTokenCost" : {
                  "type" : "integer",
                  "title" : "AgentBudgetUnit"
                }
              },
              "required" : [ "inputTokenCost", "inputTokenCount", "outputTokenCost", "outputTokenCount", "timestamp", "type" ],
              "title" : "llm_proxy_claim"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "rpc_claim" ],
                  "title" : "String"
                },
                "timestamp" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                },
                "claimType" : {
                  "$ref" : "#/components/schemas/RegistryAgentClaimType"
                },
                "quantity" : {
                  "type" : "integer",
                  "maximum" : 4294967295,
                  "minimum" : 0,
                  "title" : "UInt"
                },
                "additionalDescription" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "claimType", "quantity", "timestamp", "type" ],
              "title" : "rpc_claim"
            } ],
            "description" : "The claim that was made",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionAgentClaim"
          },
          "cost" : {
            "type" : "integer",
            "description" : "The calculated cost of the claim",
            "title" : "AgentBudgetUnit"
          },
          "id" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "A unique sequential ID assigned to this claim",
            "title" : "Int"
          }
        },
        "required" : [ "claim", "cost", "id" ],
        "title" : "SessionAgentClaimReceipt"
      },
      "SessionAgentUsageReport" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "registryIdentifier" : {
            "$ref" : "#/components/schemas/RegistryAgentIdentifier"
          },
          "startTime" : {
            "type" : "string",
            "title" : "UTC timestamp ISO-8601"
          },
          "endTime" : {
            "type" : "string",
            "title" : "UTC timestamp ISO-8601"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "annotations", "endTime", "name", "registryIdentifier", "startTime" ],
        "title" : "SessionAgentUsageReport"
      },
      "AgentGraphRequest" : {
        "type" : "object",
        "properties" : {
          "agents" : {
            "type" : "array",
            "description" : "Every agent required for this agent graph",
            "items" : {
              "$ref" : "#/components/schemas/GraphAgentRequest"
            },
            "title" : "ArrayList<GraphAgentRequest>"
          },
          "groups" : {
            "type" : "array",
            "description" : "A set, containing sets that define the agent groups by name",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "LinkedHashSet<String>",
              "uniqueItems" : true
            },
            "title" : "LinkedHashSet<LinkedHashSet<String>>",
            "uniqueItems" : true
          },
          "customTools" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/GraphAgentTool"
            },
            "description" : "A map of custom tools to provide to the agents in this graph",
            "title" : "LinkedHashMap<String,GraphAgentTool>"
          }
        },
        "required" : [ "agents" ],
        "title" : "AgentGraphRequest"
      },
      "GraphAgentRequest" : {
        "type" : "object",
        "description" : "A request for an agent.  GraphAgentRequest -> GraphAgent",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/RegistryAgentIdentifier",
            "description" : "The ID of this agent in the registry"
          },
          "name" : {
            "type" : "string",
            "description" : "A given name for this agent in the session/group",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "description" : "An optional override for the description of this agent",
            "title" : "String"
          },
          "options" : {
            "type" : "object",
            "additionalProperties" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "blob" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "string",
                    "title" : "String"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "blob"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[blob]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[blob]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "bool" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "bool"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i8" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "maximum" : 127,
                    "minimum" : -128,
                    "title" : "Byte"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "i8"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i8]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 127,
                      "minimum" : -128,
                      "title" : "Byte"
                    },
                    "title" : "ArrayList<Byte>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[i8]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "f64" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "number",
                    "format" : "double",
                    "title" : "Double"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "f64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[f64]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "number",
                      "format" : "double",
                      "title" : "Double"
                    },
                    "title" : "ArrayList<Double>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[f64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "f32" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "number",
                    "format" : "float",
                    "title" : "Float"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "f32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[f32]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "number",
                      "format" : "float",
                      "title" : "Float"
                    },
                    "title" : "ArrayList<Float>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[f32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i32" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "format" : "int32",
                    "title" : "Int"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "i32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i32]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "title" : "ArrayList<Int>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[i32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i64" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "format" : "int64",
                    "title" : "Long"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "i64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i64]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "format" : "int64",
                      "title" : "Long"
                    },
                    "title" : "ArrayList<Long>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[i64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i16" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "maximum" : 32767,
                    "minimum" : -32768,
                    "title" : "Short"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "i16"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i16]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 32767,
                      "minimum" : -32768,
                      "title" : "Short"
                    },
                    "title" : "ArrayList<Short>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[i16]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "string" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "string",
                    "title" : "String"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "string"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[string]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[string]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u8" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "maximum" : 255,
                    "minimum" : 0,
                    "title" : "UByte"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "u8"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u8]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 255,
                      "minimum" : 0,
                      "title" : "UByte"
                    },
                    "title" : "ArrayList<UByte>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[u8]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u32" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "maximum" : 4294967295,
                    "minimum" : 0,
                    "title" : "UInt"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "u32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u32]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 4294967295,
                      "minimum" : 0,
                      "title" : "UInt"
                    },
                    "title" : "ArrayList<UInt>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[u32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u64" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "string",
                    "title" : "String"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "u64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u64]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[u64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u16" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "integer",
                    "maximum" : 65535,
                    "minimum" : 0,
                    "title" : "UShort"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "u16"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u16]" ],
                    "title" : "String"
                  },
                  "value" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 65535,
                      "minimum" : 0,
                      "title" : "UShort"
                    },
                    "title" : "ArrayList<UShort>"
                  }
                },
                "required" : [ "type", "value" ],
                "title" : "list[u16]"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "AgentOptionValue"
            },
            "description" : "The arguments to pass to the agent",
            "title" : "LinkedHashMap<String,AgentOptionValue>"
          },
          "systemPrompt" : {
            "type" : "string",
            "description" : "The system prompt/developer text/preamble passed to the agent",
            "title" : "String"
          },
          "blocking" : {
            "type" : "boolean",
            "description" : "All blocking agents in a group must be instantiated before the group can communicate.  Non-blocking agents' contributions to groups are optional",
            "title" : "Boolean"
          },
          "customToolAccess" : {
            "type" : "array",
            "description" : "A list of custom tools that this agent can access.  The custom tools must be defined in the parent AgentGraphRequest object",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "plugins" : {
            "type" : "array",
            "description" : "Plugins that should be installed on this agent.  See GraphAgentPlugin for more information",
            "items" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "close_session_tool" ],
                    "title" : "String"
                  }
                },
                "required" : [ "type" ],
                "title" : "close_session_tool"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "GraphAgentPlugin"
            },
            "title" : "LinkedHashSet<GraphAgentPlugin>",
            "uniqueItems" : true
          },
          "provider" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "The agent will be provided by a linked server",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "linked" ],
                  "title" : "String"
                },
                "linkedServerName" : {
                  "type" : "string",
                  "title" : "String"
                },
                "runtime" : {
                  "$ref" : "#/components/schemas/RuntimeId"
                }
              },
              "required" : [ "linkedServerName", "runtime", "type" ],
              "title" : "linked"
            }, {
              "type" : "object",
              "description" : "The agent will be provided by this server",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "local" ],
                  "title" : "String"
                },
                "runtime" : {
                  "$ref" : "#/components/schemas/RuntimeId"
                }
              },
              "required" : [ "runtime", "type" ],
              "title" : "local"
            } ],
            "description" : "The server that should provide this agent and the runtime to use",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "GraphAgentProvider"
          },
          "x402Budgets" : {
            "type" : "array",
            "description" : "An optional list of resources and an accompanied budget that this agent may spend on services that accept x402 payments",
            "items" : {
              "$ref" : "#/components/schemas/X402BudgetedResource"
            },
            "title" : "ArrayList<X402BudgetedResource>"
          },
          "proxies" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/GraphAgentProxyRequest"
            },
            "description" : "A map where the key is the name of the proxy request and the value is the configuration and model that should be selected.",
            "title" : "LinkedHashMap<String,GraphAgentProxyRequest>"
          },
          "budgetSettings" : {
            "$ref" : "#/components/schemas/GraphAgentBudgetSettings",
            "description" : "Budget settings for this agent.  By default the agent has no budget of its own, and can only claim from the sessions budget."
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "id", "name", "provider" ],
        "title" : "GraphAgentRequest"
      },
      "RuntimeId" : {
        "type" : "string",
        "enum" : [ "executable", "docker", "function", "prototype" ],
        "title" : "RuntimeId"
      },
      "X402BudgetedResource" : {
        "type" : "object",
        "description" : "A budget given to an agent for a specific resource",
        "properties" : {
          "priority" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The priority of this budget.  If a x402 service accepts multiple resources and an agent was given a budget for multiple resources, the resource with the highest priority will be used until it is consumed",
            "title" : "Int"
          },
          "resource" : {
            "type" : "string",
            "description" : "The this budget is for",
            "title" : "String"
          },
          "remainingBudget" : {
            "type" : "integer",
            "description" : "The remaining budget for this resource in atomic units",
            "title" : "ULong"
          }
        },
        "required" : [ "priority", "remainingBudget", "resource" ],
        "title" : "X402BudgetedResource"
      },
      "GraphAgentProxyRequest" : {
        "type" : "object",
        "properties" : {
          "configurationName" : {
            "type" : "string",
            "description" : "The name of the LLM proxy configuration",
            "title" : "String"
          },
          "modelName" : {
            "type" : "string",
            "description" : "The name of the model",
            "title" : "String"
          }
        },
        "required" : [ "configurationName", "modelName" ],
        "title" : "GraphAgentProxyRequest"
      },
      "GraphAgentTool" : {
        "type" : "object",
        "properties" : {
          "transport" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "http" ],
                  "title" : "String"
                },
                "url" : {
                  "type" : "string",
                  "title" : "String"
                },
                "signatureHeader" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "type", "url" ],
              "title" : "http"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "GraphAgentToolTransport"
          },
          "inputSchema" : {
            "$ref" : "#/components/schemas/ToolSchema"
          },
          "outputSchema" : {
            "$ref" : "#/components/schemas/ToolSchema"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "title" : {
            "type" : "string",
            "title" : "String"
          },
          "annotations" : {
            "$ref" : "#/components/schemas/ToolAnnotations"
          }
        },
        "required" : [ "transport" ],
        "title" : "GraphAgentTool"
      },
      "ToolSchema" : {
        "type" : "object",
        "properties" : {
          "$schema" : {
            "type" : "string",
            "title" : "String"
          },
          "properties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/JsonElement"
            },
            "title" : "JsonObject<String,JsonElement>"
          },
          "required" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "$defs" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/JsonElement"
            },
            "title" : "JsonObject<String,JsonElement>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "type" ],
        "title" : "ToolSchema"
      },
      "JsonElement" : {
        "type" : "object",
        "properties" : { },
        "title" : "JsonElement"
      },
      "ToolAnnotations" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string",
            "title" : "String"
          },
          "readOnlyHint" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "destructiveHint" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "idempotentHint" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "openWorldHint" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "title" : "ToolAnnotations"
      },
      "SessionNamespaceRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of this namespace",
            "title" : "String"
          },
          "deleteOnLastSessionExit" : {
            "type" : "boolean",
            "description" : "\n        If this is true the namespace will be deleted when the last session in this namespace closes.  Note that this\n        does not guarantee that the namespace will never be empty, because namespaces can be created without sessions\n    ",
            "title" : "Boolean"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "name" ],
        "title" : "SessionNamespaceRequest"
      },
      "SessionRuntimeSettings" : {
        "type" : "object",
        "properties" : {
          "ttl" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "If specified, the session will never live longer than this many milliseconds.",
            "title" : "Long"
          },
          "extendedEndReport" : {
            "type" : "boolean",
            "description" : "If specified, the end report generated for this session will be extended, including threads and messages",
            "title" : "Boolean"
          },
          "persistenceMode" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "Session will exist for at least the specified time (in milliseconds) after the session exits.  This time does not include the run time of the session.",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "enum" : [ "hold_after_exit" ],
                  "title" : "String"
                },
                "duration" : {
                  "type" : "integer",
                  "format" : "int64",
                  "title" : "Long"
                }
              },
              "required" : [ "duration", "mode" ],
              "title" : "hold_after_exit"
            }, {
              "type" : "object",
              "description" : "Session will exist for at least the specified time (in milliseconds).  This time includes the run time of the session.",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "enum" : [ "minimum_time" ],
                  "title" : "String"
                },
                "time" : {
                  "type" : "integer",
                  "format" : "int64",
                  "title" : "Long"
                }
              },
              "required" : [ "mode", "time" ],
              "title" : "minimum_time"
            }, {
              "type" : "object",
              "description" : "No persistence",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "enum" : [ "none" ],
                  "title" : "String"
                }
              },
              "required" : [ "mode" ],
              "title" : "none"
            } ],
            "description" : "Persistence mode for the session. Default is \"none\" meaning the session will be deleted as soon as it exits",
            "discriminator" : {
              "propertyName" : "mode"
            },
            "title" : "SessionPersistenceMode"
          },
          "webhooks" : {
            "$ref" : "#/components/schemas/SessionWebhooks",
            "description" : "Webhooks executed for this session"
          }
        },
        "title" : "SessionRuntimeSettings"
      },
      "SessionWebhooks" : {
        "type" : "object",
        "properties" : {
          "sessionEnd" : {
            "$ref" : "#/components/schemas/SessionEndWebhook",
            "description" : "The webhook that is called when this session ends.  The model sent is a SessionEndState"
          }
        },
        "title" : "SessionWebhooks"
      },
      "SessionEndWebhook" : {
        "type" : "object",
        "description" : "The webhook that is called when this session ends.  The model sent is a SessionEndState",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "url" ],
        "title" : "SessionEndWebhook"
      },
      "SessionRequest" : {
        "type" : "object",
        "properties" : {
          "agentGraphRequest" : {
            "$ref" : "#/components/schemas/AgentGraphRequest",
            "description" : "A request for the agents in this session"
          },
          "namespaceProvider" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "\n        Provides a full namespace request to create an ad hoc namespace if the namespace doesn't already exist.  Note\n        that this will not update an existing namespace, so for example, there is no guarantee that annotations \n        specified on this request end up on the namespace that this session belongs in.\n        ",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "create_if_not_exists" ],
                  "title" : "String"
                },
                "namespaceRequest" : {
                  "$ref" : "#/components/schemas/SessionNamespaceRequest"
                }
              },
              "required" : [ "namespaceRequest", "type" ],
              "title" : "create_if_not_exists"
            }, {
              "type" : "object",
              "description" : "Indicates that the session request should use an existing namespace",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "use_existing" ],
                  "title" : "String"
                },
                "name" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "name", "type" ],
              "title" : "use_existing"
            } ],
            "description" : "A description of what namespace this session should run in",
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "SessionNamespaceProvider"
          },
          "execution" : {
            "anyOf" : [ {
              "type" : "object",
              "description" : "The session's execution is deferred.  A deferred execution must be executed manually later",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "enum" : [ "defer" ],
                  "title" : "String"
                }
              },
              "required" : [ "mode" ],
              "title" : "defer"
            }, {
              "type" : "object",
              "description" : "The session should be executed immediately with the specified runtime settings",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "enum" : [ "immediate" ],
                  "title" : "String"
                },
                "runtimeSettings" : {
                  "$ref" : "#/components/schemas/SessionRuntimeSettings"
                }
              },
              "required" : [ "mode" ],
              "title" : "immediate"
            } ],
            "discriminator" : {
              "propertyName" : "mode"
            },
            "title" : "SessionRequestExecution"
          },
          "budgetSettings" : {
            "$ref" : "#/components/schemas/SessionBudgetSettings",
            "description" : "Budget settings for this session.  See SessionBudgetSettings for more information"
          },
          "annotations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "agentGraphRequest", "namespaceProvider" ],
        "title" : "SessionRequest"
      },
      "SessionIdentifier" : {
        "type" : "object",
        "properties" : {
          "namespace" : {
            "type" : "string",
            "description" : "The namespace that this session belongs in",
            "title" : "String"
          },
          "sessionId" : {
            "type" : "string",
            "description" : "The unique identifier for the session",
            "title" : "String"
          }
        },
        "required" : [ "namespace", "sessionId" ],
        "title" : "SessionIdentifier"
      },
      "RouteException" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "message" ],
        "title" : "RouteException"
      },
      "SessionNamespaceStateExtended" : {
        "type" : "object",
        "description" : "The extended state of a namespace, including all sessions",
        "properties" : {
          "base" : {
            "$ref" : "#/components/schemas/SessionNamespaceStateBase",
            "description" : "Base namespace state"
          },
          "sessions" : {
            "type" : "array",
            "description" : "A list of sessions that exist inside this namespace",
            "items" : {
              "$ref" : "#/components/schemas/SessionStateBase"
            },
            "title" : "ArrayList<SessionStateBase>"
          }
        },
        "required" : [ "base", "sessions" ],
        "title" : "SessionNamespaceStateExtended"
      },
      "AgentRegistrySource" : {
        "type" : "object",
        "properties" : {
          "identifier" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "linked" ],
                  "title" : "String"
                },
                "linkedServerId" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "linkedServerId", "type" ],
              "title" : "linked"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "local" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "local"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "marketplace" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "marketplace"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "AgentRegistrySourceIdentifier"
          },
          "timestamp" : {
            "type" : "string",
            "title" : "UTC timestamp ISO-8601"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "agents" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RegistryAgentCatalog"
            },
            "title" : "ArrayList<RegistryAgentCatalog>"
          }
        },
        "required" : [ "agents", "identifier", "name", "timestamp" ],
        "title" : "AgentRegistrySource"
      },
      "RegistryAgentCatalog" : {
        "type" : "object",
        "description" : "A catalog describing an agent and it's available versions",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The agent's registry name",
            "title" : "String"
          },
          "versions" : {
            "type" : "array",
            "description" : "All versions this agent is available in",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "name", "versions" ],
        "title" : "RegistryAgentCatalog"
      },
      "RegistryAgent" : {
        "type" : "object",
        "properties" : {
          "info" : {
            "$ref" : "#/components/schemas/RegistryAgentInfo"
          },
          "edition" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "runtimes" : {
            "$ref" : "#/components/schemas/runtime"
          },
          "options" : {
            "type" : "object",
            "additionalProperties" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "blob" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/BlobAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "blob"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[blob]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/BlobAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[blob]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "bool" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "bool"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i8" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "maximum" : 127,
                    "minimum" : -128,
                    "title" : "Byte"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ByteAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "i8"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i8]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 127,
                      "minimum" : -128,
                      "title" : "Byte"
                    },
                    "title" : "ArrayList<Byte>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ByteAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[i8]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "f64" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "number",
                    "format" : "double",
                    "title" : "Double"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/DoubleAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "f64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[f64]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "number",
                      "format" : "double",
                      "title" : "Double"
                    },
                    "title" : "ArrayList<Double>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/DoubleAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[f64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "f32" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "number",
                    "format" : "float",
                    "title" : "Float"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/FloatAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "f32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[f32]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "number",
                      "format" : "float",
                      "title" : "Float"
                    },
                    "title" : "ArrayList<Float>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/FloatAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[f32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i32" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "format" : "int32",
                    "title" : "Int"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/IntAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "i32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i32]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "format" : "int32",
                      "title" : "Int"
                    },
                    "title" : "ArrayList<Int>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/IntAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[i32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i64" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "format" : "int64",
                    "title" : "Long"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/LongAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "i64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i64]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "format" : "int64",
                      "title" : "Long"
                    },
                    "title" : "ArrayList<Long>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/LongAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[i64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "i16" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "maximum" : 32767,
                    "minimum" : -32768,
                    "title" : "Short"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ShortAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "i16"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[i16]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 32767,
                      "minimum" : -32768,
                      "title" : "Short"
                    },
                    "title" : "ArrayList<Short>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ShortAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[i16]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "string" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/StringAgentOptionValidation"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "secret" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "string"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[string]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/StringAgentOptionValidation"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "secret" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[string]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u8" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "maximum" : 255,
                    "minimum" : 0,
                    "title" : "UByte"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UByteAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "u8"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u8]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 255,
                      "minimum" : 0,
                      "title" : "UByte"
                    },
                    "title" : "ArrayList<UByte>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UByteAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[u8]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u32" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "maximum" : 4294967295,
                    "minimum" : 0,
                    "title" : "UInt"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UIntAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "u32"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u32]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 4294967295,
                      "minimum" : 0,
                      "title" : "UInt"
                    },
                    "title" : "ArrayList<UInt>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UIntAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[u32]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u64" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ULongAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "u64"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u64]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/ULongAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[u64]"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "u16" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "integer",
                    "maximum" : 65535,
                    "minimum" : 0,
                    "title" : "UShort"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UShortAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "u16"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "list[u16]" ],
                    "title" : "String"
                  },
                  "default" : {
                    "type" : "array",
                    "items" : {
                      "type" : "integer",
                      "maximum" : 65535,
                      "minimum" : 0,
                      "title" : "UShort"
                    },
                    "title" : "ArrayList<UShort>"
                  },
                  "validation" : {
                    "$ref" : "#/components/schemas/UShortAgentOptionValidation"
                  },
                  "required" : {
                    "type" : "boolean",
                    "title" : "Boolean"
                  },
                  "display" : {
                    "$ref" : "#/components/schemas/AgentOptionDisplay"
                  },
                  "transport" : {
                    "$ref" : "#/components/schemas/AgentOptionTransport"
                  }
                },
                "required" : [ "type" ],
                "title" : "list[u16]"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "AgentOption"
            },
            "title" : "HashMap<String,AgentOption>"
          },
          "llm" : {
            "$ref" : "#/components/schemas/AgentLlmConfig"
          },
          "marketplace" : {
            "$ref" : "#/components/schemas/RegistryAgentMarketplaceSettings"
          },
          "dependencies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RegistryAgentDependency"
            },
            "title" : "ArrayList<RegistryAgentDependency>"
          },
          "claimTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RegistryAgentClaimType"
            },
            "title" : "ArrayList<RegistryAgentClaimType>"
          }
        },
        "required" : [ "claimTypes", "dependencies", "edition", "info", "options", "runtimes" ],
        "title" : "RegistryAgent"
      },
      "RegistryAgentInfo" : {
        "type" : "object",
        "properties" : {
          "capabilities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentCapability"
            },
            "title" : "LinkedHashSet<AgentCapability>",
            "uniqueItems" : true
          },
          "identifier" : {
            "$ref" : "#/components/schemas/RegistryAgentIdentifier"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "readme" : {
            "type" : "string",
            "title" : "String"
          },
          "summary" : {
            "type" : "string",
            "title" : "String"
          },
          "license" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "spdx" ],
                  "title" : "String"
                },
                "expression" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "expression", "type" ],
              "title" : "spdx"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "text" ],
                  "title" : "String"
                },
                "text" : {
                  "type" : "string",
                  "title" : "String"
                }
              },
              "required" : [ "text", "type" ],
              "title" : "text"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "RegistryAgentLicense"
          },
          "keywords" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "links" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "capabilities", "description", "identifier", "license", "readme", "summary" ],
        "title" : "RegistryAgentInfo"
      },
      "AgentCapability" : {
        "type" : "string",
        "enum" : [ "resources", "tool_refreshing" ],
        "title" : "AgentCapability"
      },
      "runtime" : {
        "type" : "object",
        "properties" : {
          "executable" : {
            "$ref" : "#/components/schemas/executable"
          },
          "docker" : {
            "$ref" : "#/components/schemas/docker"
          },
          "function" : {
            "$ref" : "#/components/schemas/FunctionRuntime"
          },
          "prototype" : {
            "$ref" : "#/components/schemas/PrototypeRuntime"
          }
        },
        "title" : "runtime"
      },
      "executable" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "arguments" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "transport" : {
            "$ref" : "#/components/schemas/McpTransportType"
          }
        },
        "required" : [ "arguments", "path", "transport" ],
        "title" : "executable"
      },
      "McpTransportType" : {
        "type" : "string",
        "enum" : [ "sse", "streamable_http" ],
        "title" : "McpTransportType"
      },
      "docker" : {
        "type" : "object",
        "properties" : {
          "image" : {
            "type" : "string",
            "title" : "String"
          },
          "transport" : {
            "$ref" : "#/components/schemas/McpTransportType"
          },
          "command" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "image", "transport" ],
        "title" : "docker"
      },
      "FunctionRuntime" : {
        "type" : "object",
        "properties" : {
          "transport" : {
            "$ref" : "#/components/schemas/McpTransportType"
          }
        },
        "required" : [ "transport" ],
        "title" : "FunctionRuntime"
      },
      "PrototypeRuntime" : {
        "type" : "object",
        "properties" : {
          "volatile" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/PrototypeString"
          },
          "client" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "anthropic" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "anthropic"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "deepseek" ],
                  "title" : "String"
                },
                "strict" : {
                  "type" : "boolean",
                  "title" : "Boolean"
                }
              },
              "required" : [ "strict", "type" ],
              "title" : "deepseek"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "openai" ],
                  "title" : "String"
                },
                "strict" : {
                  "type" : "boolean",
                  "title" : "Boolean"
                }
              },
              "required" : [ "strict", "type" ],
              "title" : "openai"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "openrouter" ],
                  "title" : "String"
                },
                "strict" : {
                  "type" : "boolean",
                  "title" : "Boolean"
                }
              },
              "required" : [ "strict", "type" ],
              "title" : "openrouter"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "PrototypeClient"
          },
          "iterations" : {
            "$ref" : "#/components/schemas/PrototypeInteger"
          },
          "delay" : {
            "$ref" : "#/components/schemas/PrototypeInteger"
          },
          "prompts" : {
            "$ref" : "#/components/schemas/PrototypePrompts"
          },
          "tools" : {
            "type" : "array",
            "items" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "mcp_sse" ],
                    "title" : "String"
                  },
                  "url" : {
                    "$ref" : "#/components/schemas/PrototypeString"
                  },
                  "auth" : {
                    "anyOf" : [ {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "authorization_header" ],
                          "title" : "String"
                        },
                        "header" : {
                          "$ref" : "#/components/schemas/PrototypeString"
                        }
                      },
                      "required" : [ "header", "type" ],
                      "title" : "authorization_header"
                    }, {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "bearer" ],
                          "title" : "String"
                        },
                        "token" : {
                          "$ref" : "#/components/schemas/PrototypeString"
                        }
                      },
                      "required" : [ "token", "type" ],
                      "title" : "bearer"
                    }, {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "none" ],
                          "title" : "String"
                        }
                      },
                      "required" : [ "type" ],
                      "title" : "none"
                    } ],
                    "discriminator" : {
                      "propertyName" : "type"
                    },
                    "title" : "PrototypeToolServerAuth"
                  }
                },
                "required" : [ "auth", "type", "url" ],
                "title" : "mcp_sse"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "mcp_streamable_http" ],
                    "title" : "String"
                  },
                  "url" : {
                    "$ref" : "#/components/schemas/PrototypeString"
                  },
                  "auth" : {
                    "anyOf" : [ {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "authorization_header" ],
                          "title" : "String"
                        },
                        "header" : {
                          "$ref" : "#/components/schemas/PrototypeString"
                        }
                      },
                      "required" : [ "header", "type" ],
                      "title" : "authorization_header"
                    }, {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "bearer" ],
                          "title" : "String"
                        },
                        "token" : {
                          "$ref" : "#/components/schemas/PrototypeString"
                        }
                      },
                      "required" : [ "token", "type" ],
                      "title" : "bearer"
                    }, {
                      "type" : "object",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "enum" : [ "none" ],
                          "title" : "String"
                        }
                      },
                      "required" : [ "type" ],
                      "title" : "none"
                    } ],
                    "discriminator" : {
                      "propertyName" : "type"
                    },
                    "title" : "PrototypeToolServerAuth"
                  }
                },
                "required" : [ "auth", "type", "url" ],
                "title" : "mcp_streamable_http"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "PrototypeToolServer"
            },
            "title" : "ArrayList<PrototypeToolServer>"
          }
        },
        "required" : [ "delay", "iterations", "prompts", "proxy", "tools", "volatile" ],
        "title" : "PrototypeRuntime"
      },
      "PrototypeString" : {
        "type" : "object",
        "properties" : { },
        "title" : "PrototypeString"
      },
      "PrototypeInteger" : {
        "type" : "object",
        "properties" : { },
        "title" : "PrototypeInteger"
      },
      "PrototypePrompts" : {
        "type" : "object",
        "properties" : {
          "system" : {
            "$ref" : "#/components/schemas/PrototypeSystemPrompt"
          },
          "loop" : {
            "$ref" : "#/components/schemas/PrototypeLoopPrompt"
          }
        },
        "required" : [ "loop", "system" ],
        "title" : "PrototypePrompts"
      },
      "PrototypeSystemPrompt" : {
        "type" : "object",
        "properties" : {
          "base" : {
            "$ref" : "#/components/schemas/PrototypeString"
          },
          "extra" : {
            "$ref" : "#/components/schemas/PrototypeString"
          }
        },
        "required" : [ "base" ],
        "title" : "PrototypeSystemPrompt"
      },
      "PrototypeLoopPrompt" : {
        "type" : "object",
        "properties" : {
          "initial" : {
            "$ref" : "#/components/schemas/PrototypeLoopInitialPrompt"
          },
          "followup" : {
            "$ref" : "#/components/schemas/PrototypeString"
          }
        },
        "required" : [ "followup", "initial" ],
        "title" : "PrototypeLoopPrompt"
      },
      "PrototypeLoopInitialPrompt" : {
        "type" : "object",
        "properties" : {
          "base" : {
            "$ref" : "#/components/schemas/PrototypeString"
          },
          "extra" : {
            "$ref" : "#/components/schemas/PrototypeString"
          }
        },
        "required" : [ "base" ],
        "title" : "PrototypeLoopInitialPrompt"
      },
      "BlobAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "min_size" : {
            "$ref" : "#/components/schemas/ByteSize"
          },
          "max_size" : {
            "$ref" : "#/components/schemas/ByteSize"
          }
        },
        "title" : "BlobAgentOptionValidation"
      },
      "ByteSize" : {
        "type" : "object",
        "properties" : { },
        "title" : "ByteSize"
      },
      "AgentOptionDisplay" : {
        "type" : "object",
        "properties" : {
          "label" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "group" : {
            "type" : "string",
            "title" : "String"
          },
          "multiline" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "title" : "AgentOptionDisplay"
      },
      "AgentOptionTransport" : {
        "type" : "string",
        "enum" : [ "env", "fs" ],
        "title" : "AgentOptionTransport"
      },
      "ByteAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ArrayList<Byte>"
          },
          "min" : {
            "type" : "integer",
            "maximum" : 127,
            "minimum" : -128,
            "title" : "Byte"
          },
          "max" : {
            "type" : "integer",
            "maximum" : 127,
            "minimum" : -128,
            "title" : "Byte"
          }
        },
        "title" : "ByteAgentOptionValidation"
      },
      "DoubleAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double",
              "title" : "Double"
            },
            "title" : "ArrayList<Double>"
          },
          "min" : {
            "type" : "number",
            "format" : "double",
            "title" : "Double"
          },
          "max" : {
            "type" : "number",
            "format" : "double",
            "title" : "Double"
          }
        },
        "title" : "DoubleAgentOptionValidation"
      },
      "FloatAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "float",
              "title" : "Float"
            },
            "title" : "ArrayList<Float>"
          },
          "min" : {
            "type" : "number",
            "format" : "float",
            "title" : "Float"
          },
          "max" : {
            "type" : "number",
            "format" : "float",
            "title" : "Float"
          }
        },
        "title" : "FloatAgentOptionValidation"
      },
      "IntAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32",
              "title" : "Int"
            },
            "title" : "ArrayList<Int>"
          },
          "min" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "max" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "title" : "IntAgentOptionValidation"
      },
      "LongAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64",
              "title" : "Long"
            },
            "title" : "ArrayList<Long>"
          },
          "min" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "max" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "title" : "LongAgentOptionValidation"
      },
      "ShortAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 32767,
              "minimum" : -32768,
              "title" : "Short"
            },
            "title" : "ArrayList<Short>"
          },
          "min" : {
            "type" : "integer",
            "maximum" : 32767,
            "minimum" : -32768,
            "title" : "Short"
          },
          "max" : {
            "type" : "integer",
            "maximum" : 32767,
            "minimum" : -32768,
            "title" : "Short"
          }
        },
        "title" : "ShortAgentOptionValidation"
      },
      "StringAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "min_length" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "max_length" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "regex" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "StringAgentOptionValidation"
      },
      "UByteAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 255,
              "minimum" : 0,
              "title" : "UByte"
            },
            "title" : "ArrayList<UByte>"
          },
          "min" : {
            "type" : "integer",
            "maximum" : 255,
            "minimum" : 0,
            "title" : "UByte"
          },
          "max" : {
            "type" : "integer",
            "maximum" : 255,
            "minimum" : 0,
            "title" : "UByte"
          }
        },
        "title" : "UByteAgentOptionValidation"
      },
      "UIntAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 4294967295,
              "minimum" : 0,
              "title" : "UInt"
            },
            "title" : "ArrayList<UInt>"
          },
          "min" : {
            "type" : "integer",
            "maximum" : 4294967295,
            "minimum" : 0,
            "title" : "UInt"
          },
          "max" : {
            "type" : "integer",
            "maximum" : 4294967295,
            "minimum" : 0,
            "title" : "UInt"
          }
        },
        "title" : "UIntAgentOptionValidation"
      },
      "ULongAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "title" : "ULong"
            },
            "title" : "ArrayList<ULong>"
          },
          "min" : {
            "type" : "integer",
            "title" : "ULong"
          },
          "max" : {
            "type" : "integer",
            "title" : "ULong"
          }
        },
        "title" : "ULongAgentOptionValidation"
      },
      "UShortAgentOptionValidation" : {
        "type" : "object",
        "properties" : {
          "variants" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 65535,
              "minimum" : 0,
              "title" : "UShort"
            },
            "title" : "ArrayList<UShort>"
          },
          "min" : {
            "type" : "integer",
            "maximum" : 65535,
            "minimum" : 0,
            "title" : "UShort"
          },
          "max" : {
            "type" : "integer",
            "maximum" : 65535,
            "minimum" : 0,
            "title" : "UShort"
          }
        },
        "title" : "UShortAgentOptionValidation"
      },
      "AgentLlmConfig" : {
        "type" : "object",
        "properties" : {
          "proxies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentLlmProxyRequest"
            },
            "title" : "ArrayList<AgentLlmProxyRequest>"
          }
        },
        "required" : [ "proxies" ],
        "title" : "AgentLlmConfig"
      },
      "AgentLlmProxyRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "Anthropic" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "Anthropic"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "DeepSeek" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "DeepSeek"
            }, {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "OpenAI" ],
                  "title" : "String"
                }
              },
              "required" : [ "type" ],
              "title" : "OpenAI"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "LlmProviderFormat"
          },
          "models" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          }
        },
        "required" : [ "format", "models", "name" ],
        "title" : "AgentLlmProxyRequest"
      },
      "RegistryAgentMarketplaceSettings" : {
        "type" : "object",
        "properties" : {
          "keywords" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "pricing" : {
            "$ref" : "#/components/schemas/RegistryAgentMarketplacePricing"
          },
          "identities" : {
            "$ref" : "#/components/schemas/RegistryAgentMarketplaceIdentities"
          }
        },
        "title" : "RegistryAgentMarketplaceSettings"
      },
      "RegistryAgentMarketplacePricing" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "recommendations" : {
            "$ref" : "#/components/schemas/RegistryAgentMarketplacePricingRecommendations"
          },
          "currency" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "recommendations" ],
        "title" : "RegistryAgentMarketplacePricing"
      },
      "RegistryAgentMarketplacePricingRecommendations" : {
        "type" : "object",
        "properties" : {
          "min" : {
            "type" : "number",
            "format" : "double",
            "title" : "Double"
          },
          "max" : {
            "type" : "number",
            "format" : "double",
            "title" : "Double"
          }
        },
        "required" : [ "max", "min" ],
        "title" : "RegistryAgentMarketplacePricingRecommendations"
      },
      "RegistryAgentMarketplaceIdentities" : {
        "type" : "object",
        "properties" : {
          "erc8004" : {
            "$ref" : "#/components/schemas/RegistryAgentMarketplaceIdentityErc8004"
          }
        },
        "title" : "RegistryAgentMarketplaceIdentities"
      },
      "RegistryAgentMarketplaceIdentityErc8004" : {
        "type" : "object",
        "properties" : {
          "wallet" : {
            "type" : "string",
            "title" : "String"
          },
          "endpoints" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Erc8004Endpoint"
            },
            "title" : "ArrayList<Erc8004Endpoint>"
          }
        },
        "required" : [ "wallet" ],
        "title" : "RegistryAgentMarketplaceIdentityErc8004"
      },
      "Erc8004Endpoint" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "endpoint" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "endpoint", "name" ],
        "title" : "Erc8004Endpoint"
      },
      "RegistryAgentDependency" : {
        "type" : "object",
        "description" : "A dependency that must be provided to use this agent. Dependencies are powered by options. If a dependency is only provided options that are not required, the dependency is effectively optional.",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The unique name of this dependency",
            "title" : "String"
          },
          "options" : {
            "type" : "array",
            "description" : "A list of options associated with this dependency",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "name", "options" ],
        "title" : "RegistryAgentDependency"
      },
      "RestrictedRegistryAgent" : {
        "type" : "object",
        "properties" : {
          "registryAgent" : {
            "$ref" : "#/components/schemas/RegistryAgent"
          },
          "restrictions" : {
            "type" : "array",
            "items" : {
              "anyOf" : [ {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "linked" ],
                    "title" : "String"
                  },
                  "linkedServerId" : {
                    "type" : "string",
                    "title" : "String"
                  }
                },
                "required" : [ "linkedServerId", "type" ],
                "title" : "linked"
              }, {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "local" ],
                    "title" : "String"
                  }
                },
                "required" : [ "type" ],
                "title" : "local"
              }, {
                "type" : "object",
                "description" : "This agent can only be run on remote servers",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "remote" ],
                    "title" : "String"
                  }
                },
                "required" : [ "type" ],
                "title" : "remote"
              } ],
              "discriminator" : {
                "propertyName" : "type"
              },
              "title" : "RegistryAgentRestriction"
            },
            "title" : "LinkedHashSet<RegistryAgentRestriction>",
            "uniqueItems" : true
          },
          "extension" : {
            "anyOf" : [ {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "marketplace" ],
                  "title" : "String"
                },
                "iconUrl" : {
                  "type" : "string",
                  "title" : "String"
                },
                "developer" : {
                  "type" : "string",
                  "title" : "String"
                },
                "publishedAt" : {
                  "type" : "string",
                  "title" : "UTC timestamp ISO-8601"
                }
              },
              "required" : [ "publishedAt", "type" ],
              "title" : "marketplace"
            } ],
            "discriminator" : {
              "propertyName" : "type"
            },
            "title" : "RegistryAgentExtension"
          }
        },
        "required" : [ "registryAgent", "restrictions" ],
        "title" : "RestrictedRegistryAgent"
      },
      "CreateThreadInput" : {
        "type" : "object",
        "properties" : {
          "threadName" : {
            "type" : "string",
            "description" : "The name of the thread to create, this should be a short summary of the intended topic",
            "title" : "String"
          },
          "participantNames" : {
            "type" : "array",
            "description" : "The list of participants to include in the thread, this should include any agent that is expected to be involved in the thread's topic.  You do not need to include yourself in this list.",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "participantNames", "threadName" ],
        "title" : "CreateThreadInput"
      },
      "CreateThreadOutput" : {
        "type" : "object",
        "properties" : {
          "thread" : {
            "$ref" : "#/components/schemas/SessionThread"
          }
        },
        "required" : [ "thread" ],
        "title" : "CreateThreadOutput"
      },
      "CloseThreadInput" : {
        "type" : "object",
        "properties" : {
          "threadId" : {
            "type" : "string",
            "description" : "The unique identifier for the thread to close",
            "title" : "String"
          },
          "summary" : {
            "type" : "string",
            "description" : "A shortened summary of all important details in this thread.  This could also be considered the thread's \"conclusion\".",
            "title" : "String"
          }
        },
        "required" : [ "summary", "threadId" ],
        "title" : "CloseThreadInput"
      },
      "SendMessageInput" : {
        "type" : "object",
        "properties" : {
          "threadId" : {
            "type" : "string",
            "description" : "The unique identifier for the thread to send a message in",
            "title" : "String"
          },
          "content" : {
            "type" : "string",
            "description" : "The content of the message to send",
            "title" : "String"
          },
          "mentions" : {
            "type" : "array",
            "description" : "",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "content", "mentions", "threadId" ],
        "title" : "SendMessageInput"
      },
      "SendMessageOutput" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "title" : "String"
          },
          "message" : {
            "$ref" : "#/components/schemas/SessionThreadMessage"
          }
        },
        "required" : [ "message", "status" ],
        "title" : "SendMessageOutput"
      },
      "AddParticipantInput" : {
        "type" : "object",
        "properties" : {
          "threadId" : {
            "type" : "string",
            "description" : "The unique identifier for the thread to add participants to",
            "title" : "String"
          },
          "participantName" : {
            "type" : "string",
            "description" : "The name of the agent to add as a participant to the thread",
            "title" : "String"
          }
        },
        "required" : [ "participantName", "threadId" ],
        "title" : "AddParticipantInput"
      },
      "RemoveParticipantInput" : {
        "type" : "object",
        "properties" : {
          "threadId" : {
            "type" : "string",
            "description" : "The unique identifier for the thread to remove participants from",
            "title" : "String"
          },
          "participantName" : {
            "type" : "string",
            "description" : "The name of the agent to remove as a participant of the thread",
            "title" : "String"
          }
        },
        "required" : [ "participantName", "threadId" ],
        "title" : "RemoveParticipantInput"
      },
      "AgentClaimRequest" : {
        "type" : "object",
        "properties" : {
          "claimTypeName" : {
            "type" : "string",
            "description" : "The name of the claim type. This claim type must be defined in the agent's coral-agent.toml file",
            "title" : "String"
          },
          "quantity" : {
            "type" : "integer",
            "description" : "The amount of the claim type to claim. The cost of this claim will be multiplied by this value.",
            "maximum" : 4294967295,
            "minimum" : 0,
            "title" : "UInt"
          },
          "additionalDescription" : {
            "type" : "string",
            "description" : "An additional description of the claim, clamped at 256 characters long",
            "title" : "String"
          },
          "autoKill" : {
            "type" : "boolean",
            "description" : "Set this to false if the agent wants to handle budget exhaustion itself. Budget settings may kill agents on budget exhaustion even if this is set to false",
            "title" : "Boolean"
          }
        },
        "required" : [ "autoKill", "claimTypeName" ],
        "title" : "AgentClaimRequest"
      },
      "X402ProxyRequest" : {
        "type" : "object",
        "description" : "A proxied request to a service that potentially requests x402 payment",
        "properties" : {
          "endpoint" : {
            "type" : "string",
            "description" : "The full endpoint of the target API",
            "title" : "String"
          },
          "method" : {
            "type" : "string",
            "description" : "The API method, e.g. POST, GET, DELETE, etc",
            "title" : "String"
          },
          "body" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/JsonElement"
            },
            "description" : "The body of the request",
            "title" : "JsonObject<String,JsonElement>"
          }
        },
        "required" : [ "body", "endpoint", "method" ],
        "title" : "X402ProxyRequest"
      },
      "X402ProxiedResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "body" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "body", "code" ],
        "title" : "X402ProxiedResponse"
      }
    },
    "examples" : { },
    "securitySchemes" : {
      "token" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "Configured token"
      },
      "agentSecret" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "Generated agent secret"
      }
    }
  },
  "webhooks" : { }
}