Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
238 changes: 238 additions & 0 deletions schema/draft/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,40 @@
},
"type": "object"
},
"AsyncOperation": {
"description": "Information about an asynchronous operation.",
"properties": {
"errorMessage": {
"description": "Error message if the operation failed.",
"type": "string"
},
"expiryInterval": {
"description": "Time in seconds when the operation will expire.",
"type": "integer"
},
"requestId": {
"description": "The ID of the request that created this operation.",
"type": [
"string",
"integer"
]
},
"resourceUri": {
"description": "The URI of the resource that will contain the result when ready.",
"type": "string"
},
"status": {
"$ref": "#/definitions/OperationStatus",
"description": "Current status of the operation."
}
},
"required": [
"requestId",
"resourceUri",
"status"
],
"type": "object"
},
"AudioContent": {
"description": "Audio provided to or from an LLM.",
"properties": {
Expand Down Expand Up @@ -92,6 +126,58 @@
],
"type": "object"
},
"CallToolAsyncRequest": {
"description": "Used by the client to invoke a tool asynchronously.",
"properties": {
"method": {
"const": "tools/callAsync",
"type": "string"
},
"params": {
"$ref": "#/definitions/CallToolAsyncRequestParams"
}
},
"required": [
"method",
"params"
],
"type": "object"
},
"CallToolAsyncRequestParams": {
"description": "Parameters for calling a tool asynchronously.",
"properties": {
"arguments": {
"additionalProperties": {},
"description": "Arguments to pass to the tool.",
"type": "object"
},
"keepAlive": {
"description": "Number of seconds to keep the result available.",
"type": "integer"
},
"name": {
"description": "Name of the tool to call.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"CallToolAsyncResult": {
"description": "The server's response to an asynchronous tool call request.",
"properties": {
"operation": {
"$ref": "#/definitions/AsyncOperation",
"description": "Information about the asynchronous operation."
}
},
"required": [
"operation"
],
"type": "object"
},
"CallToolRequest": {
"description": "Used by the client to invoke a tool provided by the server.",
"properties": {
Expand Down Expand Up @@ -164,6 +250,52 @@
],
"type": "object"
},
"CancelOperationRequest": {
"description": "Used by the client to cancel an operation.",
"properties": {
"method": {
"const": "operations/cancel",
"type": "string"
},
"params": {
"$ref": "#/definitions/CancelOperationRequestParams"
}
},
"required": [
"method",
"params"
],
"type": "object"
},
"CancelOperationRequestParams": {
"description": "Parameters for cancelling an operation.",
"properties": {
"requestId": {
"description": "The ID of the request to cancel.",
"type": [
"string",
"integer"
]
}
},
"required": [
"requestId"
],
"type": "object"
},
"CancelOperationResult": {
"description": "The server's response to an operation cancellation request.",
"properties": {
"operation": {
"$ref": "#/definitions/AsyncOperation",
"description": "The updated state of the operation."
}
},
"required": [
"operation"
],
"type": "object"
},
"CancelledNotification": {
"description": "This notification can be sent by either side to indicate that it is cancelling a previously-issued request.\n\nThe request SHOULD still be in-flight, but due to communication latency, it is always possible that this notification MAY arrive after the request has already finished.\n\nThis notification indicates that the result will be unused, so any associated processing SHOULD cease.\n\nA client MUST NOT attempt to cancel its `initialize` request.",
"properties": {
Expand Down Expand Up @@ -646,6 +778,52 @@
],
"type": "object"
},
"GetOperationRequest": {
"description": "Used by the client to check an operation's status.",
"properties": {
"method": {
"const": "operations/get",
"type": "string"
},
"params": {
"$ref": "#/definitions/GetOperationRequestParams"
}
},
"required": [
"method",
"params"
],
"type": "object"
},
"GetOperationRequestParams": {
"description": "Parameters for getting the status of an operation.",
"properties": {
"requestId": {
"description": "The ID of the request to check.",
"type": [
"string",
"integer"
]
}
},
"required": [
"requestId"
],
"type": "object"
},
"GetOperationResult": {
"description": "The server's response to an operation status check.",
"properties": {
"operation": {
"$ref": "#/definitions/AsyncOperation",
"description": "The current state of the operation."
}
},
"required": [
"operation"
],
"type": "object"
},
"GetPromptRequest": {
"description": "Used by the client to get a prompt provided by the server.",
"properties": {
Expand Down Expand Up @@ -1217,6 +1395,50 @@
],
"type": "object"
},
"ListToolsAsyncRequest": {
"properties": {
"method": {
"const": "tools/listAsync",
"type": "string"
},
"params": {
"properties": {
"cursor": {
"description": "An opaque token representing the current pagination position.\nIf provided, the server should return results starting after this cursor.",
"type": "string"
}
},
"type": "object"
}
},
"required": [
"method"
],
"type": "object"
},
"ListToolsAsyncResult": {
"properties": {
"_meta": {
"additionalProperties": {},
"description": "This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.",
"type": "object"
},
"nextCursor": {
"description": "An opaque token representing the pagination position after the last returned result.\nIf present, there may be more results available.",
"type": "string"
},
"tools": {
"items": {
"$ref": "#/definitions/Tool"
},
"type": "array"
}
},
"required": [
"tools"
],
"type": "object"
},
"ListToolsRequest": {
"description": "Sent from the client to request a list of tools the server has.",
"properties": {
Expand Down Expand Up @@ -1401,6 +1623,18 @@
],
"type": "object"
},
"OperationStatus": {
"description": "The status of an asynchronous operation.",
"enum": [
"ACTIVE",
"DELETE_UNSUCCESSFUL",
"DELETING",
"FAILED",
"PENDING",
"UPDATING"
],
"type": "string"
},
"PaginatedRequest": {
"properties": {
"method": {
Expand Down Expand Up @@ -2243,6 +2477,10 @@
"$ref": "#/definitions/ToolAnnotations",
"description": "Optional additional tool information."
},
"async": {
"description": "If true, the tool is asynchronous.\n\nDefault: false",
"type": "boolean"
},
"description": {
"description": "A human-readable description of the tool.\n\nThis can be used by clients to improve the LLM's understanding of available tools. It can be thought of like a \"hint\" to the model.",
"type": "string"
Expand Down
Loading