@gitwand/mcp 3.7.3 → 3.9.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.
@@ -0,0 +1,14 @@
1
+ /**
2
+ * accuracy lot C — Détection du contexte de merge pour les tools MCP.
3
+ *
4
+ * Volontairement dupliqué depuis `@gitwand/cli` (src/git.ts) plutôt
5
+ * qu'importé : le MCP ne dépend pas du CLI, et `@gitwand/core` reste sans
6
+ * dépendance Node (il tourne dans le navigateur). Les deux copies suivent la
7
+ * même convention — « ours » est la branche CIBLE pour merge, rebase ET
8
+ * cherry-pick, déclaré via `targetSide` pour que le moteur n'ait jamais à
9
+ * re-dériver l'inversion ours/theirs du rebase.
10
+ */
11
+ import type { MergeContext } from "@gitwand/core";
12
+ /** Détecte l'opération git en cours dans `cwd`. `null` = aucune / hors dépôt. */
13
+ export declare function detectMergeContext(cwd: string): MergeContext | null;
14
+ //# sourceMappingURL=merge-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-context.d.ts","sourceRoot":"","sources":["../src/merge-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA2BlD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA4BnE"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * accuracy lot C — Détection du contexte de merge pour les tools MCP.
3
+ *
4
+ * Volontairement dupliqué depuis `@gitwand/cli` (src/git.ts) plutôt
5
+ * qu'importé : le MCP ne dépend pas du CLI, et `@gitwand/core` reste sans
6
+ * dépendance Node (il tourne dans le navigateur). Les deux copies suivent la
7
+ * même convention — « ours » est la branche CIBLE pour merge, rebase ET
8
+ * cherry-pick, déclaré via `targetSide` pour que le moteur n'ait jamais à
9
+ * re-dériver l'inversion ours/theirs du rebase.
10
+ */
11
+ import { execFileSync } from "node:child_process";
12
+ import { existsSync, readFileSync } from "node:fs";
13
+ import { join } from "node:path";
14
+ function gitDir(cwd) {
15
+ try {
16
+ return execFileSync("git", ["rev-parse", "--absolute-git-dir"], { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] }).trim();
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ }
22
+ function revName(cwd, args) {
23
+ try {
24
+ const out = execFileSync("git", args, { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] }).trim();
25
+ return out || undefined;
26
+ }
27
+ catch {
28
+ return undefined;
29
+ }
30
+ }
31
+ function readRefFile(path) {
32
+ try {
33
+ return readFileSync(path, "utf-8").trim().replace(/^refs\/heads\//, "") || undefined;
34
+ }
35
+ catch {
36
+ return undefined;
37
+ }
38
+ }
39
+ /** Détecte l'opération git en cours dans `cwd`. `null` = aucune / hors dépôt. */
40
+ export function detectMergeContext(cwd) {
41
+ const dir = gitDir(cwd);
42
+ if (!dir)
43
+ return null;
44
+ if (existsSync(join(dir, "MERGE_HEAD"))) {
45
+ return {
46
+ operation: "merge",
47
+ targetSide: "ours",
48
+ oursRef: revName(cwd, ["rev-parse", "--abbrev-ref", "HEAD"]),
49
+ theirsRef: revName(cwd, ["name-rev", "--name-only", "--refs=refs/heads/*", "--refs=refs/remotes/*", "MERGE_HEAD"]),
50
+ };
51
+ }
52
+ if (existsSync(join(dir, "rebase-merge")) || existsSync(join(dir, "rebase-apply"))) {
53
+ const rebaseDir = existsSync(join(dir, "rebase-merge")) ? "rebase-merge" : "rebase-apply";
54
+ return {
55
+ operation: "rebase",
56
+ targetSide: "ours",
57
+ oursRef: revName(cwd, ["name-rev", "--name-only", "--refs=refs/heads/*", "--refs=refs/remotes/*", "HEAD"]),
58
+ theirsRef: readRefFile(join(dir, rebaseDir, "head-name")),
59
+ };
60
+ }
61
+ if (existsSync(join(dir, "CHERRY_PICK_HEAD"))) {
62
+ return { operation: "cherry-pick", targetSide: "ours", oursRef: revName(cwd, ["rev-parse", "--abbrev-ref", "HEAD"]) };
63
+ }
64
+ if (existsSync(join(dir, "REVERT_HEAD"))) {
65
+ return { operation: "revert", targetSide: "ours", oursRef: revName(cwd, ["rev-parse", "--abbrev-ref", "HEAD"]) };
66
+ }
67
+ return null;
68
+ }
69
+ //# sourceMappingURL=merge-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-context.js","sourceRoot":"","sources":["../src/merge-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * accuracy lot D (task 3) — MCP-local, REPORTING-ONLY regeneration helper.
3
+ *
4
+ * Scope ruling (task-3-brief.md § 4): no MCP tool ever executes regeneration.
5
+ * None of the 3 MCP tools that call `resolve()` (`gitwand_status`,
6
+ * `gitwand_resolve_conflicts`, `gitwand_preview_merge`) spawns a process or
7
+ * creates a git worktree, ever — that machinery (`regenerate-runner.ts`)
8
+ * lives ONLY in `@gitwand/cli`, which MCP must not depend on
9
+ * (`packages/mcp/CLAUDE.md`: thin wrapper around `@gitwand/core` only).
10
+ *
11
+ * This module re-derives an accurate `RegenerationPlan` — via the same pure
12
+ * core exports the CLI itself uses (`findEcosystem`/`buildRegenerationPlan`)
13
+ * — from the file states a tool call already knows about, so a caller passing
14
+ * `regenerate: true` gets a correct `runnable`/ecosystem verdict in the JSON
15
+ * response instead of the always-`runnable: false` plan pass 1 attaches
16
+ * on its own (regenerationContext is unknown to core at that point — see
17
+ * `resolver/index.ts`). It mirrors the CLI's pass 2 sibling-state logic
18
+ * (`commands/resolve.ts`) closely enough to be accurate, without any of the
19
+ * CLI's execution machinery.
20
+ *
21
+ * `loadPersistedConventions`/`loadGitwandrcResolveGeneratedFiles` below are
22
+ * intentionally duplicated from `@gitwand/cli` (`commands/conventions.ts` /
23
+ * `llm-config.ts`) rather than imported — same reason as `merge-context.ts`'s
24
+ * header comment: MCP must not depend on the CLI package. Both read from an
25
+ * arbitrary `cwd`, mirroring the `detectMergeContext(cwd)` pattern already
26
+ * used elsewhere in this package (MCP has no implicit `process.cwd()`).
27
+ */
28
+ import { type MergeResult, type RegenerationPlan, type RepoConventions } from "@gitwand/core";
29
+ /**
30
+ * `.git/gitwand/conventions.json` for the repo at `cwd`, tolerant — never
31
+ * throws. Absent/unreadable/invalid all mean "no conventions", exactly the
32
+ * `null` core expects on `options.conventions` by default.
33
+ */
34
+ export declare function loadPersistedConventions(cwd: string): RepoConventions | null;
35
+ /**
36
+ * `.gitwandrc`/`.gitwandrc.json` `resolveGeneratedFiles` for the repo at
37
+ * `cwd`. Returns `undefined` (never a concrete `false`) when unset, outside a
38
+ * repo, or the file is missing/invalid — the same "no explicit opinion"
39
+ * signal the CLI's `loadGitwandrcResolveGeneratedFiles` returns, letting a
40
+ * measured `generatedFiles` convention take over exactly as it does there.
41
+ */
42
+ export declare function loadGitwandrcResolveGeneratedFiles(cwd: string): boolean | undefined;
43
+ export interface RegenerationReportEntry {
44
+ file: string;
45
+ ecosystem: RegenerationPlan["ecosystem"];
46
+ runnable: boolean;
47
+ sources: RegenerationPlan["sources"];
48
+ }
49
+ /**
50
+ * Re-derives an accurate `RegenerationPlan` for every declined
51
+ * `generated_file` resolution across `results` — each `{ file, result }` this
52
+ * SAME tool call already computed. Pure reporting: reads nothing beyond what
53
+ * `results`/`conflictedFiles` already carry, spawns nothing.
54
+ *
55
+ * `conflictedFiles` MUST be the repo's FULL conflicted-file set (e.g.
56
+ * `getConflictedFiles(cwd)` with no narrowing), not just the (possibly
57
+ * caller-narrowed) file list a tool call happened to process — this is the
58
+ * exact bug the CLI's Task 2 fix round already closed for `resolve.ts`
59
+ * (`resolve.ts:292/316`): a source-of-truth path absent from `results` is
60
+ * ONLY safe to default to "clean" when it is ALSO absent from the repo's
61
+ * full conflicted set. If it's absent from `results` (because a caller's
62
+ * `files:` param narrowed it out) but present in `conflictedFiles`, its real
63
+ * state is unknown to this call — it must NOT be reported as runnable.
64
+ * (Absent from `siblingFiles` entirely already means "conflicted" by
65
+ * `buildRegenerationPlan`'s own default — see `regenerate/plan.ts`.)
66
+ *
67
+ * This is a best-effort simplification appropriate for a reporting-only
68
+ * surface: `regenerate: true` documents plan AVAILABILITY, never a
69
+ * guarantee — actually applying it always goes through
70
+ * `gitwand resolve --regenerate` (the CLI), which verifies the real working
71
+ * tree before running anything.
72
+ *
73
+ * Final review Finding 2 — `cwd` is required so a sourceOfTruth that is
74
+ * neither conflicted (per `conflictedFiles`) NOR present here in `results`
75
+ * can be checked against the real filesystem before defaulting it to
76
+ * "clean". "Never conflicted" does NOT imply "clean" — it can just as well
77
+ * mean the file does not exist at all (e.g. `.yarnrc.yml` on a yarn-CLASSIC
78
+ * repo, which never had that file). Reporting such a file as "clean" made
79
+ * yarn-berry plans come back `runnable: true` for classic-yarn repos,
80
+ * directly contradicting the registry's own documented berry-marker guard
81
+ * (`registry.ts`).
82
+ */
83
+ export declare function buildRegenerationReport(results: Array<{
84
+ file: string;
85
+ result: MergeResult;
86
+ }>, conflictedFiles: string[], cwd: string): RegenerationReportEntry[];
87
+ //# sourceMappingURL=regenerate-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regenerate-report.d.ts","sourceRoot":"","sources":["../src/regenerate-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAWvB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAU5E;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAgBnF;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,EACrD,eAAe,EAAE,MAAM,EAAE,EACzB,GAAG,EAAE,MAAM,GACV,uBAAuB,EAAE,CA4C3B"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * accuracy lot D (task 3) — MCP-local, REPORTING-ONLY regeneration helper.
3
+ *
4
+ * Scope ruling (task-3-brief.md § 4): no MCP tool ever executes regeneration.
5
+ * None of the 3 MCP tools that call `resolve()` (`gitwand_status`,
6
+ * `gitwand_resolve_conflicts`, `gitwand_preview_merge`) spawns a process or
7
+ * creates a git worktree, ever — that machinery (`regenerate-runner.ts`)
8
+ * lives ONLY in `@gitwand/cli`, which MCP must not depend on
9
+ * (`packages/mcp/CLAUDE.md`: thin wrapper around `@gitwand/core` only).
10
+ *
11
+ * This module re-derives an accurate `RegenerationPlan` — via the same pure
12
+ * core exports the CLI itself uses (`findEcosystem`/`buildRegenerationPlan`)
13
+ * — from the file states a tool call already knows about, so a caller passing
14
+ * `regenerate: true` gets a correct `runnable`/ecosystem verdict in the JSON
15
+ * response instead of the always-`runnable: false` plan pass 1 attaches
16
+ * on its own (regenerationContext is unknown to core at that point — see
17
+ * `resolver/index.ts`). It mirrors the CLI's pass 2 sibling-state logic
18
+ * (`commands/resolve.ts`) closely enough to be accurate, without any of the
19
+ * CLI's execution machinery.
20
+ *
21
+ * `loadPersistedConventions`/`loadGitwandrcResolveGeneratedFiles` below are
22
+ * intentionally duplicated from `@gitwand/cli` (`commands/conventions.ts` /
23
+ * `llm-config.ts`) rather than imported — same reason as `merge-context.ts`'s
24
+ * header comment: MCP must not depend on the CLI package. Both read from an
25
+ * arbitrary `cwd`, mirroring the `detectMergeContext(cwd)` pattern already
26
+ * used elsewhere in this package (MCP has no implicit `process.cwd()`).
27
+ */
28
+ import { readFileSync, existsSync } from "node:fs";
29
+ import { execFileSync } from "node:child_process";
30
+ import { join, resolve as resolvePath } from "node:path";
31
+ import { findEcosystem, buildRegenerationPlan, parseGitwandrc, } from "@gitwand/core";
32
+ function gitTry(cwd, args) {
33
+ try {
34
+ const out = execFileSync("git", args, { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] }).trim();
35
+ return out || null;
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
41
+ /**
42
+ * `.git/gitwand/conventions.json` for the repo at `cwd`, tolerant — never
43
+ * throws. Absent/unreadable/invalid all mean "no conventions", exactly the
44
+ * `null` core expects on `options.conventions` by default.
45
+ */
46
+ export function loadPersistedConventions(cwd) {
47
+ const gitDir = gitTry(cwd, ["rev-parse", "--absolute-git-dir"]);
48
+ if (!gitDir)
49
+ return null;
50
+ const path = join(gitDir, "gitwand", "conventions.json");
51
+ if (!existsSync(path))
52
+ return null;
53
+ try {
54
+ return JSON.parse(readFileSync(path, "utf-8"));
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ /**
61
+ * `.gitwandrc`/`.gitwandrc.json` `resolveGeneratedFiles` for the repo at
62
+ * `cwd`. Returns `undefined` (never a concrete `false`) when unset, outside a
63
+ * repo, or the file is missing/invalid — the same "no explicit opinion"
64
+ * signal the CLI's `loadGitwandrcResolveGeneratedFiles` returns, letting a
65
+ * measured `generatedFiles` convention take over exactly as it does there.
66
+ */
67
+ export function loadGitwandrcResolveGeneratedFiles(cwd) {
68
+ const root = gitTry(cwd, ["rev-parse", "--show-toplevel"]);
69
+ if (!root)
70
+ return undefined;
71
+ for (const filename of [".gitwandrc", ".gitwandrc.json"]) {
72
+ let content;
73
+ try {
74
+ content = readFileSync(join(root, filename), "utf-8");
75
+ }
76
+ catch {
77
+ continue;
78
+ }
79
+ const parsed = parseGitwandrc(content);
80
+ if (parsed === null)
81
+ continue;
82
+ return parsed.resolveGeneratedFiles;
83
+ }
84
+ return undefined;
85
+ }
86
+ /**
87
+ * Re-derives an accurate `RegenerationPlan` for every declined
88
+ * `generated_file` resolution across `results` — each `{ file, result }` this
89
+ * SAME tool call already computed. Pure reporting: reads nothing beyond what
90
+ * `results`/`conflictedFiles` already carry, spawns nothing.
91
+ *
92
+ * `conflictedFiles` MUST be the repo's FULL conflicted-file set (e.g.
93
+ * `getConflictedFiles(cwd)` with no narrowing), not just the (possibly
94
+ * caller-narrowed) file list a tool call happened to process — this is the
95
+ * exact bug the CLI's Task 2 fix round already closed for `resolve.ts`
96
+ * (`resolve.ts:292/316`): a source-of-truth path absent from `results` is
97
+ * ONLY safe to default to "clean" when it is ALSO absent from the repo's
98
+ * full conflicted set. If it's absent from `results` (because a caller's
99
+ * `files:` param narrowed it out) but present in `conflictedFiles`, its real
100
+ * state is unknown to this call — it must NOT be reported as runnable.
101
+ * (Absent from `siblingFiles` entirely already means "conflicted" by
102
+ * `buildRegenerationPlan`'s own default — see `regenerate/plan.ts`.)
103
+ *
104
+ * This is a best-effort simplification appropriate for a reporting-only
105
+ * surface: `regenerate: true` documents plan AVAILABILITY, never a
106
+ * guarantee — actually applying it always goes through
107
+ * `gitwand resolve --regenerate` (the CLI), which verifies the real working
108
+ * tree before running anything.
109
+ *
110
+ * Final review Finding 2 — `cwd` is required so a sourceOfTruth that is
111
+ * neither conflicted (per `conflictedFiles`) NOR present here in `results`
112
+ * can be checked against the real filesystem before defaulting it to
113
+ * "clean". "Never conflicted" does NOT imply "clean" — it can just as well
114
+ * mean the file does not exist at all (e.g. `.yarnrc.yml` on a yarn-CLASSIC
115
+ * repo, which never had that file). Reporting such a file as "clean" made
116
+ * yarn-berry plans come back `runnable: true` for classic-yarn repos,
117
+ * directly contradicting the registry's own documented berry-marker guard
118
+ * (`registry.ts`).
119
+ */
120
+ export function buildRegenerationReport(results, conflictedFiles, cwd) {
121
+ const conflictedFileSet = new Set(conflictedFiles);
122
+ const siblingFiles = {};
123
+ for (const { file, result } of results) {
124
+ siblingFiles[file] = {
125
+ state: result.stats.totalConflicts === 0
126
+ ? "clean"
127
+ : result.stats.remaining === 0
128
+ ? "resolved"
129
+ : "conflicted",
130
+ };
131
+ }
132
+ const report = [];
133
+ const seen = new Set();
134
+ for (const { file, result } of results) {
135
+ if (seen.has(file))
136
+ continue;
137
+ const hasRegenCandidate = result.resolutions.some((r) => r.regenerationPlan !== undefined);
138
+ if (!hasRegenCandidate)
139
+ continue;
140
+ seen.add(file);
141
+ const ecosystem = findEcosystem(file);
142
+ if (!ecosystem)
143
+ continue; // should not happen — pass 1 already implied a match
144
+ for (const source of ecosystem.sourcesOfTruth) {
145
+ if (source in siblingFiles)
146
+ continue;
147
+ // Never conflicted anywhere in the repo AND actually present on disk
148
+ // ⇒ safe to treat as "clean". Conflicted in the repo but absent from
149
+ // THIS call's results (a narrowed `files:` param) ⇒ unknown to this
150
+ // call — leave it out of siblingFiles entirely, which
151
+ // `buildRegenerationPlan` itself already treats as "conflicted" (never
152
+ // silently runnable). Same for a source that's simply absent from disk
153
+ // (e.g. `.yarnrc.yml` on a yarn-classic repo) — "never conflicted"
154
+ // there means "never existed", not "clean".
155
+ if (!conflictedFileSet.has(source) && existsSync(resolvePath(cwd, source))) {
156
+ siblingFiles[source] = { state: "clean" };
157
+ }
158
+ }
159
+ const plan = buildRegenerationPlan(file, ecosystem, { siblingFiles });
160
+ report.push({ file, ecosystem: plan.ecosystem, runnable: plan.runnable, sources: plan.sources });
161
+ }
162
+ return report;
163
+ }
164
+ //# sourceMappingURL=regenerate-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regenerate-report.js","sourceRoot":"","sources":["../src/regenerate-report.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -26,7 +26,7 @@ for (let i = 0; i < args.length; i++) {
26
26
  // ─── Server setup ──────────────────────────────────────────
27
27
  const server = new Server({
28
28
  name: "gitwand",
29
- version: "3.7.3",
29
+ version: "3.9.0",
30
30
  }, {
31
31
  capabilities: {
32
32
  tools: {},
@@ -53,6 +53,10 @@ export declare function registerTools(): ({
53
53
  type: string;
54
54
  description: string;
55
55
  };
56
+ regenerate: {
57
+ type: string;
58
+ description: string;
59
+ };
56
60
  files?: undefined;
57
61
  dry_run?: undefined;
58
62
  policy?: undefined;
@@ -93,6 +97,10 @@ export declare function registerTools(): ({
93
97
  enum: string[];
94
98
  description: string;
95
99
  };
100
+ regenerate: {
101
+ type: string;
102
+ description: string;
103
+ };
96
104
  operation?: undefined;
97
105
  onto?: undefined;
98
106
  commit?: undefined;
@@ -127,6 +135,10 @@ export declare function registerTools(): ({
127
135
  type: string;
128
136
  description: string;
129
137
  };
138
+ regenerate: {
139
+ type: string;
140
+ description: string;
141
+ };
130
142
  files?: undefined;
131
143
  dry_run?: undefined;
132
144
  policy?: undefined;
@@ -156,6 +168,7 @@ export declare function registerTools(): ({
156
168
  type: string;
157
169
  description: string;
158
170
  };
171
+ regenerate?: undefined;
159
172
  files?: undefined;
160
173
  dry_run?: undefined;
161
174
  policy?: undefined;
@@ -190,6 +203,7 @@ export declare function registerTools(): ({
190
203
  type: string;
191
204
  description: string;
192
205
  };
206
+ regenerate?: undefined;
193
207
  files?: undefined;
194
208
  dry_run?: undefined;
195
209
  policy?: undefined;
@@ -231,6 +245,7 @@ export declare function registerTools(): ({
231
245
  type: string;
232
246
  description: string;
233
247
  };
248
+ regenerate?: undefined;
234
249
  files?: undefined;
235
250
  policy?: undefined;
236
251
  operation?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwK5B;AAgPD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM;;;;;GAsBnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoL5B;AAgPD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM;;;;;GAsBnB"}
@@ -15,6 +15,10 @@ import { execSync, execFileSync } from "node:child_process";
15
15
  import { resolve as resolvePath } from "node:path";
16
16
  import { resolve, summarizeTiers } from "@gitwand/core";
17
17
  import { resolveHunkToolDefinition, handleResolveHunk } from "./resolve_hunk.js";
18
+ import { detectMergeContext } from "../merge-context.js";
19
+ import { buildRegenerationReport, loadGitwandrcResolveGeneratedFiles, loadPersistedConventions, } from "../regenerate-report.js";
20
+ /** Shared description suffix for the `regenerate` param on all 3 tools that expose it — see task-3-brief.md § 4 scope ruling. */
21
+ const REGENERATE_PARAM_DESCRIPTION = "If true, report GitWand's regenerate-tier plan (lockfile ecosystem + whether it's currently runnable) for any declined generated file (e.g. package-lock.json), reusing the same file states this call already computed. REPORTING ONLY — this never executes anything (no process spawned, no worktree created, no file written beyond what this tool already writes without the flag). To actually apply a plan, run `gitwand resolve --regenerate` (the CLI). Default: false.";
18
22
  // ─── Tool definitions ──────────────────────────────────────
19
23
  export function registerTools() {
20
24
  return [
@@ -28,6 +32,10 @@ export function registerTools() {
28
32
  type: "string",
29
33
  description: "Working directory (repo root). Defaults to server cwd.",
30
34
  },
35
+ regenerate: {
36
+ type: "boolean",
37
+ description: REGENERATE_PARAM_DESCRIPTION,
38
+ },
31
39
  },
32
40
  },
33
41
  },
@@ -55,6 +63,10 @@ export function registerTools() {
55
63
  enum: ["prefer-ours", "prefer-theirs", "prefer-merge", "prefer-safety", "strict"],
56
64
  description: "Merge policy to use. Default: prefer-theirs.",
57
65
  },
66
+ regenerate: {
67
+ type: "boolean",
68
+ description: REGENERATE_PARAM_DESCRIPTION,
69
+ },
58
70
  },
59
71
  },
60
72
  },
@@ -81,6 +93,10 @@ export function registerTools() {
81
93
  type: "string",
82
94
  description: "Required when operation is 'cherry-pick': the commit to simulate cherry-picking onto HEAD.",
83
95
  },
96
+ regenerate: {
97
+ type: "boolean",
98
+ description: `Only applies when operation is 'merge' (the default). ${REGENERATE_PARAM_DESCRIPTION}`,
99
+ },
84
100
  },
85
101
  },
86
102
  },
@@ -399,7 +415,7 @@ export async function handleToolCall(name, args, defaultCwd) {
399
415
  const cwd = args.cwd || defaultCwd;
400
416
  switch (name) {
401
417
  case "gitwand_status":
402
- return toolStatus(cwd);
418
+ return toolStatus(cwd, args);
403
419
  case "gitwand_resolve_conflicts":
404
420
  return toolResolve(cwd, args);
405
421
  case "gitwand_preview_merge":
@@ -416,14 +432,23 @@ export async function handleToolCall(name, args, defaultCwd) {
416
432
  return { content: [{ type: "text", text: `Unknown tool: ${name}` }], isError: true };
417
433
  }
418
434
  }
419
- async function toolStatus(cwd) {
435
+ async function toolStatus(cwd, args = {}) {
420
436
  const files = getConflictedFiles(cwd);
437
+ const wantsRegenerationReport = args.regenerate === true;
421
438
  if (files.length === 0) {
422
439
  return {
423
440
  content: [{ type: "text", text: JSON.stringify({ files: 0, conflicts: [], message: "No conflicted files." }, null, 2) }],
424
441
  };
425
442
  }
443
+ // accuracy lot F/D (task 3) — same measured-convention/.gitwandrc precedence
444
+ // the CLI applies (`resolveGeneratedFiles.ts` Bug A/B fix): explicit
445
+ // `.gitwandrc` beats a measured convention, which beats core's own default.
446
+ // MCP has no `--resolve-generated` flag equivalent on this read-only tool,
447
+ // so there is no higher-precedence "explicit call arg" tier here.
448
+ const conventions = loadPersistedConventions(cwd);
449
+ const resolveGeneratedFiles = loadGitwandrcResolveGeneratedFiles(cwd);
426
450
  const aggregateByType = {};
451
+ const resultsForReport = [];
427
452
  const conflicts = files.map((file) => {
428
453
  const filePath = resolvePath(cwd, file);
429
454
  try {
@@ -432,8 +457,13 @@ async function toolStatus(cwd) {
432
457
  // format-aware dispatch and the confidence gate, so every hunk comes back
433
458
  // unresolved and `stats.autoResolved` is always 0. This is a prediction on
434
459
  // in-memory content, nothing is written, so run the real resolution.
435
- const result = resolve(content, file);
460
+ const result = resolve(content, file, {
461
+ mergeContext: detectMergeContext(cwd),
462
+ conventions,
463
+ resolveGeneratedFiles,
464
+ });
436
465
  addByType(aggregateByType, result.stats.byType);
466
+ resultsForReport.push({ file, result });
437
467
  return {
438
468
  path: file,
439
469
  totalConflicts: result.stats.totalConflicts,
@@ -453,9 +483,16 @@ async function toolStatus(cwd) {
453
483
  });
454
484
  const totalConflicts = conflicts.reduce((s, c) => s + (c.totalConflicts ?? 0), 0);
455
485
  const totalResolvable = conflicts.reduce((s, c) => s + (c.autoResolvable ?? 0), 0);
456
- // v2.7 — "recoverable-before-model" : of the residual past the trivial passes,
486
+ // v3.4 — "recoverable-before-model" : of the residual past the trivial passes,
457
487
  // how much is still recoverable deterministically before the model is invoked.
458
488
  const tierSummary = summarizeTiers(aggregateByType);
489
+ // accuracy lot D (task 3, § 4) — reporting-only; never executes anything.
490
+ // `files` IS the repo's full conflicted set here (toolStatus never narrows
491
+ // it), so it doubles as the `conflictedFiles` guard buildRegenerationReport
492
+ // needs against the fix-round-1 "narrowed files ⇒ falsely clean" bug.
493
+ const regenerationPlans = wantsRegenerationReport
494
+ ? buildRegenerationReport(resultsForReport, files, cwd)
495
+ : undefined;
459
496
  return {
460
497
  content: [{
461
498
  type: "text",
@@ -466,6 +503,7 @@ async function toolStatus(cwd) {
466
503
  remaining: totalConflicts - totalResolvable,
467
504
  tierSummary,
468
505
  conflicts,
506
+ ...(regenerationPlans !== undefined ? { regenerationPlans } : {}),
469
507
  }, null, 2),
470
508
  }],
471
509
  };
@@ -474,6 +512,7 @@ async function toolResolve(cwd, args) {
474
512
  let files = args.files ?? [];
475
513
  const dryRun = args.dry_run ?? false;
476
514
  const policy = args.policy;
515
+ const wantsRegenerationReport = args.regenerate === true;
477
516
  if (files.length === 0) {
478
517
  files = getConflictedFiles(cwd);
479
518
  }
@@ -482,15 +521,28 @@ async function toolResolve(cwd, args) {
482
521
  content: [{ type: "text", text: JSON.stringify({ message: "No conflicted files found.", files: [] }, null, 2) }],
483
522
  };
484
523
  }
524
+ // accuracy lot F/D (task 3) — same precedence as the CLI's Bug A/B fix:
525
+ // a measured `generatedFiles` convention only engages the textual "merge"
526
+ // path when there is no higher-precedence explicit opinion; `.gitwandrc`
527
+ // always wins over the convention.
528
+ const conventions = loadPersistedConventions(cwd);
529
+ const resolveGeneratedFiles = loadGitwandrcResolveGeneratedFiles(cwd);
485
530
  const aggregateByType = {};
531
+ const resultsForReport = [];
486
532
  const results = files.map((file) => {
487
533
  const filePath = resolvePath(cwd, file);
488
534
  try {
489
535
  const content = readFileSync(filePath, "utf-8");
490
536
  const result = resolve(content, file, {
491
537
  ...(policy ? { policy: policy } : {}),
538
+ // accuracy lot C — l'opération en cours rend déterministes les décisions qui en
539
+ // dépendent (versions modifiées des deux côtés → la cible gagne).
540
+ mergeContext: detectMergeContext(cwd),
541
+ conventions,
542
+ resolveGeneratedFiles,
492
543
  });
493
544
  addByType(aggregateByType, result.stats.byType);
545
+ resultsForReport.push({ file, result });
494
546
  // Write resolved content unless dry-run
495
547
  if (!dryRun && result.stats.autoResolved > 0) {
496
548
  const newContent = result.mergedContent ?? buildPartialContent(content, result.resolutions);
@@ -504,8 +556,19 @@ async function toolResolve(cwd, args) {
504
556
  });
505
557
  const totalConflicts = results.reduce((s, r) => s + (r.totalConflicts ?? 0), 0);
506
558
  const totalResolved = results.reduce((s, r) => s + (r.autoResolved ?? 0), 0);
507
- // v2.7 — "recoverable-before-model" tier summary, see summarizeTiers() in @gitwand/core.
559
+ // v3.4 — "recoverable-before-model" tier summary, see summarizeTiers() in @gitwand/core.
508
560
  const tierSummary = summarizeTiers(aggregateByType);
561
+ // accuracy lot D (task 3, § 4 — fix round 1) — reporting-only; never
562
+ // executes anything, regardless of `dryRun`. `files` may be a
563
+ // caller-NARROWED subset (`args.files`), unlike `toolStatus`/the merge
564
+ // branch of `toolPreview` — so it must NOT be reused as the
565
+ // `conflictedFiles` guard: a source-of-truth path excluded from a narrowed
566
+ // `files:` list would otherwise be misreported as "clean" even when it's
567
+ // genuinely conflicted elsewhere in the repo. Always re-fetch the repo's
568
+ // FULL conflicted set for that guard.
569
+ const regenerationPlans = wantsRegenerationReport
570
+ ? buildRegenerationReport(resultsForReport, getConflictedFiles(cwd), cwd)
571
+ : undefined;
509
572
  return {
510
573
  content: [{
511
574
  type: "text",
@@ -520,6 +583,7 @@ async function toolResolve(cwd, args) {
520
583
  tierSummary,
521
584
  },
522
585
  files: results,
586
+ ...(regenerationPlans !== undefined ? { regenerationPlans } : {}),
523
587
  }, null, 2),
524
588
  }],
525
589
  };
@@ -534,11 +598,16 @@ async function toolPreview(cwd, args) {
534
598
  }
535
599
  // Default: merge — analyze conflicts already present in the working tree.
536
600
  const files = getConflictedFiles(cwd);
601
+ const wantsRegenerationReport = args.regenerate === true;
537
602
  if (files.length === 0) {
538
603
  return {
539
604
  content: [{ type: "text", text: JSON.stringify({ operation: "merge", message: "No conflicted files.", risk: "none" }, null, 2) }],
540
605
  };
541
606
  }
607
+ // accuracy lot F/D (task 3) — same precedence as the CLI's Bug A/B fix.
608
+ const conventions = loadPersistedConventions(cwd);
609
+ const resolveGeneratedFiles = loadGitwandrcResolveGeneratedFiles(cwd);
610
+ const resultsForReport = [];
542
611
  const previews = files.map((file) => {
543
612
  const filePath = resolvePath(cwd, file);
544
613
  try {
@@ -547,14 +616,28 @@ async function toolPreview(cwd, args) {
547
616
  // format-aware dispatch and the confidence gate, so every hunk comes back
548
617
  // unresolved and `stats.autoResolved` is always 0. This is a prediction on
549
618
  // in-memory content, nothing is written, so run the real resolution.
550
- const result = resolve(content, file);
619
+ const result = resolve(content, file, {
620
+ mergeContext: detectMergeContext(cwd),
621
+ conventions,
622
+ resolveGeneratedFiles,
623
+ });
624
+ resultsForReport.push({ file, result });
551
625
  return serializeResult(file, result);
552
626
  }
553
627
  catch (err) {
554
628
  return { path: file, error: err.message };
555
629
  }
556
630
  });
557
- return previewResponse("merge", files.length, previews);
631
+ // accuracy lot D (task 3, § 4) — reporting-only; this whole tool is already
632
+ // side-effect-free ("Does NOT modify the working tree, index, or HEAD" per
633
+ // its own tool description), so `regenerate: true` here changes nothing
634
+ // beyond what's included in the JSON response. `files` IS the repo's full
635
+ // conflicted set here (no `files:` narrowing param on this tool), so it
636
+ // doubles as the `conflictedFiles` guard (fix round 1).
637
+ const regenerationPlans = wantsRegenerationReport
638
+ ? buildRegenerationReport(resultsForReport, files, cwd)
639
+ : undefined;
640
+ return previewResponse("merge", files.length, previews, 0, regenerationPlans);
558
641
  }
559
642
  /**
560
643
  * Shared assembly of the preview response from per-file `resolve()` results,
@@ -571,7 +654,11 @@ async function toolPreview(cwd, args) {
571
654
  * It is deliberately status-based, NOT count/threshold-based: the number of
572
655
  * cleanly auto-resolvable files does not by itself raise the risk.
573
656
  */
574
- function previewResponse(operation, fileCount, previews, addDeleteCount = 0) {
657
+ function previewResponse(operation, fileCount, previews, addDeleteCount = 0,
658
+ // accuracy lot D (task 3, § 4) — only ever populated by the merge branch of
659
+ // `toolPreview` (the sole "real resolve() site" among the 3 preview
660
+ // operations, per the brief's scope ruling); `undefined` for rebase/cherry-pick.
661
+ regenerationPlans) {
575
662
  const totalConflicts = previews.reduce((s, r) => s + (r.totalConflicts ?? 0), 0);
576
663
  const totalResolvable = previews.reduce((s, r) => s + (r.autoResolved ?? 0), 0);
577
664
  const remaining = totalConflicts - totalResolvable;
@@ -614,6 +701,7 @@ function previewResponse(operation, fileCount, previews, addDeleteCount = 0) {
614
701
  : 100,
615
702
  },
616
703
  files: previews,
704
+ ...(regenerationPlans !== undefined ? { regenerationPlans } : {}),
617
705
  }, null, 2),
618
706
  }],
619
707
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitwand/mcp",
3
- "version": "3.7.3",
3
+ "version": "3.9.0",
4
4
  "mcpName": "io.github.devlint/gitwand",
5
5
  "description": "GitWand MCP server — smart Git conflict resolution for AI agents (Claude, Cursor, Windsurf, Claude Code)",
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@modelcontextprotocol/sdk": "^1.12.1",
43
- "@gitwand/core": "3.7.3"
43
+ "@gitwand/core": "3.9.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^25.5.0",