Documentation

MCP tool reference

Look up the twenty registered tools and their JSON arguments.

This reference is generated from the registered tools/list definitions in site/scripts/tool-definitions.json, exported from the same tool router used by the SDK schema exporter. Do not edit it by hand. Builds render the checked-in export offline and verify its input schemas against sdk/tool-schemas.json. After changing tool definitions, refresh both exports. To refresh this one, start an isolated local server, set SWARMTAB_DATA_DIR to its data folder and SWARMTAB_BIN to its CLI, then run npm run docs:generate -- --live in site/.

The blocks below are JSON input schemas, not call examples. required lists mandatory keys; other properties are optional. type: ["integer", "string"] accepts either a control number or a CSS selector for form actions. Type, select and check selectors must match exactly one control in the main page. Use a fresh controls read for frame references. Human-only settings are absent from this agent surface.

Inspect the same definitions with the separate CLI:

swarmtab tools

ask_human

message,kind,ref,note,text.

{
  "additionalProperties": false,
  "properties": {
    "kind": {
      "enum": [
        "code",
        "secret",
        "paste",
        "copy"
      ],
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "ref": {
      "minimum": 0,
      "type": "integer"
    },
    "text": {
      "type": "string"
    }
  },
  "type": "object"
}

check

ref,on,preview.

{
  "additionalProperties": false,
  "properties": {
    "on": {
      "type": "boolean"
    },
    "preview": {
      "type": "boolean"
    },
    "ref": {
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    }
  },
  "required": [
    "ref",
    "on"
  ],
  "type": "object"
}

click

action click/hover/double_click/right_click/drag: ref,to,dx,dy,preview.

{
  "additionalProperties": false,
  "properties": {
    "action": {
      "enum": [
        "click",
        "hover",
        "double_click",
        "right_click",
        "drag"
      ],
      "type": "string"
    },
    "dx": {
      "type": "integer"
    },
    "dy": {
      "type": "integer"
    },
    "preview": {
      "type": "boolean"
    },
    "ref": {
      "maximum": 4294967295,
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    },
    "to": {
      "maximum": 4294967295,
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    }
  },
  "required": [
    "ref"
  ],
  "type": "object"
}

dialog

accept,text.

{
  "additionalProperties": false,
  "properties": {
    "accept": {
      "type": "boolean"
    },
    "text": {
      "type": "string"
    }
  },
  "required": [
    "accept"
  ],
  "type": "object"
}

fetch

url,max_age,pages,sheet,limit,offset,max_chars,formats,query. PPTX/ODT/ODS/RTF/EPUB.

{
  "additionalProperties": false,
  "properties": {
    "formats": {
      "type": "string"
    },
    "limit": {
      "minimum": 0,
      "type": "integer"
    },
    "max_age": {
      "minimum": 0,
      "type": "integer"
    },
    "max_chars": {
      "maximum": 40000,
      "minimum": 256,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "pages": {
      "items": {
        "minimum": 0,
        "type": "integer"
      },
      "maxItems": 2,
      "minItems": 2,
      "type": "array"
    },
    "query": {
      "type": "string"
    },
    "sheet": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}

files

action downloads/inbox/upload/read/pdf/export/outbox/bundle: ref,path,paths,from,name,names,pages,sheet,limit,offset,max_chars,paper,landscape,margins,scale,background,header_footer,format,bom. upload<=20/200MB,atomic;external:yes;inbox:grant.

{
  "additionalProperties": false,
  "properties": {
    "action": {
      "enum": [
        "export",
        "inbox",
        "outbox",
        "bundle",
        "read",
        "downloads",
        "upload",
        "pdf"
      ],
      "type": "string"
    },
    "background": {
      "type": "boolean"
    },
    "bom": {
      "type": "boolean"
    },
    "format": {
      "enum": [
        "csv",
        "json",
        "jsonl"
      ],
      "type": "string"
    },
    "from": {
      "enum": [
        "inbox"
      ],
      "type": "string"
    },
    "header_footer": {
      "enum": [
        false
      ],
      "type": "boolean"
    },
    "landscape": {
      "type": "boolean"
    },
    "limit": {
      "minimum": 0,
      "type": "integer"
    },
    "margins": {
      "properties": {
        "bottom": {
          "maximum": 5,
          "minimum": 0,
          "type": "number"
        },
        "left": {
          "maximum": 5,
          "minimum": 0,
          "type": "number"
        },
        "right": {
          "maximum": 5,
          "minimum": 0,
          "type": "number"
        },
        "top": {
          "maximum": 5,
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "top",
        "bottom",
        "left",
        "right"
      ],
      "type": "object"
    },
    "max_chars": {
      "maximum": 40000,
      "minimum": 256,
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "names": {
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "pages": {
      "items": {
        "type": "integer"
      },
      "maxItems": 2,
      "minItems": 2,
      "type": [
        "string",
        "array"
      ]
    },
    "paper": {
      "enum": [
        "a4",
        "letter",
        "legal",
        "a3",
        "a5"
      ],
      "type": "string"
    },
    "path": {
      "type": "string"
    },
    "paths": {
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    },
    "ref": {
      "minimum": 0,
      "type": "integer"
    },
    "scale": {
      "maximum": 2,
      "minimum": 0.1,
      "type": "number"
    },
    "sheet": {
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}

logs

kind,limit,contains;only_failures:network>=400/failed;timeline since,tool,state;har:approval.

{
  "additionalProperties": false,
  "properties": {
    "contains": {
      "type": "string"
    },
    "kind": {
      "enum": [
        "performance",
        "har",
        "console",
        "network",
        "timeline"
      ],
      "type": "string"
    },
    "limit": {
      "minimum": 0,
      "type": "integer"
    },
    "only_failures": {
      "type": "boolean"
    },
    "since": {
      "minimum": 0,
      "type": "integer"
    },
    "state": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    }
  },
  "required": [
    "kind"
  ],
  "type": "object"
}

action back/forward/reload;Reload clears skipped slow files.

{
  "additionalProperties": false,
  "properties": {
    "action": {
      "enum": [
        "back",
        "forward",
        "reload"
      ],
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}

open

url,new_tab.

{
  "additionalProperties": false,
  "properties": {
    "new_tab": {
      "type": "boolean"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}

press

key,preview.

{
  "additionalProperties": false,
  "properties": {
    "key": {
      "type": "string"
    },
    "preview": {
      "type": "boolean"
    }
  },
  "required": [
    "key"
  ],
  "type": "object"
}

read

formats,query;scope,only;selector/attribute/all,max_bytes,expression,with_tab;items,fields,limit,offset,collect,notice;schema(no budget:local),prompt,token_budget/summary:client model;max_chars;frame_access:consent.

{
  "additionalProperties": false,
  "properties": {
    "collect": {
      "properties": {
        "next": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        },
        "scroll": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "expression": {
      "type": "string"
    },
    "fields": {
      "additionalProperties": {
        "properties": {
          "all": {
            "type": "boolean"
          },
          "attribute": {
            "type": "string"
          },
          "selector": {
            "type": "string"
          }
        },
        "required": [
          "selector"
        ],
        "type": [
          "string",
          "object"
        ]
      },
      "type": "object"
    },
    "format": {
      "enum": [
        "branding",
        "product",
        "screenshot",
        "notices",
        "controls",
        "summary",
        "markdown",
        "html",
        "clean_html",
        "links",
        "images",
        "json",
        "rows",
        "table",
        "seo",
        "storage",
        "script",
        "compare"
      ],
      "type": "string"
    },
    "formats": {
      "type": "string"
    },
    "frame_access": {
      "enum": [
        "ask"
      ],
      "type": "string"
    },
    "items": {
      "type": "string"
    },
    "limit": {
      "maximum": 5000,
      "minimum": 1,
      "type": "integer"
    },
    "max_bytes": {
      "maximum": 200000,
      "minimum": 1,
      "type": "integer"
    },
    "max_chars": {
      "maximum": 40000,
      "minimum": 256,
      "type": "integer"
    },
    "notice": {
      "properties": {
        "id": {
          "maxLength": 200,
          "type": "string"
        },
        "limit": {
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "offset": {
          "minimum": 0,
          "type": "integer"
        },
        "query": {
          "maxLength": 120,
          "type": "string"
        },
        "text_offset": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "offset": {
      "maximum": 5000,
      "minimum": 0,
      "type": "integer"
    },
    "only": {
      "enum": [
        "controls",
        "text"
      ],
      "type": "string"
    },
    "prompt": {
      "type": "string"
    },
    "query": {
      "type": "string"
    },
    "schema": {
      "type": [
        "object",
        "boolean"
      ]
    },
    "scope": {
      "maximum": 4294967295,
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    },
    "selector": {
      "type": "string"
    },
    "token_budget": {
      "maximum": 65536,
      "minimum": 256,
      "type": "integer"
    },
    "with_tab": {
      "type": "string"
    }
  },
  "type": "object"
}

screenshot

full,marks;format png/jpeg,scale .1-2,freeze_animations;compare,save_baseline,selector,threshold %,sizes WxH.

{
  "additionalProperties": false,
  "properties": {
    "compare": {
      "type": "string"
    },
    "format": {
      "enum": [
        "png",
        "jpeg"
      ],
      "type": "string"
    },
    "freeze_animations": {
      "type": "boolean"
    },
    "full": {
      "type": "boolean"
    },
    "marks": {
      "type": "boolean"
    },
    "save_baseline": {
      "type": "boolean"
    },
    "scale": {
      "maximum": 2,
      "minimum": 0.1,
      "type": "number"
    },
    "selector": {
      "type": "string"
    },
    "sizes": {
      "items": {
        "type": "string"
      },
      "maxItems": 6,
      "minItems": 1,
      "type": "array"
    },
    "threshold": {
      "maximum": 100,
      "minimum": 0,
      "type": "number"
    }
  },
  "type": "object"
}

scroll

to,n pixels/control.

{
  "additionalProperties": false,
  "properties": {
    "n": {
      "minimum": 0,
      "type": "integer"
    },
    "to": {
      "enum": [
        "top",
        "bottom",
        "control",
        "down",
        "up"
      ],
      "type": "string"
    }
  },
  "required": [
    "to"
  ],
  "type": "object"
}

select

ref,value,preview.

{
  "additionalProperties": false,
  "properties": {
    "preview": {
      "type": "boolean"
    },
    "ref": {
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    },
    "value": {
      "items": {
        "type": "string"
      },
      "type": [
        "string",
        "array"
      ]
    }
  },
  "required": [
    "ref",
    "value"
  ],
  "type": "object"
}

settings

device,viewport,timezone,language,name,tags,allowed_sites,blocked_sites,show,reset,network,cpu_slowdown,geolocation,color_scheme,reduced_motion,media,forced_colors.

{
  "additionalProperties": false,
  "properties": {
    "allowed_sites": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "blocked_sites": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "color_scheme": {
      "enum": [
        "light",
        "dark"
      ],
      "type": "string"
    },
    "cpu_slowdown": {
      "maximum": 6,
      "minimum": 1,
      "type": "number"
    },
    "device": {
      "enum": [
        "iphone-15",
        "pixel-8",
        "ipad",
        "desktop",
        "none"
      ],
      "type": "string"
    },
    "forced_colors": {
      "enum": [
        "on",
        "off"
      ],
      "type": "string"
    },
    "geolocation": {
      "anyOf": [
        {
          "enum": [
            "none"
          ],
          "type": "string"
        },
        {
          "properties": {
            "accuracy": {
              "maximum": 100000,
              "minimum": 0,
              "type": "number"
            },
            "lat": {
              "maximum": 90,
              "minimum": -90,
              "type": "number"
            },
            "lon": {
              "maximum": 180,
              "minimum": -180,
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon"
          ],
          "type": "object"
        }
      ],
      "type": [
        "string",
        "object"
      ]
    },
    "language": {
      "type": "string"
    },
    "media": {
      "enum": [
        "screen",
        "print"
      ],
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "network": {
      "anyOf": [
        {
          "enum": [
            "offline",
            "slow-3g",
            "fast-3g",
            "4g",
            "none"
          ],
          "type": "string"
        },
        {
          "properties": {
            "down_kbps": {
              "maximum": 1000000,
              "minimum": 1,
              "type": "integer"
            },
            "latency_ms": {
              "maximum": 10000,
              "minimum": 0,
              "type": "integer"
            },
            "up_kbps": {
              "maximum": 1000000,
              "minimum": 1,
              "type": "integer"
            }
          },
          "required": [
            "down_kbps",
            "up_kbps",
            "latency_ms"
          ],
          "type": "object"
        }
      ],
      "type": [
        "string",
        "object"
      ]
    },
    "reduced_motion": {
      "enum": [
        "on",
        "off"
      ],
      "type": "string"
    },
    "reset": {
      "enum": [
        "all",
        "lab",
        "device",
        "network",
        "cpu_slowdown",
        "geolocation",
        "viewport",
        "timezone",
        "language",
        "name",
        "tags",
        "allowed_sites",
        "blocked_sites",
        "color_scheme",
        "reduced_motion",
        "media",
        "forced_colors"
      ],
      "type": "string"
    },
    "show": {
      "enum": [
        "permissions",
        "lab",
        "audit",
        "styles"
      ],
      "type": "string"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "timezone": {
      "type": "string"
    },
    "viewport": {
      "type": "string"
    }
  },
  "type": "object"
}

site

action search/scrape/audit/map/crawl/batch/cancel/resume/status/changes/monitor_add/monitor_site/monitor_search/monitors/monitor_changes/monitor_remove/compare: query,count,freshness,country,format,fields,items,limit,offset,max_chars,collect,max_age,actions,checks,budget,selector,cursor,max_pages,max_depth,include_paths,exclude_paths,subdomains,sitemap,webhook,urls,job,every,watch,id,since,with_url;schema(no budget:local),prompt,token_budget/summary<=16.

{
  "additionalProperties": false,
  "if": {
    "properties": {
      "action": {
        "enum": [
          "search",
          "monitor_site"
        ]
      }
    }
  },
  "properties": {
    "action": {
      "enum": [
        "resume",
        "audit",
        "search",
        "scrape",
        "map",
        "crawl",
        "batch",
        "cancel",
        "status",
        "changes",
        "monitor_add",
        "monitor_site",
        "monitor_search",
        "monitors",
        "monitor_changes",
        "monitor_remove",
        "compare"
      ],
      "type": "string"
    },
    "actions": {
      "items": {
        "oneOf": [
          {
            "required": [
              "click"
            ]
          },
          {
            "required": [
              "wait"
            ]
          },
          {
            "required": [
              "scroll"
            ]
          },
          {
            "required": [
              "type"
            ]
          },
          {
            "required": [
              "press"
            ]
          }
        ],
        "properties": {
          "click": {
            "type": "string"
          },
          "press": {
            "type": "string"
          },
          "scroll": {
            "type": "integer"
          },
          "submit": {
            "type": "boolean"
          },
          "type": {
            "properties": {
              "selector": {
                "type": "string"
              },
              "text": {
                "type": "string"
              }
            },
            "required": [
              "selector",
              "text"
            ],
            "type": "object"
          },
          "wait": {
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "type": [
              "integer",
              "object"
            ]
          }
        },
        "type": "object"
      },
      "maxItems": 20,
      "type": "array"
    },
    "budget": {
      "properties": {
        "cls": {
          "minimum": 0,
          "type": "number"
        },
        "console_errors": {
          "minimum": 0,
          "type": "integer"
        },
        "failed_requests": {
          "minimum": 0,
          "type": "integer"
        },
        "lcp_ms": {
          "minimum": 0,
          "type": "number"
        },
        "requests": {
          "minimum": 0,
          "type": "integer"
        },
        "transfer_kb": {
          "minimum": 0,
          "type": "number"
        }
      },
      "type": "object"
    },
    "checks": {
      "items": {
        "enum": [
          "issues",
          "errors",
          "a11y",
          "perf",
          "coverage",
          "cookies",
          "storage",
          "tls",
          "styles"
        ],
        "type": "string"
      },
      "maxItems": 9,
      "minItems": 1,
      "type": "array",
      "uniqueItems": true
    },
    "collect": {
      "properties": {
        "next": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        },
        "scroll": {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "count": {
      "maximum": 5000,
      "minimum": 1,
      "type": "integer"
    },
    "country": {
      "enum": [
        "US",
        "GB",
        "IN",
        "CA",
        "AU",
        "DE",
        "FR",
        "JP",
        "BR",
        "NZ",
        "ES",
        "IT",
        "NL",
        "SG",
        "ZA",
        "MX",
        "SE",
        "CH",
        "KR",
        "IE"
      ],
      "type": "string"
    },
    "cursor": {
      "type": "string"
    },
    "every": {
      "minimum": 0,
      "type": "integer"
    },
    "exclude_paths": {
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "type": "array"
    },
    "fields": {
      "additionalProperties": {
        "properties": {
          "all": {
            "type": "boolean"
          },
          "attribute": {
            "type": "string"
          },
          "selector": {
            "type": "string"
          }
        },
        "required": [
          "selector"
        ],
        "type": [
          "string",
          "object"
        ]
      },
      "type": "object"
    },
    "format": {
      "enum": [
        "html",
        "branding",
        "product",
        "screenshot",
        "summary",
        "rows",
        "table",
        "markdown",
        "clean_html",
        "links",
        "images",
        "json"
      ],
      "type": "string"
    },
    "freshness": {
      "enum": [
        "day",
        "week",
        "month",
        "year"
      ],
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "include_paths": {
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "type": "array"
    },
    "items": {
      "type": "string"
    },
    "job": {
      "type": "string"
    },
    "limit": {
      "maximum": 5000,
      "minimum": 0,
      "type": "integer"
    },
    "max_age": {
      "minimum": 0,
      "type": "integer"
    },
    "max_chars": {
      "maximum": 40000,
      "minimum": 256,
      "type": "integer"
    },
    "max_depth": {
      "maximum": 10,
      "minimum": 0,
      "type": "integer"
    },
    "max_pages": {
      "maximum": 5000,
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "maximum": 5000,
      "minimum": 0,
      "type": "integer"
    },
    "prompt": {
      "type": "string"
    },
    "query": {
      "type": "string"
    },
    "schema": {
      "type": [
        "object",
        "boolean"
      ]
    },
    "scrape": {
      "properties": {
        "fields": {
          "additionalProperties": {
            "properties": {
              "all": {
                "type": "boolean"
              },
              "attribute": {
                "type": "string"
              },
              "selector": {
                "type": "string"
              }
            },
            "required": [
              "selector"
            ],
            "type": [
              "string",
              "object"
            ]
          },
          "type": "object"
        },
        "format": {
          "enum": [
            "markdown",
            "html",
            "clean_html",
            "branding",
            "product",
            "screenshot",
            "links",
            "images",
            "json"
          ],
          "type": "string"
        },
        "items": {
          "type": "string"
        },
        "max_chars": {
          "type": "integer"
        }
      },
      "type": [
        "boolean",
        "object"
      ]
    },
    "selector": {
      "maximum": 4294967295,
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    },
    "since": {
      "minimum": 0,
      "type": "integer"
    },
    "sitemap": {
      "enum": [
        "only",
        "include",
        "skip"
      ],
      "type": "string"
    },
    "subdomains": {
      "type": "boolean"
    },
    "token_budget": {
      "maximum": 65536,
      "minimum": 256,
      "type": "integer"
    },
    "url": {
      "type": "string"
    },
    "urls": {
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "minItems": 1,
      "type": "array"
    },
    "watch": {
      "properties": {
        "fields": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "format": {
          "enum": [
            "markdown",
            "json",
            "selector",
            "links",
            "status"
          ],
          "type": "string"
        },
        "selector": {
          "type": "string"
        }
      },
      "required": [
        "format"
      ],
      "type": "object"
    },
    "webhook": {
      "type": "string"
    },
    "with_url": {
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "then": {
    "properties": {
      "count": {
        "maximum": 20
      },
      "max_pages": {
        "maximum": 100
      }
    }
  },
  "type": "object"
}

space

action use/leave/list/network/export_cookies/import_cookies/claim/release/leases/handoff/accept/board_post/board_list/board_take/board_done/notes_put/notes_get/notes_list/recipes/recipe_save/recipe_from_timeline/recipe_run/view_save/view/views: name,account,path,wait,note,to_agent,topic,text,evidence,since,id,result,key,expected_revision,site,params,steps,selector,format.

{
  "additionalProperties": false,
  "properties": {
    "account": {
      "type": "string"
    },
    "action": {
      "enum": [
        "network",
        "use",
        "leave",
        "list",
        "export_cookies",
        "import_cookies",
        "claim",
        "release",
        "leases",
        "handoff",
        "accept",
        "board_post",
        "board_list",
        "board_take",
        "board_done",
        "notes_put",
        "notes_get",
        "notes_list",
        "recipes",
        "recipe_save",
        "recipe_from_timeline",
        "recipe_run",
        "view_save",
        "view",
        "views"
      ],
      "type": "string"
    },
    "evidence": {
      "type": "string"
    },
    "expected_revision": {
      "minimum": 0,
      "type": "integer"
    },
    "format": {
      "enum": [
        "markdown",
        "controls",
        "links"
      ],
      "type": "string"
    },
    "id": {
      "minimum": 0,
      "type": "integer"
    },
    "key": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "params": {
      "additionalProperties": {
        "type": "string"
      },
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "object"
      ]
    },
    "path": {
      "type": "string"
    },
    "result": {
      "type": "string"
    },
    "selector": {
      "type": "string"
    },
    "since": {
      "minimum": 0,
      "type": "integer"
    },
    "site": {
      "type": "string"
    },
    "steps": {
      "items": {
        "properties": {
          "args": {
            "properties": {
              "gone": {
                "type": "string"
              },
              "new_tab": {
                "type": "boolean"
              },
              "on": {
                "type": "boolean"
              },
              "seconds": {
                "maximum": 60,
                "minimum": 1,
                "type": "integer"
              },
              "submit": {
                "type": "boolean"
              },
              "text": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "expect": {
            "properties": {
              "contains": {
                "type": "string"
              },
              "control_present": {
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "near_text": {
                    "type": "string"
                  },
                  "selector": {
                    "type": "string"
                  }
                },
                "required": [
                  "label"
                ],
                "type": "object"
              },
              "not_contains": {
                "type": "string"
              },
              "url_matches": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "locator": {
            "properties": {
              "kind": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "near_text": {
                "type": "string"
              },
              "selector": {
                "type": "string"
              }
            },
            "required": [
              "label"
            ],
            "type": "object"
          },
          "timeout_ms": {
            "maximum": 60000,
            "minimum": 1,
            "type": "integer"
          },
          "tool": {
            "enum": [
              "open",
              "read",
              "click",
              "type",
              "select",
              "check",
              "wait"
            ],
            "type": "string"
          }
        },
        "required": [
          "tool"
        ],
        "type": "object"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array"
    },
    "text": {
      "type": "string"
    },
    "to_agent": {
      "type": "string"
    },
    "topic": {
      "type": "string"
    },
    "wait": {
      "type": "boolean"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}

tabs

action list/new(url)/switch(id)/close(id).

{
  "additionalProperties": false,
  "properties": {
    "action": {
      "enum": [
        "list",
        "new",
        "switch",
        "close"
      ],
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}

type

ref,text/date/fields;from persona+field;submit=Enter;preview;typed sequential,delay_ms 0-250(50),append false;<=1000 chars/10s,no controls.

{
  "additionalProperties": false,
  "properties": {
    "append": {
      "type": "boolean"
    },
    "date": {
      "type": "string"
    },
    "delay_ms": {
      "maximum": 250,
      "minimum": 0,
      "type": "integer"
    },
    "field": {
      "enum": [
        "name",
        "email",
        "phone",
        "company",
        "address_line1",
        "address_line2"
      ],
      "type": "string"
    },
    "fields": {
      "items": {
        "properties": {
          "date": {
            "type": "string"
          },
          "on": {
            "type": "boolean"
          },
          "ref": {
            "minimum": 0,
            "type": [
              "integer",
              "string"
            ]
          },
          "text": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "ref"
        ],
        "type": "object"
      },
      "maxItems": 30,
      "minItems": 1,
      "type": "array"
    },
    "from": {
      "enum": [
        "persona"
      ],
      "type": "string"
    },
    "preview": {
      "type": "boolean"
    },
    "ref": {
      "minimum": 0,
      "type": [
        "integer",
        "string"
      ]
    },
    "submit": {
      "type": "boolean"
    },
    "text": {
      "type": "string"
    },
    "typed": {
      "type": "boolean"
    }
  },
  "type": "object"
}

wait

question/text/gone/seconds/assert;timeout_ms.

{
  "additionalProperties": false,
  "properties": {
    "assert": {
      "properties": {
        "control": {
          "properties": {
            "kind": {
              "type": "string"
            },
            "label": {
              "type": "string"
            }
          },
          "required": [
            "label"
          ],
          "type": "object"
        },
        "count": {
          "properties": {
            "equals": {
              "minimum": 0,
              "type": "integer"
            },
            "selector": {
              "type": "string"
            }
          },
          "required": [
            "selector",
            "equals"
          ],
          "type": "object"
        },
        "not_text": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "value": {
          "properties": {
            "equals": {
              "type": "string"
            },
            "ref": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "ref",
            "equals"
          ],
          "type": "object"
        }
      },
      "type": "object"
    },
    "gone": {
      "type": "string"
    },
    "question": {
      "type": "string"
    },
    "seconds": {
      "maximum": 60,
      "minimum": 1,
      "type": "integer"
    },
    "text": {
      "type": "string"
    },
    "timeout_ms": {
      "maximum": 60000,
      "minimum": 0,
      "type": "integer"
    }
  },
  "type": "object"
}

All documentation