From 4638d353e0ef7024e6964d35c31a57267bfe8ced Mon Sep 17 00:00:00 2001 From: Kenneth Rohde Christiansen Date: Tue, 20 Oct 2026 12:22:48 +0200 Subject: [PATCH] Add an openWorldHint annotation --- index.bs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 847677e..ff1c27a 100644 --- a/index.bs +++ b/index.bs @@ -264,6 +264,9 @@ An annotations is a [=struct=] with the following [=struct/items=]: : consequential hint :: a [=boolean=], initially false. + : open world hint + :: a [=boolean=], initially true. + : debugging :: a [=boolean=], initially false. @@ -905,6 +908,9 @@ The registerTool(tool, optionsgetTools(options) method steps {{ToolAnnotations/untrustedContentHint}} is |tool definition|'s [=tool definition/annotations=]'s [=annotations/untrusted content hint=], {{ToolAnnotations/consequentialHint}} is |tool definition|'s [=tool - definition/annotations=]'s [=annotations/consequential hint=], and + definition/annotations=]'s [=annotations/consequential hint=], + {{ToolAnnotations/openWorldHint}} is |tool definition|'s [=tool + definition/annotations=]'s [=annotations/open world hint=], and {{ToolAnnotations/debugging}} is |tool definition|'s [=tool definition/annotations=]'s [=annotations/debugging=]. @@ -1240,6 +1248,7 @@ dictionary ToolAnnotations { boolean readOnlyHint = false; boolean untrustedContentHint = false; boolean consequentialHint = false; + boolean openWorldHint = true; boolean debugging = false; }; @@ -1308,6 +1317,13 @@ The {{ToolAnnotations}} dictionary provides optional metadata about a tool: : annotations["{{ToolAnnotations/consequentialHint}}"] :: If true, indicates that executing the tool will result in consequential actions that are significant, real-world, or non-reversible, ex: booking a flight, transferring money. + : annotations["{{ToolAnnotations/openWorldHint}}"] + :: If true, indicates that the tool may send data to, or read data from, parties other than the + [=Document/origin=] of the page that registered it, for example through requests to other + origins. If false, indicates that the tool only uses the page and its own origin. Unlike the + other hints this one is true when it is not specified, so a tool that does not declare it is + treated as open to the world. The [=user agent=] does not enforce it. + : annotations["{{ToolAnnotations/debugging}}"] :: If true, indicates that the tool is intended for debugging and developer tooling rather than end-user interactions.