@rethunk/mcp-multi-root-git 2.6.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +21 -0
- package/HUMANS.md +1 -1
- package/README.md +1 -1
- package/dist/server/batch-commit-tool.js +16 -20
- package/dist/server/error-codes.js +95 -0
- package/dist/server/git-blame-tool.js +227 -0
- package/dist/server/git-branch-list-tool.js +138 -0
- package/dist/server/git-cherry-pick-tool.js +22 -31
- package/dist/server/git-diff-summary-tool.js +6 -6
- package/dist/server/git-diff-tool.js +54 -18
- package/dist/server/git-fetch-tool.js +142 -14
- package/dist/server/git-inventory-tool.js +5 -4
- package/dist/server/git-log-tool.js +18 -19
- package/dist/server/git-merge-tool.js +21 -24
- package/dist/server/git-parity-tool.js +3 -2
- package/dist/server/git-push-tool.js +9 -5
- package/dist/server/git-reflog-tool.js +126 -0
- package/dist/server/git-reset-soft-tool.js +7 -9
- package/dist/server/git-show-tool.js +83 -23
- package/dist/server/git-stash-tool.js +5 -6
- package/dist/server/git-tag-tool.js +8 -7
- package/dist/server/git-worktree-tool.js +14 -16
- package/dist/server/git.js +70 -4
- package/dist/server/list-presets-tool.js +2 -1
- package/dist/server/presets-resource.js +3 -2
- package/dist/server/presets.js +11 -5
- package/dist/server/roots.js +11 -10
- package/dist/server/schemas.js +4 -4
- package/dist/server/tool-parameter-schemas.js +9 -0
- package/dist/server/tools.js +6 -0
- package/docs/mcp-tools.md +120 -7
- package/package.json +10 -13
- package/schemas/git_blame.json +52 -0
- package/schemas/git_branch_list.json +36 -0
- package/schemas/git_diff.json +14 -1
- package/schemas/git_reflog.json +44 -0
- package/schemas/git_show.json +12 -1
- package/schemas/index.json +15 -0
- package/tool-parameters.schema.json +236 -86
|
@@ -9,22 +9,22 @@
|
|
|
9
9
|
"type": "object",
|
|
10
10
|
"properties": {
|
|
11
11
|
"workspaceRoot": {
|
|
12
|
-
"description": "Highest-priority override.",
|
|
12
|
+
"description": "Highest-priority root override.",
|
|
13
13
|
"type": "string"
|
|
14
14
|
},
|
|
15
15
|
"rootIndex": {
|
|
16
|
-
"description": "0-based index into
|
|
16
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
17
17
|
"type": "integer",
|
|
18
18
|
"minimum": 0,
|
|
19
19
|
"maximum": 9007199254740991
|
|
20
20
|
},
|
|
21
21
|
"allWorkspaceRoots": {
|
|
22
22
|
"default": false,
|
|
23
|
-
"description": "Fan out across all MCP
|
|
23
|
+
"description": "Fan out across all MCP roots.",
|
|
24
24
|
"type": "boolean"
|
|
25
25
|
},
|
|
26
26
|
"absoluteGitRoots": {
|
|
27
|
-
"description": "Absolute paths to git repo roots
|
|
27
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
28
28
|
"maxItems": 256,
|
|
29
29
|
"type": "array",
|
|
30
30
|
"items": {
|
|
@@ -56,22 +56,22 @@
|
|
|
56
56
|
"type": "object",
|
|
57
57
|
"properties": {
|
|
58
58
|
"workspaceRoot": {
|
|
59
|
-
"description": "Highest-priority override.",
|
|
59
|
+
"description": "Highest-priority root override.",
|
|
60
60
|
"type": "string"
|
|
61
61
|
},
|
|
62
62
|
"rootIndex": {
|
|
63
|
-
"description": "0-based index into
|
|
63
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
64
64
|
"type": "integer",
|
|
65
65
|
"minimum": 0,
|
|
66
66
|
"maximum": 9007199254740991
|
|
67
67
|
},
|
|
68
68
|
"allWorkspaceRoots": {
|
|
69
69
|
"default": false,
|
|
70
|
-
"description": "Fan out across all MCP
|
|
70
|
+
"description": "Fan out across all MCP roots.",
|
|
71
71
|
"type": "boolean"
|
|
72
72
|
},
|
|
73
73
|
"absoluteGitRoots": {
|
|
74
|
-
"description": "Absolute paths to git repo roots
|
|
74
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
75
75
|
"maxItems": 256,
|
|
76
76
|
"type": "array",
|
|
77
77
|
"items": {
|
|
@@ -128,22 +128,22 @@
|
|
|
128
128
|
"type": "object",
|
|
129
129
|
"properties": {
|
|
130
130
|
"workspaceRoot": {
|
|
131
|
-
"description": "Highest-priority override.",
|
|
131
|
+
"description": "Highest-priority root override.",
|
|
132
132
|
"type": "string"
|
|
133
133
|
},
|
|
134
134
|
"rootIndex": {
|
|
135
|
-
"description": "0-based index into
|
|
135
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
136
136
|
"type": "integer",
|
|
137
137
|
"minimum": 0,
|
|
138
138
|
"maximum": 9007199254740991
|
|
139
139
|
},
|
|
140
140
|
"allWorkspaceRoots": {
|
|
141
141
|
"default": false,
|
|
142
|
-
"description": "Fan out across all MCP
|
|
142
|
+
"description": "Fan out across all MCP roots.",
|
|
143
143
|
"type": "boolean"
|
|
144
144
|
},
|
|
145
145
|
"absoluteGitRoots": {
|
|
146
|
-
"description": "Absolute paths to git repo roots
|
|
146
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
147
147
|
"maxItems": 256,
|
|
148
148
|
"type": "array",
|
|
149
149
|
"items": {
|
|
@@ -200,22 +200,22 @@
|
|
|
200
200
|
"type": "object",
|
|
201
201
|
"properties": {
|
|
202
202
|
"workspaceRoot": {
|
|
203
|
-
"description": "Highest-priority override.",
|
|
203
|
+
"description": "Highest-priority root override.",
|
|
204
204
|
"type": "string"
|
|
205
205
|
},
|
|
206
206
|
"rootIndex": {
|
|
207
|
-
"description": "0-based index into
|
|
207
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
208
208
|
"type": "integer",
|
|
209
209
|
"minimum": 0,
|
|
210
210
|
"maximum": 9007199254740991
|
|
211
211
|
},
|
|
212
212
|
"allWorkspaceRoots": {
|
|
213
213
|
"default": false,
|
|
214
|
-
"description": "Fan out across all MCP
|
|
214
|
+
"description": "Fan out across all MCP roots.",
|
|
215
215
|
"type": "boolean"
|
|
216
216
|
},
|
|
217
217
|
"absoluteGitRoots": {
|
|
218
|
-
"description": "Absolute paths to git repo roots
|
|
218
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
219
219
|
"maxItems": 256,
|
|
220
220
|
"type": "array",
|
|
221
221
|
"items": {
|
|
@@ -242,22 +242,22 @@
|
|
|
242
242
|
"type": "object",
|
|
243
243
|
"properties": {
|
|
244
244
|
"workspaceRoot": {
|
|
245
|
-
"description": "Highest-priority override.",
|
|
245
|
+
"description": "Highest-priority root override.",
|
|
246
246
|
"type": "string"
|
|
247
247
|
},
|
|
248
248
|
"rootIndex": {
|
|
249
|
-
"description": "0-based index into
|
|
249
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
250
250
|
"type": "integer",
|
|
251
251
|
"minimum": 0,
|
|
252
252
|
"maximum": 9007199254740991
|
|
253
253
|
},
|
|
254
254
|
"allWorkspaceRoots": {
|
|
255
255
|
"default": false,
|
|
256
|
-
"description": "Fan out across all MCP
|
|
256
|
+
"description": "Fan out across all MCP roots.",
|
|
257
257
|
"type": "boolean"
|
|
258
258
|
},
|
|
259
259
|
"absoluteGitRoots": {
|
|
260
|
-
"description": "Absolute paths to git repo roots
|
|
260
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
261
261
|
"maxItems": 256,
|
|
262
262
|
"type": "array",
|
|
263
263
|
"items": {
|
|
@@ -266,7 +266,7 @@
|
|
|
266
266
|
},
|
|
267
267
|
"format": {
|
|
268
268
|
"default": "markdown",
|
|
269
|
-
"description": "`markdown` (default): headed sections per root. `json`:
|
|
269
|
+
"description": "`markdown` (default): headed sections per root. `json`: groups array. `oneline`: `<sha7> <subject>` per line; lowest-token option for post-commit verification.",
|
|
270
270
|
"type": "string",
|
|
271
271
|
"enum": [
|
|
272
272
|
"markdown",
|
|
@@ -275,27 +275,27 @@
|
|
|
275
275
|
]
|
|
276
276
|
},
|
|
277
277
|
"since": {
|
|
278
|
-
"description": "Passed to
|
|
278
|
+
"description": "Passed to `--since=`. ISO timestamp or git relative form (`48.hours`, `2.weeks.ago`). Default: `7.days`.",
|
|
279
279
|
"type": "string"
|
|
280
280
|
},
|
|
281
281
|
"paths": {
|
|
282
|
-
"description": "Limit to commits touching these paths (
|
|
282
|
+
"description": "Limit to commits touching these paths (`-- <paths>`).",
|
|
283
283
|
"type": "array",
|
|
284
284
|
"items": {
|
|
285
285
|
"type": "string"
|
|
286
286
|
}
|
|
287
287
|
},
|
|
288
288
|
"grep": {
|
|
289
|
-
"description": "Filter
|
|
289
|
+
"description": "Filter by commit message regex (git `--grep`, case-insensitive).",
|
|
290
290
|
"type": "string"
|
|
291
291
|
},
|
|
292
292
|
"author": {
|
|
293
|
-
"description": "Filter by author name or email (
|
|
293
|
+
"description": "Filter by author name or email (`--author=`).",
|
|
294
294
|
"type": "string"
|
|
295
295
|
},
|
|
296
296
|
"maxCommits": {
|
|
297
297
|
"default": 50,
|
|
298
|
-
"description": "
|
|
298
|
+
"description": "Max commits per root (hard cap 500, default 50).",
|
|
299
299
|
"type": "integer",
|
|
300
300
|
"minimum": 1,
|
|
301
301
|
"maximum": 500
|
|
@@ -317,17 +317,17 @@
|
|
|
317
317
|
"type": "object",
|
|
318
318
|
"properties": {
|
|
319
319
|
"workspaceRoot": {
|
|
320
|
-
"description": "Highest-priority override.",
|
|
320
|
+
"description": "Highest-priority root override.",
|
|
321
321
|
"type": "string"
|
|
322
322
|
},
|
|
323
323
|
"rootIndex": {
|
|
324
|
-
"description": "0-based index into
|
|
324
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
325
325
|
"type": "integer",
|
|
326
326
|
"minimum": 0,
|
|
327
327
|
"maximum": 9007199254740991
|
|
328
328
|
},
|
|
329
329
|
"absoluteGitRoots": {
|
|
330
|
-
"description": "Absolute paths to git repo roots
|
|
330
|
+
"description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
|
|
331
331
|
"maxItems": 256,
|
|
332
332
|
"type": "array",
|
|
333
333
|
"items": {
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
"maximum": 500
|
|
366
366
|
},
|
|
367
367
|
"excludePatterns": {
|
|
368
|
-
"description": "Glob patterns to exclude.
|
|
368
|
+
"description": "Glob patterns to exclude. Default: lock files, dist, vendor, etc.",
|
|
369
369
|
"type": "array",
|
|
370
370
|
"items": {
|
|
371
371
|
"type": "string"
|
|
@@ -384,11 +384,11 @@
|
|
|
384
384
|
"type": "object",
|
|
385
385
|
"properties": {
|
|
386
386
|
"workspaceRoot": {
|
|
387
|
-
"description": "Highest-priority override.",
|
|
387
|
+
"description": "Highest-priority root override.",
|
|
388
388
|
"type": "string"
|
|
389
389
|
},
|
|
390
390
|
"rootIndex": {
|
|
391
|
-
"description": "0-based index into
|
|
391
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
392
392
|
"type": "integer",
|
|
393
393
|
"minimum": 0,
|
|
394
394
|
"maximum": 9007199254740991
|
|
@@ -402,21 +402,34 @@
|
|
|
402
402
|
]
|
|
403
403
|
},
|
|
404
404
|
"base": {
|
|
405
|
-
"description": "Base ref (e.g. \"main\", \"HEAD~3\").
|
|
405
|
+
"description": "Base ref (e.g. \"main\", \"HEAD~3\"). Omit for unstaged changes.",
|
|
406
406
|
"type": "string"
|
|
407
407
|
},
|
|
408
408
|
"head": {
|
|
409
|
-
"description": "Head ref (e.g. \"feature-branch\").
|
|
409
|
+
"description": "Head ref (e.g. \"feature-branch\"). Defaults to HEAD. Used only when `base` is set.",
|
|
410
410
|
"type": "string"
|
|
411
411
|
},
|
|
412
412
|
"path": {
|
|
413
|
-
"description": "Scope
|
|
413
|
+
"description": "Scope to a single file. Unioned with `paths` if both given.",
|
|
414
414
|
"type": "string"
|
|
415
415
|
},
|
|
416
|
+
"paths": {
|
|
417
|
+
"description": "Scope to multiple files (must be within repo root). Unioned with `path` if both given.",
|
|
418
|
+
"type": "array",
|
|
419
|
+
"items": {
|
|
420
|
+
"type": "string"
|
|
421
|
+
}
|
|
422
|
+
},
|
|
416
423
|
"staged": {
|
|
417
424
|
"default": false,
|
|
418
|
-
"description": "
|
|
425
|
+
"description": "Show staged changes (`git diff --staged`). Ignored if `base` is set.",
|
|
419
426
|
"type": "boolean"
|
|
427
|
+
},
|
|
428
|
+
"unified": {
|
|
429
|
+
"description": "Context lines around each change (`-U<n>`). Default: 3. Use 0 for no context.",
|
|
430
|
+
"type": "integer",
|
|
431
|
+
"minimum": 0,
|
|
432
|
+
"maximum": 100
|
|
420
433
|
}
|
|
421
434
|
},
|
|
422
435
|
"required": [
|
|
@@ -430,11 +443,11 @@
|
|
|
430
443
|
"type": "object",
|
|
431
444
|
"properties": {
|
|
432
445
|
"workspaceRoot": {
|
|
433
|
-
"description": "Highest-priority override.",
|
|
446
|
+
"description": "Highest-priority root override.",
|
|
434
447
|
"type": "string"
|
|
435
448
|
},
|
|
436
449
|
"rootIndex": {
|
|
437
|
-
"description": "0-based index into
|
|
450
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
438
451
|
"type": "integer",
|
|
439
452
|
"minimum": 0,
|
|
440
453
|
"maximum": 9007199254740991
|
|
@@ -453,8 +466,19 @@
|
|
|
453
466
|
"description": "Commit reference (SHA, branch, tag, or any git rev-spec)."
|
|
454
467
|
},
|
|
455
468
|
"path": {
|
|
456
|
-
"description": "Optional file path to inspect at the ref.
|
|
469
|
+
"description": "Optional single file path to inspect at the ref. Merged with `paths` when both are provided.",
|
|
457
470
|
"type": "string"
|
|
471
|
+
},
|
|
472
|
+
"paths": {
|
|
473
|
+
"description": "Optional list of file paths to filter the shown diff/stat. Merged with `path` when both are provided.",
|
|
474
|
+
"type": "array",
|
|
475
|
+
"items": {
|
|
476
|
+
"type": "string"
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"stat": {
|
|
480
|
+
"description": "When true, show --stat diffstat (files changed summary) instead of the full patch.",
|
|
481
|
+
"type": "boolean"
|
|
458
482
|
}
|
|
459
483
|
},
|
|
460
484
|
"required": [
|
|
@@ -468,11 +492,11 @@
|
|
|
468
492
|
"type": "object",
|
|
469
493
|
"properties": {
|
|
470
494
|
"workspaceRoot": {
|
|
471
|
-
"description": "Highest-priority override.",
|
|
495
|
+
"description": "Highest-priority root override.",
|
|
472
496
|
"type": "string"
|
|
473
497
|
},
|
|
474
498
|
"rootIndex": {
|
|
475
|
-
"description": "0-based index into
|
|
499
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
476
500
|
"type": "integer",
|
|
477
501
|
"minimum": 0,
|
|
478
502
|
"maximum": 9007199254740991
|
|
@@ -496,11 +520,11 @@
|
|
|
496
520
|
"type": "object",
|
|
497
521
|
"properties": {
|
|
498
522
|
"workspaceRoot": {
|
|
499
|
-
"description": "Highest-priority override.",
|
|
523
|
+
"description": "Highest-priority root override.",
|
|
500
524
|
"type": "string"
|
|
501
525
|
},
|
|
502
526
|
"rootIndex": {
|
|
503
|
-
"description": "0-based index into
|
|
527
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
504
528
|
"type": "integer",
|
|
505
529
|
"minimum": 0,
|
|
506
530
|
"maximum": 9007199254740991
|
|
@@ -524,11 +548,11 @@
|
|
|
524
548
|
"type": "object",
|
|
525
549
|
"properties": {
|
|
526
550
|
"workspaceRoot": {
|
|
527
|
-
"description": "Highest-priority override.",
|
|
551
|
+
"description": "Highest-priority root override.",
|
|
528
552
|
"type": "string"
|
|
529
553
|
},
|
|
530
554
|
"rootIndex": {
|
|
531
|
-
"description": "0-based index into
|
|
555
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
532
556
|
"type": "integer",
|
|
533
557
|
"minimum": 0,
|
|
534
558
|
"maximum": 9007199254740991
|
|
@@ -569,23 +593,149 @@
|
|
|
569
593
|
],
|
|
570
594
|
"additionalProperties": false
|
|
571
595
|
},
|
|
596
|
+
"git_blame": {
|
|
597
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
598
|
+
"type": "object",
|
|
599
|
+
"properties": {
|
|
600
|
+
"workspaceRoot": {
|
|
601
|
+
"description": "Highest-priority root override.",
|
|
602
|
+
"type": "string"
|
|
603
|
+
},
|
|
604
|
+
"rootIndex": {
|
|
605
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
606
|
+
"type": "integer",
|
|
607
|
+
"minimum": 0,
|
|
608
|
+
"maximum": 9007199254740991
|
|
609
|
+
},
|
|
610
|
+
"format": {
|
|
611
|
+
"default": "markdown",
|
|
612
|
+
"type": "string",
|
|
613
|
+
"enum": [
|
|
614
|
+
"markdown",
|
|
615
|
+
"json"
|
|
616
|
+
]
|
|
617
|
+
},
|
|
618
|
+
"path": {
|
|
619
|
+
"type": "string",
|
|
620
|
+
"minLength": 1,
|
|
621
|
+
"description": "Repo-relative path to the file to blame."
|
|
622
|
+
},
|
|
623
|
+
"ref": {
|
|
624
|
+
"description": "Optional commit-ish (SHA, branch, tag) to blame at.",
|
|
625
|
+
"type": "string"
|
|
626
|
+
},
|
|
627
|
+
"startLine": {
|
|
628
|
+
"description": "First line of the range to blame (1-based). Requires endLine.",
|
|
629
|
+
"type": "integer",
|
|
630
|
+
"minimum": 1,
|
|
631
|
+
"maximum": 9007199254740991
|
|
632
|
+
},
|
|
633
|
+
"endLine": {
|
|
634
|
+
"description": "Last line of the range to blame (1-based, inclusive). Requires startLine.",
|
|
635
|
+
"type": "integer",
|
|
636
|
+
"minimum": 1,
|
|
637
|
+
"maximum": 9007199254740991
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
"required": [
|
|
641
|
+
"format",
|
|
642
|
+
"path"
|
|
643
|
+
],
|
|
644
|
+
"additionalProperties": false
|
|
645
|
+
},
|
|
646
|
+
"git_branch_list": {
|
|
647
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
648
|
+
"type": "object",
|
|
649
|
+
"properties": {
|
|
650
|
+
"workspaceRoot": {
|
|
651
|
+
"description": "Highest-priority root override.",
|
|
652
|
+
"type": "string"
|
|
653
|
+
},
|
|
654
|
+
"rootIndex": {
|
|
655
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
656
|
+
"type": "integer",
|
|
657
|
+
"minimum": 0,
|
|
658
|
+
"maximum": 9007199254740991
|
|
659
|
+
},
|
|
660
|
+
"format": {
|
|
661
|
+
"default": "markdown",
|
|
662
|
+
"type": "string",
|
|
663
|
+
"enum": [
|
|
664
|
+
"markdown",
|
|
665
|
+
"json"
|
|
666
|
+
]
|
|
667
|
+
},
|
|
668
|
+
"includeRemotes": {
|
|
669
|
+
"default": false,
|
|
670
|
+
"description": "Include remote-tracking branches from refs/remotes (symbolic origin/HEAD excluded).",
|
|
671
|
+
"type": "boolean"
|
|
672
|
+
}
|
|
673
|
+
},
|
|
674
|
+
"required": [
|
|
675
|
+
"format",
|
|
676
|
+
"includeRemotes"
|
|
677
|
+
],
|
|
678
|
+
"additionalProperties": false
|
|
679
|
+
},
|
|
680
|
+
"git_reflog": {
|
|
681
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
682
|
+
"type": "object",
|
|
683
|
+
"properties": {
|
|
684
|
+
"workspaceRoot": {
|
|
685
|
+
"description": "Highest-priority root override.",
|
|
686
|
+
"type": "string"
|
|
687
|
+
},
|
|
688
|
+
"rootIndex": {
|
|
689
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
690
|
+
"type": "integer",
|
|
691
|
+
"minimum": 0,
|
|
692
|
+
"maximum": 9007199254740991
|
|
693
|
+
},
|
|
694
|
+
"format": {
|
|
695
|
+
"default": "markdown",
|
|
696
|
+
"type": "string",
|
|
697
|
+
"enum": [
|
|
698
|
+
"markdown",
|
|
699
|
+
"json"
|
|
700
|
+
]
|
|
701
|
+
},
|
|
702
|
+
"ref": {
|
|
703
|
+
"default": "HEAD",
|
|
704
|
+
"description": "Ref whose reflog to show (branch name, HEAD, etc.). Default: HEAD.",
|
|
705
|
+
"type": "string"
|
|
706
|
+
},
|
|
707
|
+
"maxEntries": {
|
|
708
|
+
"default": 30,
|
|
709
|
+
"description": "Maximum reflog entries to return (hard cap 200). Default 30.",
|
|
710
|
+
"type": "integer",
|
|
711
|
+
"minimum": 1,
|
|
712
|
+
"maximum": 200
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
"required": [
|
|
716
|
+
"format",
|
|
717
|
+
"ref",
|
|
718
|
+
"maxEntries"
|
|
719
|
+
],
|
|
720
|
+
"additionalProperties": false
|
|
721
|
+
},
|
|
572
722
|
"batch_commit": {
|
|
573
723
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
574
724
|
"type": "object",
|
|
575
725
|
"properties": {
|
|
576
726
|
"workspaceRoot": {
|
|
577
|
-
"description": "Highest-priority override.",
|
|
727
|
+
"description": "Highest-priority root override.",
|
|
578
728
|
"type": "string"
|
|
579
729
|
},
|
|
580
730
|
"rootIndex": {
|
|
581
|
-
"description": "0-based index into
|
|
731
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
582
732
|
"type": "integer",
|
|
583
733
|
"minimum": 0,
|
|
584
734
|
"maximum": 9007199254740991
|
|
585
735
|
},
|
|
586
736
|
"allWorkspaceRoots": {
|
|
587
737
|
"default": false,
|
|
588
|
-
"description": "Fan out across all MCP
|
|
738
|
+
"description": "Fan out across all MCP roots.",
|
|
589
739
|
"type": "boolean"
|
|
590
740
|
},
|
|
591
741
|
"format": {
|
|
@@ -657,7 +807,7 @@
|
|
|
657
807
|
}
|
|
658
808
|
]
|
|
659
809
|
},
|
|
660
|
-
"description": "Paths to stage, relative to
|
|
810
|
+
"description": "Paths to stage, relative to git root. String or `{ path, lines }` for hunk-level staging. Deleted tracked files are staged via `git rm --cached`. Cannot combine `lines` with a deleted file."
|
|
661
811
|
}
|
|
662
812
|
},
|
|
663
813
|
"required": [
|
|
@@ -666,11 +816,11 @@
|
|
|
666
816
|
],
|
|
667
817
|
"additionalProperties": false
|
|
668
818
|
},
|
|
669
|
-
"description": "
|
|
819
|
+
"description": "Ordered list of commits to create."
|
|
670
820
|
},
|
|
671
821
|
"push": {
|
|
672
822
|
"default": "never",
|
|
673
|
-
"description": "`never` (default): no push. `after`: push
|
|
823
|
+
"description": "`never` (default): no push. `after`: push current branch to upstream after all commits succeed; fails with `push_no_upstream` if no upstream (commits are NOT rolled back).",
|
|
674
824
|
"type": "string",
|
|
675
825
|
"enum": [
|
|
676
826
|
"never",
|
|
@@ -679,7 +829,7 @@
|
|
|
679
829
|
},
|
|
680
830
|
"dryRun": {
|
|
681
831
|
"default": false,
|
|
682
|
-
"description": "
|
|
832
|
+
"description": "Stage files and return a preview without writing commits; unstages afterwards. Response is marked DRY RUN.",
|
|
683
833
|
"type": "boolean"
|
|
684
834
|
}
|
|
685
835
|
},
|
|
@@ -697,18 +847,18 @@
|
|
|
697
847
|
"type": "object",
|
|
698
848
|
"properties": {
|
|
699
849
|
"workspaceRoot": {
|
|
700
|
-
"description": "Highest-priority override.",
|
|
850
|
+
"description": "Highest-priority root override.",
|
|
701
851
|
"type": "string"
|
|
702
852
|
},
|
|
703
853
|
"rootIndex": {
|
|
704
|
-
"description": "0-based index into
|
|
854
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
705
855
|
"type": "integer",
|
|
706
856
|
"minimum": 0,
|
|
707
857
|
"maximum": 9007199254740991
|
|
708
858
|
},
|
|
709
859
|
"allWorkspaceRoots": {
|
|
710
860
|
"default": false,
|
|
711
|
-
"description": "Fan out across all MCP
|
|
861
|
+
"description": "Fan out across all MCP roots.",
|
|
712
862
|
"type": "boolean"
|
|
713
863
|
},
|
|
714
864
|
"format": {
|
|
@@ -745,18 +895,18 @@
|
|
|
745
895
|
"type": "object",
|
|
746
896
|
"properties": {
|
|
747
897
|
"workspaceRoot": {
|
|
748
|
-
"description": "Highest-priority override.",
|
|
898
|
+
"description": "Highest-priority root override.",
|
|
749
899
|
"type": "string"
|
|
750
900
|
},
|
|
751
901
|
"rootIndex": {
|
|
752
|
-
"description": "0-based index into
|
|
902
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
753
903
|
"type": "integer",
|
|
754
904
|
"minimum": 0,
|
|
755
905
|
"maximum": 9007199254740991
|
|
756
906
|
},
|
|
757
907
|
"allWorkspaceRoots": {
|
|
758
908
|
"default": false,
|
|
759
|
-
"description": "Fan out across all MCP
|
|
909
|
+
"description": "Fan out across all MCP roots.",
|
|
760
910
|
"type": "boolean"
|
|
761
911
|
},
|
|
762
912
|
"format": {
|
|
@@ -798,12 +948,12 @@
|
|
|
798
948
|
},
|
|
799
949
|
"deleteMergedBranches": {
|
|
800
950
|
"default": false,
|
|
801
|
-
"description": "
|
|
951
|
+
"description": "Delete each source branch locally after clean merge (`git branch -d`). Protected names and remote refs unaffected.",
|
|
802
952
|
"type": "boolean"
|
|
803
953
|
},
|
|
804
954
|
"deleteMergedWorktrees": {
|
|
805
955
|
"default": false,
|
|
806
|
-
"description": "
|
|
956
|
+
"description": "Remove local worktrees on source branches after clean merge (`git worktree remove`). Protected tails skipped.",
|
|
807
957
|
"type": "boolean"
|
|
808
958
|
}
|
|
809
959
|
},
|
|
@@ -822,18 +972,18 @@
|
|
|
822
972
|
"type": "object",
|
|
823
973
|
"properties": {
|
|
824
974
|
"workspaceRoot": {
|
|
825
|
-
"description": "Highest-priority override.",
|
|
975
|
+
"description": "Highest-priority root override.",
|
|
826
976
|
"type": "string"
|
|
827
977
|
},
|
|
828
978
|
"rootIndex": {
|
|
829
|
-
"description": "0-based index into
|
|
979
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
830
980
|
"type": "integer",
|
|
831
981
|
"minimum": 0,
|
|
832
982
|
"maximum": 9007199254740991
|
|
833
983
|
},
|
|
834
984
|
"allWorkspaceRoots": {
|
|
835
985
|
"default": false,
|
|
836
|
-
"description": "Fan out across all MCP
|
|
986
|
+
"description": "Fan out across all MCP roots.",
|
|
837
987
|
"type": "boolean"
|
|
838
988
|
},
|
|
839
989
|
"format": {
|
|
@@ -852,7 +1002,7 @@
|
|
|
852
1002
|
"type": "string",
|
|
853
1003
|
"minLength": 1
|
|
854
1004
|
},
|
|
855
|
-
"description": "Sources
|
|
1005
|
+
"description": "Sources: SHA, `A..B` range, or branch name (resolves to `onto..<branch>`)."
|
|
856
1006
|
},
|
|
857
1007
|
"onto": {
|
|
858
1008
|
"description": "Destination branch. Defaults to the currently checked-out branch.",
|
|
@@ -860,17 +1010,17 @@
|
|
|
860
1010
|
},
|
|
861
1011
|
"deleteMergedBranches": {
|
|
862
1012
|
"default": false,
|
|
863
|
-
"description": "
|
|
1013
|
+
"description": "Delete branch-kind sources locally after success. Protected names and remote refs unaffected.",
|
|
864
1014
|
"type": "boolean"
|
|
865
1015
|
},
|
|
866
1016
|
"deleteMergedWorktrees": {
|
|
867
1017
|
"default": false,
|
|
868
|
-
"description": "
|
|
1018
|
+
"description": "Remove local worktrees on branch-kind sources after success. Protected tails skipped.",
|
|
869
1019
|
"type": "boolean"
|
|
870
1020
|
},
|
|
871
1021
|
"strictMergedRefEquality": {
|
|
872
1022
|
"default": false,
|
|
873
|
-
"description": "
|
|
1023
|
+
"description": "false (default): delete branch when every commit is content-equivalent on destination (patch-id, normal cherry-pick outcome). true: require strict ref ancestry (`git branch -d` semantics — will refuse after cherry-pick due to SHA mismatch).",
|
|
874
1024
|
"type": "boolean"
|
|
875
1025
|
}
|
|
876
1026
|
},
|
|
@@ -889,18 +1039,18 @@
|
|
|
889
1039
|
"type": "object",
|
|
890
1040
|
"properties": {
|
|
891
1041
|
"workspaceRoot": {
|
|
892
|
-
"description": "Highest-priority override.",
|
|
1042
|
+
"description": "Highest-priority root override.",
|
|
893
1043
|
"type": "string"
|
|
894
1044
|
},
|
|
895
1045
|
"rootIndex": {
|
|
896
|
-
"description": "0-based index into
|
|
1046
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
897
1047
|
"type": "integer",
|
|
898
1048
|
"minimum": 0,
|
|
899
1049
|
"maximum": 9007199254740991
|
|
900
1050
|
},
|
|
901
1051
|
"allWorkspaceRoots": {
|
|
902
1052
|
"default": false,
|
|
903
|
-
"description": "Fan out across all MCP
|
|
1053
|
+
"description": "Fan out across all MCP roots.",
|
|
904
1054
|
"type": "boolean"
|
|
905
1055
|
},
|
|
906
1056
|
"format": {
|
|
@@ -914,7 +1064,7 @@
|
|
|
914
1064
|
"ref": {
|
|
915
1065
|
"type": "string",
|
|
916
1066
|
"minLength": 1,
|
|
917
|
-
"description": "Commit to reset to
|
|
1067
|
+
"description": "Commit to reset to: ancestor notation (`HEAD~1`, `HEAD~3`), branch name, or SHA."
|
|
918
1068
|
}
|
|
919
1069
|
},
|
|
920
1070
|
"required": [
|
|
@@ -929,11 +1079,11 @@
|
|
|
929
1079
|
"type": "object",
|
|
930
1080
|
"properties": {
|
|
931
1081
|
"workspaceRoot": {
|
|
932
|
-
"description": "Highest-priority override.",
|
|
1082
|
+
"description": "Highest-priority root override.",
|
|
933
1083
|
"type": "string"
|
|
934
1084
|
},
|
|
935
1085
|
"rootIndex": {
|
|
936
|
-
"description": "0-based index into
|
|
1086
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
937
1087
|
"type": "integer",
|
|
938
1088
|
"minimum": 0,
|
|
939
1089
|
"maximum": 9007199254740991
|
|
@@ -977,18 +1127,18 @@
|
|
|
977
1127
|
"type": "object",
|
|
978
1128
|
"properties": {
|
|
979
1129
|
"workspaceRoot": {
|
|
980
|
-
"description": "Highest-priority override.",
|
|
1130
|
+
"description": "Highest-priority root override.",
|
|
981
1131
|
"type": "string"
|
|
982
1132
|
},
|
|
983
1133
|
"rootIndex": {
|
|
984
|
-
"description": "0-based index into
|
|
1134
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
985
1135
|
"type": "integer",
|
|
986
1136
|
"minimum": 0,
|
|
987
1137
|
"maximum": 9007199254740991
|
|
988
1138
|
},
|
|
989
1139
|
"allWorkspaceRoots": {
|
|
990
1140
|
"default": false,
|
|
991
|
-
"description": "Fan out across all MCP
|
|
1141
|
+
"description": "Fan out across all MCP roots.",
|
|
992
1142
|
"type": "boolean"
|
|
993
1143
|
},
|
|
994
1144
|
"format": {
|
|
@@ -1002,15 +1152,15 @@
|
|
|
1002
1152
|
"path": {
|
|
1003
1153
|
"type": "string",
|
|
1004
1154
|
"minLength": 1,
|
|
1005
|
-
"description": "Filesystem path for the new worktree
|
|
1155
|
+
"description": "Filesystem path for the new worktree (relative paths resolved from git toplevel)."
|
|
1006
1156
|
},
|
|
1007
1157
|
"branch": {
|
|
1008
1158
|
"type": "string",
|
|
1009
1159
|
"minLength": 1,
|
|
1010
|
-
"description": "Branch to check out
|
|
1160
|
+
"description": "Branch to check out; created from `baseRef` if it doesn't exist."
|
|
1011
1161
|
},
|
|
1012
1162
|
"baseRef": {
|
|
1013
|
-
"description": "Commit-ish to base the new branch on
|
|
1163
|
+
"description": "Commit-ish to base the new branch on. Default: HEAD.",
|
|
1014
1164
|
"type": "string"
|
|
1015
1165
|
}
|
|
1016
1166
|
},
|
|
@@ -1027,18 +1177,18 @@
|
|
|
1027
1177
|
"type": "object",
|
|
1028
1178
|
"properties": {
|
|
1029
1179
|
"workspaceRoot": {
|
|
1030
|
-
"description": "Highest-priority override.",
|
|
1180
|
+
"description": "Highest-priority root override.",
|
|
1031
1181
|
"type": "string"
|
|
1032
1182
|
},
|
|
1033
1183
|
"rootIndex": {
|
|
1034
|
-
"description": "0-based index into
|
|
1184
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
1035
1185
|
"type": "integer",
|
|
1036
1186
|
"minimum": 0,
|
|
1037
1187
|
"maximum": 9007199254740991
|
|
1038
1188
|
},
|
|
1039
1189
|
"allWorkspaceRoots": {
|
|
1040
1190
|
"default": false,
|
|
1041
|
-
"description": "Fan out across all MCP
|
|
1191
|
+
"description": "Fan out across all MCP roots.",
|
|
1042
1192
|
"type": "boolean"
|
|
1043
1193
|
},
|
|
1044
1194
|
"format": {
|
|
@@ -1056,7 +1206,7 @@
|
|
|
1056
1206
|
},
|
|
1057
1207
|
"force": {
|
|
1058
1208
|
"default": false,
|
|
1059
|
-
"description": "
|
|
1209
|
+
"description": "Allow removal of worktrees with uncommitted changes (`--force`).",
|
|
1060
1210
|
"type": "boolean"
|
|
1061
1211
|
}
|
|
1062
1212
|
},
|
|
@@ -1073,11 +1223,11 @@
|
|
|
1073
1223
|
"type": "object",
|
|
1074
1224
|
"properties": {
|
|
1075
1225
|
"workspaceRoot": {
|
|
1076
|
-
"description": "Highest-priority override.",
|
|
1226
|
+
"description": "Highest-priority root override.",
|
|
1077
1227
|
"type": "string"
|
|
1078
1228
|
},
|
|
1079
1229
|
"rootIndex": {
|
|
1080
|
-
"description": "0-based index into
|
|
1230
|
+
"description": "0-based index into MCP roots; ignored if workspaceRoot set.",
|
|
1081
1231
|
"type": "integer",
|
|
1082
1232
|
"minimum": 0,
|
|
1083
1233
|
"maximum": 9007199254740991
|
|
@@ -1099,7 +1249,7 @@
|
|
|
1099
1249
|
},
|
|
1100
1250
|
"pop": {
|
|
1101
1251
|
"default": false,
|
|
1102
|
-
"description": "
|
|
1252
|
+
"description": "Run `git stash pop` instead of `git stash apply` (removes stash after applying).",
|
|
1103
1253
|
"type": "boolean"
|
|
1104
1254
|
}
|
|
1105
1255
|
},
|