// Auto-generated by scripts/generate-extension-capabilities.ts - DO NOT EDIT // Source: src/browser/capabilities.json (the Chrome extension's published contract). export interface ExtensionToolFlags { readonly readOnly?: boolean; readonly mutates?: boolean; readonly requiresExplainMode?: boolean; } export interface ExtensionToolDef { readonly name: string; readonly summary: string; readonly category: string; readonly params: Record; readonly flags?: ExtensionToolFlags; } export interface ExtensionCapabilities { readonly version: string; readonly contractVersion: string; readonly multiPortDiscovery?: boolean; readonly protocol: string; readonly tools: readonly ExtensionToolDef[]; readonly features: Record; } export const EXTENSION_CAPABILITIES: ExtensionCapabilities = { "version": "0.1.0", "contractVersion": "2.1.0", "multiPortDiscovery": true, "protocol": "tool_request/result", "tools": [ { "name": "ping", "summary": "Liveness check; returns { ok, version }.", "category": "meta", "params": { "type": "object", "properties": {} }, "flags": { "readOnly": true } }, { "name": "capabilities", "summary": "Return this self-describing capability manifest (tools + features + versions).", "category": "meta", "params": { "type": "object", "properties": {} }, "flags": { "readOnly": true } }, { "name": "reload", "summary": "Reload the extension (re-reads dist/ from disk).", "category": "meta", "params": { "type": "object", "properties": {} }, "flags": { "mutates": true } }, { "name": "debug_exec", "summary": "Diagnostic: probe in-page bridge availability.", "category": "meta", "params": { "type": "object", "properties": {} }, "flags": { "readOnly": true } }, { "name": "detach", "summary": "Detach the debugger from the target tab.", "category": "meta", "params": { "type": "object", "properties": {} }, "flags": { "mutates": true } }, { "name": "set_bridge_port", "summary": "Set the WebSocket bridge port (persists across reload; enables multi-session on different ports).", "category": "meta", "params": { "type": "object", "required": [ "port" ], "properties": { "port": { "type": "number" } } }, "flags": { "mutates": true } }, { "name": "navigate", "summary": "Navigate the console tab to a scoped https URL.", "category": "navigation", "params": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "scroll_to", "summary": "Scroll an AX-ref element into view.", "category": "navigation", "params": { "type": "object", "required": [ "ref" ], "properties": { "ref": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "resize_window", "summary": "Resize the browser window.", "category": "navigation", "params": { "type": "object", "required": [ "width", "height" ], "properties": { "width": { "type": "number" }, "height": { "type": "number" } } }, "flags": { "mutates": true } }, { "name": "tabs_list", "summary": "List scoped console tabs.", "category": "navigation", "params": { "type": "object", "properties": {} }, "flags": {} }, { "name": "tabs_create", "summary": "Open a new tab at a scoped URL.", "category": "navigation", "params": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "tabs_close", "summary": "Close a tab by id.", "category": "navigation", "params": { "type": "object", "required": [ "tabId" ], "properties": { "tabId": { "type": "number" } } }, "flags": { "mutates": true } }, { "name": "click", "summary": "Deterministic click of an AX-ref element (layout-engine coords + hit-test).", "category": "interaction", "params": { "type": "object", "required": [ "ref" ], "properties": { "ref": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "click_element", "summary": "Click the element returned by a JS expression (polls; occlusion-safe).", "category": "interaction", "params": { "type": "object", "required": [ "js" ], "properties": { "js": { "type": "string" }, "wait_ms": { "type": "number" } } }, "flags": { "mutates": true } }, { "name": "click_xy", "summary": "Trusted click at explicit viewport coordinates.", "category": "interaction", "params": { "type": "object", "required": [ "x", "y" ], "properties": { "x": { "type": "number" }, "y": { "type": "number" } } }, "flags": { "mutates": true } }, { "name": "type_text", "summary": "Type text into the focused element (trusted input).", "category": "interaction", "params": { "type": "object", "required": [ "text" ], "properties": { "text": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "form_input", "summary": "Set a form field value by AX ref.", "category": "interaction", "params": { "type": "object", "required": [ "ref", "value" ], "properties": { "ref": { "type": "string" }, "value": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "key_press", "summary": "Dispatch a key press.", "category": "interaction", "params": { "type": "object", "required": [ "key" ], "properties": { "key": { "type": "string" } } }, "flags": { "mutates": true } }, { "name": "select_option", "summary": "Select an option in a native