diff --git a/index.bs b/index.bs index 242ffbc..6a443c8 100644 --- a/index.bs +++ b/index.bs @@ -775,8 +775,12 @@ The getTools(options) method steps :: |tool definition|'s [=tool definition/description=] : {{RegisteredTool/inputSchema}} - :: |tool definition|'s [=tool definition/input schema=] if it is not the empty string; - otherwise undefined. + :: the result of [=parse a JSON string to a JavaScript value=] given |tool + definition|'s [=tool definition/input schema=], if |tool definition|'s [=tool + definition/input schema=] is not the empty string; otherwise undefined. + + Note: This will never throw an exception, because the string stored in the tool + definition is always a valid JSON string. : {{RegisteredTool/window}} :: |targetDocument|'s [=relevant global object=] @@ -1121,7 +1125,7 @@ dictionary RegisteredTool { // done, and there's no need to do it again on tool exposure. DOMString title; required DOMString description; - DOMString inputSchema; + object inputSchema; required Window window; required USVString origin; ToolAnnotations annotations; @@ -1142,9 +1146,9 @@ dictionary RegisteredTool { tool registration, via {{ModelContextTool/description}}. : tool["{{RegisteredTool/inputSchema}}"] - :: A stringified JSON Schema object describing the expected input parameters for the tool - [[!JSON-SCHEMA]]. It is the string derived from {{ModelContextTool/inputSchema}} during - registration. + :: A JSON Schema object describing the expected input parameters for the tool + [[!JSON-SCHEMA]]. It is a deep copy of the schema provided at tool registration, via + {{ModelContextTool/inputSchema}}. : tool["{{RegisteredTool/window}}"] :: The {{Window}} of the document that registered the tool.