Files
nexus-browser-pilot-extension/tools/schema/browser_batch.json
T
coreandClaude Opus 5 35b3af97a2 chore: make this repo self-contained
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>
2026-08-07 18:39:24 +02:00

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"
]
}
}