@gitwand/core 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/__tests__/accuracy-lot1.test.d.ts +14 -0
- package/dist/__tests__/accuracy-lot1.test.d.ts.map +1 -0
- package/dist/__tests__/accuracy-lot1.test.js +154 -0
- package/dist/__tests__/accuracy-lot1.test.js.map +1 -0
- package/dist/__tests__/confidence-v14.test.js +2 -2
- package/dist/__tests__/confidence-v14.test.js.map +1 -1
- package/dist/__tests__/conventions.test.d.ts +10 -0
- package/dist/__tests__/conventions.test.d.ts.map +1 -0
- package/dist/__tests__/conventions.test.js +121 -0
- package/dist/__tests__/conventions.test.js.map +1 -0
- package/dist/__tests__/corpus.d.ts.map +1 -1
- package/dist/__tests__/corpus.js +44 -5
- package/dist/__tests__/corpus.js.map +1 -1
- package/dist/__tests__/english-output.test.d.ts +2 -0
- package/dist/__tests__/english-output.test.d.ts.map +1 -0
- package/dist/__tests__/english-output.test.js +56 -0
- package/dist/__tests__/english-output.test.js.map +1 -0
- package/dist/__tests__/format-resolvers.test.js +2 -2
- package/dist/__tests__/format-resolvers.test.js.map +1 -1
- package/dist/__tests__/llm-refactoring-coupling.test.d.ts +1 -1
- package/dist/__tests__/llm-refactoring-coupling.test.js +1 -1
- package/dist/__tests__/merge-context.test.d.ts +15 -0
- package/dist/__tests__/merge-context.test.d.ts.map +1 -0
- package/dist/__tests__/merge-context.test.js +78 -0
- package/dist/__tests__/merge-context.test.js.map +1 -0
- package/dist/__tests__/patterns/insertion-at-boundary.test.js +1 -1
- package/dist/__tests__/patterns/insertion-at-boundary.test.js.map +1 -1
- package/dist/__tests__/patterns/llm-proposed.test.js +1 -1
- package/dist/__tests__/patterns/llm-proposed.test.js.map +1 -1
- package/dist/__tests__/patterns/reorder-only.test.js +2 -2
- package/dist/__tests__/patterns/reorder-only.test.js.map +1 -1
- package/dist/__tests__/patterns/token-level-merge.test.js +4 -4
- package/dist/__tests__/patterns/token-level-merge.test.js.map +1 -1
- package/dist/__tests__/patterns/value-only-change.test.js +11 -9
- package/dist/__tests__/patterns/value-only-change.test.js.map +1 -1
- package/dist/__tests__/regenerate/plan.test.d.ts +12 -0
- package/dist/__tests__/regenerate/plan.test.d.ts.map +1 -0
- package/dist/__tests__/regenerate/plan.test.js +126 -0
- package/dist/__tests__/regenerate/plan.test.js.map +1 -0
- package/dist/__tests__/regenerate/registry.test.d.ts +8 -0
- package/dist/__tests__/regenerate/registry.test.d.ts.map +1 -0
- package/dist/__tests__/regenerate/registry.test.js +60 -0
- package/dist/__tests__/regenerate/registry.test.js.map +1 -0
- package/dist/__tests__/regenerate-integration.test.d.ts +31 -0
- package/dist/__tests__/regenerate-integration.test.d.ts.map +1 -0
- package/dist/__tests__/regenerate-integration.test.js +199 -0
- package/dist/__tests__/regenerate-integration.test.js.map +1 -0
- package/dist/__tests__/regression-guard-tiers.test.d.ts +1 -1
- package/dist/__tests__/regression-guard-tiers.test.js +2 -2
- package/dist/__tests__/resolver.test.js +14 -6
- package/dist/__tests__/resolver.test.js.map +1 -1
- package/dist/__tests__/resolvers/cargo.test.js +6 -4
- package/dist/__tests__/resolvers/cargo.test.js.map +1 -1
- package/dist/__tests__/resolvers/json-fragment.test.d.ts +10 -0
- package/dist/__tests__/resolvers/json-fragment.test.d.ts.map +1 -0
- package/dist/__tests__/resolvers/json-fragment.test.js +96 -0
- package/dist/__tests__/resolvers/json-fragment.test.js.map +1 -0
- package/dist/__tests__/resolvers/json.test.js +1 -1
- package/dist/__tests__/resolvers/lockfile-npm.test.js +14 -12
- package/dist/__tests__/resolvers/lockfile-npm.test.js.map +1 -1
- package/dist/__tests__/resolvers/lockfile-pnpm.test.js +14 -12
- package/dist/__tests__/resolvers/lockfile-pnpm.test.js.map +1 -1
- package/dist/__tests__/resolvers/lockfile-yarn.test.js +14 -12
- package/dist/__tests__/resolvers/lockfile-yarn.test.js.map +1 -1
- package/dist/__tests__/stats/tiers.test.d.ts +1 -1
- package/dist/__tests__/stats/tiers.test.js +4 -3
- package/dist/__tests__/stats/tiers.test.js.map +1 -1
- package/dist/__tests__/with-base-availability.test.js +2 -2
- package/dist/__tests__/with-base-availability.test.js.map +1 -1
- package/dist/classifier.js +18 -18
- package/dist/classifier.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/conventions/derive.d.ts +21 -0
- package/dist/conventions/derive.d.ts.map +1 -0
- package/dist/conventions/derive.js +116 -0
- package/dist/conventions/derive.js.map +1 -0
- package/dist/conventions/types.d.ts +80 -0
- package/dist/conventions/types.d.ts.map +1 -0
- package/dist/conventions/types.js +21 -0
- package/dist/conventions/types.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/parser.js +1 -1
- package/dist/parser.js.map +1 -1
- package/dist/patterns/complex.js +4 -4
- package/dist/patterns/complex.js.map +1 -1
- package/dist/patterns/delete-no-change.js +13 -13
- package/dist/patterns/delete-no-change.js.map +1 -1
- package/dist/patterns/insertion-at-boundary.js +7 -7
- package/dist/patterns/insertion-at-boundary.js.map +1 -1
- package/dist/patterns/llm-proposed.js +5 -5
- package/dist/patterns/llm-proposed.js.map +1 -1
- package/dist/patterns/non-overlapping.js +4 -4
- package/dist/patterns/non-overlapping.js.map +1 -1
- package/dist/patterns/one-side-change.js +6 -6
- package/dist/patterns/one-side-change.js.map +1 -1
- package/dist/patterns/refactoring-aware-merge.js +11 -11
- package/dist/patterns/refactoring-aware-merge.js.map +1 -1
- package/dist/patterns/reorder-only.js +6 -6
- package/dist/patterns/reorder-only.js.map +1 -1
- package/dist/patterns/same-change.js +4 -4
- package/dist/patterns/same-change.js.map +1 -1
- package/dist/patterns/token-level-merge.js +6 -6
- package/dist/patterns/token-level-merge.js.map +1 -1
- package/dist/patterns/utils.d.ts +1 -10
- package/dist/patterns/utils.d.ts.map +1 -1
- package/dist/patterns/utils.js +46 -7
- package/dist/patterns/utils.js.map +1 -1
- package/dist/patterns/value-only-change.js +6 -6
- package/dist/patterns/value-only-change.js.map +1 -1
- package/dist/patterns/whitespace-only.js +6 -6
- package/dist/patterns/whitespace-only.js.map +1 -1
- package/dist/refactoring/orchestration.js +3 -3
- package/dist/refactoring/orchestration.js.map +1 -1
- package/dist/regenerate/plan.d.ts +58 -0
- package/dist/regenerate/plan.d.ts.map +1 -0
- package/dist/regenerate/plan.js +55 -0
- package/dist/regenerate/plan.js.map +1 -0
- package/dist/regenerate/registry.d.ts +44 -0
- package/dist/regenerate/registry.d.ts.map +1 -0
- package/dist/regenerate/registry.js +81 -0
- package/dist/regenerate/registry.js.map +1 -0
- package/dist/resolver/assemble.d.ts.map +1 -1
- package/dist/resolver/assemble.js +71 -32
- package/dist/resolver/assemble.js.map +1 -1
- package/dist/resolver/format-dispatch.d.ts +1 -0
- package/dist/resolver/format-dispatch.d.ts.map +1 -1
- package/dist/resolver/format-dispatch.js +3 -3
- package/dist/resolver/format-dispatch.js.map +1 -1
- package/dist/resolver/generated-detection.js +9 -9
- package/dist/resolver/generated-detection.js.map +1 -1
- package/dist/resolver/index.d.ts.map +1 -1
- package/dist/resolver/index.js +228 -18
- package/dist/resolver/index.js.map +1 -1
- package/dist/resolver/llm-pipeline.js +2 -2
- package/dist/resolver/llm-pipeline.js.map +1 -1
- package/dist/resolver/policy.d.ts.map +1 -1
- package/dist/resolver/policy.js +9 -1
- package/dist/resolver/policy.js.map +1 -1
- package/dist/resolver/validate-parse-tree.js +2 -2
- package/dist/resolver/validate-parse-tree.js.map +1 -1
- package/dist/resolver/validation.d.ts +14 -0
- package/dist/resolver/validation.d.ts.map +1 -1
- package/dist/resolver/validation.js +101 -1
- package/dist/resolver/validation.js.map +1 -1
- package/dist/resolvers/cargo.js +3 -3
- package/dist/resolvers/cargo.js.map +1 -1
- package/dist/resolvers/css.js +7 -7
- package/dist/resolvers/css.js.map +1 -1
- package/dist/resolvers/dispatcher.d.ts.map +1 -1
- package/dist/resolvers/dispatcher.js +13 -1
- package/dist/resolvers/dispatcher.js.map +1 -1
- package/dist/resolvers/dockerfile.js +2 -2
- package/dist/resolvers/dockerfile.js.map +1 -1
- package/dist/resolvers/dotenv.js +2 -2
- package/dist/resolvers/dotenv.js.map +1 -1
- package/dist/resolvers/imports.js +11 -11
- package/dist/resolvers/imports.js.map +1 -1
- package/dist/resolvers/json-fragment.d.ts +48 -0
- package/dist/resolvers/json-fragment.d.ts.map +1 -0
- package/dist/resolvers/json-fragment.js +196 -0
- package/dist/resolvers/json-fragment.js.map +1 -0
- package/dist/resolvers/json.js +7 -7
- package/dist/resolvers/json.js.map +1 -1
- package/dist/resolvers/llm-fallback.js +5 -5
- package/dist/resolvers/llm-fallback.js.map +1 -1
- package/dist/resolvers/lockfile-npm.js +3 -3
- package/dist/resolvers/lockfile-npm.js.map +1 -1
- package/dist/resolvers/lockfile-pnpm.js +2 -2
- package/dist/resolvers/lockfile-pnpm.js.map +1 -1
- package/dist/resolvers/lockfile-yarn.js +3 -3
- package/dist/resolvers/lockfile-yarn.js.map +1 -1
- package/dist/resolvers/markdown.js +4 -4
- package/dist/resolvers/markdown.js.map +1 -1
- package/dist/resolvers/vue.js +5 -5
- package/dist/resolvers/vue.js.map +1 -1
- package/dist/resolvers/yaml.js +6 -6
- package/dist/resolvers/yaml.js.map +1 -1
- package/dist/stats/tiers.d.ts +1 -1
- package/dist/stats/tiers.d.ts.map +1 -1
- package/dist/stats/tiers.js +5 -2
- package/dist/stats/tiers.js.map +1 -1
- package/dist/structural/index.js +3 -3
- package/dist/structural/index.js.map +1 -1
- package/dist/types.d.ts +83 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -126,23 +126,23 @@ const tokenLevelMerge = {
|
|
|
126
126
|
// dataRisk volontairement non-nul : ce pattern ne doit JAMAIS s'auto-appliquer,
|
|
127
127
|
// quel que soit le score obtenu (cf. resolver/assemble.ts — case dédié).
|
|
128
128
|
return makeScore(70, 38, scopeImpact(totalLines), [
|
|
129
|
-
"
|
|
129
|
+
"Line-by-line and token-level decomposition succeeded",
|
|
130
130
|
], [
|
|
131
|
-
"
|
|
131
|
+
"Resolution proposed: never auto-applied, user confirmation required",
|
|
132
132
|
]);
|
|
133
133
|
},
|
|
134
134
|
explanation(h) {
|
|
135
135
|
const result = computeTokenMergeCached(h);
|
|
136
136
|
if (!result)
|
|
137
|
-
return "
|
|
137
|
+
return "Token-level merge proposed.";
|
|
138
138
|
const { pass1Count, pass2Count } = result;
|
|
139
|
-
return `
|
|
139
|
+
return `Merge proposed: ${pass1Count} line${pass1Count === 1 ? "" : "s"} resolved line-by-line, ${pass2Count} line${pass2Count === 1 ? "" : "s"} merged token-by-token. Confirmation required before it is applied.`;
|
|
140
140
|
},
|
|
141
141
|
passReason(_h) {
|
|
142
|
-
return "
|
|
142
|
+
return "Line-by-line decomposition and token-level diff succeeded on every line of the hunk.";
|
|
143
143
|
},
|
|
144
144
|
failReason(_h) {
|
|
145
|
-
return "
|
|
145
|
+
return "At least one line resists (a real token-level conflict, or misaligned tokens), and partial resolutions are not offered.";
|
|
146
146
|
},
|
|
147
147
|
};
|
|
148
148
|
export default tokenLevelMerge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-level-merge.js","sourceRoot":"","sources":["../../src/patterns/token-level-merge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"token-level-merge.js","sourceRoot":"","sources":["../../src/patterns/token-level-merge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,IAAI,UAAU,GAAyB,IAAI,CAAC;AAC5C,IAAI,WAAW,GAA2B,IAAI,CAAC;AAE/C,SAAS,uBAAuB,CAAC,CAAgB;IAC/C,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACzC,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,uBAAuB;IACrC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,IAAY,EACZ,IAAY,EACZ,MAAc;IAEd,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC,CAAC,2CAA2C;IAC1D,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,CAAC,+CAA+C;YAC9D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;QAChE,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,gBAAgB;QAChB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,CAAgB;IACzC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB;IAC7D,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,CAAC,iCAAiC;IAChD,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;YACxC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9E,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,gBAAgB;QACpD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAE1E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,OAAO,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,gFAAgF;QAChF,yEAAyE;QACzE,OAAO,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE;YAChD,sDAAsD;SACvD,EAAE;YACD,qEAAqE;SACtE,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,CAAgB;QAC1B,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,6BAA6B,CAAC;QAClD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,mBAAmB,UAAU,QAAQ,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2BAA2B,UAAU,QAAQ,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qEAAqE,CAAC;IACvN,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,sFAAsF,CAAC;IAChG,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,yHAAyH,CAAC;IACnI,CAAC;CACF,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
package/dist/patterns/utils.d.ts
CHANGED
|
@@ -110,15 +110,6 @@ export declare function detectValueOnlyChange(oursLines: string[], theirsLines:
|
|
|
110
110
|
explanation: string;
|
|
111
111
|
traceReason: string;
|
|
112
112
|
} | null;
|
|
113
|
-
|
|
114
|
-
* Si TOUTES les paires de tokens qui diffèrent entre ours et theirs sont des
|
|
115
|
-
* semver comparables ET que le même côté est ≥ sur chaque paire (avec au
|
|
116
|
-
* moins un >), retourne ce côté. Sinon null (résolution par politique).
|
|
117
|
-
*
|
|
118
|
-
* Consommé par assembleResolution (value_only_change) : « accepter la version
|
|
119
|
-
* la plus récente » n'est déterministe que quand les valeurs sont ORDONNABLES
|
|
120
|
-
* (semver, ou datetime ISO où l'ordre lexicographique est chronologique) —
|
|
121
|
-
* pour les hashes et autres valeurs ambiguës on retombe sur la politique.
|
|
122
|
-
*/
|
|
113
|
+
export declare function hasUnorderableVersionPair(oursLines: string[], theirsLines: string[]): boolean;
|
|
123
114
|
export declare function pickNewerSemverSide(oursLines: string[], theirsLines: string[]): "ours" | "theirs" | null;
|
|
124
115
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAoBnH;AAED;;;;;;;GAOG;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;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA0B/D;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;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoC7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,UAAQ,GACd;IAAE,eAAe,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqEvF;
|
|
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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAoBnH;AAED;;;;;;;GAOG;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;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA0B/D;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;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoC7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,UAAQ,GACd;IAAE,eAAe,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqEvF;AAoDD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAiBT;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,GAAG,QAAQ,GAAG,IAAI,CA2B1B"}
|
package/dist/patterns/utils.js
CHANGED
|
@@ -327,18 +327,18 @@ export function detectValueOnlyChange(oursLines, theirsLines, hasBase = false) {
|
|
|
327
327
|
if (typeClassification < 55)
|
|
328
328
|
return null;
|
|
329
329
|
const si = scopeImpact(oursLines.length);
|
|
330
|
-
const penalties = [`
|
|
330
|
+
const penalties = [`Difference ratio: ${(diffRatio * 100).toFixed(1)}%`];
|
|
331
331
|
if (!hasBase)
|
|
332
|
-
penalties.push("
|
|
332
|
+
penalties.push("No base (diff2): heuristic based on volatile-value patterns alone");
|
|
333
333
|
const confidenceScore = makeScore(typeClassification, 25, si, [
|
|
334
|
-
`${diffCount} token${diffCount > 1 ? "s" : ""}
|
|
335
|
-
"
|
|
336
|
-
...(hasBase ? ["Base
|
|
334
|
+
`${diffCount} token${diffCount > 1 ? "s" : ""} identified as volatile (hash, version, timestamp…)`,
|
|
335
|
+
"Same line structure",
|
|
336
|
+
...(hasBase ? ["Base available: both sides changed the value"] : []),
|
|
337
337
|
], penalties, 0, hasBase ? 100 : 0);
|
|
338
338
|
if (confidenceScore.label === "low")
|
|
339
339
|
return null;
|
|
340
|
-
const explanation = `
|
|
341
|
-
const traceReason = `${diffCount}
|
|
340
|
+
const explanation = `Same structure with ${diffCount} differing volatile value${diffCount > 1 ? "s" : ""} (hash, version, timestamp…). Resolution: the higher semver when comparable, otherwise whatever the merge policy says.`;
|
|
341
|
+
const traceReason = `${diffCount} of ${totalTokens} tokens differ, all identified as volatile (hash, version, timestamp…). Ratio: ${(diffRatio * 100).toFixed(1)}%, score ${confidenceScore.score} (${confidenceScore.label}).`;
|
|
342
342
|
return { confidenceScore, explanation, traceReason };
|
|
343
343
|
}
|
|
344
344
|
// ─── Comparaison semver pour value_only_change ────────────────
|
|
@@ -371,6 +371,45 @@ function compareSemver(a, b) {
|
|
|
371
371
|
* (semver, ou datetime ISO où l'ordre lexicographique est chronologique) —
|
|
372
372
|
* pour les hashes et autres valeurs ambiguës on retombe sur la politique.
|
|
373
373
|
*/
|
|
374
|
+
/**
|
|
375
|
+
* accuracy lot C — Y a-t-il, parmi les paires de tokens qui diffèrent, au moins une
|
|
376
|
+
* paire « de type version » qui n'est PAS ordonnable proprement ?
|
|
377
|
+
*
|
|
378
|
+
* C'est exactement le cas mesuré comme faux sur le corpus benchmark/ : deux
|
|
379
|
+
* côtés fixent un scalaire de version à des valeurs différentes dont l'une ne
|
|
380
|
+
* parse pas en semver (`'13.x-dev'`, `'2.0-beta'`, `dev-master`). L'ancien
|
|
381
|
+
* comportement retombait sur la politique (prefer-theirs) — un pari. Ces
|
|
382
|
+
* paires sont une décision : la branche cible gagne quand le contexte est
|
|
383
|
+
* connu, et on propose au lieu d'appliquer quand il ne l'est pas.
|
|
384
|
+
*
|
|
385
|
+
* Délibérément conservateur : un token n'est « versionish » que s'il ressemble
|
|
386
|
+
* réellement à une version (chiffres pointés, wildcard x/*, suffixe -dev/-beta…).
|
|
387
|
+
* Les hashes et timestamps ne matchent pas et gardent leur traitement existant.
|
|
388
|
+
*/
|
|
389
|
+
const RE_VERSIONISH_TOKEN = /^["']?v?\d+\.(\d+|[x*])(\.(\d+|[x*]))?([._-][0-9A-Za-z.]+)?["']?$/;
|
|
390
|
+
export function hasUnorderableVersionPair(oursLines, theirsLines) {
|
|
391
|
+
if (oursLines.length !== theirsLines.length)
|
|
392
|
+
return false;
|
|
393
|
+
for (let i = 0; i < oursLines.length; i++) {
|
|
394
|
+
const oursTokens = tokenizeLineQuoteAware(oursLines[i]);
|
|
395
|
+
const theirsTokens = tokenizeLineQuoteAware(theirsLines[i]);
|
|
396
|
+
if (oursTokens.length !== theirsTokens.length)
|
|
397
|
+
continue;
|
|
398
|
+
for (let j = 0; j < oursTokens.length; j++) {
|
|
399
|
+
const a = oursTokens[j];
|
|
400
|
+
const b = theirsTokens[j];
|
|
401
|
+
if (a === b)
|
|
402
|
+
continue;
|
|
403
|
+
const bothSemver = parseSemver(a) !== null && parseSemver(b) !== null;
|
|
404
|
+
const bothDatetime = RE_DATETIME_TOKEN.test(a) && RE_DATETIME_TOKEN.test(b);
|
|
405
|
+
if (bothSemver || bothDatetime)
|
|
406
|
+
continue; // ordonnable → pickNewerSemverSide gère
|
|
407
|
+
if (RE_VERSIONISH_TOKEN.test(a) || RE_VERSIONISH_TOKEN.test(b))
|
|
408
|
+
return true;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
return false;
|
|
412
|
+
}
|
|
374
413
|
export function pickNewerSemverSide(oursLines, theirsLines) {
|
|
375
414
|
if (oursLines.length !== theirsLines.length)
|
|
376
415
|
return null;
|
|
@@ -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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"}
|
|
@@ -2,7 +2,7 @@ import { makeScore, detectValueOnlyChange } from "./utils.js";
|
|
|
2
2
|
const valueOnlyChange = {
|
|
3
3
|
type: "value_only_change",
|
|
4
4
|
priority: 60,
|
|
5
|
-
// "both" depuis
|
|
5
|
+
// "both" depuis v3.4 : avec base (diff3), un changement unilatéral est déjà
|
|
6
6
|
// pris par one_side_change (prio 30) — ce pattern ne voit donc que les cas
|
|
7
7
|
// où LES DEUX côtés ont changé la valeur. En "diff2" il était inatteignable
|
|
8
8
|
// dès que la base recovery du desktop enrichissait le conflit.
|
|
@@ -17,21 +17,21 @@ const valueOnlyChange = {
|
|
|
17
17
|
if (result)
|
|
18
18
|
return result.confidenceScore;
|
|
19
19
|
// Fallback (ne devrait pas être appelé si detect() retourne false)
|
|
20
|
-
return makeScore(0, 100, 0, [], ["
|
|
20
|
+
return makeScore(0, 100, 0, [], ["Internal error: confidence() called without a match"]);
|
|
21
21
|
},
|
|
22
22
|
explanation(h) {
|
|
23
23
|
const result = detectValueOnlyChange(h.oursLines, h.theirsLines, h.baseLines.length > 0);
|
|
24
|
-
return result?.explanation ?? "
|
|
24
|
+
return result?.explanation ?? "Differing volatile values.";
|
|
25
25
|
},
|
|
26
26
|
passReason(h) {
|
|
27
27
|
const result = detectValueOnlyChange(h.oursLines, h.theirsLines, h.baseLines.length > 0);
|
|
28
|
-
return result?.traceReason ?? "
|
|
28
|
+
return result?.traceReason ?? "Atomic values identified as volatile.";
|
|
29
29
|
},
|
|
30
30
|
failReason(h) {
|
|
31
31
|
if (h.oursLines.length !== h.theirsLines.length) {
|
|
32
|
-
return "Ours
|
|
32
|
+
return "Ours and theirs do not have the same number of lines, so the structure differs.";
|
|
33
33
|
}
|
|
34
|
-
return "
|
|
34
|
+
return "The differences between ours and theirs go beyond volatile values (hash, version, timestamp…).";
|
|
35
35
|
},
|
|
36
36
|
};
|
|
37
37
|
export default valueOnlyChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-only-change.js","sourceRoot":"","sources":["../../src/patterns/value-only-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,EAAE;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,+DAA+D;IAC/D,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5F,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,eAAe,CAAC;QAC1C,mEAAmE;QACnE,OAAO,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"value-only-change.js","sourceRoot":"","sources":["../../src/patterns/value-only-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,EAAE;IACZ,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,+DAA+D;IAC/D,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5F,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,eAAe,CAAC;QAC1C,mEAAmE;QACnE,OAAO,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW,CAAC,CAAgB;QAC1B,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzF,OAAO,MAAM,EAAE,WAAW,IAAI,4BAA4B,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzF,OAAO,MAAM,EAAE,WAAW,IAAI,uCAAuC,CAAC;IACxE,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,iFAAiF,CAAC;QAC3F,CAAC;QACD,OAAO,gGAAgG,CAAC;IAC1G,CAAC;CACF,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -22,19 +22,19 @@ const whitespaceOnly = {
|
|
|
22
22
|
const lines = Math.max(h.oursLines.length, h.theirsLines.length);
|
|
23
23
|
return makeScore(hasBase ? 95 : 80, 10, scopeImpact(lines), hasBase
|
|
24
24
|
? [
|
|
25
|
-
"Base
|
|
26
|
-
"
|
|
25
|
+
"Base available: whitespace confirmed against the ancestor",
|
|
26
|
+
"Only whitespace differs after normalisation",
|
|
27
27
|
]
|
|
28
|
-
: ["
|
|
28
|
+
: ["Only whitespace differs after normalisation (trim)"], hasBase ? [] : ["No base (diff2): the assumption rests on normalisation alone"]);
|
|
29
29
|
},
|
|
30
30
|
explanation(_h) {
|
|
31
|
-
return "
|
|
31
|
+
return "Both branches contain the same code, differing only in whitespace.";
|
|
32
32
|
},
|
|
33
33
|
passReason(_h) {
|
|
34
|
-
return "
|
|
34
|
+
return "After normalisation (trim) the two versions are identical: only whitespace differs.";
|
|
35
35
|
},
|
|
36
36
|
failReason(_h) {
|
|
37
|
-
return "
|
|
37
|
+
return "After normalisation (trim) the two versions still differ, so this is more than whitespace.";
|
|
38
38
|
},
|
|
39
39
|
};
|
|
40
40
|
export default whitespaceOnly;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whitespace-only.js","sourceRoot":"","sources":["../../src/patterns/whitespace-only.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExG,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,2BAA2B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1C,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YAC9C,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,SAAS,CACd,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACjB,EAAE,EACF,WAAW,CAAC,KAAK,CAAC,EAClB,OAAO;YACL,CAAC,CAAC;gBACE
|
|
1
|
+
{"version":3,"file":"whitespace-only.js","sourceRoot":"","sources":["../../src/patterns/whitespace-only.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExG,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,2BAA2B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1C,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YAC9C,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,SAAS,CACd,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACjB,EAAE,EACF,WAAW,CAAC,KAAK,CAAC,EAClB,OAAO;YACL,CAAC,CAAC;gBACE,2DAA2D;gBAC3D,6CAA6C;aAC9C;YACH,CAAC,CAAC,CAAC,oDAAoD,CAAC,EAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,qFAAqF,CAAC;IAC/F,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,4FAA4F,CAAC;IACtG,CAAC;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -104,7 +104,7 @@ export function tryRefMerge(input, maxRefactorings = 10) {
|
|
|
104
104
|
if (oursRefs.length === 0 && theirsRefs.length === 0) {
|
|
105
105
|
return {
|
|
106
106
|
lines: null,
|
|
107
|
-
reason: "RefMerge
|
|
107
|
+
reason: "RefMerge: no refactoring detected, falling back to the standard pipeline.",
|
|
108
108
|
oursRefs: [],
|
|
109
109
|
theirsRefs: [],
|
|
110
110
|
};
|
|
@@ -126,7 +126,7 @@ export function tryRefMerge(input, maxRefactorings = 10) {
|
|
|
126
126
|
if (mergedInverted === null) {
|
|
127
127
|
return {
|
|
128
128
|
lines: null,
|
|
129
|
-
reason: "RefMerge
|
|
129
|
+
reason: "RefMerge: residual overlap after inversion, falling back to the standard pipeline.",
|
|
130
130
|
oursRefs,
|
|
131
131
|
theirsRefs,
|
|
132
132
|
};
|
|
@@ -137,7 +137,7 @@ export function tryRefMerge(input, maxRefactorings = 10) {
|
|
|
137
137
|
const summary = summarizeRefs(oursRefs, theirsRefs);
|
|
138
138
|
return {
|
|
139
139
|
lines: finalLines,
|
|
140
|
-
reason: `RefMerge
|
|
140
|
+
reason: `RefMerge: ${summary}. Resolved by invert, merge and replay.`,
|
|
141
141
|
oursRefs,
|
|
142
142
|
theirsRefs,
|
|
143
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/refactoring/orchestration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgBpE,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CACpB,IAAc,EACd,YAAsB,EACtB,cAAwB;IAExB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjC,+DAA+D;IAC/D,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,0FAA0F;IAC1F,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AACjE,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CACzB,KAAoB,EACpB,eAAe,GAAG,EAAE;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAEpD,kEAAkE;QAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,kEAAkE;gBAC1E,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAE/E,oEAAoE;QACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/refactoring/orchestration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* accuracy lot D — Émission d'un plan de régénération (fonction pure, zéro I/O).
|
|
3
|
+
*
|
|
4
|
+
* Le moteur n'exécute jamais rien : `buildRegenerationPlan` se contente de
|
|
5
|
+
* lire l'état (déjà connu de l'appelant, voir `RegenerationContext` dans
|
|
6
|
+
* `types.ts`) des fichiers "sources de vérité" d'un écosystème régénérable,
|
|
7
|
+
* et de décider si régénérer serait sûr (`runnable`). L'exécution de la
|
|
8
|
+
* commande elle-même appartient toujours à l'appelant.
|
|
9
|
+
*/
|
|
10
|
+
import type { RegenerationContext } from "../types.js";
|
|
11
|
+
import type { RegenEcosystem } from "./registry.js";
|
|
12
|
+
/** Ce que le moteur émet à la place d'une résolution ; l'appelant décide de l'exécuter. */
|
|
13
|
+
export interface RegenerationPlan {
|
|
14
|
+
file: string;
|
|
15
|
+
ecosystem: RegenEcosystem["id"];
|
|
16
|
+
/** Chaque source de vérité et comment elle a été réglée (clean | resolved | conflicted). */
|
|
17
|
+
sources: Array<{
|
|
18
|
+
path: string;
|
|
19
|
+
state: "clean" | "resolved" | "conflicted";
|
|
20
|
+
confidence?: number;
|
|
21
|
+
}>;
|
|
22
|
+
/** Le plan n'est runnable que si aucune source n'est "conflicted" (absente = conflicted). */
|
|
23
|
+
runnable: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Final-review Finding 1 — renseigné uniquement quand `runnable` est forcé à
|
|
26
|
+
* `false` pour une raison AUTRE que l'état d'une source (aujourd'hui :
|
|
27
|
+
* fichier généré niché dans un sous-répertoire). Absent dans tous les
|
|
28
|
+
* autres cas — ne pas s'y fier pour distinguer "runnable" de "non-runnable",
|
|
29
|
+
* seul `runnable` fait foi ; ce champ n'existe que pour donner une raison
|
|
30
|
+
* lisible quand il y en a une plus précise que "une source est conflictuelle".
|
|
31
|
+
*/
|
|
32
|
+
blockedReason?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Construit le plan de régénération pour `file` dans l'écosystème `ecosystem`,
|
|
36
|
+
* à partir de l'état des fichiers voisins fourni par l'appelant (`context`).
|
|
37
|
+
*
|
|
38
|
+
* Une source de vérité absente de `context.siblingFiles` est traitée comme
|
|
39
|
+
* "conflicted" (état inconnu = pas sûr de régénérer) — jamais runnable par défaut.
|
|
40
|
+
*
|
|
41
|
+
* Final-review Finding 1 — fichiers générés NICHÉS (non à la racine du dépôt).
|
|
42
|
+
* `findEcosystem`/`GENERATED_FILE_PATTERNS` matchent volontairement les
|
|
43
|
+
* lockfiles nichés (ex: `packages/x/package-lock.json` → npm, voir
|
|
44
|
+
* `registry.ts` et son test) mais rien en aval n'est conscient du répertoire :
|
|
45
|
+
* le runner CLI écrit chaque source de vérité résolue à la RACINE du worktree
|
|
46
|
+
* jetable, y lance l'installeur avec `cwd` = cette racine, puis relit le
|
|
47
|
+
* fichier régénéré à son chemin niché — jamais touché par un install lancé à
|
|
48
|
+
* la racine. Résultat possible sans cette garde : un plan jugé runnable qui
|
|
49
|
+
* régénère silencieusement le lockfile RACINE pendant que le lockfile niché
|
|
50
|
+
* (resté tel quel, encore "ours") est relu, valide car simplement périmé, et
|
|
51
|
+
* présenté comme un succès de régénération — exactement le mode d'échec
|
|
52
|
+
* (sortie fausse mais présentée comme fiable) que ce lot existe pour éliminer.
|
|
53
|
+
* Bloqué ici, une seule fois, pour TOUS les appelants (`resolver/index.ts`
|
|
54
|
+
* pass 1, la pass 2 du CLI, le reporting MCP, le harness de mesure) plutôt que
|
|
55
|
+
* dupliqué dans chacun — voir le brief de la fix wave finale.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildRegenerationPlan(file: string, ecosystem: RegenEcosystem, context: RegenerationContext | null | undefined): RegenerationPlan;
|
|
58
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/regenerate/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAChC,4FAA4F;IAC5F,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,6FAA6F;IAC7F,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC9C,gBAAgB,CAyBlB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* accuracy lot D — Émission d'un plan de régénération (fonction pure, zéro I/O).
|
|
3
|
+
*
|
|
4
|
+
* Le moteur n'exécute jamais rien : `buildRegenerationPlan` se contente de
|
|
5
|
+
* lire l'état (déjà connu de l'appelant, voir `RegenerationContext` dans
|
|
6
|
+
* `types.ts`) des fichiers "sources de vérité" d'un écosystème régénérable,
|
|
7
|
+
* et de décider si régénérer serait sûr (`runnable`). L'exécution de la
|
|
8
|
+
* commande elle-même appartient toujours à l'appelant.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Construit le plan de régénération pour `file` dans l'écosystème `ecosystem`,
|
|
12
|
+
* à partir de l'état des fichiers voisins fourni par l'appelant (`context`).
|
|
13
|
+
*
|
|
14
|
+
* Une source de vérité absente de `context.siblingFiles` est traitée comme
|
|
15
|
+
* "conflicted" (état inconnu = pas sûr de régénérer) — jamais runnable par défaut.
|
|
16
|
+
*
|
|
17
|
+
* Final-review Finding 1 — fichiers générés NICHÉS (non à la racine du dépôt).
|
|
18
|
+
* `findEcosystem`/`GENERATED_FILE_PATTERNS` matchent volontairement les
|
|
19
|
+
* lockfiles nichés (ex: `packages/x/package-lock.json` → npm, voir
|
|
20
|
+
* `registry.ts` et son test) mais rien en aval n'est conscient du répertoire :
|
|
21
|
+
* le runner CLI écrit chaque source de vérité résolue à la RACINE du worktree
|
|
22
|
+
* jetable, y lance l'installeur avec `cwd` = cette racine, puis relit le
|
|
23
|
+
* fichier régénéré à son chemin niché — jamais touché par un install lancé à
|
|
24
|
+
* la racine. Résultat possible sans cette garde : un plan jugé runnable qui
|
|
25
|
+
* régénère silencieusement le lockfile RACINE pendant que le lockfile niché
|
|
26
|
+
* (resté tel quel, encore "ours") est relu, valide car simplement périmé, et
|
|
27
|
+
* présenté comme un succès de régénération — exactement le mode d'échec
|
|
28
|
+
* (sortie fausse mais présentée comme fiable) que ce lot existe pour éliminer.
|
|
29
|
+
* Bloqué ici, une seule fois, pour TOUS les appelants (`resolver/index.ts`
|
|
30
|
+
* pass 1, la pass 2 du CLI, le reporting MCP, le harness de mesure) plutôt que
|
|
31
|
+
* dupliqué dans chacun — voir le brief de la fix wave finale.
|
|
32
|
+
*/
|
|
33
|
+
export function buildRegenerationPlan(file, ecosystem, context) {
|
|
34
|
+
const siblingFiles = context?.siblingFiles ?? {};
|
|
35
|
+
const sources = ecosystem.sourcesOfTruth.map((path) => {
|
|
36
|
+
const sibling = siblingFiles[path];
|
|
37
|
+
if (!sibling) {
|
|
38
|
+
return { path, state: "conflicted" };
|
|
39
|
+
}
|
|
40
|
+
return { path, state: sibling.state, confidence: sibling.confidence };
|
|
41
|
+
});
|
|
42
|
+
const normalizedFile = file.replace(/\\/g, "/");
|
|
43
|
+
if (normalizedFile.includes("/")) {
|
|
44
|
+
return {
|
|
45
|
+
file,
|
|
46
|
+
ecosystem: ecosystem.id,
|
|
47
|
+
sources,
|
|
48
|
+
runnable: false,
|
|
49
|
+
blockedReason: `regeneration is not supported for a generated file nested in a subdirectory ("${file}") — resolve it manually or re-run your installer from that directory.`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const runnable = sources.every((source) => source.state === "clean" || source.state === "resolved");
|
|
53
|
+
return { file, ecosystem: ecosystem.id, sources, runnable };
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/regenerate/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwBH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,SAAyB,EACzB,OAA+C;IAE/C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAqB,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,SAAS,CAAC,EAAE;YACvB,OAAO;YACP,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,iFAAiF,IAAI,wEAAwE;SAC7K,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAEpG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* accuracy lot D — Registre des écosystèmes régénérables (v1).
|
|
3
|
+
*
|
|
4
|
+
* Le moteur n'exécute jamais de commande : il se contente de savoir, pour un
|
|
5
|
+
* chemin de fichier généré donné, QUELLE commande le régénérerait et QUELS
|
|
6
|
+
* fichiers doivent être propres au préalable (`sourcesOfTruth`). L'exécution
|
|
7
|
+
* elle-même appartient toujours à l'appelant (CLI aujourd'hui, desktop plus
|
|
8
|
+
* tard) — voir `plan.ts` et le brief de la tâche.
|
|
9
|
+
*
|
|
10
|
+
* v1 est délibérément restreint aux écosystèmes qui exposent un mode
|
|
11
|
+
* "lockfile-only" ET une façon de couper les scripts de cycle de vie :
|
|
12
|
+
* `go.sum`, `Gemfile.lock`, `poetry.lock` et la régénération de snapshots
|
|
13
|
+
* (`jest -u`) sont hors scope v1 (exécutent du code arbitraire du dépôt).
|
|
14
|
+
*
|
|
15
|
+
* Contrainte globale : les flags de suppression de scripts sont des
|
|
16
|
+
* CONSTANTES du registre, jamais quelque chose que l'appelant peut
|
|
17
|
+
* surcharger. Une entrée sans eux ne doit pas passer la revue de code.
|
|
18
|
+
*/
|
|
19
|
+
/** accuracy lot D — un écosystème que le tier de régénération sait piloter. */
|
|
20
|
+
export interface RegenEcosystem {
|
|
21
|
+
id: "npm" | "pnpm" | "yarn-berry" | "composer" | "cargo";
|
|
22
|
+
/** Le fichier généré que possède cette entrée (matche GENERATED_FILE_PATTERNS). */
|
|
23
|
+
lockfile: RegExp;
|
|
24
|
+
/** Fichiers qui doivent être propres (ou résolus par le moteur) avant régénération. */
|
|
25
|
+
sourcesOfTruth: string[];
|
|
26
|
+
/** Commande lockfile-only, scripts coupés. Jamais un install complet. */
|
|
27
|
+
command: {
|
|
28
|
+
bin: string;
|
|
29
|
+
args: string[];
|
|
30
|
+
};
|
|
31
|
+
network: "required" | "offline-capable";
|
|
32
|
+
defaultTimeoutMs: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* v1 registry — 5 entrées, une par écosystème supporté. Voir le brief de la
|
|
36
|
+
* tâche (§ "v1 registry") pour la justification de chaque commande exacte.
|
|
37
|
+
*/
|
|
38
|
+
export declare const REGEN_ECOSYSTEMS: readonly RegenEcosystem[];
|
|
39
|
+
/**
|
|
40
|
+
* Retourne l'entrée du registre dont `lockfile` matche `path`, ou `undefined`
|
|
41
|
+
* si aucune ne correspond (ex: `.min.js` — généré mais hors registre v1).
|
|
42
|
+
*/
|
|
43
|
+
export declare function findEcosystem(path: string): RegenEcosystem | undefined;
|
|
44
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/regenerate/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;IACzD,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAID;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAiDrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* accuracy lot D — Registre des écosystèmes régénérables (v1).
|
|
3
|
+
*
|
|
4
|
+
* Le moteur n'exécute jamais de commande : il se contente de savoir, pour un
|
|
5
|
+
* chemin de fichier généré donné, QUELLE commande le régénérerait et QUELS
|
|
6
|
+
* fichiers doivent être propres au préalable (`sourcesOfTruth`). L'exécution
|
|
7
|
+
* elle-même appartient toujours à l'appelant (CLI aujourd'hui, desktop plus
|
|
8
|
+
* tard) — voir `plan.ts` et le brief de la tâche.
|
|
9
|
+
*
|
|
10
|
+
* v1 est délibérément restreint aux écosystèmes qui exposent un mode
|
|
11
|
+
* "lockfile-only" ET une façon de couper les scripts de cycle de vie :
|
|
12
|
+
* `go.sum`, `Gemfile.lock`, `poetry.lock` et la régénération de snapshots
|
|
13
|
+
* (`jest -u`) sont hors scope v1 (exécutent du code arbitraire du dépôt).
|
|
14
|
+
*
|
|
15
|
+
* Contrainte globale : les flags de suppression de scripts sont des
|
|
16
|
+
* CONSTANTES du registre, jamais quelque chose que l'appelant peut
|
|
17
|
+
* surcharger. Une entrée sans eux ne doit pas passer la revue de code.
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_TIMEOUT_MS = 120_000;
|
|
20
|
+
/**
|
|
21
|
+
* v1 registry — 5 entrées, une par écosystème supporté. Voir le brief de la
|
|
22
|
+
* tâche (§ "v1 registry") pour la justification de chaque commande exacte.
|
|
23
|
+
*/
|
|
24
|
+
export const REGEN_ECOSYSTEMS = [
|
|
25
|
+
{
|
|
26
|
+
id: "npm",
|
|
27
|
+
lockfile: /package-lock\.json$/i,
|
|
28
|
+
sourcesOfTruth: ["package.json"],
|
|
29
|
+
command: { bin: "npm", args: ["install", "--package-lock-only", "--ignore-scripts"] },
|
|
30
|
+
network: "required",
|
|
31
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "pnpm",
|
|
35
|
+
lockfile: /pnpm-lock\.yaml$/i,
|
|
36
|
+
sourcesOfTruth: ["package.json"],
|
|
37
|
+
command: { bin: "pnpm", args: ["install", "--lockfile-only", "--ignore-scripts"] },
|
|
38
|
+
network: "required",
|
|
39
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "yarn-berry",
|
|
43
|
+
lockfile: /yarn\.lock$/i,
|
|
44
|
+
// Ruling P-3 (brief) — yarn.lock est matché sans distinction classic/berry
|
|
45
|
+
// par GENERATED_FILE_PATTERNS, mais v1 ne pilote QUE berry (`--mode=update-lockfile`
|
|
46
|
+
// n'existe pas en classic). `.yarnrc.yml` est le marqueur berry : en son
|
|
47
|
+
// absence (ou conflit), le plan est non-runnable — voir plan.ts.
|
|
48
|
+
sourcesOfTruth: ["package.json", ".yarnrc.yml"],
|
|
49
|
+
// `--mode=update-lockfile` ne fait jamais tourner d'install ni de scripts de
|
|
50
|
+
// cycle de vie (postinstall…) : il ne fait que mettre à jour le lockfile.
|
|
51
|
+
command: { bin: "yarn", args: ["install", "--mode=update-lockfile"] },
|
|
52
|
+
network: "required",
|
|
53
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: "composer",
|
|
57
|
+
lockfile: /composer\.lock$/i,
|
|
58
|
+
sourcesOfTruth: ["composer.json"],
|
|
59
|
+
command: { bin: "composer", args: ["update", "--lock", "--no-scripts", "--no-install"] },
|
|
60
|
+
network: "required",
|
|
61
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: "cargo",
|
|
65
|
+
lockfile: /Cargo\.lock$/i,
|
|
66
|
+
sourcesOfTruth: ["Cargo.toml"],
|
|
67
|
+
// `generate-lockfile` résout les dépendances, il ne construit jamais rien :
|
|
68
|
+
// aucun build.rs ni script de cycle de vie ne s'exécute.
|
|
69
|
+
command: { bin: "cargo", args: ["generate-lockfile"] },
|
|
70
|
+
network: "offline-capable",
|
|
71
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* Retourne l'entrée du registre dont `lockfile` matche `path`, ou `undefined`
|
|
76
|
+
* si aucune ne correspond (ex: `.min.js` — généré mais hors registre v1).
|
|
77
|
+
*/
|
|
78
|
+
export function findEcosystem(path) {
|
|
79
|
+
return REGEN_ECOSYSTEMS.find((eco) => eco.lockfile.test(path));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=registry.js.map
|