@gitwand/core 2.2.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/__tests__/corpus.d.ts.map +1 -1
  2. package/dist/__tests__/corpus.js +115 -0
  3. package/dist/__tests__/corpus.js.map +1 -1
  4. package/dist/__tests__/patterns/complex.test.d.ts +9 -0
  5. package/dist/__tests__/patterns/complex.test.d.ts.map +1 -0
  6. package/dist/__tests__/patterns/complex.test.js +198 -0
  7. package/dist/__tests__/patterns/complex.test.js.map +1 -0
  8. package/dist/__tests__/patterns/delete-no-change.test.d.ts +11 -0
  9. package/dist/__tests__/patterns/delete-no-change.test.d.ts.map +1 -0
  10. package/dist/__tests__/patterns/delete-no-change.test.js +178 -0
  11. package/dist/__tests__/patterns/delete-no-change.test.js.map +1 -0
  12. package/dist/__tests__/patterns/non-overlapping.test.d.ts +11 -0
  13. package/dist/__tests__/patterns/non-overlapping.test.d.ts.map +1 -0
  14. package/dist/__tests__/patterns/non-overlapping.test.js +240 -0
  15. package/dist/__tests__/patterns/non-overlapping.test.js.map +1 -0
  16. package/dist/__tests__/patterns/one-side-change.test.d.ts +10 -0
  17. package/dist/__tests__/patterns/one-side-change.test.d.ts.map +1 -0
  18. package/dist/__tests__/patterns/one-side-change.test.js +191 -0
  19. package/dist/__tests__/patterns/one-side-change.test.js.map +1 -0
  20. package/dist/__tests__/patterns/same-change.test.d.ts +9 -0
  21. package/dist/__tests__/patterns/same-change.test.d.ts.map +1 -0
  22. package/dist/__tests__/patterns/same-change.test.js +173 -0
  23. package/dist/__tests__/patterns/same-change.test.js.map +1 -0
  24. package/dist/__tests__/patterns/value-only-change.test.d.ts +11 -0
  25. package/dist/__tests__/patterns/value-only-change.test.d.ts.map +1 -0
  26. package/dist/__tests__/patterns/value-only-change.test.js +159 -0
  27. package/dist/__tests__/patterns/value-only-change.test.js.map +1 -0
  28. package/dist/__tests__/patterns/whitespace-only.test.d.ts +10 -0
  29. package/dist/__tests__/patterns/whitespace-only.test.d.ts.map +1 -0
  30. package/dist/__tests__/patterns/whitespace-only.test.js +177 -0
  31. package/dist/__tests__/patterns/whitespace-only.test.js.map +1 -0
  32. package/dist/__tests__/resolvers/css.test.d.ts +12 -0
  33. package/dist/__tests__/resolvers/css.test.d.ts.map +1 -0
  34. package/dist/__tests__/resolvers/css.test.js +171 -0
  35. package/dist/__tests__/resolvers/css.test.js.map +1 -0
  36. package/dist/__tests__/resolvers/imports.test.d.ts +12 -0
  37. package/dist/__tests__/resolvers/imports.test.d.ts.map +1 -0
  38. package/dist/__tests__/resolvers/imports.test.js +135 -0
  39. package/dist/__tests__/resolvers/imports.test.js.map +1 -0
  40. package/dist/__tests__/resolvers/json.test.d.ts +12 -0
  41. package/dist/__tests__/resolvers/json.test.d.ts.map +1 -0
  42. package/dist/__tests__/resolvers/json.test.js +184 -0
  43. package/dist/__tests__/resolvers/json.test.js.map +1 -0
  44. package/dist/__tests__/resolvers/lockfile-npm.test.d.ts +12 -0
  45. package/dist/__tests__/resolvers/lockfile-npm.test.d.ts.map +1 -0
  46. package/dist/__tests__/resolvers/lockfile-npm.test.js +187 -0
  47. package/dist/__tests__/resolvers/lockfile-npm.test.js.map +1 -0
  48. package/dist/__tests__/resolvers/lockfile-pnpm.test.d.ts +12 -0
  49. package/dist/__tests__/resolvers/lockfile-pnpm.test.d.ts.map +1 -0
  50. package/dist/__tests__/resolvers/lockfile-pnpm.test.js +175 -0
  51. package/dist/__tests__/resolvers/lockfile-pnpm.test.js.map +1 -0
  52. package/dist/__tests__/resolvers/lockfile-yarn.test.d.ts +12 -0
  53. package/dist/__tests__/resolvers/lockfile-yarn.test.d.ts.map +1 -0
  54. package/dist/__tests__/resolvers/lockfile-yarn.test.js +165 -0
  55. package/dist/__tests__/resolvers/lockfile-yarn.test.js.map +1 -0
  56. package/dist/__tests__/resolvers/markdown.test.d.ts +12 -0
  57. package/dist/__tests__/resolvers/markdown.test.d.ts.map +1 -0
  58. package/dist/__tests__/resolvers/markdown.test.js +188 -0
  59. package/dist/__tests__/resolvers/markdown.test.js.map +1 -0
  60. package/dist/__tests__/resolvers/vue.test.d.ts +12 -0
  61. package/dist/__tests__/resolvers/vue.test.d.ts.map +1 -0
  62. package/dist/__tests__/resolvers/vue.test.js +225 -0
  63. package/dist/__tests__/resolvers/vue.test.js.map +1 -0
  64. package/dist/__tests__/resolvers/yaml.test.d.ts +12 -0
  65. package/dist/__tests__/resolvers/yaml.test.d.ts.map +1 -0
  66. package/dist/__tests__/resolvers/yaml.test.js +203 -0
  67. package/dist/__tests__/resolvers/yaml.test.js.map +1 -0
  68. package/dist/__tests__/structural/grandeur-nature.test.d.ts +31 -0
  69. package/dist/__tests__/structural/grandeur-nature.test.d.ts.map +1 -0
  70. package/dist/__tests__/structural/grandeur-nature.test.js +264 -0
  71. package/dist/__tests__/structural/grandeur-nature.test.js.map +1 -0
  72. package/dist/__tests__/structural/languages.test.d.ts +5 -0
  73. package/dist/__tests__/structural/languages.test.d.ts.map +1 -0
  74. package/dist/__tests__/structural/languages.test.js +74 -0
  75. package/dist/__tests__/structural/languages.test.js.map +1 -0
  76. package/dist/__tests__/structural/matching.test.d.ts +6 -0
  77. package/dist/__tests__/structural/matching.test.d.ts.map +1 -0
  78. package/dist/__tests__/structural/matching.test.js +113 -0
  79. package/dist/__tests__/structural/matching.test.js.map +1 -0
  80. package/dist/__tests__/structural/merge.test.d.ts +6 -0
  81. package/dist/__tests__/structural/merge.test.d.ts.map +1 -0
  82. package/dist/__tests__/structural/merge.test.js +117 -0
  83. package/dist/__tests__/structural/merge.test.js.map +1 -0
  84. package/dist/__tests__/structural/reconstruct.test.d.ts +6 -0
  85. package/dist/__tests__/structural/reconstruct.test.d.ts.map +1 -0
  86. package/dist/__tests__/structural/reconstruct.test.js +104 -0
  87. package/dist/__tests__/structural/reconstruct.test.js.map +1 -0
  88. package/dist/__tests__/structural/structural-index.test.d.ts +14 -0
  89. package/dist/__tests__/structural/structural-index.test.d.ts.map +1 -0
  90. package/dist/__tests__/structural/structural-index.test.js +108 -0
  91. package/dist/__tests__/structural/structural-index.test.js.map +1 -0
  92. package/dist/__tests__/v2-core-scenarios.test.d.ts +35 -0
  93. package/dist/__tests__/v2-core-scenarios.test.d.ts.map +1 -0
  94. package/dist/__tests__/v2-core-scenarios.test.js +692 -0
  95. package/dist/__tests__/v2-core-scenarios.test.js.map +1 -0
  96. package/dist/__tests__/validation-parse-tree.test.d.ts +15 -0
  97. package/dist/__tests__/validation-parse-tree.test.d.ts.map +1 -0
  98. package/dist/__tests__/validation-parse-tree.test.js +243 -0
  99. package/dist/__tests__/validation-parse-tree.test.js.map +1 -0
  100. package/dist/config.d.ts +25 -0
  101. package/dist/config.d.ts.map +1 -1
  102. package/dist/config.js +17 -0
  103. package/dist/config.js.map +1 -1
  104. package/dist/diff/index.d.ts.map +1 -1
  105. package/dist/diff/index.js +1 -3
  106. package/dist/diff/index.js.map +1 -1
  107. package/dist/index.d.ts +5 -1
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +5 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/patterns/utils.d.ts +8 -7
  112. package/dist/patterns/utils.d.ts.map +1 -1
  113. package/dist/patterns/utils.js +13 -12
  114. package/dist/patterns/utils.js.map +1 -1
  115. package/dist/resolver/adapters/strict-node.d.ts +32 -0
  116. package/dist/resolver/adapters/strict-node.d.ts.map +1 -0
  117. package/dist/resolver/adapters/strict-node.js +117 -0
  118. package/dist/resolver/adapters/strict-node.js.map +1 -0
  119. package/dist/resolver/index.d.ts +33 -0
  120. package/dist/resolver/index.d.ts.map +1 -1
  121. package/dist/resolver/index.js +113 -0
  122. package/dist/resolver/index.js.map +1 -1
  123. package/dist/resolver/policy.d.ts.map +1 -1
  124. package/dist/resolver/policy.js +3 -0
  125. package/dist/resolver/policy.js.map +1 -1
  126. package/dist/resolver/validate-parse-tree.d.ts +52 -0
  127. package/dist/resolver/validate-parse-tree.d.ts.map +1 -0
  128. package/dist/resolver/validate-parse-tree.js +87 -0
  129. package/dist/resolver/validate-parse-tree.js.map +1 -0
  130. package/dist/resolver/validate-strict.d.ts +27 -0
  131. package/dist/resolver/validate-strict.d.ts.map +1 -0
  132. package/dist/resolver/validate-strict.js +41 -0
  133. package/dist/resolver/validate-strict.js.map +1 -0
  134. package/dist/resolver/validation.d.ts.map +1 -1
  135. package/dist/resolver/validation.js +15 -1
  136. package/dist/resolver/validation.js.map +1 -1
  137. package/dist/resolvers/dispatcher.d.ts +17 -1
  138. package/dist/resolvers/dispatcher.d.ts.map +1 -1
  139. package/dist/resolvers/dispatcher.js.map +1 -1
  140. package/dist/structural/entities.d.ts +44 -0
  141. package/dist/structural/entities.d.ts.map +1 -0
  142. package/dist/structural/entities.js +315 -0
  143. package/dist/structural/entities.js.map +1 -0
  144. package/dist/structural/index.d.ts +48 -0
  145. package/dist/structural/index.d.ts.map +1 -0
  146. package/dist/structural/index.js +177 -0
  147. package/dist/structural/index.js.map +1 -0
  148. package/dist/structural/matching.d.ts +46 -0
  149. package/dist/structural/matching.d.ts.map +1 -0
  150. package/dist/structural/matching.js +83 -0
  151. package/dist/structural/matching.js.map +1 -0
  152. package/dist/structural/merge.d.ts +45 -0
  153. package/dist/structural/merge.d.ts.map +1 -0
  154. package/dist/structural/merge.js +127 -0
  155. package/dist/structural/merge.js.map +1 -0
  156. package/dist/structural/parsers/adapters/browser.d.ts +22 -0
  157. package/dist/structural/parsers/adapters/browser.d.ts.map +1 -0
  158. package/dist/structural/parsers/adapters/browser.js +27 -0
  159. package/dist/structural/parsers/adapters/browser.js.map +1 -0
  160. package/dist/structural/parsers/adapters/node.d.ts +18 -0
  161. package/dist/structural/parsers/adapters/node.d.ts.map +1 -0
  162. package/dist/structural/parsers/adapters/node.js +42 -0
  163. package/dist/structural/parsers/adapters/node.js.map +1 -0
  164. package/dist/structural/parsers/adapters/tauri.d.ts +26 -0
  165. package/dist/structural/parsers/adapters/tauri.d.ts.map +1 -0
  166. package/dist/structural/parsers/adapters/tauri.js +34 -0
  167. package/dist/structural/parsers/adapters/tauri.js.map +1 -0
  168. package/dist/structural/parsers/grammars/languages.d.ts +32 -0
  169. package/dist/structural/parsers/grammars/languages.d.ts.map +1 -0
  170. package/dist/structural/parsers/grammars/languages.js +73 -0
  171. package/dist/structural/parsers/grammars/languages.js.map +1 -0
  172. package/dist/structural/parsers/grammars/ts.d.ts +26 -0
  173. package/dist/structural/parsers/grammars/ts.d.ts.map +1 -0
  174. package/dist/structural/parsers/grammars/ts.js +46 -0
  175. package/dist/structural/parsers/grammars/ts.js.map +1 -0
  176. package/dist/structural/parsers/loader.d.ts +74 -0
  177. package/dist/structural/parsers/loader.d.ts.map +1 -0
  178. package/dist/structural/parsers/loader.js +181 -0
  179. package/dist/structural/parsers/loader.js.map +1 -0
  180. package/dist/structural/reconstruct.d.ts +28 -0
  181. package/dist/structural/reconstruct.d.ts.map +1 -0
  182. package/dist/structural/reconstruct.js +63 -0
  183. package/dist/structural/reconstruct.js.map +1 -0
  184. package/dist/types.d.ts +60 -3
  185. package/dist/types.d.ts.map +1 -1
  186. package/package.json +16 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-core-scenarios.test.js","sourceRoot":"","sources":["../../src/__tests__/v2-core-scenarios.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tests — v2.4 Parse-tree validation & retraction.
3
+ *
4
+ * Couvre :
5
+ * 1. `checkParseTreeValid` — validation syntaxique via tree-sitter
6
+ * 2. `applyPostMergeRiskPenalty` — mutation de la résolution rétractée
7
+ * 3. `resolveAsync()` — rétraction end-to-end quand le merge casse la syntaxe
8
+ * 4. `resolveAsync()` — pass-through quand le merge est syntaxiquement valide
9
+ *
10
+ * Note : `checkParseTreeValid` retourne `null` si web-tree-sitter n'est pas
11
+ * installé (peer optionnel). Les tests qui dépendent de tree-sitter sont
12
+ * guards par `skipIf(treeResult === null)` pour rester verts en CI sans peer.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=validation-parse-tree.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-parse-tree.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/validation-parse-tree.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Tests — v2.4 Parse-tree validation & retraction.
3
+ *
4
+ * Couvre :
5
+ * 1. `checkParseTreeValid` — validation syntaxique via tree-sitter
6
+ * 2. `applyPostMergeRiskPenalty` — mutation de la résolution rétractée
7
+ * 3. `resolveAsync()` — rétraction end-to-end quand le merge casse la syntaxe
8
+ * 4. `resolveAsync()` — pass-through quand le merge est syntaxiquement valide
9
+ *
10
+ * Note : `checkParseTreeValid` retourne `null` si web-tree-sitter n'est pas
11
+ * installé (peer optionnel). Les tests qui dépendent de tree-sitter sont
12
+ * guards par `skipIf(treeResult === null)` pour rester verts en CI sans peer.
13
+ */
14
+ import { describe, it, expect } from "vitest";
15
+ import { checkParseTreeValid, applyPostMergeRiskPenalty } from "../resolver/validate-parse-tree.js";
16
+ import { resolveAsync } from "../resolver/index.js";
17
+ // ─── checkParseTreeValid ─────────────────────────────────────────────────────
18
+ describe("checkParseTreeValid", () => {
19
+ it("retourne null pour un fichier non supporté (.md)", async () => {
20
+ const result = await checkParseTreeValid("# Hello\n\nsome text\n", "README.md");
21
+ expect(result).toBeNull();
22
+ });
23
+ it("retourne null pour un fichier non supporté (.json)", async () => {
24
+ const result = await checkParseTreeValid('{"a": 1}', "config.json");
25
+ expect(result).toBeNull();
26
+ });
27
+ it("retourne null ou boolean pour un .ts (selon disponibilité de web-tree-sitter)", async () => {
28
+ const result = await checkParseTreeValid("const x = 1;\nexport default x;\n", "utils.ts");
29
+ // null = tree-sitter non disponible dans cet env ; true = syntaxe valide
30
+ expect(result === null || result === true).toBe(true);
31
+ });
32
+ it("retourne null ou true pour du TypeScript valide", async () => {
33
+ const validTs = `
34
+ interface User {
35
+ id: number;
36
+ name: string;
37
+ }
38
+
39
+ function greet(user: User): string {
40
+ return \`Hello, \${user.name}!\`;
41
+ }
42
+
43
+ export { greet };
44
+ `.trimStart();
45
+ const result = await checkParseTreeValid(validTs, "greet.ts");
46
+ expect(result === null || result === true).toBe(true);
47
+ });
48
+ it("retourne null ou false pour du TypeScript avec erreur de syntaxe manifeste", async () => {
49
+ // Accolade fermante manquante → syntax error garantie
50
+ const brokenTs = `function foo( {\n return 1;\n`;
51
+ const result = await checkParseTreeValid(brokenTs, "broken.ts");
52
+ // null si tree-sitter non disponible, false si disponible et erreur détectée
53
+ expect(result === null || result === false).toBe(true);
54
+ });
55
+ it("retourne null ou boolean pour du JavaScript (.js)", async () => {
56
+ const js = `const add = (a, b) => a + b;\nmodule.exports = { add };\n`;
57
+ const result = await checkParseTreeValid(js, "utils.js");
58
+ expect(result === null || result === true).toBe(true);
59
+ });
60
+ it("ne lève jamais d'exception (graceful degradation)", async () => {
61
+ // Contenu et chemin pathologiques
62
+ await expect(checkParseTreeValid("", "")).resolves.not.toThrow();
63
+ await expect(checkParseTreeValid("\x00\xff\xfe", "weird.ts")).resolves.not.toThrow();
64
+ });
65
+ });
66
+ // ─── applyPostMergeRiskPenalty ────────────────────────────────────────────────
67
+ describe("applyPostMergeRiskPenalty", () => {
68
+ const makeResolution = () => ({
69
+ autoResolved: true,
70
+ resolvedLines: ["const x = 1;"],
71
+ resolutionReason: "same_change: les deux branches ont fait la même modif",
72
+ hunk: {
73
+ baseLines: ["const x = 0;"],
74
+ oursLines: ["const x = 1;"],
75
+ theirsLines: ["const x = 1;"],
76
+ startLine: 5,
77
+ type: "same_change",
78
+ confidence: {
79
+ score: 100,
80
+ label: "certain",
81
+ dimensions: {
82
+ typeClassification: 100,
83
+ dataRisk: 0,
84
+ scopeImpact: 0,
85
+ fileFrequency: 0,
86
+ baseAvailability: 100,
87
+ },
88
+ boosters: ["same_change"],
89
+ penalties: [],
90
+ },
91
+ explanation: "Même changement des deux côtés.",
92
+ trace: {
93
+ steps: [],
94
+ selected: "same_change",
95
+ summary: "same_change détecté",
96
+ hasBase: true,
97
+ },
98
+ },
99
+ });
100
+ it("marque autoResolved à false", () => {
101
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
102
+ expect(retracted.autoResolved).toBe(false);
103
+ });
104
+ it("met resolvedLines à null", () => {
105
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
106
+ expect(retracted.resolvedLines).toBeNull();
107
+ });
108
+ it("met le score de confiance à 0 et label à low", () => {
109
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
110
+ expect(retracted.hunk.confidence.score).toBe(0);
111
+ expect(retracted.hunk.confidence.label).toBe("low");
112
+ });
113
+ it("ajoute postMergeRisk: 100 dans les dimensions", () => {
114
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
115
+ expect(retracted.hunk.confidence.dimensions.postMergeRisk).toBe(100);
116
+ });
117
+ it("préserve les dimensions originales en plus de postMergeRisk", () => {
118
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
119
+ expect(retracted.hunk.confidence.dimensions.typeClassification).toBe(100);
120
+ expect(retracted.hunk.confidence.dimensions.dataRisk).toBe(0);
121
+ });
122
+ it("ajoute une pénalité descriptive dans penalties", () => {
123
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
124
+ expect(retracted.hunk.confidence.penalties).toHaveLength(1);
125
+ expect(retracted.hunk.confidence.penalties[0]).toMatch(/parse-tree/i);
126
+ });
127
+ it("préserve les champs hunk non mutés (type, startLine, oursLines…)", () => {
128
+ const retracted = applyPostMergeRiskPenalty(makeResolution());
129
+ expect(retracted.hunk.type).toBe("same_change");
130
+ expect(retracted.hunk.startLine).toBe(5);
131
+ expect(retracted.hunk.oursLines).toEqual(["const x = 1;"]);
132
+ });
133
+ it("ne mute pas l'objet original (immutabilité)", () => {
134
+ const original = makeResolution();
135
+ applyPostMergeRiskPenalty(original);
136
+ expect(original.autoResolved).toBe(true);
137
+ expect(original.resolvedLines).toEqual(["const x = 1;"]);
138
+ expect(original.hunk.confidence.score).toBe(100);
139
+ });
140
+ });
141
+ // ─── resolveAsync — intégration rétraction ───────────────────────────────────
142
+ describe("resolveAsync — parse-tree retraction (intégration)", () => {
143
+ it("résout normalement un conflit trivial sur fichier .ts (résultat valide)", async () => {
144
+ // Conflit same_change sur TypeScript — le résultat doit être syntaxiquement valide
145
+ const conflicted = [
146
+ "function add(a: number, b: number): number {",
147
+ "<<<<<<< ours",
148
+ " return a + b; // addition",
149
+ "||||||| base",
150
+ " return a + b;",
151
+ "=======",
152
+ " return a + b; // addition",
153
+ ">>>>>>> theirs",
154
+ "}",
155
+ ].join("\n");
156
+ const result = await resolveAsync(conflicted, "math.ts");
157
+ // same_change doit être auto-résolu, et le résultat doit être valide
158
+ expect(result.stats.autoResolved).toBeGreaterThanOrEqual(0); // peut être 0 si structural merge prend en charge
159
+ // Pas d'erreur de retraction si tree-sitter disponible et résultat valide
160
+ if (result.validation.parseTreeValid !== null) {
161
+ expect(result.validation.parseTreeValid).toBe(true);
162
+ }
163
+ });
164
+ it("retourne parseTreeValid: null sur un fichier .json (non supporté par tree-sitter)", async () => {
165
+ const conflicted = [
166
+ "{",
167
+ '<<<<<<< ours',
168
+ ' "version": "1.0.0"',
169
+ '||||||| base',
170
+ ' "version": "0.9.0"',
171
+ '=======',
172
+ ' "version": "1.0.0"',
173
+ '>>>>>>> theirs',
174
+ "}",
175
+ ].join("\n");
176
+ const result = await resolveAsync(conflicted, "package.json");
177
+ // .json n'est pas un langage structurel tree-sitter → null
178
+ expect(result.validation.parseTreeValid).toBeNull();
179
+ });
180
+ it("ne lève jamais d'exception sur un fichier .ts mal formé", async () => {
181
+ const conflicted = [
182
+ "<<<<<<< ours",
183
+ "function broken( {",
184
+ "=======",
185
+ "function broken() {",
186
+ ">>>>>>> theirs",
187
+ ].join("\n");
188
+ await expect(resolveAsync(conflicted, "broken.ts")).resolves.not.toThrow();
189
+ });
190
+ it("mergedContent est null quand des conflits subsistent (comportement inchangé)", async () => {
191
+ // Conflit complex diff3 — les deux côtés ont modifié la même ligne différemment.
192
+ // Avec base disponible, ours ≠ base ET theirs ≠ base ET ours ≠ theirs → conflict réel.
193
+ const conflicted = [
194
+ "function process() {",
195
+ "<<<<<<< ours",
196
+ " const result = computeA(x) + computeB(y);",
197
+ " logResult('A+B', result);",
198
+ "||||||| base",
199
+ " const result = compute(x, y);",
200
+ " logResult(result);",
201
+ "=======",
202
+ " const output = computeAll(x, y, z);",
203
+ " displayOutput(output);",
204
+ ">>>>>>> theirs",
205
+ "}",
206
+ ].join("\n");
207
+ const result = await resolveAsync(conflicted, "logic.ts");
208
+ // Ce conflit doit rester non résolu car les deux côtés ont fait des modifications
209
+ // structurellement incompatibles (résultats, variables, appels de fonctions différents).
210
+ // Le structural merge tente la résolution puis abandonne si des conflicts subsistent.
211
+ // Qu'il soit résolu ou non, au moins les stats doivent être cohérentes.
212
+ expect(result.stats.totalConflicts).toBeGreaterThan(0);
213
+ if (result.mergedContent === null) {
214
+ expect(result.stats.remaining).toBeGreaterThan(0);
215
+ }
216
+ else {
217
+ // Si résolu (structural merge a pu), le résultat doit être syntaxiquement valide
218
+ expect(result.validation.isValid).toBe(true);
219
+ }
220
+ });
221
+ });
222
+ // ─── ValidationResult — champs v2.4 ──────────────────────────────────────────
223
+ describe("ValidationResult — nouveaux champs v2.4", () => {
224
+ it("parseTreeValid est null sur résolution synchrone (resolve)", async () => {
225
+ // resolve() synchrone ne fait pas de validation tree-sitter
226
+ const { resolve } = await import("../resolver/index.js");
227
+ const conflicted = "<<<<<<< ours\nconst a = 1;\n=======\nconst a = 1;\n>>>>>>> theirs\n";
228
+ const result = resolve(conflicted, "test.ts");
229
+ expect(result.validation.parseTreeValid).toBeNull();
230
+ });
231
+ it("externalValidation est null par défaut (validationLevel: balanced)", async () => {
232
+ const conflicted = "<<<<<<< ours\nconst a = 1;\n=======\nconst a = 1;\n>>>>>>> theirs\n";
233
+ const result = await resolveAsync(conflicted, "test.ts");
234
+ expect(result.validation.externalValidation).toBeNull();
235
+ });
236
+ it("isValid: true quand aucun marqueur résiduel et syntaxe JSON valide", async () => {
237
+ const { validateMergedContent } = await import("../resolver/validation.js");
238
+ const result = validateMergedContent('{"a": 1}', "data.json");
239
+ expect(result.isValid).toBe(true);
240
+ expect(result.parseTreeValid).toBeNull(); // sync → null
241
+ });
242
+ });
243
+ //# sourceMappingURL=validation-parse-tree.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-parse-tree.test.js","sourceRoot":"","sources":["../../src/__tests__/validation-parse-tree.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,gFAAgF;AAEhF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;QAC1F,yEAAyE;QACzE,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,OAAO,GAAG;;;;;;;;;;;CAWnB,CAAC,SAAS,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,sDAAsD;QACtD,MAAM,QAAQ,GAAG,gCAAgC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChE,6EAA6E;QAC7E,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,GAAG,2DAA2D,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,kCAAkC;QAClC,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,CAAC,cAAc,CAAC;QAC/B,gBAAgB,EAAE,uDAAuD;QACzE,IAAI,EAAE;YACJ,SAAS,EAAE,CAAC,cAAc,CAAC;YAC3B,SAAS,EAAE,CAAC,cAAc,CAAC;YAC3B,WAAW,EAAE,CAAC,cAAc,CAAC;YAC7B,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,aAAsB;YAC5B,UAAU,EAAE;gBACV,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,SAAkB;gBACzB,UAAU,EAAE;oBACV,kBAAkB,EAAE,GAAG;oBACvB,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,gBAAgB,EAAE,GAAG;iBACtB;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,EAAE;aACd;YACD,WAAW,EAAE,iCAAiC;YAC9C,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,aAAsB;gBAChC,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;aACd;SACF;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,UAAqC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,mFAAmF;QACnF,MAAM,UAAU,GAAG;YACjB,8CAA8C;YAC9C,cAAc;YACd,6BAA6B;YAC7B,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,6BAA6B;YAC7B,gBAAgB;YAChB,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzD,qEAAqE;QACrE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,kDAAkD;QAC/G,0EAA0E;QAC1E,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,UAAU,GAAG;YACjB,GAAG;YACH,cAAc;YACd,sBAAsB;YACtB,cAAc;YACd,sBAAsB;YACtB,SAAS;YACT,sBAAsB;YACtB,gBAAgB;YAChB,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,UAAU,GAAG;YACjB,cAAc;YACd,oBAAoB;YACpB,SAAS;YACT,qBAAqB;YACrB,gBAAgB;SACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,iFAAiF;QACjF,uFAAuF;QACvF,MAAM,UAAU,GAAG;YACjB,sBAAsB;YACtB,cAAc;YACd,6CAA6C;YAC7C,6BAA6B;YAC7B,cAAc;YACd,iCAAiC;YACjC,sBAAsB;YACtB,SAAS;YACT,uCAAuC;YACvC,0BAA0B;YAC1B,gBAAgB;YAChB,GAAG;SACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,kFAAkF;QAClF,yFAAyF;QACzF,sFAAsF;QACtF,wEAAwE;QACxE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,iFAAiF;YACjF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,4DAA4D;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,qEAAqE,CAAC;QACzF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,UAAU,GAAG,qEAAqE,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -35,6 +35,16 @@
35
35
  * ```
36
36
  * Ou dans `package.json` sous la clé `"gitwand"`.
37
37
  */
38
+ /**
39
+ * Niveau de validation post-merge.
40
+ *
41
+ * | Niveau | Ce qui est vérifié |
42
+ * |-------------|---------------------------------------------------------------------------|
43
+ * | `balanced` | Marqueurs résiduels + syntaxe JSON/YAML/TOML + parse-tree tree-sitter |
44
+ * | `strict` | Balanced + `tsc --noEmit` et/ou `eslint` (Node.js uniquement, opt-in) |
45
+ * | `off` | Aucune validation post-merge (performances max, risque accru) |
46
+ */
47
+ export type ValidationLevel = "balanced" | "strict" | "off";
38
48
  /**
39
49
  * Politique de résolution automatique des conflits.
40
50
  */
@@ -99,6 +109,21 @@ export interface GitWandrcConfig {
99
109
  * S'ajoutent aux built-ins (lockfiles, bundles, `dist/`…) sans les remplacer.
100
110
  */
101
111
  generatedFiles?: string[];
112
+ /**
113
+ * v2.4 — Validation post-merge.
114
+ * - `level: "balanced"` (défaut) : marqueurs résiduels + syntaxe + parse-tree
115
+ * - `level: "strict"` : + tsc --noEmit et/ou eslint (Node.js uniquement, opt-in)
116
+ * - `level: "off"` : désactive toute validation post-merge
117
+ *
118
+ * ```json
119
+ * { "validation": { "level": "strict", "tools": ["tsc", "eslint"] } }
120
+ * ```
121
+ */
122
+ validation?: {
123
+ level?: ValidationLevel;
124
+ /** Outils externes activés en mode strict. Défaut : ["tsc"]. */
125
+ tools?: Array<"tsc" | "eslint">;
126
+ };
102
127
  }
103
128
  /**
104
129
  * Parse une configuration GitWandrc depuis une string JSON.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,QAAQ,CAAC;AAIb;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,6FAA6F;IAC7F,UAAU,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACtD;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CA2ChE;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,EAAE,WAA6B,CAAC;AAI3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAapE;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,WAAW,EAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC7C,WAAW,CAmBb;AAID;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAgDnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAI5D;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,QAAQ,CAAC;AAIb;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,6FAA6F;IAC7F,UAAU,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACtD;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CA2ChE;AAED,+DAA+D;AAC/D,eAAO,MAAM,cAAc,EAAE,WAA6B,CAAC;AAI3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAapE;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,WAAW,EAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC7C,WAAW,CAmBb;AAID;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,eAAe,CAAC;QACxB,gEAAgE;QAChE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;KACjC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqEnE"}
package/dist/config.js CHANGED
@@ -191,6 +191,23 @@ export function parseGitwandrc(json) {
191
191
  result.generatedFiles = generatedFiles;
192
192
  }
193
193
  }
194
+ // v2.4 — Validation post-merge.
195
+ if (parsed.validation && typeof parsed.validation === "object") {
196
+ const validLevels = ["balanced", "strict", "off"];
197
+ const validTools = ["tsc", "eslint"];
198
+ const val = {};
199
+ if (validLevels.includes(parsed.validation.level)) {
200
+ val.level = parsed.validation.level;
201
+ }
202
+ if (Array.isArray(parsed.validation.tools)) {
203
+ const tools = parsed.validation.tools.filter((t) => typeof t === "string" && validTools.includes(t));
204
+ if (tools.length > 0)
205
+ val.tools = tools;
206
+ }
207
+ if (Object.keys(val).length > 0) {
208
+ result.validation = val;
209
+ }
210
+ }
194
211
  return result;
195
212
  }
196
213
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAazB;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGrE;AAED,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,KAAK,MAAM,EACX,KAAK,IAAI,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAYzB;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGrE;AAED,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,KAAK,MAAM,EACX,KAAK,IAAI,GACV,MAAM,aAAa,CAAC"}
@@ -25,9 +25,7 @@ export { detectBlockMove, } from "./block-move.js";
25
25
  * `@gitwand/core` est utilisé en pratique.
26
26
  */
27
27
  function shouldUseLegacy() {
28
- if (typeof process === "undefined")
29
- return false;
30
- return process.env?.GITWAND_DIFF === "lcs";
28
+ return typeof process !== "undefined" && process.env?.GITWAND_DIFF === "lcs";
31
29
  }
32
30
  /**
33
31
  * Calcule la Longest Common Subsequence entre deux tableaux de lignes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,eAAe,GAGhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,SAAS,eAAe;IACtB,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,OAAO,CAAC,GAAG,EAAE,YAAY,KAAK,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,CAAC,CAAW,EAAE,CAAW;IAC1C,IAAI,eAAe,EAAE;QAAE,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,GAGpB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,eAAe,GAGhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,SAAS,eAAe;IACtB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,YAAY,KAAK,KAAK,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,CAAC,CAAW,EAAE,CAAW;IAC1C,IAAI,eAAe,EAAE;QAAE,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,GAGpB,MAAM,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,7 +17,11 @@
17
17
  * }
18
18
  * ```
19
19
  */
20
- export { resolve } from "./resolver.js";
20
+ export { resolve, resolveAsync } from "./resolver/index.js";
21
+ export { tryStructuralMergeResolve, isTypeScriptFile, // backward compat
22
+ isStructuralLanguage, // preferred
23
+ wrapStructuralResult, } from "./structural/index.js";
24
+ export type { StructuralLoaderOptions, SupportedLanguage } from "./structural/index.js";
21
25
  export { parseConflictMarkers, classifyConflict } from "./parser.js";
22
26
  export { mergeNonOverlapping, computeDiff, lcs } from "./diff.js";
23
27
  export { histogramDiff, detectBlockMove, lcsLegacy, type HistogramOptions, type MovedBlock, type BlockMoveOptions, } from "./diff/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,eAAe,EACf,cAAc,EACd,cAAc,EAEd,aAAa,EACb,SAAS,EAET,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,7 +17,11 @@
17
17
  * }
18
18
  * ```
19
19
  */
20
- export { resolve } from "./resolver.js";
20
+ export { resolve, resolveAsync } from "./resolver/index.js";
21
+ // v2.3 — Merge structurel AST (tree-sitter) — TS/TSX/JS/JSX/Python/Go/Rust
22
+ export { tryStructuralMergeResolve, isTypeScriptFile, // backward compat
23
+ isStructuralLanguage, // preferred
24
+ wrapStructuralResult, } from "./structural/index.js";
21
25
  export { parseConflictMarkers, classifyConflict } from "./parser.js";
22
26
  export { mergeNonOverlapping, computeDiff, lcs } from "./diff.js";
23
27
  // v2.1 — nouveaux backends diff exposés
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAElE,wCAAwC;AACxC,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,GAIV,MAAM,iBAAiB,CAAC;AAEzB,kDAAkD;AAClD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAGzC,gDAAgD;AAChD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExG,8EAA8E;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE1E,oEAAoE;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,8DAA8D;AAC9D,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE5D,2EAA2E;AAC3E,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAAQ,kBAAkB;AAC1C,oBAAoB,EAAI,YAAY;AACpC,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAElE,wCAAwC;AACxC,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,GAIV,MAAM,iBAAiB,CAAC;AAEzB,kDAAkD;AAClD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAGzC,gDAAgD;AAChD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExG,8EAA8E;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE1E,oEAAoE;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,8DAA8D;AAC9D,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,2BAA2B,CAAC"}
@@ -21,20 +21,21 @@ export declare function labelFromScore(score: number): Confidence;
21
21
  /**
22
22
  * Construit un ConfidenceScore à partir des dimensions et des justifications.
23
23
  *
24
- * Formule v2.1 :
24
+ * Formule v2.4 :
25
25
  * `score = typeClassification
26
26
  * − dataRisk × 0.40
27
27
  * − scopeImpact × 0.15
28
28
  * − fileFrequency × 0.10
29
29
  * + baseAvailability × 0.05
30
- * − algorithmStability × 0.10`
30
+ * − algorithmStability × 0.10
31
+ * − postMergeRisk × 0.20`
31
32
  *
32
- * Tous les paramètres après `penalties` sont optionnels (défaut 0). Quand un
33
- * pattern n'set pas `algorithmStability`, son score est numériquement
34
- * identique à v1.4 la dimension est *présente dans le type* mais reste à 0
35
- * tant que les producteurs (block-move detection en v2.6) ne l'alimentent pas.
33
+ * Tous les paramètres après `penalties` sont optionnels (défaut 0). Les
34
+ * dimensions optionnelles (`algorithmStability`, `postMergeRisk`) ne sont
35
+ * poussées dans l'objet `dimensions` que lorsqu'elles sont non-nulles, pour
36
+ * que les snapshots de tests existants restent verts.
36
37
  */
37
- export declare function makeScore(typeClassification: number, dataRisk: number, si: number, boosters: string[], penalties: string[], fileFrequency?: number, baseAvailability?: number, algorithmStability?: number): ConfidenceScore;
38
+ export declare function makeScore(typeClassification: number, dataRisk: number, si: number, boosters: string[], penalties: string[], fileFrequency?: number, baseAvailability?: number, algorithmStability?: number, postMergeRisk?: number): ConfidenceScore;
38
39
  /**
39
40
  * Normalise les lignes d'un bloc pour la comparaison whitespace-only.
40
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/patterns/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI/D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKxD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,SAAI,EACjB,gBAAgB,SAAI,EACpB,kBAAkB,SAAI,GACrB,eAAe,CA8BjB;AAID;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAID,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAqChE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB;IAAE,eAAe,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiEvF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/patterns/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI/D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKxD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,SAAI,EACjB,gBAAgB,SAAI,EACpB,kBAAkB,SAAI,EACtB,aAAa,SAAI,GAChB,eAAe,CA8BjB;AAID;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAID,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAqChE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB;IAAE,eAAe,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiEvF"}
@@ -37,31 +37,29 @@ export function labelFromScore(score) {
37
37
  /**
38
38
  * Construit un ConfidenceScore à partir des dimensions et des justifications.
39
39
  *
40
- * Formule v2.1 :
40
+ * Formule v2.4 :
41
41
  * `score = typeClassification
42
42
  * − dataRisk × 0.40
43
43
  * − scopeImpact × 0.15
44
44
  * − fileFrequency × 0.10
45
45
  * + baseAvailability × 0.05
46
- * − algorithmStability × 0.10`
46
+ * − algorithmStability × 0.10
47
+ * − postMergeRisk × 0.20`
47
48
  *
48
- * Tous les paramètres après `penalties` sont optionnels (défaut 0). Quand un
49
- * pattern n'set pas `algorithmStability`, son score est numériquement
50
- * identique à v1.4 la dimension est *présente dans le type* mais reste à 0
51
- * tant que les producteurs (block-move detection en v2.6) ne l'alimentent pas.
49
+ * Tous les paramètres après `penalties` sont optionnels (défaut 0). Les
50
+ * dimensions optionnelles (`algorithmStability`, `postMergeRisk`) ne sont
51
+ * poussées dans l'objet `dimensions` que lorsqu'elles sont non-nulles, pour
52
+ * que les snapshots de tests existants restent verts.
52
53
  */
53
- export function makeScore(typeClassification, dataRisk, si, boosters, penalties, fileFrequency = 0, baseAvailability = 0, algorithmStability = 0) {
54
+ export function makeScore(typeClassification, dataRisk, si, boosters, penalties, fileFrequency = 0, baseAvailability = 0, algorithmStability = 0, postMergeRisk = 0) {
54
55
  const raw = typeClassification
55
56
  - dataRisk * 0.40
56
57
  - si * 0.15
57
58
  - fileFrequency * 0.10
58
59
  + baseAvailability * 0.05
59
- - algorithmStability * 0.10;
60
+ - algorithmStability * 0.10
61
+ - postMergeRisk * 0.20;
60
62
  const score = Math.round(Math.max(0, Math.min(100, raw)));
61
- // On ne pousse `algorithmStability` dans `dimensions` que s'il est non-zéro,
62
- // pour que les snapshots de tests existants (qui asserent l'objet exact)
63
- // restent verts. Les nouveaux consommateurs peuvent toujours le lire (le
64
- // type le marque optionnel).
65
63
  const dimensions = {
66
64
  typeClassification,
67
65
  dataRisk,
@@ -72,6 +70,9 @@ export function makeScore(typeClassification, dataRisk, si, boosters, penalties,
72
70
  if (algorithmStability !== 0) {
73
71
  dimensions.algorithmStability = algorithmStability;
74
72
  }
73
+ if (postMergeRisk !== 0) {
74
+ dimensions.postMergeRisk = postMergeRisk;
75
+ }
75
76
  return {
76
77
  score,
77
78
  label: labelFromScore(score),
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/patterns/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/patterns/utils.ts"],"names":[],"mappings":"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"}