From 45808e7b0e77eb5eddf621e5a6136f65a60868f2 Mon Sep 17 00:00:00 2001 From: Nate Barbettini Date: Sat, 15 Mar 2025 13:04:27 -0700 Subject: [PATCH 1/2] fix: Errata for 1.0-draft --- spec/http/1.0/openapi.json | 59 ++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/spec/http/1.0/openapi.json b/spec/http/1.0/openapi.json index abc92a7..c47601e 100644 --- a/spec/http/1.0/openapi.json +++ b/spec/http/1.0/openapi.json @@ -66,14 +66,14 @@ "type": "string", "format": "uri" }, - "tools": { + "items": { "type": "array", "items": { "$ref": "#/components/schemas/ToolDefinition" } } }, - "required": ["tools"] + "required": ["items"] } } } @@ -222,15 +222,8 @@ }, "input_schema": { "type": "object", - "properties": { - "parameters": { - "type": "object", - "additionalProperties": true, - "description": "JSON Schema describing the input parameters for the tool. Supports standard JSON Schema validation but excludes $ref and definitions/schemas for simplicity." - } - }, - "required": ["parameters"], - "additionalProperties": true + "additionalProperties": true, + "description": "JSON Schema describing the input parameters for the tool. Supports standard JSON Schema validation but excludes $ref and definitions/schemas for simplicity." }, "output_schema": { "oneOf": [ @@ -298,13 +291,7 @@ "additionalProperties": true } }, - "required": [ - "id", - "name", - "description", - "input_schema", - "output_schema" - ], + "required": ["id", "name", "description", "version"], "additionalProperties": false }, "CallToolRequest": { @@ -430,6 +417,23 @@ "developer_message": { "type": "string", "description": "An internal message that will be logged but will not be shown to the user or the AI model" + }, + "missing_requirements": { + "type": "object", + "description": "A map of missing requirements.", + "properties": { + "authorization": { + "type": "array", + "description": "A list of authorization challenges that must be completed before the tool can be called.", + "items": { + "$ref": "#/components/schemas/ToolAuthorizationChallenge" + } + }, + "user_id": { + "type": "boolean", + "description": "Whether the tool requires a user ID." + } + } } }, "required": ["message"], @@ -454,6 +458,25 @@ "required": ["message"], "additionalProperties": true }, + "ToolAuthorizationChallenge": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for the authorization challenge." + }, + "url": { + "type": "string", + "description": "The URL the user must visit to complete the authorization challenge." + }, + "check_url": { + "type": "string", + "description": "The URL to check the status of the authorization challenge." + } + }, + "required": ["id", "url"], + "additionalProperties": false + }, "ToolError": { "type": "object", "description": "An error that occurred inside the tool function.", From bb618c4bcf1115b4345e05096cca4d4cead2183b Mon Sep 17 00:00:00 2001 From: Nate Barbettini Date: Sat, 15 Mar 2025 14:51:13 -0700 Subject: [PATCH 2/2] Fix name --- spec/http/1.0/openapi.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/http/1.0/openapi.json b/spec/http/1.0/openapi.json index c47601e..6388641 100644 --- a/spec/http/1.0/openapi.json +++ b/spec/http/1.0/openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.1.0", "info": { - "title": "Open Tool Calling Standard", + "title": "Open eXecution Protocol (OXP) Standard", "version": "1.0.0", "description": "A standard for calling tools (functions or services) in a distributed system.", "license": { @@ -9,7 +9,7 @@ "url": "https://opensource.org/licenses/MIT" }, "contact": { - "url": "https://opentoolcalling.org" + "url": "https://openexecprotocol.org" } }, "paths": {