A sticky board powered by AI. Tools register and unregister dynamically based on what's on the board.
Define a tool, control its lifetime, and discover tools across origins.
Properties of tool in document.modelContext.registerTool(tool, options).
namedescriptioninputSchemaexecutesignal is aborted when the invocation is canceled.
titlename for invocation.
annotationsreadOnlyHint: true: does not mutate state.untrustedContentHint: true: output may contain untrusted content.consequentialHint: true: action has significant consequences, such as making a payment.false when an annotations object is supplied.
Input validation: Chromium does not validate inputs against inputSchema. Validate them in execute.
options.signalAbortController and pass controller.signal to registerTool(). Call controller.abort() to unregister the tool at any time.
This controls registration lifetime, not the invocation cancellation signal received by execute.
getTools(options?)Promise<RegisteredTool[]>.
fromOriginsgetTools(). Tools must be exposed to the calling document and are included alongside same-origin tools. An omitted or empty list returns only same-origin tools.
exposedToregisterTool(). Allows a cross-origin iframe to expose its tool to its parent document.