devtune_save_agent_picks_setup
Save an Agent Picks setup for a published public category. A project has one setup per category and can add as many as it needs. Without setup, this updates the project's setup for category_id, or adds one when it has none: the project's own copy of DevTune's setup for the category, with its requests and how it recognizes each tool. With setup, it updates that setup, whose category is fixed: saving it with a category another of the project's setups uses is refused as category_in_use, and with any other category_id as category_fixed. The body: category_id, the project's own tool_key (or null), up to six competitor_tool_keys from the category's tools (DevTune's own public boards are exempt), environment_ids and the ordered agent_models to test. Ids come from the published catalogue; one outside it is refused as invalid_setup. Pi, OpenCode and Muse Code need Agent Picks Pro or Enterprise (agent_not_in_plan). devtune_get_agent_picks_catalogue lists the valid ids. A copy or custom job setup may also change its content, each part unchanged when absent: requests by intent (the text, or "omitted" to leave it out; saving a left-out request's text asks it again; at least one request stays active, and improve is taken only by a setup that has had one), request_ending (empty sends requests as written) and recognition (tools [{tool_key, signals}] for tools the setup already measures, and building_blocks). A public board's setup takes none (invalid_setup). Refusals: names_tool when a request or the ending names a measured tool by name, alias or domain; rule_matches_starter when recognition matches a selected test app's starter files, so every run there would count as a pick; building_block_tool when a tool's package also matches a building-block package, exact names and prefixes alike; invalid_pattern when a pattern the setup keeps can't run; setup_changed when another save changed the setup after this one read it (read it again and save); customer_requests_off when tests of customer-written requests are switched off and the save changes the requests or ending. Returns the saved requests, request_ending and recognition (null for a public board's setup); a save that sends them as they stand changes nothing. For a custom job use devtune_save_agent_picks_job. Starts no test. Requires actions.write and Agent Picks. The OAuth member, or the member who created the API key, needs project management rights.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"category_id": "<category_id>",
"tool_key": "<tool_key>",
"environment_ids": "<environment_ids>",
"agent_models": "<agent_models>"
},
"name": "devtune_save_agent_picks_setup"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| setup | No | The Agent Picks setup to use: its id or its category slug. Optional while the project has one setup. With several, omitting it is refused as agent_picks_setup_required, and a setup the project does not have as agent_picks_setup_not_found; both list the project setups in details.setups (id, category_slug, category_name). The response echoes the setup used as setup {id, category_slug}. | |
| requests | No | ||
| tool_key | Yes | ||
| category_id | Yes | ||
| recognition | No | ||
| agent_models | Yes | ||
| request_ending | No | ||
| environment_ids | Yes | ||
| competitor_tool_keys | No |