@gitwand/core 3.8.0 → 3.9.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 (192) hide show
  1. package/dist/__tests__/accuracy-lot1.test.d.ts +14 -0
  2. package/dist/__tests__/accuracy-lot1.test.d.ts.map +1 -0
  3. package/dist/__tests__/accuracy-lot1.test.js +154 -0
  4. package/dist/__tests__/accuracy-lot1.test.js.map +1 -0
  5. package/dist/__tests__/confidence-v14.test.js +2 -2
  6. package/dist/__tests__/confidence-v14.test.js.map +1 -1
  7. package/dist/__tests__/conventions.test.d.ts +10 -0
  8. package/dist/__tests__/conventions.test.d.ts.map +1 -0
  9. package/dist/__tests__/conventions.test.js +121 -0
  10. package/dist/__tests__/conventions.test.js.map +1 -0
  11. package/dist/__tests__/corpus.d.ts.map +1 -1
  12. package/dist/__tests__/corpus.js +44 -5
  13. package/dist/__tests__/corpus.js.map +1 -1
  14. package/dist/__tests__/english-output.test.d.ts +2 -0
  15. package/dist/__tests__/english-output.test.d.ts.map +1 -0
  16. package/dist/__tests__/english-output.test.js +56 -0
  17. package/dist/__tests__/english-output.test.js.map +1 -0
  18. package/dist/__tests__/format-resolvers.test.js +2 -2
  19. package/dist/__tests__/format-resolvers.test.js.map +1 -1
  20. package/dist/__tests__/llm-refactoring-coupling.test.d.ts +1 -1
  21. package/dist/__tests__/llm-refactoring-coupling.test.js +1 -1
  22. package/dist/__tests__/merge-context.test.d.ts +15 -0
  23. package/dist/__tests__/merge-context.test.d.ts.map +1 -0
  24. package/dist/__tests__/merge-context.test.js +78 -0
  25. package/dist/__tests__/merge-context.test.js.map +1 -0
  26. package/dist/__tests__/patterns/insertion-at-boundary.test.js +1 -1
  27. package/dist/__tests__/patterns/insertion-at-boundary.test.js.map +1 -1
  28. package/dist/__tests__/patterns/llm-proposed.test.js +1 -1
  29. package/dist/__tests__/patterns/llm-proposed.test.js.map +1 -1
  30. package/dist/__tests__/patterns/reorder-only.test.js +2 -2
  31. package/dist/__tests__/patterns/reorder-only.test.js.map +1 -1
  32. package/dist/__tests__/patterns/token-level-merge.test.js +4 -4
  33. package/dist/__tests__/patterns/token-level-merge.test.js.map +1 -1
  34. package/dist/__tests__/patterns/value-only-change.test.js +11 -9
  35. package/dist/__tests__/patterns/value-only-change.test.js.map +1 -1
  36. package/dist/__tests__/regenerate/plan.test.d.ts +12 -0
  37. package/dist/__tests__/regenerate/plan.test.d.ts.map +1 -0
  38. package/dist/__tests__/regenerate/plan.test.js +126 -0
  39. package/dist/__tests__/regenerate/plan.test.js.map +1 -0
  40. package/dist/__tests__/regenerate/registry.test.d.ts +8 -0
  41. package/dist/__tests__/regenerate/registry.test.d.ts.map +1 -0
  42. package/dist/__tests__/regenerate/registry.test.js +60 -0
  43. package/dist/__tests__/regenerate/registry.test.js.map +1 -0
  44. package/dist/__tests__/regenerate-integration.test.d.ts +31 -0
  45. package/dist/__tests__/regenerate-integration.test.d.ts.map +1 -0
  46. package/dist/__tests__/regenerate-integration.test.js +199 -0
  47. package/dist/__tests__/regenerate-integration.test.js.map +1 -0
  48. package/dist/__tests__/regression-guard-tiers.test.d.ts +1 -1
  49. package/dist/__tests__/regression-guard-tiers.test.js +2 -2
  50. package/dist/__tests__/resolver.test.js +14 -6
  51. package/dist/__tests__/resolver.test.js.map +1 -1
  52. package/dist/__tests__/resolvers/cargo.test.js +6 -4
  53. package/dist/__tests__/resolvers/cargo.test.js.map +1 -1
  54. package/dist/__tests__/resolvers/json-fragment.test.d.ts +10 -0
  55. package/dist/__tests__/resolvers/json-fragment.test.d.ts.map +1 -0
  56. package/dist/__tests__/resolvers/json-fragment.test.js +96 -0
  57. package/dist/__tests__/resolvers/json-fragment.test.js.map +1 -0
  58. package/dist/__tests__/resolvers/json.test.js +1 -1
  59. package/dist/__tests__/resolvers/lockfile-npm.test.js +14 -12
  60. package/dist/__tests__/resolvers/lockfile-npm.test.js.map +1 -1
  61. package/dist/__tests__/resolvers/lockfile-pnpm.test.js +14 -12
  62. package/dist/__tests__/resolvers/lockfile-pnpm.test.js.map +1 -1
  63. package/dist/__tests__/resolvers/lockfile-yarn.test.js +14 -12
  64. package/dist/__tests__/resolvers/lockfile-yarn.test.js.map +1 -1
  65. package/dist/__tests__/stats/tiers.test.d.ts +1 -1
  66. package/dist/__tests__/stats/tiers.test.js +4 -3
  67. package/dist/__tests__/stats/tiers.test.js.map +1 -1
  68. package/dist/__tests__/with-base-availability.test.js +2 -2
  69. package/dist/__tests__/with-base-availability.test.js.map +1 -1
  70. package/dist/classifier.js +18 -18
  71. package/dist/classifier.js.map +1 -1
  72. package/dist/config.d.ts +7 -0
  73. package/dist/config.d.ts.map +1 -1
  74. package/dist/config.js +4 -0
  75. package/dist/config.js.map +1 -1
  76. package/dist/conventions/derive.d.ts +21 -0
  77. package/dist/conventions/derive.d.ts.map +1 -0
  78. package/dist/conventions/derive.js +116 -0
  79. package/dist/conventions/derive.js.map +1 -0
  80. package/dist/conventions/types.d.ts +80 -0
  81. package/dist/conventions/types.d.ts.map +1 -0
  82. package/dist/conventions/types.js +21 -0
  83. package/dist/conventions/types.js.map +1 -0
  84. package/dist/index.d.ts +7 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +9 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/parser.js +1 -1
  89. package/dist/parser.js.map +1 -1
  90. package/dist/patterns/complex.js +4 -4
  91. package/dist/patterns/complex.js.map +1 -1
  92. package/dist/patterns/delete-no-change.js +13 -13
  93. package/dist/patterns/delete-no-change.js.map +1 -1
  94. package/dist/patterns/insertion-at-boundary.js +7 -7
  95. package/dist/patterns/insertion-at-boundary.js.map +1 -1
  96. package/dist/patterns/llm-proposed.js +5 -5
  97. package/dist/patterns/llm-proposed.js.map +1 -1
  98. package/dist/patterns/non-overlapping.js +4 -4
  99. package/dist/patterns/non-overlapping.js.map +1 -1
  100. package/dist/patterns/one-side-change.js +6 -6
  101. package/dist/patterns/one-side-change.js.map +1 -1
  102. package/dist/patterns/refactoring-aware-merge.js +11 -11
  103. package/dist/patterns/refactoring-aware-merge.js.map +1 -1
  104. package/dist/patterns/reorder-only.js +6 -6
  105. package/dist/patterns/reorder-only.js.map +1 -1
  106. package/dist/patterns/same-change.js +4 -4
  107. package/dist/patterns/same-change.js.map +1 -1
  108. package/dist/patterns/token-level-merge.js +6 -6
  109. package/dist/patterns/token-level-merge.js.map +1 -1
  110. package/dist/patterns/utils.d.ts +1 -10
  111. package/dist/patterns/utils.d.ts.map +1 -1
  112. package/dist/patterns/utils.js +46 -7
  113. package/dist/patterns/utils.js.map +1 -1
  114. package/dist/patterns/value-only-change.js +6 -6
  115. package/dist/patterns/value-only-change.js.map +1 -1
  116. package/dist/patterns/whitespace-only.js +6 -6
  117. package/dist/patterns/whitespace-only.js.map +1 -1
  118. package/dist/refactoring/orchestration.js +3 -3
  119. package/dist/refactoring/orchestration.js.map +1 -1
  120. package/dist/regenerate/plan.d.ts +58 -0
  121. package/dist/regenerate/plan.d.ts.map +1 -0
  122. package/dist/regenerate/plan.js +55 -0
  123. package/dist/regenerate/plan.js.map +1 -0
  124. package/dist/regenerate/registry.d.ts +44 -0
  125. package/dist/regenerate/registry.d.ts.map +1 -0
  126. package/dist/regenerate/registry.js +81 -0
  127. package/dist/regenerate/registry.js.map +1 -0
  128. package/dist/resolver/assemble.d.ts.map +1 -1
  129. package/dist/resolver/assemble.js +71 -32
  130. package/dist/resolver/assemble.js.map +1 -1
  131. package/dist/resolver/format-dispatch.d.ts +1 -0
  132. package/dist/resolver/format-dispatch.d.ts.map +1 -1
  133. package/dist/resolver/format-dispatch.js +3 -3
  134. package/dist/resolver/format-dispatch.js.map +1 -1
  135. package/dist/resolver/generated-detection.js +9 -9
  136. package/dist/resolver/generated-detection.js.map +1 -1
  137. package/dist/resolver/index.d.ts.map +1 -1
  138. package/dist/resolver/index.js +228 -18
  139. package/dist/resolver/index.js.map +1 -1
  140. package/dist/resolver/llm-pipeline.js +2 -2
  141. package/dist/resolver/llm-pipeline.js.map +1 -1
  142. package/dist/resolver/policy.d.ts.map +1 -1
  143. package/dist/resolver/policy.js +9 -1
  144. package/dist/resolver/policy.js.map +1 -1
  145. package/dist/resolver/validate-parse-tree.js +2 -2
  146. package/dist/resolver/validate-parse-tree.js.map +1 -1
  147. package/dist/resolver/validation.d.ts +14 -0
  148. package/dist/resolver/validation.d.ts.map +1 -1
  149. package/dist/resolver/validation.js +101 -1
  150. package/dist/resolver/validation.js.map +1 -1
  151. package/dist/resolvers/cargo.js +3 -3
  152. package/dist/resolvers/cargo.js.map +1 -1
  153. package/dist/resolvers/css.js +7 -7
  154. package/dist/resolvers/css.js.map +1 -1
  155. package/dist/resolvers/dispatcher.d.ts.map +1 -1
  156. package/dist/resolvers/dispatcher.js +13 -1
  157. package/dist/resolvers/dispatcher.js.map +1 -1
  158. package/dist/resolvers/dockerfile.js +2 -2
  159. package/dist/resolvers/dockerfile.js.map +1 -1
  160. package/dist/resolvers/dotenv.js +2 -2
  161. package/dist/resolvers/dotenv.js.map +1 -1
  162. package/dist/resolvers/imports.js +11 -11
  163. package/dist/resolvers/imports.js.map +1 -1
  164. package/dist/resolvers/json-fragment.d.ts +48 -0
  165. package/dist/resolvers/json-fragment.d.ts.map +1 -0
  166. package/dist/resolvers/json-fragment.js +196 -0
  167. package/dist/resolvers/json-fragment.js.map +1 -0
  168. package/dist/resolvers/json.js +7 -7
  169. package/dist/resolvers/json.js.map +1 -1
  170. package/dist/resolvers/llm-fallback.js +5 -5
  171. package/dist/resolvers/llm-fallback.js.map +1 -1
  172. package/dist/resolvers/lockfile-npm.js +3 -3
  173. package/dist/resolvers/lockfile-npm.js.map +1 -1
  174. package/dist/resolvers/lockfile-pnpm.js +2 -2
  175. package/dist/resolvers/lockfile-pnpm.js.map +1 -1
  176. package/dist/resolvers/lockfile-yarn.js +3 -3
  177. package/dist/resolvers/lockfile-yarn.js.map +1 -1
  178. package/dist/resolvers/markdown.js +4 -4
  179. package/dist/resolvers/markdown.js.map +1 -1
  180. package/dist/resolvers/vue.js +5 -5
  181. package/dist/resolvers/vue.js.map +1 -1
  182. package/dist/resolvers/yaml.js +6 -6
  183. package/dist/resolvers/yaml.js.map +1 -1
  184. package/dist/stats/tiers.d.ts +1 -1
  185. package/dist/stats/tiers.d.ts.map +1 -1
  186. package/dist/stats/tiers.js +5 -2
  187. package/dist/stats/tiers.js.map +1 -1
  188. package/dist/structural/index.js +3 -3
  189. package/dist/structural/index.js.map +1 -1
  190. package/dist/types.d.ts +83 -2
  191. package/dist/types.d.ts.map +1 -1
  192. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/regenerate/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAeH,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD;QACE,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,sBAAsB;QAChC,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,EAAE;QACrF,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,mBAAmB;QAC7B,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE;QAClF,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,cAAc;QACxB,2EAA2E;QAC3E,qFAAqF;QACrF,yEAAyE;QACzE,iEAAiE;QACjE,cAAc,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;QAC/C,6EAA6E;QAC7E,0EAA0E;QAC1E,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE;QACrE,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,EAAE,EAAE,UAAU;QACd,QAAQ,EAAE,kBAAkB;QAC5B,cAAc,EAAE,CAAC,eAAe,CAAC;QACjC,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;QACxF,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,eAAe;QACzB,cAAc,EAAE,CAAC,YAAY,CAAC;QAC9B,4EAA4E;QAC5E,yDAAyD;QACzD,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE;QACtD,OAAO,EAAE,iBAAiB;QAC1B,gBAAgB,EAAE,kBAAkB;KACrC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/resolver/assemble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EACjC,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,YAAY,GACtB;IAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAwN5C"}
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/resolver/assemble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EACjC,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,YAAY,GACtB;IAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiQ5C"}
@@ -14,7 +14,7 @@
14
14
  import { mergeNonOverlapping } from "../diff.js";
15
15
  import { stripVolatileValues } from "./generated-detection.js";
16
16
  import { getLastRefMergeResult } from "../patterns/refactoring-aware-merge.js";
17
- import { pickNewerSemverSide } from "../patterns/utils.js";
17
+ import { pickNewerSemverSide, hasUnorderableVersionPair } from "../patterns/utils.js";
18
18
  /**
19
19
  * Applique la stratégie textuelle correspondant au type de hunk.
20
20
  * Les vérifications amont (explainOnly, format-dispatch, minConfidence)
@@ -25,7 +25,7 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
25
25
  case "same_change":
26
26
  return {
27
27
  lines: [...hunk.oursLines],
28
- reason: "Même modification des deux côtés résolution triviale (ours = theirs).",
28
+ reason: "Same edit on both sides, so the resolution is trivial (ours = theirs).",
29
29
  };
30
30
  case "one_side_change": {
31
31
  const baseText = hunk.baseLines.join("\n");
@@ -33,20 +33,20 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
33
33
  if (oursText === baseText) {
34
34
  return {
35
35
  lines: [...hunk.theirsLines],
36
- reason: "Ours = base seul theirs a changé. Résolution : accepter theirs.",
36
+ reason: "Ours = base, so only theirs changed. Resolution: take theirs.",
37
37
  };
38
38
  }
39
39
  else {
40
40
  return {
41
41
  lines: [...hunk.oursLines],
42
- reason: "Theirs = base seul ours a changé. Résolution : accepter ours.",
42
+ reason: "Theirs = base, so only ours changed. Resolution: take ours.",
43
43
  };
44
44
  }
45
45
  }
46
46
  case "delete_no_change":
47
47
  return {
48
48
  lines: [],
49
- reason: "Un côté a supprimé le bloc, l'autre n'a pas touché. Résolution : supprimer (0 lignes).",
49
+ reason: "One side deleted the block and the other left it untouched. Resolution: delete (0 lines).",
50
50
  };
51
51
  case "reorder_only": {
52
52
  // Résolution : accepter theirs (intent de réordonnancement le plus récent).
@@ -65,7 +65,7 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
65
65
  }
66
66
  return {
67
67
  lines: preferred,
68
- reason: `Permutation pure mêmes lignes, ordre différent. Résolution : accepter ${side}.`,
68
+ reason: `Pure permutation: same lines, different order. Resolution: take ${side}.`,
69
69
  };
70
70
  }
71
71
  case "insertion_at_boundary": {
@@ -105,7 +105,7 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
105
105
  }
106
106
  return {
107
107
  lines: merged,
108
- reason: `Insertions pures union des ${hasBase ? "insertions (base + ours + theirs)" : "lignes (heuristique diff2)"}. ${merged.length} lignes dans le résultat.`,
108
+ reason: `Pure insertions: union of the ${hasBase ? "insertions (base + ours + theirs)" : "lines (diff2 heuristic)"}. ${merged.length} lines in the result.`,
109
109
  };
110
110
  }
111
111
  case "whitespace_only": {
@@ -113,14 +113,14 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
113
113
  return {
114
114
  lines: null,
115
115
  reason: !policyCfg.allowWhitespace
116
- ? `Résolution whitespace désactivée par la politique "${effectivePolicy}".`
117
- : "Résolution whitespace désactivée par options (resolveWhitespace: false).",
116
+ ? `Whitespace resolution disabled by the "${effectivePolicy}" policy.`
117
+ : "Whitespace resolution disabled by options (resolveWhitespace: false).",
118
118
  };
119
119
  }
120
120
  const wsSide = policyCfg.preferOurs ? "ours" : "theirs";
121
121
  return {
122
122
  lines: policyCfg.preferOurs ? [...hunk.oursLines] : [...hunk.theirsLines],
123
- reason: `Seul le whitespace diffère. Résolution : préférer ${wsSide} (politique : ${effectivePolicy}).`,
123
+ reason: `Only whitespace differs. Resolution: prefer ${wsSide} (policy: ${effectivePolicy}).`,
124
124
  };
125
125
  }
126
126
  case "non_overlapping": {
@@ -128,68 +128,107 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
128
128
  return {
129
129
  lines: null,
130
130
  reason: !policyCfg.allowNonOverlapping
131
- ? `Résolution non-overlapping désactivée par la politique "${effectivePolicy}".`
132
- : "Résolution non-overlapping désactivée par options (resolveNonOverlapping: false).",
131
+ ? `Non-overlapping resolution disabled by the "${effectivePolicy}" policy.`
132
+ : "Non-overlapping resolution disabled by options (resolveNonOverlapping: false).",
133
133
  };
134
134
  }
135
135
  const merged = mergeNonOverlapping(hunk.baseLines, hunk.oursLines, hunk.theirsLines);
136
136
  if (merged !== null) {
137
137
  return {
138
138
  lines: merged,
139
- reason: `Merge LCS 3-way réussi ${merged.length} lignes dans le résultat fusionné.`,
139
+ reason: `3-way LCS merge succeeded: ${merged.length} lines in the merged result.`,
140
140
  };
141
141
  }
142
142
  return {
143
143
  lines: null,
144
- reason: "Le merge LCS 3-way a échoué (chevauchement détecté au moment de la résolution).",
144
+ reason: "The 3-way LCS merge failed (an overlap was detected at resolution time).",
145
145
  };
146
146
  }
147
147
  case "value_only_change": {
148
148
  if (!policyCfg.allowValueOnly) {
149
149
  return {
150
150
  lines: null,
151
- reason: `Résolution value_only_change désactivée par la politique "${effectivePolicy}".`,
151
+ reason: `value_only_change resolution disabled by the "${effectivePolicy}" policy.`,
152
152
  };
153
153
  }
154
- // Quand toutes les paires de tokens différents sont des semver
155
- // comparables, le côté le plus élevé gagne — déterministe et conforme à
156
- // l'intention « garder la version la plus récente », quel que soit le
157
- // côté qui la porte. Sinon (hashes, timestamps) : côté-politique.
158
154
  const semverSide = pickNewerSemverSide(hunk.oursLines, hunk.theirsLines);
155
+ const versionish = hasUnorderableVersionPair(hunk.oursLines, hunk.theirsLines);
156
+ const ctx = options.mergeContext;
157
+ // accuracy lot C — Un scalaire de version NON ordonnable fixé différemment des
158
+ // deux côtés ('13.x-dev' vs '12.54.1', '2.9.0-dev'…) est l'identité de
159
+ // version du fichier sur la branche cible : avec le contexte, la cible
160
+ // garde sa valeur. Mesuré sur benchmark/ : laravel 36,6 % → 81,5 %
161
+ // d'accord. Les paires ORDONNABLES (deps bumpées des deux côtés) gardent
162
+ // en revanche « la plus récente gagne » même avec contexte — la première
163
+ // version de cette règle les basculait aussi vers la cible, et l'accord
164
+ // régressait sur prettier/vue/express (les humains prennent bien la dep
165
+ // la plus récente apportée par la branche source).
166
+ if (ctx && versionish && semverSide === null) {
167
+ const side = ctx.targetSide;
168
+ const refs = ctx.oursRef && ctx.theirsRef ? ` (${ctx.theirsRef} → ${ctx.oursRef})` : "";
169
+ return {
170
+ lines: side === "ours" ? [...hunk.oursLines] : [...hunk.theirsLines],
171
+ reason: `Version changed on both sides during a ${ctx.operation}${refs} — the target branch keeps its value. Resolution: take ${side}.`,
172
+ };
173
+ }
174
+ // Sans contexte : les paires semver/datetime ordonnables gardent la règle
175
+ // historique « la plus récente gagne » (déterministe et testée)…
159
176
  if (semverSide !== null) {
160
177
  return {
161
178
  lines: semverSide === "ours" ? [...hunk.oursLines] : [...hunk.theirsLines],
162
- reason: `Même structure, version(s) semver différente(s). Résolution : accepter ${semverSide} (version la plus élevée).`,
179
+ reason: `Same structure, differing semver version(s). Resolution: take ${semverSide} (the higher version).`,
180
+ };
181
+ }
182
+ // …mais une paire version NON ordonnable ('13.x-dev' vs '12.54.1') ne
183
+ // retombe plus sur la politique : mesurée fausse ~3 fois sur 4, c'est une
184
+ // proposition, pas une application.
185
+ if (versionish) {
186
+ return {
187
+ lines: null,
188
+ reason: "Version changed on both sides with non-comparable values — this is a merge decision, not volatility. The target branch wins when context is known (auto-detected by the CLI and desktop); here it isn't, so GitWand proposes instead of applying.",
163
189
  };
164
190
  }
165
191
  const preferred = policyCfg.preferOurs ? hunk.oursLines : hunk.theirsLines;
166
192
  const side = policyCfg.preferOurs ? "ours" : "theirs";
167
193
  return {
168
194
  lines: [...preferred],
169
- reason: `Même structure, valeur(s) volatile(s) différente(s). Résolution : accepter ${side} (politique : ${effectivePolicy}).`,
195
+ reason: `Same structure, differing volatile value(s). Resolution: take ${side} (policy: ${effectivePolicy}).`,
170
196
  };
171
197
  }
172
198
  case "token_level_merge":
173
- // v2.7 — Résolution toujours différée à la confirmation utilisateur (frontend).
199
+ // v3.4 — Résolution toujours différée à la confirmation utilisateur (frontend).
174
200
  // La proposition calculée est disponible dans hunk.trace.tokenMergeTrace.
175
201
  return {
176
202
  lines: null,
177
- reason: "token_level_merge : fusion proposée, confirmation utilisateur requise avant application.",
203
+ reason: "token_level_merge: merge proposed, user confirmation required before it is applied.",
178
204
  };
179
205
  case "generated_file": {
180
- // Smart resolution : si les deux côtés sont identiques après suppression
181
- // des valeurs volatiles (hashes, timestamps), le conflit est cosmétique
206
+ // accuracy lot 1 Par défaut, on DÉCLINE : la version commitée d'un fichier
207
+ // généré est la sortie d'un outil, pas la fusion de deux textes.
208
+ // Mesuré sur le corpus benchmark/ : « accepter theirs » divergeait de
209
+ // ce que les équipes livrent dans ~100 % des cas. Décliner avec un
210
+ // message actionnable vaut mieux qu'une fusion silencieusement fausse.
182
211
  const oursStripped = stripVolatileValues(hunk.oursLines);
183
212
  const theirsStripped = stripVolatileValues(hunk.theirsLines);
184
- if (oursStripped === theirsStripped) {
213
+ const cosmetic = oursStripped === theirsStripped;
214
+ if (!options.resolveGeneratedFiles) {
215
+ return {
216
+ lines: null,
217
+ reason: cosmetic
218
+ ? "Generated file — only volatile differences (hashes/timestamps). Resolve the source file (e.g. package.json) then regenerate this one with its tool (install/build). Auto-resolution available via resolveGeneratedFiles: true."
219
+ : "Generated file — not merged, regenerated. Resolve the source file (e.g. package.json) then re-run the tool that produces this one (install/build). Auto-resolution (take theirs) available via resolveGeneratedFiles: true.",
220
+ };
221
+ }
222
+ // Opt-in resolveGeneratedFiles: true — comportement historique.
223
+ if (cosmetic) {
185
224
  return {
186
225
  lines: [...hunk.theirsLines],
187
- reason: "Fichier auto-généré contenu structurel identique (seules les valeurs volatiles diffèrent). Résolution : accepter theirs. Suggestion : relancer le build/install.",
226
+ reason: "Generated file with identical structure (only volatile values differ). Resolution: take theirs. Suggestion: re-run the build or install.",
188
227
  };
189
228
  }
190
229
  return {
191
230
  lines: [...hunk.theirsLines],
192
- reason: "Fichier auto-généré le fichier sera régénéré après merge. Résolution : accepter theirs. Suggestion : relancer le build/install.",
231
+ reason: "Generated file: it will be rebuilt after the merge. Resolution: take theirs (opt-in resolveGeneratedFiles). Suggestion: re-run the build or install.",
193
232
  };
194
233
  }
195
234
  case "refactoring_aware_merge": {
@@ -202,7 +241,7 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
202
241
  // Fallback si le cache est invalide (ne devrait pas arriver)
203
242
  return {
204
243
  lines: null,
205
- reason: "RefMerge : résultat non disponible en cache résolution manuelle requise.",
244
+ reason: "RefMerge: no cached result available, so manual resolution is required.",
206
245
  };
207
246
  }
208
247
  case "llm_proposed":
@@ -210,17 +249,17 @@ export function assembleResolution(hunk, options, effectivePolicy, policyCfg) {
210
249
  // assembleResolution() n'est pas censé être appelé directement pour llm_proposed.
211
250
  return {
212
251
  lines: null,
213
- reason: "llm_proposed : résolution différée au pipeline LLM asynchrone.",
252
+ reason: "llm_proposed: resolution deferred to the asynchronous LLM pipeline.",
214
253
  };
215
254
  case "complex":
216
255
  return {
217
256
  lines: null,
218
- reason: "Conflit complexe aucune heuristique automatique applicable. Résolution manuelle requise.",
257
+ reason: "Complex conflict: no automatic heuristic applies. Manual resolution required.",
219
258
  };
220
259
  default:
221
260
  return {
222
261
  lines: null,
223
- reason: `Type de conflit inconnu : ${hunk.type}.`,
262
+ reason: `Unknown conflict type: ${hunk.type}.`,
224
263
  };
225
264
  }
226
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/resolver/assemble.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/resolver/assemble.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export type FormatDispatchResult =
21
21
  status: "resolved";
22
22
  lines: string[];
23
23
  reason: string;
24
+ resolverUsed: string;
24
25
  }
25
26
  /** Le résolveur a résolu mais la politique rejette le résultat (ex: imports/non_overlapping off). */
26
27
  | {
@@ -1 +1 @@
1
- {"version":3,"file":"format-dispatch.d.ts","sourceRoot":"","sources":["../../src/resolver/format-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIhE,MAAM,MAAM,oBAAoB;AAC9B,0DAA0D;AACxD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzD,qGAAqG;GACnG;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC/C,0FAA0F;GACxF;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,oBAAoB,CAgCtB"}
1
+ {"version":3,"file":"format-dispatch.d.ts","sourceRoot":"","sources":["../../src/resolver/format-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIhE,MAAM,MAAM,oBAAoB;AAC9B,0DAA0D;AACxD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AAC/E,qGAAqG;GACnG;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC/C,0FAA0F;GACxF;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,oBAAoB,CAgCtB"}
@@ -37,17 +37,17 @@ export function dispatchFormatAware(hunk, filePath, options) {
37
37
  if (!options.resolveNonOverlapping) {
38
38
  return {
39
39
  status: "rejected-policy",
40
- reason: "Résolution d'imports (non-overlapping) désactivée par options (resolveNonOverlapping: false).",
40
+ reason: "Import resolution (non-overlapping) disabled by options (resolveNonOverlapping: false).",
41
41
  };
42
42
  }
43
43
  const { policy, cfg } = computeEffectivePolicy(filePath, options);
44
44
  if (!cfg.allowNonOverlapping) {
45
45
  return {
46
46
  status: "rejected-policy",
47
- reason: `Résolution d'imports (non-overlapping) désactivée par la politique "${policy}".`,
47
+ reason: `Import resolution (non-overlapping) disabled by the "${policy}" policy.`,
48
48
  };
49
49
  }
50
50
  }
51
- return { status: "resolved", lines: formatResult.lines, reason: formatResult.reason };
51
+ return { status: "resolved", lines: formatResult.lines, reason: formatResult.reason, resolverUsed: formatResult.resolverUsed };
52
52
  }
53
53
  //# sourceMappingURL=format-dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-dispatch.js","sourceRoot":"","sources":["../../src/resolver/format-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAUrD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,QAAgB,EAChB,OAAiC;IAEjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE;QACzD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;KACrD,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChC,sEAAsE;QACtE,kEAAkE;QAClE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,iEAAiE;IACjE,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,+FAA+F;aACxG,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,uEAAuE,MAAM,IAAI;aAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"format-dispatch.js","sourceRoot":"","sources":["../../src/resolver/format-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAUrD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,QAAgB,EAChB,OAAiC;IAEjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE;QACzD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;KACrD,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChC,sEAAsE;QACtE,kEAAkE;QAClE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IAED,iEAAiE;IACjE,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,yFAAyF;aAClG,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO;gBACL,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,wDAAwD,MAAM,WAAW;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;AACjI,CAAC"}
@@ -15,9 +15,9 @@ export const GENERATED_FILE_PATTERNS = [
15
15
  { pattern: /composer\.lock$/i, label: "composer lockfile" },
16
16
  { pattern: /Gemfile\.lock$/i, label: "bundler lockfile" },
17
17
  { pattern: /Cargo\.lock$/i, label: "cargo lockfile" },
18
- { pattern: /\.min\.(js|css)$/i, label: "fichier minifié" },
19
- { pattern: /\bdist\//, label: "fichier build dist/" },
20
- { pattern: /\bbuild\/manifest\.json$/i, label: "manifest de build" },
18
+ { pattern: /\.min\.(js|css)$/i, label: "minified file" },
19
+ { pattern: /\bdist\//, label: "dist/ build output" },
20
+ { pattern: /\bbuild\/manifest\.json$/i, label: "build manifest" },
21
21
  { pattern: /\.bundle\.(js|css)$/i, label: "bundle" },
22
22
  { pattern: /mix-manifest\.json$/i, label: "Laravel Mix manifest" },
23
23
  ];
@@ -91,30 +91,30 @@ export function reclassifyIfGenerated(hunk, genInfo) {
91
91
  fileFrequency: 0,
92
92
  baseAvailability: 0,
93
93
  },
94
- boosters: [`Chemin correspond au pattern de fichier auto-généré : ${genInfo.label}`],
95
- penalties: ["Le contenu sera régénérétheirs est supposé plus récent"],
94
+ boosters: [`Path matches the generated-file pattern: ${genInfo.label}`],
95
+ penalties: ["The committed content is a tool's output a textual merge does not reproduce it"],
96
96
  };
97
97
  return {
98
98
  ...hunk,
99
99
  type: "generated_file",
100
100
  confidence: generatedScore,
101
- explanation: `Fichier auto-généré (${genInfo.label}). Ce fichier sera régénéré après le merge. Résolution proposée : accepter theirs et relancer le build.`,
101
+ explanation: `Generated file (${genInfo.label}). This file is regenerated, not merged: resolve its source, then re-run the tool that produces it (install/build).`,
102
102
  // Update the trace to reflect the reclassification
103
103
  trace: {
104
104
  ...hunk.trace,
105
105
  selected: "generated_file",
106
- summary: `Fichier auto-généré (${genInfo.label}) reclassifié depuis complex.`,
106
+ summary: `Generated file (${genInfo.label}), reclassified out of complex.`,
107
107
  steps: [
108
108
  ...hunk.trace.steps.slice(0, -1), // remove the "complex passed: true" step
109
109
  {
110
110
  type: "complex",
111
111
  passed: false,
112
- reason: `Reclassifié : fichier auto-généré (${genInfo.label}) détecté par son chemin.`,
112
+ reason: `Reclassified: generated file (${genInfo.label}) detected by its path.`,
113
113
  },
114
114
  {
115
115
  type: "generated_file",
116
116
  passed: true,
117
- reason: `Chemin correspond au pattern de fichier auto-généré : ${genInfo.label}.`,
117
+ reason: `Path matches the generated-file pattern: ${genInfo.label}.`,
118
118
  },
119
119
  ],
120
120
  },
@@ -1 +1 @@
1
- {"version":3,"file":"generated-detection.js","sourceRoot":"","sources":["../../src/resolver/generated-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated-detection.js","sourceRoot":"","sources":["../../src/resolver/generated-detection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolver/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAIV,cAAc,EAEd,WAAW,EAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAqEhC;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,cAAmB,GAC/B,WAAW,CAyGb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,YAAY,CAChC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,cAAmB,EAChC,cAAc,GAAE,uBAA4B,GAC3C,OAAO,CAAC,WAAW,CAAC,CAgHtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolver/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAKV,cAAc,EAEd,WAAW,EAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AA8PhC;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,cAAmB,GAC/B,WAAW,CA8Jb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,YAAY,CAChC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,cAAmB,EAChC,cAAc,GAAE,uBAA4B,GAC3C,OAAO,CAAC,WAAW,CAAC,CAgHtB"}