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>
50 lines
1.2 KiB
JSON
50 lines
1.2 KiB
JSON
{
|
|
"name": "multiedit",
|
|
"scope": "cli",
|
|
"sessions": "agent",
|
|
"risk": "write",
|
|
"exclusive": false,
|
|
"block": "edit",
|
|
"purpose": "purpose",
|
|
"aliases": {
|
|
"cli": [],
|
|
"llembas": []
|
|
},
|
|
"description": "Several exact-text replacements in ONE file, applied in order, all or nothing.\n\n- Same rules as edit for each step: read the file first; `old` exact and unique (or `all: true`); no line-number prefixes.\n- Each step sees the result of the previous ones.\n- If any step fails, the file is left untouched and you are told which step.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"edits": {
|
|
"minItems": 1,
|
|
"maxItems": 50,
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"old": {
|
|
"type": "string"
|
|
},
|
|
"new": {
|
|
"type": "string"
|
|
},
|
|
"all": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"old",
|
|
"new"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"edits"
|
|
]
|
|
}
|
|
}
|