Split out of the agent repository into its own project. The two commits that introduced and reworked the extension are preserved. The extension could not build on its own: prebuild called `python ../../tools/generate_tool_defs.py`, and the 31 tool schemas lived outside the tree — in a directory that was under no version control at all. - tools/schema/*.json and tools/generate_tool_defs.py now live here. They describe browser tools, so they belong with the extension. - The generator writes TypeScript into this repo and, when the agent repo is checked out next to it, the Python tool definitions there as well. The presence check looks for agent/tools.py: checking only for the directory was useless — it is almost always true, and the generator then wrote into an arbitrary neighbouring folder (verified, then fixed). - Added .gitignore: dist/, node_modules/, and *.token — the MCP bridge token is a runtime secret. Verified: `npm run build` from a clean checkout with and without the agent repo present; tsc reports no errors. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
38 lines
1.3 KiB
JSON
38 lines
1.3 KiB
JSON
{
|
|
"name": "browser_batch",
|
|
"description": "Runs several browser tools in one call, in order, returning all results. Saves one model round-trip per step — the dominant cost of form filling and navigation. Use when the whole sequence is known in advance. Do NOT use when a later step depends on what an earlier one returns.",
|
|
"requires_confirmation": false,
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"actions": {
|
|
"type": "array",
|
|
"description": "Steps in order: [{name, input}, ...].",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of the browser tool to run, e.g. 'browser_click', 'browser_type', 'browser_computer'. Must be one of the available browser tools, and not 'browser_batch'."
|
|
},
|
|
"input": {
|
|
"type": "object",
|
|
"description": "Argument object for that tool — exactly what you would pass in a single call. Omit or use {} for tools without arguments."
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"stopOnError": {
|
|
"type": "boolean",
|
|
"description": "Stop at the first failing step (default true)."
|
|
}
|
|
},
|
|
"required": [
|
|
"actions"
|
|
]
|
|
}
|
|
}
|