@rethunk/mcp-multi-root-git 2.9.0 → 3.1.0

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.
Files changed (56) hide show
  1. package/AGENTS.md +4 -6
  2. package/CHANGELOG.md +65 -0
  3. package/HUMANS.md +4 -4
  4. package/dist/server/batch-commit-tool.js +24 -15
  5. package/dist/server/coverage.js +5 -1
  6. package/dist/server/error-codes.js +6 -9
  7. package/dist/server/git-blame-tool.js +60 -16
  8. package/dist/server/git-branch-list-tool.js +1 -7
  9. package/dist/server/git-cherry-pick-tool.js +1 -1
  10. package/dist/server/git-diff-summary-tool.js +3 -3
  11. package/dist/server/git-diff-tool.js +1 -4
  12. package/dist/server/git-fetch-tool.js +3 -12
  13. package/dist/server/git-inventory-tool.js +4 -4
  14. package/dist/server/git-log-tool.js +2 -2
  15. package/dist/server/git-merge-tool.js +1 -1
  16. package/dist/server/git-parity-tool.js +2 -2
  17. package/dist/server/git-push-tool.js +1 -1
  18. package/dist/server/git-reflog-tool.js +1 -7
  19. package/dist/server/git-reset-soft-tool.js +1 -1
  20. package/dist/server/git-show-tool.js +2 -11
  21. package/dist/server/git-stash-tool.js +3 -12
  22. package/dist/server/git-status-tool.js +2 -2
  23. package/dist/server/git-tag-tool.js +1 -7
  24. package/dist/server/git-worktree-tool.js +3 -7
  25. package/dist/server/git.js +2 -8
  26. package/dist/server/list-presets-tool.js +2 -8
  27. package/dist/server/roots.js +41 -80
  28. package/dist/server/schemas.js +11 -19
  29. package/dist/server/tool-parameter-schemas.js +3 -3
  30. package/dist/server.js +1 -1
  31. package/docs/mcp-tools.md +117 -136
  32. package/package.json +6 -5
  33. package/schemas/batch_commit.json +7 -19
  34. package/schemas/git_blame.json +12 -10
  35. package/schemas/git_branch_list.json +2 -8
  36. package/schemas/git_cherry_pick.json +5 -17
  37. package/schemas/git_diff.json +7 -13
  38. package/schemas/git_diff_summary.json +2 -16
  39. package/schemas/git_fetch.json +1 -7
  40. package/schemas/git_inventory.json +18 -23
  41. package/schemas/git_log.json +24 -29
  42. package/schemas/git_merge.json +3 -15
  43. package/schemas/git_parity.json +18 -23
  44. package/schemas/git_push.json +1 -13
  45. package/schemas/git_reflog.json +1 -7
  46. package/schemas/git_reset_soft.json +2 -14
  47. package/schemas/git_show.json +1 -7
  48. package/schemas/git_stash_apply.json +3 -9
  49. package/schemas/git_stash_list.json +1 -7
  50. package/schemas/git_status.json +18 -23
  51. package/schemas/git_tag.json +1 -7
  52. package/schemas/git_worktree_add.json +4 -16
  53. package/schemas/git_worktree_list.json +1 -7
  54. package/schemas/git_worktree_remove.json +2 -14
  55. package/schemas/list_presets.json +18 -23
  56. package/tool-parameters.schema.json +122 -297
@@ -8,28 +8,24 @@
8
8
  "$schema": "https://json-schema.org/draft/2020-12/schema",
9
9
  "type": "object",
10
10
  "properties": {
11
- "workspaceRoot": {
12
- "description": "Highest-priority root override.",
13
- "type": "string"
14
- },
15
- "rootIndex": {
16
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
17
- "type": "integer",
18
- "minimum": 0,
19
- "maximum": 9007199254740991
20
- },
21
- "allWorkspaceRoots": {
22
- "default": false,
23
- "description": "Fan out across all MCP roots.",
24
- "type": "boolean"
25
- },
26
- "absoluteGitRoots": {
27
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
28
- "maxItems": 256,
29
- "type": "array",
30
- "items": {
31
- "type": "string"
32
- }
11
+ "root": {
12
+ "description": "Repo path, array of paths, or \"*\" for all MCP roots.",
13
+ "anyOf": [
14
+ {
15
+ "type": "string"
16
+ },
17
+ {
18
+ "maxItems": 256,
19
+ "type": "array",
20
+ "items": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ {
25
+ "type": "string",
26
+ "const": "*"
27
+ }
28
+ ]
33
29
  },
34
30
  "format": {
35
31
  "default": "markdown",
@@ -45,7 +41,6 @@
45
41
  }
46
42
  },
47
43
  "required": [
48
- "allWorkspaceRoots",
49
44
  "format",
50
45
  "includeSubmodules"
51
46
  ],
@@ -55,28 +50,24 @@
55
50
  "$schema": "https://json-schema.org/draft/2020-12/schema",
56
51
  "type": "object",
57
52
  "properties": {
58
- "workspaceRoot": {
59
- "description": "Highest-priority root override.",
60
- "type": "string"
61
- },
62
- "rootIndex": {
63
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
64
- "type": "integer",
65
- "minimum": 0,
66
- "maximum": 9007199254740991
67
- },
68
- "allWorkspaceRoots": {
69
- "default": false,
70
- "description": "Fan out across all MCP roots.",
71
- "type": "boolean"
72
- },
73
- "absoluteGitRoots": {
74
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
75
- "maxItems": 256,
76
- "type": "array",
77
- "items": {
78
- "type": "string"
79
- }
53
+ "root": {
54
+ "description": "Repo path, array of paths, or \"*\" for all MCP roots.",
55
+ "anyOf": [
56
+ {
57
+ "type": "string"
58
+ },
59
+ {
60
+ "maxItems": 256,
61
+ "type": "array",
62
+ "items": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ {
67
+ "type": "string",
68
+ "const": "*"
69
+ }
70
+ ]
80
71
  },
81
72
  "format": {
82
73
  "default": "markdown",
@@ -116,7 +107,6 @@
116
107
  }
117
108
  },
118
109
  "required": [
119
- "allWorkspaceRoots",
120
110
  "format",
121
111
  "presetMerge",
122
112
  "maxRoots"
@@ -127,28 +117,24 @@
127
117
  "$schema": "https://json-schema.org/draft/2020-12/schema",
128
118
  "type": "object",
129
119
  "properties": {
130
- "workspaceRoot": {
131
- "description": "Highest-priority root override.",
132
- "type": "string"
133
- },
134
- "rootIndex": {
135
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
136
- "type": "integer",
137
- "minimum": 0,
138
- "maximum": 9007199254740991
139
- },
140
- "allWorkspaceRoots": {
141
- "default": false,
142
- "description": "Fan out across all MCP roots.",
143
- "type": "boolean"
144
- },
145
- "absoluteGitRoots": {
146
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
147
- "maxItems": 256,
148
- "type": "array",
149
- "items": {
150
- "type": "string"
151
- }
120
+ "root": {
121
+ "description": "Repo path, array of paths, or \"*\" for all MCP roots.",
122
+ "anyOf": [
123
+ {
124
+ "type": "string"
125
+ },
126
+ {
127
+ "maxItems": 256,
128
+ "type": "array",
129
+ "items": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ {
134
+ "type": "string",
135
+ "const": "*"
136
+ }
137
+ ]
152
138
  },
153
139
  "format": {
154
140
  "default": "markdown",
@@ -189,7 +175,6 @@
189
175
  }
190
176
  },
191
177
  "required": [
192
- "allWorkspaceRoots",
193
178
  "format",
194
179
  "presetMerge"
195
180
  ],
@@ -199,28 +184,24 @@
199
184
  "$schema": "https://json-schema.org/draft/2020-12/schema",
200
185
  "type": "object",
201
186
  "properties": {
202
- "workspaceRoot": {
203
- "description": "Highest-priority root override.",
204
- "type": "string"
205
- },
206
- "rootIndex": {
207
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
208
- "type": "integer",
209
- "minimum": 0,
210
- "maximum": 9007199254740991
211
- },
212
- "allWorkspaceRoots": {
213
- "default": false,
214
- "description": "Fan out across all MCP roots.",
215
- "type": "boolean"
216
- },
217
- "absoluteGitRoots": {
218
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
219
- "maxItems": 256,
220
- "type": "array",
221
- "items": {
222
- "type": "string"
223
- }
187
+ "root": {
188
+ "description": "Repo path, array of paths, or \"*\" for all MCP roots.",
189
+ "anyOf": [
190
+ {
191
+ "type": "string"
192
+ },
193
+ {
194
+ "maxItems": 256,
195
+ "type": "array",
196
+ "items": {
197
+ "type": "string"
198
+ }
199
+ },
200
+ {
201
+ "type": "string",
202
+ "const": "*"
203
+ }
204
+ ]
224
205
  },
225
206
  "format": {
226
207
  "default": "markdown",
@@ -232,7 +213,6 @@
232
213
  }
233
214
  },
234
215
  "required": [
235
- "allWorkspaceRoots",
236
216
  "format"
237
217
  ],
238
218
  "additionalProperties": false
@@ -241,28 +221,24 @@
241
221
  "$schema": "https://json-schema.org/draft/2020-12/schema",
242
222
  "type": "object",
243
223
  "properties": {
244
- "workspaceRoot": {
245
- "description": "Highest-priority root override.",
246
- "type": "string"
247
- },
248
- "rootIndex": {
249
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
250
- "type": "integer",
251
- "minimum": 0,
252
- "maximum": 9007199254740991
253
- },
254
- "allWorkspaceRoots": {
255
- "default": false,
256
- "description": "Fan out across all MCP roots.",
257
- "type": "boolean"
258
- },
259
- "absoluteGitRoots": {
260
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
261
- "maxItems": 256,
262
- "type": "array",
263
- "items": {
264
- "type": "string"
265
- }
224
+ "root": {
225
+ "description": "Repo path, array of paths, or \"*\" for all MCP roots.",
226
+ "anyOf": [
227
+ {
228
+ "type": "string"
229
+ },
230
+ {
231
+ "maxItems": 256,
232
+ "type": "array",
233
+ "items": {
234
+ "type": "string"
235
+ }
236
+ },
237
+ {
238
+ "type": "string",
239
+ "const": "*"
240
+ }
241
+ ]
266
242
  },
267
243
  "format": {
268
244
  "default": "markdown",
@@ -306,7 +282,6 @@
306
282
  }
307
283
  },
308
284
  "required": [
309
- "allWorkspaceRoots",
310
285
  "format",
311
286
  "maxCommits"
312
287
  ],
@@ -317,23 +292,9 @@
317
292
  "type": "object",
318
293
  "properties": {
319
294
  "workspaceRoot": {
320
- "description": "Highest-priority root override.",
295
+ "description": "Repo path. Default: first MCP root / cwd.",
321
296
  "type": "string"
322
297
  },
323
- "rootIndex": {
324
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
325
- "type": "integer",
326
- "minimum": 0,
327
- "maximum": 9007199254740991
328
- },
329
- "absoluteGitRoots": {
330
- "description": "Absolute paths to git repo roots; use for sibling clones under a non-git parent.",
331
- "maxItems": 256,
332
- "type": "array",
333
- "items": {
334
- "type": "string"
335
- }
336
- },
337
298
  "format": {
338
299
  "default": "markdown",
339
300
  "type": "string",
@@ -384,15 +345,9 @@
384
345
  "type": "object",
385
346
  "properties": {
386
347
  "workspaceRoot": {
387
- "description": "Highest-priority root override.",
348
+ "description": "Repo path. Default: first MCP root / cwd.",
388
349
  "type": "string"
389
350
  },
390
- "rootIndex": {
391
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
392
- "type": "integer",
393
- "minimum": 0,
394
- "maximum": 9007199254740991
395
- },
396
351
  "format": {
397
352
  "default": "markdown",
398
353
  "type": "string",
@@ -443,15 +398,9 @@
443
398
  "type": "object",
444
399
  "properties": {
445
400
  "workspaceRoot": {
446
- "description": "Highest-priority root override.",
401
+ "description": "Repo path. Default: first MCP root / cwd.",
447
402
  "type": "string"
448
403
  },
449
- "rootIndex": {
450
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
451
- "type": "integer",
452
- "minimum": 0,
453
- "maximum": 9007199254740991
454
- },
455
404
  "format": {
456
405
  "default": "markdown",
457
406
  "type": "string",
@@ -492,15 +441,9 @@
492
441
  "type": "object",
493
442
  "properties": {
494
443
  "workspaceRoot": {
495
- "description": "Highest-priority root override.",
444
+ "description": "Repo path. Default: first MCP root / cwd.",
496
445
  "type": "string"
497
446
  },
498
- "rootIndex": {
499
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
500
- "type": "integer",
501
- "minimum": 0,
502
- "maximum": 9007199254740991
503
- },
504
447
  "format": {
505
448
  "default": "markdown",
506
449
  "type": "string",
@@ -520,15 +463,9 @@
520
463
  "type": "object",
521
464
  "properties": {
522
465
  "workspaceRoot": {
523
- "description": "Highest-priority root override.",
466
+ "description": "Repo path. Default: first MCP root / cwd.",
524
467
  "type": "string"
525
468
  },
526
- "rootIndex": {
527
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
528
- "type": "integer",
529
- "minimum": 0,
530
- "maximum": 9007199254740991
531
- },
532
469
  "format": {
533
470
  "default": "markdown",
534
471
  "type": "string",
@@ -548,15 +485,9 @@
548
485
  "type": "object",
549
486
  "properties": {
550
487
  "workspaceRoot": {
551
- "description": "Highest-priority root override.",
488
+ "description": "Repo path. Default: first MCP root / cwd.",
552
489
  "type": "string"
553
490
  },
554
- "rootIndex": {
555
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
556
- "type": "integer",
557
- "minimum": 0,
558
- "maximum": 9007199254740991
559
- },
560
491
  "format": {
561
492
  "default": "markdown",
562
493
  "type": "string",
@@ -598,15 +529,9 @@
598
529
  "type": "object",
599
530
  "properties": {
600
531
  "workspaceRoot": {
601
- "description": "Highest-priority root override.",
532
+ "description": "Repo path. Default: first MCP root / cwd.",
602
533
  "type": "string"
603
534
  },
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
535
  "format": {
611
536
  "default": "markdown",
612
537
  "type": "string",
@@ -628,18 +553,26 @@
628
553
  "description": "First line of the range to blame (1-based). Requires endLine.",
629
554
  "type": "integer",
630
555
  "minimum": 1,
631
- "maximum": 9007199254740991
556
+ "maximum": 1000000
632
557
  },
633
558
  "endLine": {
634
559
  "description": "Last line of the range to blame (1-based, inclusive). Requires startLine.",
635
560
  "type": "integer",
636
561
  "minimum": 1,
637
- "maximum": 9007199254740991
562
+ "maximum": 1000000
563
+ },
564
+ "maxLines": {
565
+ "default": 2000,
566
+ "description": "Max blamed lines to return. Default: 2000.",
567
+ "type": "integer",
568
+ "minimum": 1,
569
+ "maximum": 10000
638
570
  }
639
571
  },
640
572
  "required": [
641
573
  "format",
642
- "path"
574
+ "path",
575
+ "maxLines"
643
576
  ],
644
577
  "additionalProperties": false
645
578
  },
@@ -648,15 +581,9 @@
648
581
  "type": "object",
649
582
  "properties": {
650
583
  "workspaceRoot": {
651
- "description": "Highest-priority root override.",
584
+ "description": "Repo path. Default: first MCP root / cwd.",
652
585
  "type": "string"
653
586
  },
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
587
  "format": {
661
588
  "default": "markdown",
662
589
  "type": "string",
@@ -682,15 +609,9 @@
682
609
  "type": "object",
683
610
  "properties": {
684
611
  "workspaceRoot": {
685
- "description": "Highest-priority root override.",
612
+ "description": "Repo path. Default: first MCP root / cwd.",
686
613
  "type": "string"
687
614
  },
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
615
  "format": {
695
616
  "default": "markdown",
696
617
  "type": "string",
@@ -724,20 +645,9 @@
724
645
  "type": "object",
725
646
  "properties": {
726
647
  "workspaceRoot": {
727
- "description": "Highest-priority root override.",
648
+ "description": "Repo path. Default: first MCP root / cwd.",
728
649
  "type": "string"
729
650
  },
730
- "rootIndex": {
731
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
732
- "type": "integer",
733
- "minimum": 0,
734
- "maximum": 9007199254740991
735
- },
736
- "allWorkspaceRoots": {
737
- "default": false,
738
- "description": "Fan out across all MCP roots.",
739
- "type": "boolean"
740
- },
741
651
  "format": {
742
652
  "default": "markdown",
743
653
  "type": "string",
@@ -781,13 +691,13 @@
781
691
  "from": {
782
692
  "type": "integer",
783
693
  "minimum": 1,
784
- "maximum": 9007199254740991,
694
+ "maximum": 1000000,
785
695
  "description": "Start line number (1-indexed)."
786
696
  },
787
697
  "to": {
788
698
  "type": "integer",
789
699
  "minimum": 1,
790
- "maximum": 9007199254740991,
700
+ "maximum": 1000000,
791
701
  "description": "End line number (1-indexed, inclusive)."
792
702
  }
793
703
  },
@@ -834,7 +744,6 @@
834
744
  }
835
745
  },
836
746
  "required": [
837
- "allWorkspaceRoots",
838
747
  "format",
839
748
  "commits",
840
749
  "push",
@@ -847,20 +756,9 @@
847
756
  "type": "object",
848
757
  "properties": {
849
758
  "workspaceRoot": {
850
- "description": "Highest-priority root override.",
759
+ "description": "Repo path. Default: first MCP root / cwd.",
851
760
  "type": "string"
852
761
  },
853
- "rootIndex": {
854
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
855
- "type": "integer",
856
- "minimum": 0,
857
- "maximum": 9007199254740991
858
- },
859
- "allWorkspaceRoots": {
860
- "default": false,
861
- "description": "Fan out across all MCP roots.",
862
- "type": "boolean"
863
- },
864
762
  "format": {
865
763
  "default": "markdown",
866
764
  "type": "string",
@@ -884,7 +782,6 @@
884
782
  }
885
783
  },
886
784
  "required": [
887
- "allWorkspaceRoots",
888
785
  "format",
889
786
  "setUpstream"
890
787
  ],
@@ -895,20 +792,9 @@
895
792
  "type": "object",
896
793
  "properties": {
897
794
  "workspaceRoot": {
898
- "description": "Highest-priority root override.",
795
+ "description": "Repo path. Default: first MCP root / cwd.",
899
796
  "type": "string"
900
797
  },
901
- "rootIndex": {
902
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
903
- "type": "integer",
904
- "minimum": 0,
905
- "maximum": 9007199254740991
906
- },
907
- "allWorkspaceRoots": {
908
- "default": false,
909
- "description": "Fan out across all MCP roots.",
910
- "type": "boolean"
911
- },
912
798
  "format": {
913
799
  "default": "markdown",
914
800
  "type": "string",
@@ -958,7 +844,6 @@
958
844
  }
959
845
  },
960
846
  "required": [
961
- "allWorkspaceRoots",
962
847
  "format",
963
848
  "sources",
964
849
  "strategy",
@@ -972,20 +857,9 @@
972
857
  "type": "object",
973
858
  "properties": {
974
859
  "workspaceRoot": {
975
- "description": "Highest-priority root override.",
860
+ "description": "Repo path. Default: first MCP root / cwd.",
976
861
  "type": "string"
977
862
  },
978
- "rootIndex": {
979
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
980
- "type": "integer",
981
- "minimum": 0,
982
- "maximum": 9007199254740991
983
- },
984
- "allWorkspaceRoots": {
985
- "default": false,
986
- "description": "Fan out across all MCP roots.",
987
- "type": "boolean"
988
- },
989
863
  "format": {
990
864
  "default": "markdown",
991
865
  "type": "string",
@@ -1025,7 +899,6 @@
1025
899
  }
1026
900
  },
1027
901
  "required": [
1028
- "allWorkspaceRoots",
1029
902
  "format",
1030
903
  "sources",
1031
904
  "deleteMergedBranches",
@@ -1039,20 +912,9 @@
1039
912
  "type": "object",
1040
913
  "properties": {
1041
914
  "workspaceRoot": {
1042
- "description": "Highest-priority root override.",
915
+ "description": "Repo path. Default: first MCP root / cwd.",
1043
916
  "type": "string"
1044
917
  },
1045
- "rootIndex": {
1046
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
1047
- "type": "integer",
1048
- "minimum": 0,
1049
- "maximum": 9007199254740991
1050
- },
1051
- "allWorkspaceRoots": {
1052
- "default": false,
1053
- "description": "Fan out across all MCP roots.",
1054
- "type": "boolean"
1055
- },
1056
918
  "format": {
1057
919
  "default": "markdown",
1058
920
  "type": "string",
@@ -1068,7 +930,6 @@
1068
930
  }
1069
931
  },
1070
932
  "required": [
1071
- "allWorkspaceRoots",
1072
933
  "format",
1073
934
  "ref"
1074
935
  ],
@@ -1079,15 +940,9 @@
1079
940
  "type": "object",
1080
941
  "properties": {
1081
942
  "workspaceRoot": {
1082
- "description": "Highest-priority root override.",
943
+ "description": "Repo path. Default: first MCP root / cwd.",
1083
944
  "type": "string"
1084
945
  },
1085
- "rootIndex": {
1086
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
1087
- "type": "integer",
1088
- "minimum": 0,
1089
- "maximum": 9007199254740991
1090
- },
1091
946
  "format": {
1092
947
  "default": "markdown",
1093
948
  "type": "string",
@@ -1127,20 +982,9 @@
1127
982
  "type": "object",
1128
983
  "properties": {
1129
984
  "workspaceRoot": {
1130
- "description": "Highest-priority root override.",
985
+ "description": "Repo path. Default: first MCP root / cwd.",
1131
986
  "type": "string"
1132
987
  },
1133
- "rootIndex": {
1134
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
1135
- "type": "integer",
1136
- "minimum": 0,
1137
- "maximum": 9007199254740991
1138
- },
1139
- "allWorkspaceRoots": {
1140
- "default": false,
1141
- "description": "Fan out across all MCP roots.",
1142
- "type": "boolean"
1143
- },
1144
988
  "format": {
1145
989
  "default": "markdown",
1146
990
  "type": "string",
@@ -1165,7 +1009,6 @@
1165
1009
  }
1166
1010
  },
1167
1011
  "required": [
1168
- "allWorkspaceRoots",
1169
1012
  "format",
1170
1013
  "path",
1171
1014
  "branch"
@@ -1177,20 +1020,9 @@
1177
1020
  "type": "object",
1178
1021
  "properties": {
1179
1022
  "workspaceRoot": {
1180
- "description": "Highest-priority root override.",
1023
+ "description": "Repo path. Default: first MCP root / cwd.",
1181
1024
  "type": "string"
1182
1025
  },
1183
- "rootIndex": {
1184
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
1185
- "type": "integer",
1186
- "minimum": 0,
1187
- "maximum": 9007199254740991
1188
- },
1189
- "allWorkspaceRoots": {
1190
- "default": false,
1191
- "description": "Fan out across all MCP roots.",
1192
- "type": "boolean"
1193
- },
1194
1026
  "format": {
1195
1027
  "default": "markdown",
1196
1028
  "type": "string",
@@ -1211,7 +1043,6 @@
1211
1043
  }
1212
1044
  },
1213
1045
  "required": [
1214
- "allWorkspaceRoots",
1215
1046
  "format",
1216
1047
  "path",
1217
1048
  "force"
@@ -1223,15 +1054,9 @@
1223
1054
  "type": "object",
1224
1055
  "properties": {
1225
1056
  "workspaceRoot": {
1226
- "description": "Highest-priority root override.",
1057
+ "description": "Repo path. Default: first MCP root / cwd.",
1227
1058
  "type": "string"
1228
1059
  },
1229
- "rootIndex": {
1230
- "description": "0-based index into MCP roots; ignored if workspaceRoot set.",
1231
- "type": "integer",
1232
- "minimum": 0,
1233
- "maximum": 9007199254740991
1234
- },
1235
1060
  "format": {
1236
1061
  "default": "markdown",
1237
1062
  "type": "string",
@@ -1245,7 +1070,7 @@
1245
1070
  "description": "Stash index (defaults to 0 for stash@{0}).",
1246
1071
  "type": "integer",
1247
1072
  "minimum": 0,
1248
- "maximum": 9007199254740991
1073
+ "maximum": 10000
1249
1074
  },
1250
1075
  "pop": {
1251
1076
  "default": false,