diff --git a/index.bs b/index.bs index 4274a31..70b527f 100644 --- a/index.bs +++ b/index.bs @@ -562,8 +562,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=] @@ -713,7 +717,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; @@ -734,9 +738,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.