Every tool says its `sessions` (chat, agent or both). The file tools read, write, edit, glob, grep and list are shared; mkdir, mv, rm, search, python and the forge verbs (commit, branch, pr, merge, tag, release) are the chat's; show and recall are new and shared. New fields: `requires` (page, display, forge) with the exact `unavailable` answer, and `confirm: always` for merge, tag and release. knowledge_*, notes_search, note_view and note_manage leave the chat. Default rules for the new tools; modes.json says what `confirm` does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 lines
1.1 KiB
JSON
47 lines
1.1 KiB
JSON
{
|
|
"name": "merge",
|
|
"scope": "llembas",
|
|
"sessions": "chat",
|
|
"risk": "execute",
|
|
"exclusive": true,
|
|
"block": "tool",
|
|
"purpose": "purpose",
|
|
"requires": [
|
|
"forge"
|
|
],
|
|
"confirm": "always",
|
|
"unavailable": "No repository from a forge is open to this session, so there is nothing to merge here.",
|
|
"aliases": {
|
|
"cli": [],
|
|
"llembas": []
|
|
},
|
|
"description": "Merge a pull request on the forge. The user is always asked first, in every mode, and shown the pull request: nothing is merged without their yes.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Any path inside the repository (the mount) this is about"
|
|
},
|
|
"number": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "The pull request's number"
|
|
},
|
|
"method": {
|
|
"type": "string",
|
|
"enum": [
|
|
"merge",
|
|
"squash",
|
|
"rebase"
|
|
],
|
|
"description": "How to merge (default: the repository's setting)"
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"number"
|
|
]
|
|
}
|
|
}
|