@gitwand/mcp 3.8.0 → 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.
- package/dist/merge-context.d.ts +14 -0
- package/dist/merge-context.d.ts.map +1 -0
- package/dist/merge-context.js +69 -0
- package/dist/merge-context.js.map +1 -0
- package/dist/regenerate-report.d.ts +87 -0
- package/dist/regenerate-report.d.ts.map +1 -0
- package/dist/regenerate-report.js +164 -0
- package/dist/regenerate-report.js.map +1 -0
- package/dist/server.js +1 -1
- package/dist/tools/index.d.ts +15 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +96 -8
- package/dist/tools/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -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
package/dist/tools/index.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
};
|
package/dist/tools/index.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
43
|
+
"@gitwand/core": "3.9.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^25.5.0",
|