summaryrefslogtreecommitdiffhomepage
path: root/src/context/tools/batch-edit-file.json
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-03-28 04:52:55 +0900
committerAdam Malczewski <[email protected]>2026-03-28 04:52:55 +0900
commitbe2dee39e5bf907dfdd3462817203a08cf3c345f (patch)
tree54861c738e8762d9313ec4431ea6f4464dec1900 /src/context/tools/batch-edit-file.json
parent9ccf03b1172dec8c4b9ed2701fcff1935ae63b67 (diff)
downloadai-pulse-obsidian-plugin-be2dee39e5bf907dfdd3462817203a08cf3c345f.tar.gz
ai-pulse-obsidian-plugin-be2dee39e5bf907dfdd3462817203a08cf3c345f.zip
improve ai context
Diffstat (limited to 'src/context/tools/batch-edit-file.json')
-rw-r--r--src/context/tools/batch-edit-file.json25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/context/tools/batch-edit-file.json b/src/context/tools/batch-edit-file.json
new file mode 100644
index 0000000..c7e5040
--- /dev/null
+++ b/src/context/tools/batch-edit-file.json
@@ -0,0 +1,25 @@
+{
+ "id": "batch_edit_file",
+ "label": "Batch Edit Files",
+ "description": "Edit multiple files at once (requires approval).",
+ "friendlyName": "Batch Edit Files",
+ "requiresApproval": true,
+ "batchOf": "edit_file",
+ "definition": {
+ "type": "function",
+ "function": {
+ "name": "batch_edit_file",
+ "description": "Edit multiple files in the Obsidian vault in a single call. Each operation performs a find-and-replace on one file. IMPORTANT: You MUST call read_file on each target file BEFORE using this tool. Copy the exact text from read_file output for each old_text. If some operations fail, the rest continue and per-file results are reported. Use this instead of calling edit_file repeatedly when making changes across multiple files. This action requires user approval for the entire batch.",
+ "parameters": {
+ "type": "object",
+ "required": ["operations"],
+ "properties": {
+ "operations": {
+ "type": "string",
+ "description": "A JSON array of edit operations. Each object must have \"file_path\", \"old_text\", and \"new_text\". Example: [{\"file_path\": \"note1.md\", \"old_text\": \"old content\", \"new_text\": \"new content\"}, {\"file_path\": \"note2.md\", \"old_text\": \"foo\", \"new_text\": \"bar\"}]"
+ }
+ }
+ }
+ }
+ }
+}