Select Candidate
select_candidateSelect one candidate from a finished compose/consult ensemble as the project's saved composition (whole-candidate replace). Body REQUIRES both fields: { candidateIndex, selectStrategy: "agent-authoritative" } — candidateIndex from wait_job(kind="consult") proposals (mode=amend) or the compose winner report; selectStrategy is required and API keys must use 'agent-authoritative' (editor-merge/editor-replace need an editor-session token and 403 on an API key). agent-authoritative replaces the saved composition unconditionally and ignores ifMatch, so read get_composition first and adopt only when no edit made since the consult or compose must survive. After selecting, render with create_render.
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": {
"projectId": "<projectId>",
"composeJobId": "<composeJobId>",
"body": "<body>"
},
"name": "select_candidate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/compose/jobs/:jobId/select body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). | |
| composeJobId | Yes | composeJobId (path). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mergeResult | No | ||
| newCompositionEtag | No |