@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/conventions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,OAAO,EAAE,CAAC,CAAC;IACX,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;;OAIG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,OAAO,GAAG,kBAAkB,GAAG,cAAc,CAAC,CAAC;IAC7E;;;;OAIG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;IACnE;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,aAAa,GAAG,eAAe,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,wDAAwD;AACxD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,gFAAgF;AAChF,eAAO,MAAM,WAAW,MAAM,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitWand — Conventions de dépôt (accuracy lot F)
|
|
3
|
+
*
|
|
4
|
+
* Une convention n'est pas une préférence déclarée : c'est une politique
|
|
5
|
+
* MESURÉE sur l'historique de merges du dépôt lui-même. La dérivation rejoue
|
|
6
|
+
* les merges passés sous des règles candidates et score laquelle correspond à
|
|
7
|
+
* ce que l'équipe a réellement commité.
|
|
8
|
+
*
|
|
9
|
+
* Deux garde-fous structurels :
|
|
10
|
+
* - un verdict n'existe qu'au-dessus d'un plancher de preuve (échantillons et
|
|
11
|
+
* taux d'accord) — en dessous, le champ est absent et le moteur garde ses
|
|
12
|
+
* défauts calibrés sur le corpus public ;
|
|
13
|
+
* - un `.gitwandrc` explicite gagne TOUJOURS sur une convention dérivée : une
|
|
14
|
+
* équipe qui déclare sa politique n'est jamais contredite par une inférence.
|
|
15
|
+
*/
|
|
16
|
+
/** Planchers de preuve — en dessous, pas de verdict. */
|
|
17
|
+
export const MIN_SAMPLES = 5;
|
|
18
|
+
export const MIN_AGREEMENT = 0.8;
|
|
19
|
+
/** Symétrique : un candidat est réfuté quand son accord tombe sous ce seuil. */
|
|
20
|
+
export const MAX_REFUTED = 0.2;
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/conventions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AACjC,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,12 @@ isStructuralLanguage, // preferred
|
|
|
23
23
|
wrapStructuralResult, } from "./structural/index.js";
|
|
24
24
|
export type { StructuralLoaderOptions, SupportedLanguage } from "./structural/index.js";
|
|
25
25
|
export { parseConflictMarkers, classifyConflict } from "./parser.js";
|
|
26
|
+
export { deriveConventions } from "./conventions/derive.js";
|
|
27
|
+
export { MIN_AGREEMENT, MIN_SAMPLES, type ConventionObservation, type RepoConventions, } from "./conventions/types.js";
|
|
28
|
+
export { isGeneratedFile, stripVolatileValues } from "./resolver/generated-detection.js";
|
|
29
|
+
export { isChangelogFile } from "./resolver/validation.js";
|
|
30
|
+
export { findEcosystem, REGEN_ECOSYSTEMS, type RegenEcosystem } from "./regenerate/registry.js";
|
|
31
|
+
export { buildRegenerationPlan, type RegenerationPlan } from "./regenerate/plan.js";
|
|
26
32
|
export { mergeNonOverlapping, computeDiff, lcs } from "./diff.js";
|
|
27
33
|
export { histogramDiff, detectBlockMove, lcsLegacy, type HistogramOptions, type MovedBlock, type BlockMoveOptions, } from "./diff/index.js";
|
|
28
34
|
export { profileForFile, registerFormatProfile, strategyForPath, type FormatProfile, type PathStrategy, } from "./format-profiles/index.js";
|
|
@@ -39,7 +45,7 @@ export { tryResolveYarnLockConflict } from "./resolvers/lockfile-yarn.js";
|
|
|
39
45
|
export { tryResolvePnpmLockConflict } from "./resolvers/lockfile-pnpm.js";
|
|
40
46
|
export { matchGlob, effectivePolicyForFile, policyToConfig, parseGitwandrc, DEFAULT_POLICY, } from "./config.js";
|
|
41
47
|
export { tryFormatAwareResolve, isJsonFile, isMarkdownFile, isYamlFile, isJsFile, isVueFile, isCssFile, isNpmLockfile, isYarnLockfile, isPnpmLockfile, isLockfile, } from "./resolvers/dispatcher.js";
|
|
42
|
-
export type { MergeInput, MergeResult, MergeStats, ConflictHunk, ConflictType, Confidence, ConfidenceScore, HunkResolution, GitWandOptions, DecisionTrace, TraceStep, ValidationResult, ExternalValidationResult, LlmEndpoint, LlmFallbackConfig, LlmTrace, RefactoringKind, Refactoring, TokenMergeTrace, TokenMergeLineDetail, } from "./types.js";
|
|
48
|
+
export type { MergeInput, MergeResult, MergeStats, ConflictHunk, ConflictType, Confidence, ConfidenceScore, HunkResolution, GitWandOptions, MergeContext, RegenerationContext, DecisionTrace, TraceStep, ValidationResult, ExternalValidationResult, LlmEndpoint, LlmFallbackConfig, LlmTrace, RefactoringKind, Refactoring, TokenMergeTrace, TokenMergeLineDetail, } from "./types.js";
|
|
43
49
|
export { detectRefactorings, invertRefactorings, replayRefactorings, mergeRefactorings, tryRefMerge, } from "./refactoring/index.js";
|
|
44
50
|
export type { RefMergeResult } from "./refactoring/index.js";
|
|
45
51
|
export { tryLlmFallbackResolve } from "./resolvers/llm-fallback.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAAQ,kBAAkB;AAC1C,oBAAoB,EAAI,YAAY;AACpC,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,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
|
@@ -23,6 +23,14 @@ export { tryStructuralMergeResolve, isTypeScriptFile, // backward compat
|
|
|
23
23
|
isStructuralLanguage, // preferred
|
|
24
24
|
wrapStructuralResult, } from "./structural/index.js";
|
|
25
25
|
export { parseConflictMarkers, classifyConflict } from "./parser.js";
|
|
26
|
+
// accuracy lot F — conventions de dépôt mesurées sur l'historique
|
|
27
|
+
export { deriveConventions } from "./conventions/derive.js";
|
|
28
|
+
export { MIN_AGREEMENT, MIN_SAMPLES, } from "./conventions/types.js";
|
|
29
|
+
export { isGeneratedFile, stripVolatileValues } from "./resolver/generated-detection.js";
|
|
30
|
+
export { isChangelogFile } from "./resolver/validation.js";
|
|
31
|
+
// accuracy lot D — Regenerate tier: core emits a plan, never executes it
|
|
32
|
+
export { findEcosystem, REGEN_ECOSYSTEMS } from "./regenerate/registry.js";
|
|
33
|
+
export { buildRegenerationPlan } from "./regenerate/plan.js";
|
|
26
34
|
export { mergeNonOverlapping, computeDiff, lcs } from "./diff.js";
|
|
27
35
|
// v2.1 — nouveaux backends diff exposés
|
|
28
36
|
export { histogramDiff, detectBlockMove, lcsLegacy, } from "./diff/index.js";
|
|
@@ -48,7 +56,7 @@ export { tryFormatAwareResolve, isJsonFile, isMarkdownFile, isYamlFile, isJsFile
|
|
|
48
56
|
export { detectRefactorings, invertRefactorings, replayRefactorings, mergeRefactorings, tryRefMerge, } from "./refactoring/index.js";
|
|
49
57
|
// v2.5 — LLM fallback resolver (consommateurs souhaitant invoquer directement)
|
|
50
58
|
export { tryLlmFallbackResolve } from "./resolvers/llm-fallback.js";
|
|
51
|
-
//
|
|
59
|
+
// v3.4 — "Recoverable-before-model" tier metric (derived, TS-only — see stats/tiers.ts)
|
|
52
60
|
export { summarizeTiers } from "./stats/tiers.js";
|
|
53
61
|
// v3.5.0 — Secrets scanner (pure, mirrored in Rust — see secrets/scanner.ts)
|
|
54
62
|
export { scanSecrets, shannonEntropy, redact, isIgnored, DEFAULT_IGNORE_GLOBS } from "./secrets/scanner.js";
|
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,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,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvG,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":"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"}
|
package/dist/parser.js
CHANGED
|
@@ -145,7 +145,7 @@ export function toConflictHunk(conflict) {
|
|
|
145
145
|
const { type, confidence, explanation, trace } = classifyConflict(conflict);
|
|
146
146
|
const isZdiff3 = detectZdiff3(conflict);
|
|
147
147
|
const adjustedConfidence = isZdiff3
|
|
148
|
-
? withBaseAvailability(confidence, 100, "zdiff3
|
|
148
|
+
? withBaseAvailability(confidence, 100, "zdiff3: base truncated to the diverging sections")
|
|
149
149
|
: confidence;
|
|
150
150
|
return {
|
|
151
151
|
baseLines: conflict.baseLines,
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/patterns/complex.js
CHANGED
|
@@ -9,15 +9,15 @@ const complex = {
|
|
|
9
9
|
},
|
|
10
10
|
confidence(_h) {
|
|
11
11
|
return makeScore(100, 100, 0, [], [
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"No automatic heuristic applies",
|
|
13
|
+
"Both branches modified the block in incompatible ways",
|
|
14
14
|
]);
|
|
15
15
|
},
|
|
16
16
|
explanation(_h) {
|
|
17
|
-
return "
|
|
17
|
+
return "A genuine conflict that needs a human. Both branches modified this block differently.";
|
|
18
18
|
},
|
|
19
19
|
passReason(_h) {
|
|
20
|
-
return "
|
|
20
|
+
return "No automatic pattern applies; manual resolution required.";
|
|
21
21
|
},
|
|
22
22
|
failReason(_h) {
|
|
23
23
|
return ""; // ne peut pas échouer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complex.js","sourceRoot":"","sources":["../../src/patterns/complex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,EAAiB;QACtB,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACpD,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YAChC,
|
|
1
|
+
{"version":3,"file":"complex.js","sourceRoot":"","sources":["../../src/patterns/complex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,EAAiB;QACtB,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACpD,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YAChC,gCAAgC;YAChC,uDAAuD;SACxD,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,uFAAuF,CAAC;IACjG,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,2DAA2D,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,EAAE,CAAC,CAAC,sBAAsB;IACnC,CAAC;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -25,12 +25,12 @@ const deleteNoChange = {
|
|
|
25
25
|
return makeScore(100, 5, 0, [
|
|
26
26
|
"Base disponible",
|
|
27
27
|
oursDeleted
|
|
28
|
-
? "Ours
|
|
29
|
-
: "Theirs
|
|
28
|
+
? "Ours deleted, theirs identical to the base"
|
|
29
|
+
: "Theirs deleted, ours identical to the base",
|
|
30
30
|
], []);
|
|
31
31
|
}
|
|
32
32
|
return makeScore(60, 30, 0, [], [
|
|
33
|
-
"
|
|
33
|
+
"No base (diff2): the deletion is not confirmed against the common ancestor",
|
|
34
34
|
]);
|
|
35
35
|
},
|
|
36
36
|
explanation(h) {
|
|
@@ -39,14 +39,14 @@ const deleteNoChange = {
|
|
|
39
39
|
const baseText = h.baseLines.join("\n");
|
|
40
40
|
const theirsText = h.theirsLines.join("\n");
|
|
41
41
|
if (h.oursLines.length === 0 && theirsText === baseText) {
|
|
42
|
-
return "
|
|
42
|
+
return "The current branch (ours) deleted this block and the other left it untouched. Resolution: delete.";
|
|
43
43
|
}
|
|
44
|
-
return "
|
|
44
|
+
return "The incoming branch (theirs) deleted this block and the other left it untouched. Resolution: delete.";
|
|
45
45
|
}
|
|
46
46
|
if (h.oursLines.length === 0) {
|
|
47
|
-
return "
|
|
47
|
+
return "The current branch (ours) deleted this block. Without a base, confidence is medium. Proposed resolution: delete.";
|
|
48
48
|
}
|
|
49
|
-
return "
|
|
49
|
+
return "The incoming branch (theirs) deleted this block. Without a base, confidence is medium. Proposed resolution: delete.";
|
|
50
50
|
},
|
|
51
51
|
passReason(h) {
|
|
52
52
|
const hasBase = h.baseLines.length > 0;
|
|
@@ -54,21 +54,21 @@ const deleteNoChange = {
|
|
|
54
54
|
const baseText = h.baseLines.join("\n");
|
|
55
55
|
const theirsText = h.theirsLines.join("\n");
|
|
56
56
|
if (h.oursLines.length === 0 && theirsText === baseText) {
|
|
57
|
-
return "Ours
|
|
57
|
+
return "Ours deleted the block (0 lines) and theirs did not modify the base.";
|
|
58
58
|
}
|
|
59
|
-
return "Theirs
|
|
59
|
+
return "Theirs deleted the block (0 lines) and ours did not modify the base.";
|
|
60
60
|
}
|
|
61
61
|
if (h.oursLines.length === 0) {
|
|
62
|
-
return "Ours
|
|
62
|
+
return "Ours is empty (0 lines) in diff2. A deletion is likely but uncertain without a base.";
|
|
63
63
|
}
|
|
64
|
-
return "Theirs
|
|
64
|
+
return "Theirs is empty (0 lines) in diff2. A deletion is likely but uncertain without a base.";
|
|
65
65
|
},
|
|
66
66
|
failReason(h) {
|
|
67
67
|
const hasBase = h.baseLines.length > 0;
|
|
68
68
|
if (hasBase) {
|
|
69
|
-
return "
|
|
69
|
+
return "Neither ours nor theirs is a one-sided deletion with the other side identical to the base.";
|
|
70
70
|
}
|
|
71
|
-
return "
|
|
71
|
+
return "Neither ours nor theirs is empty in diff2, so there is no obvious one-sided deletion.";
|
|
72
72
|
},
|
|
73
73
|
};
|
|
74
74
|
export default deleteNoChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-no-change.js","sourceRoot":"","sources":["../../src/patterns/delete-no-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CACL,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,QAAQ,CAAC;gBACrD,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,CACtD,CAAC;QACJ,CAAC;QACD,iBAAiB;QACjB,OAAO,CACL,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,QAAQ,CAAC;YACxE,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC1B,iBAAiB;gBACjB,WAAW;oBACT,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"delete-no-change.js","sourceRoot":"","sources":["../../src/patterns/delete-no-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,7 +116,7 @@ const insertionAtBoundary = {
|
|
|
116
116
|
const totalLines = Math.max(h.oursLines.length, h.theirsLines.length);
|
|
117
117
|
if (hasBase) {
|
|
118
118
|
return makeScore(90, 8, scopeImpact(totalLines), [
|
|
119
|
-
"
|
|
119
|
+
"Pure insertions, base intact on both sides",
|
|
120
120
|
], []);
|
|
121
121
|
}
|
|
122
122
|
return makeScore(68, 20, scopeImpact(totalLines), [], [
|
|
@@ -126,20 +126,20 @@ const insertionAtBoundary = {
|
|
|
126
126
|
explanation(h) {
|
|
127
127
|
const hasBase = h.baseLines.length > 0;
|
|
128
128
|
return hasBase
|
|
129
|
-
? "
|
|
130
|
-
: "
|
|
129
|
+
? "Both branches only added lines without modifying the base. Resolution: union of the insertions, ours first."
|
|
130
|
+
: "Both branches appear to have only added lines (diff2 heuristic). Resolution: union, ours first.";
|
|
131
131
|
},
|
|
132
132
|
passReason(h) {
|
|
133
133
|
const hasBase = h.baseLines.length > 0;
|
|
134
134
|
return hasBase
|
|
135
|
-
? "
|
|
136
|
-
: "
|
|
135
|
+
? "No deletions on either side and the insertions are distinct: pure insertions confirmed against the base."
|
|
136
|
+
: "diff2 heuristic: each side is a superset of the other.";
|
|
137
137
|
},
|
|
138
138
|
failReason(h) {
|
|
139
139
|
const hasBase = h.baseLines.length > 0;
|
|
140
140
|
return hasBase
|
|
141
|
-
? "
|
|
142
|
-
: "
|
|
141
|
+
? "At least one side has deletions, or insertions that overlap."
|
|
142
|
+
: "The diff2 union heuristic fails: some lines are present on one side and absent from the other, asymmetrically.";
|
|
143
143
|
},
|
|
144
144
|
};
|
|
145
145
|
export default insertionAtBoundary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertion-at-boundary.js","sourceRoot":"","sources":["../../src/patterns/insertion-at-boundary.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"insertion-at-boundary.js","sourceRoot":"","sources":["../../src/patterns/insertion-at-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,18 +48,18 @@ const llmProposed = {
|
|
|
48
48
|
0, // scopeImpact : inconnu à ce stade
|
|
49
49
|
[], // boosters
|
|
50
50
|
[
|
|
51
|
-
"
|
|
52
|
-
"
|
|
51
|
+
"Non-deterministic resolution (LLM)",
|
|
52
|
+
"Strict post-merge validation required before acceptance",
|
|
53
53
|
]);
|
|
54
54
|
},
|
|
55
55
|
explanation(_h) {
|
|
56
|
-
return "
|
|
56
|
+
return "Resolution proposed by the LLM fallback. The hunk is sent to the configured LLM endpoint for an assisted resolution, which is validated (parse tree plus tsc/eslint) before it can be accepted.";
|
|
57
57
|
},
|
|
58
58
|
passReason(_h) {
|
|
59
|
-
return "
|
|
59
|
+
return "No deterministic pattern applies; delegating to the LLM fallback (opt-in).";
|
|
60
60
|
},
|
|
61
61
|
failReason(_h) {
|
|
62
|
-
return "LLM fallback
|
|
62
|
+
return "LLM fallback disabled (options.llmFallback.enabled !== true).";
|
|
63
63
|
},
|
|
64
64
|
};
|
|
65
65
|
export default llmProposed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-proposed.js","sourceRoot":"","sources":["../../src/patterns/llm-proposed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,0EAA0E;AAC1E,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,WAAW,GAAkB;IACjC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,EAAiB;QACtB,wFAAwF;QACxF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,oFAAoF;QACpF,iFAAiF;QACjF,OAAO,SAAS,CACd,EAAE,EAAI,uEAAuE;QAC7E,EAAE,EAAI,4CAA4C;QAClD,CAAC,EAAK,mCAAmC;QACzC,EAAE,EAAI,WAAW;QACjB;YACE,
|
|
1
|
+
{"version":3,"file":"llm-proposed.js","sourceRoot":"","sources":["../../src/patterns/llm-proposed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,0EAA0E;AAC1E,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,WAAW,GAAkB;IACjC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,EAAiB;QACtB,wFAAwF;QACxF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,oFAAoF;QACpF,iFAAiF;QACjF,OAAO,SAAS,CACd,EAAE,EAAI,uEAAuE;QAC7E,EAAE,EAAI,4CAA4C;QAClD,CAAC,EAAK,mCAAmC;QACzC,EAAE,EAAI,WAAW;QACjB;YACE,oCAAoC;YACpC,yDAAyD;SAC1D,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,iMAAiM,CAAC;IAC3M,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,4EAA4E,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,+DAA+D,CAAC;IACzE,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -11,17 +11,17 @@ const nonOverlapping = {
|
|
|
11
11
|
const mergedSize = Math.max(h.oursLines.length, h.theirsLines.length);
|
|
12
12
|
return makeScore(90, 20, scopeImpact(mergedSize), [
|
|
13
13
|
"Base disponible",
|
|
14
|
-
"
|
|
14
|
+
"3-way LCS merge succeeded with no overlap",
|
|
15
15
|
], []);
|
|
16
16
|
},
|
|
17
17
|
explanation(_h) {
|
|
18
|
-
return "
|
|
18
|
+
return "The branches modified different regions of the same block, so an automatic merge is possible.";
|
|
19
19
|
},
|
|
20
20
|
passReason(_h) {
|
|
21
|
-
return "
|
|
21
|
+
return "The 3-way LCS merge succeeded with no conflict: the edits do not overlap.";
|
|
22
22
|
},
|
|
23
23
|
failReason(_h) {
|
|
24
|
-
return "
|
|
24
|
+
return "The 3-way LCS merge detects an overlap: both branches modified the same lines.";
|
|
25
25
|
},
|
|
26
26
|
};
|
|
27
27
|
export default nonOverlapping;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-overlapping.js","sourceRoot":"","sources":["../../src/patterns/non-overlapping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,OAAO,mBAAmB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/E,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE;YAChD,iBAAiB;YACjB,2CAA2C;SAC5C,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"non-overlapping.js","sourceRoot":"","sources":["../../src/patterns/non-overlapping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,OAAO,mBAAmB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/E,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE;YAChD,iBAAiB;YACjB,2CAA2C;SAC5C,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,+FAA+F,CAAC;IACzG,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,2EAA2E,CAAC;IACrF,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,gFAAgF,CAAC;IAC1F,CAAC;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -18,27 +18,27 @@ const oneSideChange = {
|
|
|
18
18
|
const changedLines = oursMatchesBase ? h.theirsLines.length : h.oursLines.length;
|
|
19
19
|
return makeScore(100, 0, scopeImpact(changedLines), [
|
|
20
20
|
"Base disponible",
|
|
21
|
-
oursMatchesBase ? "
|
|
21
|
+
oursMatchesBase ? "Only theirs modified the block" : "Only ours modified the block",
|
|
22
22
|
], []);
|
|
23
23
|
},
|
|
24
24
|
explanation(h) {
|
|
25
25
|
const oursText = h.oursLines.join("\n");
|
|
26
26
|
const baseText = h.baseLines.join("\n");
|
|
27
27
|
if (oursText === baseText) {
|
|
28
|
-
return "
|
|
28
|
+
return "Only the incoming branch (theirs) modified this block. Resolution: take theirs.";
|
|
29
29
|
}
|
|
30
|
-
return "
|
|
30
|
+
return "Only the current branch (ours) modified this block. Resolution: take ours.";
|
|
31
31
|
},
|
|
32
32
|
passReason(h) {
|
|
33
33
|
const oursText = h.oursLines.join("\n");
|
|
34
34
|
const baseText = h.baseLines.join("\n");
|
|
35
35
|
if (oursText === baseText) {
|
|
36
|
-
return "Ours
|
|
36
|
+
return "Ours is identical to the base; only theirs changed.";
|
|
37
37
|
}
|
|
38
|
-
return "Theirs
|
|
38
|
+
return "Theirs is identical to the base; only ours changed.";
|
|
39
39
|
},
|
|
40
40
|
failReason(_h) {
|
|
41
|
-
return "
|
|
41
|
+
return "Both branches modified the block relative to the base.";
|
|
42
42
|
},
|
|
43
43
|
};
|
|
44
44
|
export default oneSideChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-side-change.js","sourceRoot":"","sources":["../../src/patterns/one-side-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,aAAa,GAAkB;IACnC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAC9C,MAAM,iBAAiB,GAAG,UAAU,KAAK,QAAQ,CAAC;QAClD,OAAO,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,iBAAiB,CAAC,CAAC;IAC5F,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,eAAe,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACjF,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE;YAClD,iBAAiB;YACjB,eAAe,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"one-side-change.js","sourceRoot":"","sources":["../../src/patterns/one-side-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,aAAa,GAAkB;IACnC,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAC9C,MAAM,iBAAiB,GAAG,UAAU,KAAK,QAAQ,CAAC;QAClD,OAAO,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,iBAAiB,CAAC,CAAC;IAC5F,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,eAAe,GAAG,QAAQ,KAAK,QAAQ,CAAC;QAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACjF,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE;YAClD,iBAAiB;YACjB,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,8BAA8B;SACpF,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,WAAW,CAAC,CAAgB;QAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,iFAAiF,CAAC;QAC3F,CAAC;QACD,OAAO,4EAA4E,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,qDAAqD,CAAC;QAC/D,CAAC;QACD,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,wDAAwD,CAAC;IAClE,CAAC;CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -91,8 +91,8 @@ const refactoringAwareMerge = {
|
|
|
91
91
|
return makeScore(82, // typeClassification : refactoring bijectivement vérifié + merge réussi
|
|
92
92
|
12, // dataRisk : faible — merge déterministe, pas génératif
|
|
93
93
|
scopeImpact(h.oursLines.length + h.theirsLines.length), [
|
|
94
|
-
"Refactoring
|
|
95
|
-
"
|
|
94
|
+
"Refactoring verified bijectively (simulated substitution)",
|
|
95
|
+
"Textual merge succeeded on the inverted versions",
|
|
96
96
|
], []);
|
|
97
97
|
},
|
|
98
98
|
explanation(_h) {
|
|
@@ -102,29 +102,29 @@ const refactoringAwareMerge = {
|
|
|
102
102
|
const moves = refs.filter((r) => r.kind === "move-method");
|
|
103
103
|
const parts = [];
|
|
104
104
|
if (renames.length > 0) {
|
|
105
|
-
parts.push(`${renames.length}
|
|
105
|
+
parts.push(`${renames.length} rename(s) detected and inverted`);
|
|
106
106
|
}
|
|
107
107
|
if (moves.length > 0) {
|
|
108
|
-
parts.push(`${moves.length}
|
|
108
|
+
parts.push(`${moves.length} method move(s)`);
|
|
109
109
|
}
|
|
110
|
-
return `
|
|
110
|
+
return `Refactoring conflict: ${parts.join(", ") || "refactoring detected"}. Resolved through the RefMerge pipeline (invert, merge, replay).`;
|
|
111
111
|
}
|
|
112
|
-
return "
|
|
112
|
+
return "Conflict caused by a concurrent refactoring, resolved through the RefMerge pipeline.";
|
|
113
113
|
},
|
|
114
114
|
passReason(_h) {
|
|
115
115
|
if (_lastResult?.oursRefs.length || _lastResult?.theirsRefs.length) {
|
|
116
|
-
return `Refactoring(s)
|
|
116
|
+
return `Refactoring(s) detected: ours=${_lastResult.oursRefs.length}, theirs=${_lastResult.theirsRefs.length}. Textual merge succeeded after inversion.`;
|
|
117
117
|
}
|
|
118
|
-
return "Refactoring
|
|
118
|
+
return "Refactoring detected bijectively; merge succeeded after inversion.";
|
|
119
119
|
},
|
|
120
120
|
failReason(_h) {
|
|
121
121
|
if (!_refMergeEnabled) {
|
|
122
|
-
return "RefMerge
|
|
122
|
+
return "RefMerge disabled (options.refactoringAware.enabled !== true).";
|
|
123
123
|
}
|
|
124
124
|
if (_lastResult && _lastResult.lines === null) {
|
|
125
|
-
return `RefMerge
|
|
125
|
+
return `RefMerge failed: ${_lastResult.reason}`;
|
|
126
126
|
}
|
|
127
|
-
return "
|
|
127
|
+
return "No bijectively detectable refactoring in this hunk.";
|
|
128
128
|
},
|
|
129
129
|
};
|
|
130
130
|
export default refactoringAwareMerge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactoring-aware-merge.js","sourceRoot":"","sources":["../../src/patterns/refactoring-aware-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,iFAAiF;AAEjF,qDAAqD;AACrD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,gDAAgD;AAChD,IAAI,uBAAuB,GAAG,EAAE,CAAC;AACjC,qFAAqF;AACrF,IAAI,WAAW,GAA0B,IAAI,CAAC;AAE9C,gFAAgF;AAEhF,4EAA4E;AAC5E,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,GAAG,GAAG,EAAE;IAC3D,gBAAgB,GAAG,OAAO,CAAC;IAC3B,uBAAuB,GAAG,GAAG,CAAC;IAC9B,WAAW,GAAG,IAAI,CAAC,CAAC,cAAc;AACpC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,iFAAiF;AAEjF,MAAM,qBAAqB,GAAkB;IAC3C,IAAI,EAAE,yBAAyB;IAE/B;;;;OAIG;IACH,QAAQ,EAAE,GAAG;IAEb;;;OAGG;IACH,QAAQ,EAAE,OAAO;IAEjB,MAAM,CAAC,CAAgB;QACrB,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3C,8DAA8D;QAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACvD,WAAW,GAAG,MAAM,CAAC;QAErB,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,OAAO,SAAS,CACd,EAAE,EAAY,wEAAwE;QACtF,EAAE,EAAY,wDAAwD;QACtE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EACtD;YACE,
|
|
1
|
+
{"version":3,"file":"refactoring-aware-merge.js","sourceRoot":"","sources":["../../src/patterns/refactoring-aware-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,10 +55,10 @@ const reorderOnly = {
|
|
|
55
55
|
const ours = h.oursLines.map(normalizeLine).filter((l) => l.length > 0);
|
|
56
56
|
const duplicates = hasDuplicates(ours);
|
|
57
57
|
const si = scopeImpact(h.oursLines.length);
|
|
58
|
-
const boosters = ["
|
|
58
|
+
const boosters = ["Pure permutation: same lines, different order"];
|
|
59
59
|
const penalties = [];
|
|
60
60
|
if (duplicates) {
|
|
61
|
-
penalties.push("
|
|
61
|
+
penalties.push("Duplicate lines make the ordering ambiguous (−10)");
|
|
62
62
|
}
|
|
63
63
|
// typeClassification 92 sauf si doublons (−10 → 82)
|
|
64
64
|
const tc = duplicates ? 82 : 92;
|
|
@@ -67,14 +67,14 @@ const reorderOnly = {
|
|
|
67
67
|
explanation(h) {
|
|
68
68
|
const hasBase = h.baseLines.length > 0;
|
|
69
69
|
return hasBase
|
|
70
|
-
? "
|
|
71
|
-
: "
|
|
70
|
+
? "Both branches contain the same lines in a different order. Resolution: take the theirs ordering, or ours when the base matches theirs."
|
|
71
|
+
: "Both branches contain the same lines in a different order. Resolution: take the theirs ordering.";
|
|
72
72
|
},
|
|
73
73
|
passReason(_h) {
|
|
74
|
-
return "
|
|
74
|
+
return "Each side is a permutation of the other: same lines, different order.";
|
|
75
75
|
},
|
|
76
76
|
failReason(_h) {
|
|
77
|
-
return "
|
|
77
|
+
return "The lines are not a plain permutation: there are additions or deletions.";
|
|
78
78
|
},
|
|
79
79
|
};
|
|
80
80
|
export default reorderOnly;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reorder-only.js","sourceRoot":"","sources":["../../src/patterns/reorder-only.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnE,gEAAgE;AAEhE;;;GAGG;AACH,SAAS,eAAe,CAAC,CAAW,EAAE,CAAW;IAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,gEAAgE;AAEhE,MAAM,WAAW,GAAkB;IACjC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,iEAAiE;QACjE,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"reorder-only.js","sourceRoot":"","sources":["../../src/patterns/reorder-only.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,17 +8,17 @@ const sameChange = {
|
|
|
8
8
|
},
|
|
9
9
|
confidence(h) {
|
|
10
10
|
return makeScore(100, 0, scopeImpact(h.oursLines.length), [
|
|
11
|
-
"
|
|
11
|
+
"Both branches have exactly the same content",
|
|
12
12
|
], []);
|
|
13
13
|
},
|
|
14
14
|
explanation(_h) {
|
|
15
|
-
return "
|
|
15
|
+
return "Both branches made exactly the same edit.";
|
|
16
16
|
},
|
|
17
17
|
passReason(_h) {
|
|
18
|
-
return "
|
|
18
|
+
return "Both branches have exactly the same content: an identical edit on each side.";
|
|
19
19
|
},
|
|
20
20
|
failReason(_h) {
|
|
21
|
-
return "
|
|
21
|
+
return "The branches have different content.";
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
export default sameChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"same-change.js","sourceRoot":"","sources":["../../src/patterns/same-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACxD,
|
|
1
|
+
{"version":3,"file":"same-change.js","sourceRoot":"","sources":["../../src/patterns/same-change.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM;IAEhB,MAAM,CAAC,CAAgB;QACrB,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACxD,6CAA6C;SAC9C,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,WAAW,CAAC,EAAiB;QAC3B,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,8EAA8E,CAAC;IACxF,CAAC;IAED,UAAU,CAAC,EAAiB;QAC1B,OAAO,sCAAsC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|