summaryrefslogtreecommitdiffhomepage
path: root/src/context/tools/batch-move-file.json
blob: e0d6482ddc4b362072215a80248cd0fb08365cd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
	"id": "batch_move_file",
	"label": "Batch Move/Rename Files",
	"description": "Move or rename multiple files at once (requires approval).",
	"friendlyName": "Batch Move Files",
	"requiresApproval": true,
	"batchOf": "move_file",
	"definition": {
		"type": "function",
		"function": {
			"name": "batch_move_file",
			"description": "Move or rename multiple files in the Obsidian vault in a single call. All internal links are automatically updated for each file. If some operations fail, the rest continue and per-file results are reported. Target folders are created automatically. All file paths must be exact vault-relative paths (from the vault context or get_current_note). This action requires user approval for the entire batch.",
			"parameters": {
				"type": "object",
				"required": ["operations"],
				"properties": {
					"operations": {
						"type": "string",
						"description": "A JSON array of move operations. Each object must have \"file_path\" (current path) and \"new_path\" (destination). Example: [{\"file_path\": \"old/note.md\", \"new_path\": \"new/note.md\"}, {\"file_path\": \"a.md\", \"new_path\": \"archive/a.md\"}]"
					}
				}
			}
		}
	}
}