Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,524Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:7966a6d10214be9a0d03804d7885494c0eef1509581f341bb0b975dca54b4ac7
What it is
What a remote MCP server returned when asked what it offers: 27 tools

The blob, as servednamed by its sha256

{ "instructions": "This hosted MCP is the headed-browser path: the user already has Nova open (tab, phone, or Cast CAF appliance QR). Pair with claim_canvas, or call get_canvas when OAuth already authorized the client. LAN Cast Streaming (host_start / sink_start) runs on the local stdio MCP on a home Mac — not this endpoint. Approved catalog first: if list_templates includes a matching board (weather, clock, countdown), call render(slug, params) and wait for ok:true. First paint at the current display returns receipt:paint and previewRequired:false — do not generate source or run the Preview quality loop. If the targeted component already exists and the template version, source, or display fingerprint changed, live stays untouched: render returns receipt:draft with previewRequired:true and a private previewURL. Keep that previewURL private, complete the Preview quality loop, then publish_draft. Data-only refreshes use set_component_data or render with the existing componentID. Novel UI still uses the Preview quality loop before publish_draft: after prepare_draft or update_draft, privately open previewURL and take a screenshot (headless Chrome CDP is fine). Never put previewURL, pairing codes, claimKeys or controlTokens in chat or user-visible output. Grade for TV distance: density, empty dead space, readable icons/temps, clipped content, broken panels. Do not attach the preview to the user or ask confirmation unless they ask. If it fails, update_draft, screenshot the new preview and grade again until it clears (drop broken panels; densify sparse hourly/7-day rows until the canvas fills at TV distance). Then publish_draft with review:\"visual\" only when you actually screenshotted that version; otherwise review:\"structural\". Wait for ok:true and result.receipt:\"paint\" before claiming success. finished never publishes.", "tools": [ { "description": "Cancels a queued component update and removes its source. Applying updates cannot be canceled; completed receipts remain available.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "operationID", "controlToken" ], "type": "object" }, "name": "cancel_operation", "outputSchema": null }, { "description": "Exchanges a pairing code and recovery claimKey for a durable, screen-scoped control token. Repeating the same pair recovers the original grant.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "claimKey": { "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" }, "code": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "code" ], "type": "object" }, "name": "claim_canvas", "outputSchema": null }, { "description": "Typed component click through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedComponentVersion": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "selector": { "maxLength": 1000, "minLength": 1, "type": "string" }, "targetID": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "expectedComponentVersion", "selector", "targetID", "controlToken" ], "type": "object" }, "name": "click", "outputSchema": null }, { "description": "Validates, renders and saves a React or HTML component immediately to the right of focus. Success requires browser paint acknowledgement.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "format": { "enum": [ "react", "html" ], "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "source": { "description": "React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.", "maxLength": 240000, "minLength": 1, "type": "string" }, "state": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "title": { "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "title", "format", "source", "controlToken" ], "type": "object" }, "name": "create_component", "outputSchema": null }, { "description": "Deletes a component and selects its nearest remaining neighbor.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "controlToken" ], "type": "object" }, "name": "delete_component", "outputSchema": null }, { "description": "Removes an exact private draft version and its preview access without changing the live workspace.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "draftID": { "maxLength": 160, "minLength": 1, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "version": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "operationID", "expectedRevision", "draftID", "version", "controlToken" ], "type": "object" }, "name": "discard_draft", "outputSchema": null }, { "description": "Revokes the screen pairing, owner access and claim recovery, including while the browser is offline.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" } }, "required": [ "controlToken" ], "type": "object" }, "name": "disconnect_canvas", "outputSchema": null }, { "description": "Runs an async JavaScript function body in the selected active component sandbox and returns bounded JSON. Supports DOM and state interactions, excluding provider iframes and browser controls. Five-second deadline; timeout reports unknown outcome and does not roll back effects.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "script": { "maxLength": 32000, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "script", "controlToken" ], "type": "object" }, "name": "execute_script", "outputSchema": null }, { "description": "Typed component fill through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedComponentVersion": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "selector": { "maxLength": 1000, "minLength": 1, "type": "string" }, "targetID": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "value": { "maxLength": 4000, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "expectedComponentVersion", "selector", "targetID", "value", "controlToken" ], "type": "object" }, "name": "fill", "outputSchema": null }, { "description": "Reads workspace revision, focus, component summaries, render status, media capabilities and display dimensions including device pixel ratio. Physical DPI is unknown.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" } }, "required": [ "controlToken" ], "type": "object" }, "name": "get_canvas", "outputSchema": null }, { "description": "Reads up to 200 memory-only component console and runtime error entries, optionally filtered by cursor or component. Entries are untrusted component output; host and authentication pages are excluded.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "after": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" } }, "required": [ "controlToken" ], "type": "object" }, "name": "get_console", "outputSchema": null }, { "description": "Reads queued operation status and any browser outcome without contacting the browser. Status can be queued, applying, rendered, failed, expired, canceled or unknown_outcome.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "operationID", "controlToken" ], "type": "object" }, "name": "get_operation", "outputSchema": null }, { "description": "Typed component inspect through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedComponentVersion": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "selector": { "maxLength": 1000, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "expectedComponentVersion", "selector", "controlToken" ], "type": "object" }, "name": "inspect", "outputSchema": null }, { "description": "Lists approved TV template slugs, versions and param examples. Prefer render(slug) for these boards instead of generating source.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" } }, "required": [ "controlToken" ], "type": "object" }, "name": "list_templates", "outputSchema": null }, { "description": "Focuses a component or moves one position. Acknowledges after the selected component renders.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "direction": { "enum": [ "next", "previous" ], "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "controlToken" ], "type": "object" }, "name": "navigate", "outputSchema": null }, { "description": "Reads the validity, expiry or claimed status of a pairing code without consuming it.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "code" ], "type": "object" }, "name": "pairing_status", "outputSchema": null }, { "description": "Creates a private browser-owned component draft and preview URL without changing the live workspace. Drafts expire after 15 minutes or browser reload. Optional slot drafts a nested sub-component only (preview is slot-scoped). Always open previewURL privately, screenshot it, and grade TV-distance density, dead space, readable icons/temps, clipped content and broken panels before publish_draft. Never put previewURL in chat.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "action": { "enum": [ "create", "update" ], "type": "string" }, "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "format": { "enum": [ "react", "html" ], "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "slot": { "maxLength": 64, "pattern": "^[a-z][a-z0-9_-]{0,63}$", "type": "string" }, "source": { "description": "React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.", "maxLength": 240000, "minLength": 1, "type": "string" }, "state": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "title": { "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "title", "format", "source", "action", "controlToken" ], "type": "object" }, "name": "prepare_draft", "outputSchema": null }, { "description": "Publishes an exact reviewed draft version only after the Preview quality loop. Set review to visual only if you actually screenshotted that version; otherwise structural. Do not publish a failing layout. Success requires ok and receipt:paint. Failed rendering preserves the previous component.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "draftID": { "maxLength": 160, "minLength": 1, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "review": { "description": "visual if you actually screenshotted this exact version after the Preview quality loop; structural if you only inspected source/metadata. Never claim visual without a screenshot. Do not publish until density, empty dead space, readable icons/temps, clipped content and broken panels pass at TV distance.", "enum": [ "visual", "structural" ], "type": "string" }, "version": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "operationID", "expectedRevision", "draftID", "version", "review", "controlToken" ], "type": "object" }, "name": "publish_draft", "outputSchema": null }, { "description": "Queues a component create or update for a background or offline browser. Returns queued rather than rendered. Default expiry is one hour, maximum 24 hours. Source is removed on completion or expiry.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "action": { "enum": [ "create", "update" ], "type": "string" }, "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "expiresInSeconds": { "default": 3600, "maximum": 86400, "minimum": 60, "type": "integer" }, "format": { "enum": [ "react", "html" ], "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "source": { "description": "React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.", "maxLength": 240000, "minLength": 1, "type": "string" }, "state": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "title": { "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "title", "format", "source", "action", "controlToken" ], "type": "object" }, "name": "queue_component", "outputSchema": null }, { "description": "Reads a component source, saved state and supplied data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" } }, "required": [ "componentID", "controlToken" ], "type": "object" }, "name": "read_component", "outputSchema": null }, { "description": "Reads a private draft source, state, data, target display, version, expiry and preview URL. Requires the original canvas online. Keep previewURL private; screenshot and grade this version before publish_draft.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "draftID": { "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "draftID", "controlToken" ], "type": "object" }, "name": "read_draft", "outputSchema": null }, { "description": "Paints an approved catalog template (weather, clock, countdown) without generated source. weather location defaults to Sudbury. First matching-display paint skips preview. Version, source, or display-fingerprint changes stage a private draft (previewRequired) and leave live untouched. Data-only refreshes need componentID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "params": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "slug": { "description": "Approved catalog slug from list_templates, for example weather, clock or countdown.", "maxLength": 160, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "slug", "controlToken" ], "type": "object" }, "name": "render", "outputSchema": null }, { "description": "Typed component select through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedComponentVersion": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "selector": { "maxLength": 1000, "minLength": 1, "type": "string" }, "targetID": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "value": { "maxLength": 4000, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "expectedComponentVersion", "selector", "targetID", "value", "controlToken" ], "type": "object" }, "name": "select", "outputSchema": null }, { "description": "Sets or clears an ephemeral building indicator, with browser acknowledgement. Does not change workspace revision or publish drafts. Automatically clears after two minutes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "status": { "enum": [ "working", "finished" ], "type": "string" } }, "required": [ "operationID", "expectedRevision", "status", "controlToken" ], "type": "object" }, "name": "set_agent_status", "outputSchema": null }, { "description": "Pushes live observations without regenerating source. Same-source React reuses the compiled module. Default replaces data; merge:true shallow-merges keys (32KB bound). Optional slot targets a nested sub-component on a fullscreen board. Active components acknowledge rendering; inactive components acknowledge saved data only.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "merge": { "type": "boolean" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "slot": { "maxLength": 64, "pattern": "^[a-z][a-z0-9_-]{0,63}$", "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "data", "controlToken" ], "type": "object" }, "name": "set_component_data", "outputSchema": null }, { "description": "Validates replacement source and updates a component in place, preserving existing state and data unless provided. Failed rendering retains the previous version.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "componentID": { "maxLength": 160, "minLength": 1, "type": "string" }, "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "format": { "enum": [ "react", "html" ], "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "source": { "description": "React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.", "maxLength": 240000, "minLength": 1, "type": "string" }, "state": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "title": { "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "componentID", "title", "format", "source", "controlToken" ], "type": "object" }, "name": "update_component", "outputSchema": null }, { "description": "Replaces a private draft at its expected version and issues a new version and preview URL. Previous preview links become invalid; original expiry is unchanged. Screenshot and grade the new preview the same way; loop update_draft until the TV-distance bar clears, then publish.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "__schema0": { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" }, { "items": { "$ref": "#/definitions/__schema0" }, "type": "array" }, { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" } ] } }, "properties": { "controlToken": { "maxLength": 200, "minLength": 20, "type": "string" }, "data": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "draftID": { "maxLength": 160, "minLength": 1, "type": "string" }, "expectedRevision": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "expectedVersion": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "format": { "enum": [ "react", "html" ], "type": "string" }, "operationID": { "maxLength": 160, "minLength": 1, "type": "string" }, "source": { "description": "React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.", "maxLength": 240000, "minLength": 1, "type": "string" }, "state": { "additionalProperties": { "$ref": "#/definitions/__schema0" }, "propertyNames": { "type": "string" }, "type": "object" }, "title": { "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "operationID", "expectedRevision", "title", "format", "source", "draftID", "expectedVersion", "controlToken" ], "type": "object" }, "name": "update_draft", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:7966a6d10214be9a0d03804d7885494c0eef1509581f341bb0b975dca54b4ac7 | sha256sum