@mitre/hdf-diff 3.0.1 → 3.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +55 -0
- package/README.md +49 -17
- package/dist/index.d.ts +622 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2037 -18
- package/dist/index.js.map +1 -1
- package/package.json +19 -19
- package/dist/diff.d.ts +0 -49
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js +0 -791
- package/dist/diff.js.map +0 -1
- package/dist/exit-codes.d.ts +0 -42
- package/dist/exit-codes.d.ts.map +0 -1
- package/dist/exit-codes.js +0 -74
- package/dist/exit-codes.js.map +0 -1
- package/dist/matching/cci-match.d.ts +0 -14
- package/dist/matching/cci-match.d.ts.map +0 -1
- package/dist/matching/cci-match.js +0 -102
- package/dist/matching/cci-match.js.map +0 -1
- package/dist/matching/exact-id.d.ts +0 -9
- package/dist/matching/exact-id.d.ts.map +0 -1
- package/dist/matching/exact-id.js +0 -88
- package/dist/matching/exact-id.js.map +0 -1
- package/dist/matching/fuzzy-match.d.ts +0 -26
- package/dist/matching/fuzzy-match.d.ts.map +0 -1
- package/dist/matching/fuzzy-match.js +0 -145
- package/dist/matching/fuzzy-match.js.map +0 -1
- package/dist/matching/index.d.ts +0 -36
- package/dist/matching/index.d.ts.map +0 -1
- package/dist/matching/index.js +0 -71
- package/dist/matching/index.js.map +0 -1
- package/dist/matching/mapped-id.d.ts +0 -13
- package/dist/matching/mapped-id.d.ts.map +0 -1
- package/dist/matching/mapped-id.js +0 -101
- package/dist/matching/mapped-id.js.map +0 -1
- package/dist/matching/types.d.ts +0 -34
- package/dist/matching/types.d.ts.map +0 -1
- package/dist/matching/types.js +0 -2
- package/dist/matching/types.js.map +0 -1
- package/dist/normalize.d.ts +0 -20
- package/dist/normalize.d.ts.map +0 -1
- package/dist/normalize.js +0 -120
- package/dist/normalize.js.map +0 -1
- package/dist/renderers/csv.d.ts +0 -15
- package/dist/renderers/csv.d.ts.map +0 -1
- package/dist/renderers/csv.js +0 -77
- package/dist/renderers/csv.js.map +0 -1
- package/dist/renderers/filter.d.ts +0 -11
- package/dist/renderers/filter.d.ts.map +0 -1
- package/dist/renderers/filter.js +0 -29
- package/dist/renderers/filter.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -17
- package/dist/renderers/index.d.ts.map +0 -1
- package/dist/renderers/index.js +0 -29
- package/dist/renderers/index.js.map +0 -1
- package/dist/renderers/json.d.ts +0 -13
- package/dist/renderers/json.d.ts.map +0 -1
- package/dist/renderers/json.js +0 -41
- package/dist/renderers/json.js.map +0 -1
- package/dist/renderers/markdown.d.ts +0 -13
- package/dist/renderers/markdown.d.ts.map +0 -1
- package/dist/renderers/markdown.js +0 -133
- package/dist/renderers/markdown.js.map +0 -1
- package/dist/renderers/terminal.d.ts +0 -14
- package/dist/renderers/terminal.d.ts.map +0 -1
- package/dist/renderers/terminal.js +0 -173
- package/dist/renderers/terminal.js.map +0 -1
- package/dist/renderers/types.d.ts +0 -12
- package/dist/renderers/types.d.ts.map +0 -1
- package/dist/renderers/types.js +0 -2
- package/dist/renderers/types.js.map +0 -1
- package/dist/sbom.d.ts +0 -42
- package/dist/sbom.d.ts.map +0 -1
- package/dist/sbom.js +0 -203
- package/dist/sbom.js.map +0 -1
- package/dist/status.d.ts +0 -27
- package/dist/status.d.ts.map +0 -1
- package/dist/status.js +0 -137
- package/dist/status.js.map +0 -1
- package/dist/summary.d.ts +0 -6
- package/dist/summary.d.ts.map +0 -1
- package/dist/summary.js +0 -47
- package/dist/summary.js.map +0 -1
- package/dist/types.d.ts +0 -208
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/validate.d.ts +0 -20
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -19
- package/dist/validate.js.map +0 -1
package/dist/diff.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
|
package/dist/exit-codes.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { ComparisonSummary } from './types.js';
|
|
2
|
-
/** GNU diff compatible exit codes (--exit-code mode) */
|
|
3
|
-
export declare const EXIT_IDENTICAL = 0;
|
|
4
|
-
export declare const EXIT_DIFFERENCES = 1;
|
|
5
|
-
export declare const EXIT_ERROR = 2;
|
|
6
|
-
/** Detailed exit codes (--detailed-exitcode mode) */
|
|
7
|
-
export declare const EXIT_DETAILED_IDENTICAL = 0;
|
|
8
|
-
export declare const EXIT_DETAILED_ERROR = 1;
|
|
9
|
-
export declare const EXIT_DETAILED_FIXES_ONLY = 10;
|
|
10
|
-
export declare const EXIT_DETAILED_REGRESSIONS_ONLY = 11;
|
|
11
|
-
export declare const EXIT_DETAILED_MIXED = 12;
|
|
12
|
-
export declare const EXIT_DETAILED_BASELINE_CHANGED = 13;
|
|
13
|
-
export declare const EXIT_DETAILED_DRIFT_ONLY = 14;
|
|
14
|
-
/**
|
|
15
|
-
* Compute the GNU diff compatible exit code from a comparison summary.
|
|
16
|
-
*
|
|
17
|
-
* Returns:
|
|
18
|
-
* 0 = identical (no differences found)
|
|
19
|
-
* 1 = differences found (any kind)
|
|
20
|
-
*
|
|
21
|
-
* Note: error (exit code 2) is not computed from the summary — callers
|
|
22
|
-
* should return EXIT_ERROR directly when I/O or parse errors occur.
|
|
23
|
-
*/
|
|
24
|
-
export declare function computeExitCode(summary: ComparisonSummary): number;
|
|
25
|
-
/**
|
|
26
|
-
* Compute the detailed exit code from a comparison summary.
|
|
27
|
-
*
|
|
28
|
-
* Returns:
|
|
29
|
-
* 0 = identical (no differences found)
|
|
30
|
-
* 10 = differences found, fixes only (security posture improved)
|
|
31
|
-
* 11 = differences found, regressions only (security posture degraded)
|
|
32
|
-
* 12 = differences found, mixed fixes and regressions
|
|
33
|
-
* 13 = differences found, only new/absent controls (baseline changed)
|
|
34
|
-
* 14 = differences found, only metadata drift (no status changes)
|
|
35
|
-
*
|
|
36
|
-
* Note: error (exit code 1) is not computed from the summary — callers
|
|
37
|
-
* should return EXIT_DETAILED_ERROR directly when I/O or parse errors occur.
|
|
38
|
-
*
|
|
39
|
-
* Priority order: mixed(12) > regressions(11) > fixes(10) > baseline(13) > drift(14)
|
|
40
|
-
*/
|
|
41
|
-
export declare function computeDetailedExitCode(summary: ComparisonSummary): number;
|
|
42
|
-
//# sourceMappingURL=exit-codes.d.ts.map
|
package/dist/exit-codes.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAKlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA2B1E"}
|
package/dist/exit-codes.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/** GNU diff compatible exit codes (--exit-code mode) */
|
|
2
|
-
export const EXIT_IDENTICAL = 0;
|
|
3
|
-
export const EXIT_DIFFERENCES = 1;
|
|
4
|
-
export const EXIT_ERROR = 2;
|
|
5
|
-
/** Detailed exit codes (--detailed-exitcode mode) */
|
|
6
|
-
export const EXIT_DETAILED_IDENTICAL = 0;
|
|
7
|
-
export const EXIT_DETAILED_ERROR = 1;
|
|
8
|
-
export const EXIT_DETAILED_FIXES_ONLY = 10;
|
|
9
|
-
export const EXIT_DETAILED_REGRESSIONS_ONLY = 11;
|
|
10
|
-
export const EXIT_DETAILED_MIXED = 12;
|
|
11
|
-
export const EXIT_DETAILED_BASELINE_CHANGED = 13;
|
|
12
|
-
export const EXIT_DETAILED_DRIFT_ONLY = 14;
|
|
13
|
-
/**
|
|
14
|
-
* Compute the GNU diff compatible exit code from a comparison summary.
|
|
15
|
-
*
|
|
16
|
-
* Returns:
|
|
17
|
-
* 0 = identical (no differences found)
|
|
18
|
-
* 1 = differences found (any kind)
|
|
19
|
-
*
|
|
20
|
-
* Note: error (exit code 2) is not computed from the summary — callers
|
|
21
|
-
* should return EXIT_ERROR directly when I/O or parse errors occur.
|
|
22
|
-
*/
|
|
23
|
-
export function computeExitCode(summary) {
|
|
24
|
-
if (hasDifferences(summary)) {
|
|
25
|
-
return EXIT_DIFFERENCES;
|
|
26
|
-
}
|
|
27
|
-
return EXIT_IDENTICAL;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Compute the detailed exit code from a comparison summary.
|
|
31
|
-
*
|
|
32
|
-
* Returns:
|
|
33
|
-
* 0 = identical (no differences found)
|
|
34
|
-
* 10 = differences found, fixes only (security posture improved)
|
|
35
|
-
* 11 = differences found, regressions only (security posture degraded)
|
|
36
|
-
* 12 = differences found, mixed fixes and regressions
|
|
37
|
-
* 13 = differences found, only new/absent controls (baseline changed)
|
|
38
|
-
* 14 = differences found, only metadata drift (no status changes)
|
|
39
|
-
*
|
|
40
|
-
* Note: error (exit code 1) is not computed from the summary — callers
|
|
41
|
-
* should return EXIT_DETAILED_ERROR directly when I/O or parse errors occur.
|
|
42
|
-
*
|
|
43
|
-
* Priority order: mixed(12) > regressions(11) > fixes(10) > baseline(13) > drift(14)
|
|
44
|
-
*/
|
|
45
|
-
export function computeDetailedExitCode(summary) {
|
|
46
|
-
if (!hasDifferences(summary)) {
|
|
47
|
-
return EXIT_DETAILED_IDENTICAL;
|
|
48
|
-
}
|
|
49
|
-
// Mixed: both fixes and regressions
|
|
50
|
-
if (summary.regressed > 0 && summary.fixed > 0) {
|
|
51
|
-
return EXIT_DETAILED_MIXED;
|
|
52
|
-
}
|
|
53
|
-
// Regressions only (no fixes)
|
|
54
|
-
if (summary.regressed > 0) {
|
|
55
|
-
return EXIT_DETAILED_REGRESSIONS_ONLY;
|
|
56
|
-
}
|
|
57
|
-
// Fixes only (no regressions)
|
|
58
|
-
if (summary.fixed > 0) {
|
|
59
|
-
return EXIT_DETAILED_FIXES_ONLY;
|
|
60
|
-
}
|
|
61
|
-
// Baseline changes: new or absent controls (but no status changes)
|
|
62
|
-
if (summary.new > 0 || summary.absent > 0) {
|
|
63
|
-
return EXIT_DETAILED_BASELINE_CHANGED;
|
|
64
|
-
}
|
|
65
|
-
// Everything else is metadata drift (updated tags, descriptions, etc.)
|
|
66
|
-
return EXIT_DETAILED_DRIFT_ONLY;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Returns true if the summary indicates any differences at all.
|
|
70
|
-
*/
|
|
71
|
-
function hasDifferences(summary) {
|
|
72
|
-
return summary.total !== summary.unchanged;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=exit-codes.js.map
|
package/dist/exit-codes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAE5B,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA0B;IAChE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,uEAAuE;IACvE,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAA0B;IAChD,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,SAAS,CAAC;AAC7C,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { MatchStrategy } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create a CCI-based matching strategy.
|
|
4
|
-
*
|
|
5
|
-
* Matches requirements that share the same CCI identifier in `tags.cci`.
|
|
6
|
-
* Only produces a match when exactly one old requirement and exactly one
|
|
7
|
-
* new requirement share a given CCI (unambiguous). Ambiguous CCIs (shared
|
|
8
|
-
* by multiple old or multiple new requirements) are skipped, and those
|
|
9
|
-
* requirements are left unmatched.
|
|
10
|
-
*
|
|
11
|
-
* Confidence is 0.8 for unambiguous matches.
|
|
12
|
-
*/
|
|
13
|
-
export declare function createCciMatchStrategy(): MatchStrategy;
|
|
14
|
-
//# sourceMappingURL=cci-match.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cci-match.d.ts","sourceRoot":"","sources":["../../src/matching/cci-match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAc7D;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CAqFtD"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extract CCI identifiers from a requirement's tags.
|
|
3
|
-
* Looks for `tags.cci` as an array of strings.
|
|
4
|
-
*/
|
|
5
|
-
function extractCcis(req) {
|
|
6
|
-
const tags = req['tags'];
|
|
7
|
-
if (!tags)
|
|
8
|
-
return [];
|
|
9
|
-
const cci = tags['cci'];
|
|
10
|
-
if (!Array.isArray(cci))
|
|
11
|
-
return [];
|
|
12
|
-
return cci.filter((c) => typeof c === 'string');
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Create a CCI-based matching strategy.
|
|
16
|
-
*
|
|
17
|
-
* Matches requirements that share the same CCI identifier in `tags.cci`.
|
|
18
|
-
* Only produces a match when exactly one old requirement and exactly one
|
|
19
|
-
* new requirement share a given CCI (unambiguous). Ambiguous CCIs (shared
|
|
20
|
-
* by multiple old or multiple new requirements) are skipped, and those
|
|
21
|
-
* requirements are left unmatched.
|
|
22
|
-
*
|
|
23
|
-
* Confidence is 0.8 for unambiguous matches.
|
|
24
|
-
*/
|
|
25
|
-
export function createCciMatchStrategy() {
|
|
26
|
-
return {
|
|
27
|
-
name: 'cciMatch',
|
|
28
|
-
match(oldReqs, newReqs) {
|
|
29
|
-
const result = {
|
|
30
|
-
matched: [],
|
|
31
|
-
unmatchedOld: [],
|
|
32
|
-
unmatchedNew: [],
|
|
33
|
-
};
|
|
34
|
-
// Build CCI -> requirement indices for old and new
|
|
35
|
-
const oldCciMap = new Map();
|
|
36
|
-
for (let i = 0; i < oldReqs.length; i++) {
|
|
37
|
-
for (const cci of extractCcis(oldReqs[i])) {
|
|
38
|
-
const list = oldCciMap.get(cci);
|
|
39
|
-
if (list) {
|
|
40
|
-
list.push(i);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
oldCciMap.set(cci, [i]);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const newCciMap = new Map();
|
|
48
|
-
for (let i = 0; i < newReqs.length; i++) {
|
|
49
|
-
for (const cci of extractCcis(newReqs[i])) {
|
|
50
|
-
const list = newCciMap.get(cci);
|
|
51
|
-
if (list) {
|
|
52
|
-
list.push(i);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
newCciMap.set(cci, [i]);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Track which indices have been matched
|
|
60
|
-
const matchedOldIndices = new Set();
|
|
61
|
-
const matchedNewIndices = new Set();
|
|
62
|
-
// Find unambiguous CCI matches: exactly 1 old and 1 new share the CCI
|
|
63
|
-
// Collect all CCIs from both maps
|
|
64
|
-
const allCcis = new Set([...oldCciMap.keys(), ...newCciMap.keys()]);
|
|
65
|
-
for (const cci of allCcis) {
|
|
66
|
-
const oldIndices = oldCciMap.get(cci) ?? [];
|
|
67
|
-
const newIndices = newCciMap.get(cci) ?? [];
|
|
68
|
-
if (oldIndices.length !== 1 || newIndices.length !== 1) {
|
|
69
|
-
// Ambiguous or one-sided — skip
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
const oldIdx = oldIndices[0];
|
|
73
|
-
const newIdx = newIndices[0];
|
|
74
|
-
// Don't double-match
|
|
75
|
-
if (matchedOldIndices.has(oldIdx) || matchedNewIndices.has(newIdx)) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
result.matched.push({
|
|
79
|
-
oldReq: oldReqs[oldIdx],
|
|
80
|
-
newReq: newReqs[newIdx],
|
|
81
|
-
strategy: 'cciMatch',
|
|
82
|
-
confidence: 0.8,
|
|
83
|
-
});
|
|
84
|
-
matchedOldIndices.add(oldIdx);
|
|
85
|
-
matchedNewIndices.add(newIdx);
|
|
86
|
-
}
|
|
87
|
-
// Collect unmatched
|
|
88
|
-
for (let i = 0; i < oldReqs.length; i++) {
|
|
89
|
-
if (!matchedOldIndices.has(i)) {
|
|
90
|
-
result.unmatchedOld.push(oldReqs[i]);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
for (let i = 0; i < newReqs.length; i++) {
|
|
94
|
-
if (!matchedNewIndices.has(i)) {
|
|
95
|
-
result.unmatchedNew.push(newReqs[i]);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return result;
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=cci-match.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cci-match.js","sourceRoot":"","sources":["../../src/matching/cci-match.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { MatchStrategy } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create an exact ID matching strategy.
|
|
4
|
-
*
|
|
5
|
-
* Matches requirements by their `id` field with exact string equality.
|
|
6
|
-
* Confidence is always 1.0 for matches.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createExactIdStrategy(): MatchStrategy;
|
|
9
|
-
//# sourceMappingURL=exact-id.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exact-id.d.ts","sourceRoot":"","sources":["../../src/matching/exact-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAmFrD"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create an exact ID matching strategy.
|
|
3
|
-
*
|
|
4
|
-
* Matches requirements by their `id` field with exact string equality.
|
|
5
|
-
* Confidence is always 1.0 for matches.
|
|
6
|
-
*/
|
|
7
|
-
export function createExactIdStrategy() {
|
|
8
|
-
return {
|
|
9
|
-
name: 'exactId',
|
|
10
|
-
match(oldReqs, newReqs) {
|
|
11
|
-
const result = {
|
|
12
|
-
matched: [],
|
|
13
|
-
unmatchedOld: [],
|
|
14
|
-
unmatchedNew: [],
|
|
15
|
-
};
|
|
16
|
-
// Build a map of new requirements by id, detecting duplicates.
|
|
17
|
-
// When multiple requirements share the same ID, the ID is ambiguous
|
|
18
|
-
// and cannot be used for matching — all duplicates go to unmatchedNew.
|
|
19
|
-
const newById = new Map();
|
|
20
|
-
const duplicateNewIds = new Set();
|
|
21
|
-
for (const req of newReqs) {
|
|
22
|
-
const id = req['id'];
|
|
23
|
-
if (typeof id === 'string') {
|
|
24
|
-
if (newById.has(id)) {
|
|
25
|
-
// Mark this ID as a duplicate — remove it from the map
|
|
26
|
-
duplicateNewIds.add(id);
|
|
27
|
-
newById.delete(id);
|
|
28
|
-
}
|
|
29
|
-
else if (!duplicateNewIds.has(id)) {
|
|
30
|
-
newById.set(id, req);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
// Build a map of old requirements by id, detecting duplicates.
|
|
35
|
-
const oldById = new Map();
|
|
36
|
-
const duplicateOldIds = new Set();
|
|
37
|
-
for (const req of oldReqs) {
|
|
38
|
-
const id = req['id'];
|
|
39
|
-
if (typeof id === 'string') {
|
|
40
|
-
if (oldById.has(id)) {
|
|
41
|
-
duplicateOldIds.add(id);
|
|
42
|
-
oldById.delete(id);
|
|
43
|
-
}
|
|
44
|
-
else if (!duplicateOldIds.has(id)) {
|
|
45
|
-
oldById.set(id, req);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// Track which new reqs have been matched
|
|
50
|
-
const matchedNewIds = new Set();
|
|
51
|
-
// Match old requirements against new by id (skip duplicate old IDs)
|
|
52
|
-
for (const oldReq of oldReqs) {
|
|
53
|
-
const id = oldReq['id'];
|
|
54
|
-
if (typeof id !== 'string' || duplicateOldIds.has(id)) {
|
|
55
|
-
result.unmatchedOld.push(oldReq);
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
const newReq = newById.get(id);
|
|
59
|
-
if (newReq) {
|
|
60
|
-
result.matched.push({
|
|
61
|
-
oldReq,
|
|
62
|
-
newReq,
|
|
63
|
-
strategy: 'exactId',
|
|
64
|
-
confidence: 1.0,
|
|
65
|
-
});
|
|
66
|
-
matchedNewIds.add(id);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
result.unmatchedOld.push(oldReq);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// Collect unmatched new requirements (including all duplicates)
|
|
73
|
-
for (const req of newReqs) {
|
|
74
|
-
const id = req['id'];
|
|
75
|
-
if (typeof id === 'string') {
|
|
76
|
-
if (duplicateNewIds.has(id) || !matchedNewIds.has(id)) {
|
|
77
|
-
result.unmatchedNew.push(req);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
result.unmatchedNew.push(req);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return result;
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=exact-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exact-id.js","sourceRoot":"","sources":["../../src/matching/exact-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { MatchStrategy } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Tokenize a title string into a set of meaningful tokens.
|
|
4
|
-
*
|
|
5
|
-
* - Lowercases the string
|
|
6
|
-
* - Splits on whitespace and punctuation
|
|
7
|
-
* - Filters out common stop words
|
|
8
|
-
* - Returns unique tokens as a Set
|
|
9
|
-
*/
|
|
10
|
-
export declare function tokenize(text: string): Set<string>;
|
|
11
|
-
/**
|
|
12
|
-
* Compute Jaccard similarity between two sets.
|
|
13
|
-
* Returns |intersection| / |union|, or 0 if both sets are empty.
|
|
14
|
-
*/
|
|
15
|
-
export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
|
|
16
|
-
/**
|
|
17
|
-
* Create a fuzzy title matching strategy.
|
|
18
|
-
*
|
|
19
|
-
* Matches requirements by token-based Jaccard similarity on the `title` field.
|
|
20
|
-
* Uses greedy best-match: for each unmatched old requirement, finds the
|
|
21
|
-
* best-matching unmatched new requirement above the confidence threshold.
|
|
22
|
-
*
|
|
23
|
-
* @param minConfidence Minimum Jaccard similarity to accept a match (default: 0.6)
|
|
24
|
-
*/
|
|
25
|
-
export declare function createFuzzyTitleStrategy(minConfidence?: number): MatchStrategy;
|
|
26
|
-
//# sourceMappingURL=fuzzy-match.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fuzzy-match.d.ts","sourceRoot":"","sources":["../../src/matching/fuzzy-match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAe7D;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CASlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAmBxE;AAOD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CA6F9E"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/** Common English stop words to exclude from tokenization */
|
|
2
|
-
const STOP_WORDS = new Set([
|
|
3
|
-
'a', 'an', 'the', 'is', 'are', 'was', 'were', 'be', 'been', 'being',
|
|
4
|
-
'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could',
|
|
5
|
-
'should', 'may', 'might', 'shall', 'can', 'to', 'of', 'in', 'for',
|
|
6
|
-
'on', 'with', 'at', 'by', 'from', 'as', 'into', 'through', 'during',
|
|
7
|
-
'before', 'after', 'above', 'below', 'between', 'out', 'off', 'over',
|
|
8
|
-
'under', 'again', 'further', 'then', 'once', 'and', 'but', 'or', 'nor',
|
|
9
|
-
'not', 'no', 'so', 'if', 'it', 'its', 'that', 'this', 'these', 'those',
|
|
10
|
-
'each', 'every', 'all', 'both', 'few', 'more', 'most', 'other', 'some',
|
|
11
|
-
'such', 'than', 'too', 'very', 'just', 'about',
|
|
12
|
-
]);
|
|
13
|
-
/**
|
|
14
|
-
* Tokenize a title string into a set of meaningful tokens.
|
|
15
|
-
*
|
|
16
|
-
* - Lowercases the string
|
|
17
|
-
* - Splits on whitespace and punctuation
|
|
18
|
-
* - Filters out common stop words
|
|
19
|
-
* - Returns unique tokens as a Set
|
|
20
|
-
*/
|
|
21
|
-
export function tokenize(text) {
|
|
22
|
-
if (!text)
|
|
23
|
-
return new Set();
|
|
24
|
-
const tokens = text
|
|
25
|
-
.toLowerCase()
|
|
26
|
-
.split(/[\s\-_/\\,.;:!?()[\]{}"']+/)
|
|
27
|
-
.filter((t) => t.length > 0 && !STOP_WORDS.has(t));
|
|
28
|
-
return new Set(tokens);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Compute Jaccard similarity between two sets.
|
|
32
|
-
* Returns |intersection| / |union|, or 0 if both sets are empty.
|
|
33
|
-
*/
|
|
34
|
-
export function jaccardSimilarity(a, b) {
|
|
35
|
-
if (a.size === 0 && b.size === 0)
|
|
36
|
-
return 0.0;
|
|
37
|
-
let intersectionSize = 0;
|
|
38
|
-
// Iterate over the smaller set for efficiency
|
|
39
|
-
const [smaller, larger] = a.size <= b.size ? [a, b] : [b, a];
|
|
40
|
-
for (const item of smaller) {
|
|
41
|
-
if (larger.has(item)) {
|
|
42
|
-
intersectionSize++;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const unionSize = a.size + b.size - intersectionSize;
|
|
46
|
-
// Unreachable: if both sets are empty, we return above. If either is non-empty, unionSize > 0.
|
|
47
|
-
// Guard kept for mathematical correctness.
|
|
48
|
-
/* c8 ignore next */
|
|
49
|
-
if (unionSize === 0)
|
|
50
|
-
return 0.0;
|
|
51
|
-
return intersectionSize / unionSize;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Default minimum confidence threshold for fuzzy title matching.
|
|
55
|
-
*/
|
|
56
|
-
const DEFAULT_MIN_CONFIDENCE = 0.6;
|
|
57
|
-
/**
|
|
58
|
-
* Create a fuzzy title matching strategy.
|
|
59
|
-
*
|
|
60
|
-
* Matches requirements by token-based Jaccard similarity on the `title` field.
|
|
61
|
-
* Uses greedy best-match: for each unmatched old requirement, finds the
|
|
62
|
-
* best-matching unmatched new requirement above the confidence threshold.
|
|
63
|
-
*
|
|
64
|
-
* @param minConfidence Minimum Jaccard similarity to accept a match (default: 0.6)
|
|
65
|
-
*/
|
|
66
|
-
export function createFuzzyTitleStrategy(minConfidence) {
|
|
67
|
-
const threshold = minConfidence ?? DEFAULT_MIN_CONFIDENCE;
|
|
68
|
-
return {
|
|
69
|
-
name: 'fuzzyTitle',
|
|
70
|
-
match(oldReqs, newReqs) {
|
|
71
|
-
const result = {
|
|
72
|
-
matched: [],
|
|
73
|
-
unmatchedOld: [],
|
|
74
|
-
unmatchedNew: [],
|
|
75
|
-
};
|
|
76
|
-
// Pre-tokenize all titles
|
|
77
|
-
const oldTokens = [];
|
|
78
|
-
for (let i = 0; i < oldReqs.length; i++) {
|
|
79
|
-
const title = oldReqs[i]['title'];
|
|
80
|
-
if (typeof title === 'string' && title.length > 0) {
|
|
81
|
-
const tokens = tokenize(title);
|
|
82
|
-
if (tokens.size > 0) {
|
|
83
|
-
oldTokens.push({ idx: i, tokens });
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const newTokens = [];
|
|
88
|
-
for (let i = 0; i < newReqs.length; i++) {
|
|
89
|
-
const title = newReqs[i]['title'];
|
|
90
|
-
if (typeof title === 'string' && title.length > 0) {
|
|
91
|
-
const tokens = tokenize(title);
|
|
92
|
-
if (tokens.size > 0) {
|
|
93
|
-
newTokens.push({ idx: i, tokens });
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Track matched indices
|
|
98
|
-
const matchedOldIndices = new Set();
|
|
99
|
-
const matchedNewIndices = new Set();
|
|
100
|
-
// Build a list of all potential matches with similarity scores
|
|
101
|
-
const candidates = [];
|
|
102
|
-
for (const old of oldTokens) {
|
|
103
|
-
for (const nw of newTokens) {
|
|
104
|
-
const sim = jaccardSimilarity(old.tokens, nw.tokens);
|
|
105
|
-
if (sim >= threshold) {
|
|
106
|
-
candidates.push({
|
|
107
|
-
oldIdx: old.idx,
|
|
108
|
-
newIdx: nw.idx,
|
|
109
|
-
similarity: sim,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Sort by similarity descending (greedy best-match)
|
|
115
|
-
candidates.sort((a, b) => b.similarity - a.similarity);
|
|
116
|
-
// Greedily assign matches
|
|
117
|
-
for (const candidate of candidates) {
|
|
118
|
-
if (matchedOldIndices.has(candidate.oldIdx) || matchedNewIndices.has(candidate.newIdx)) {
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
result.matched.push({
|
|
122
|
-
oldReq: oldReqs[candidate.oldIdx],
|
|
123
|
-
newReq: newReqs[candidate.newIdx],
|
|
124
|
-
strategy: 'fuzzyTitle',
|
|
125
|
-
confidence: candidate.similarity,
|
|
126
|
-
});
|
|
127
|
-
matchedOldIndices.add(candidate.oldIdx);
|
|
128
|
-
matchedNewIndices.add(candidate.newIdx);
|
|
129
|
-
}
|
|
130
|
-
// Collect unmatched
|
|
131
|
-
for (let i = 0; i < oldReqs.length; i++) {
|
|
132
|
-
if (!matchedOldIndices.has(i)) {
|
|
133
|
-
result.unmatchedOld.push(oldReqs[i]);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
for (let i = 0; i < newReqs.length; i++) {
|
|
137
|
-
if (!matchedNewIndices.has(i)) {
|
|
138
|
-
result.unmatchedNew.push(newReqs[i]);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=fuzzy-match.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fuzzy-match.js","sourceRoot":"","sources":["../../src/matching/fuzzy-match.ts"],"names":[],"mappings":"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"}
|
package/dist/matching/index.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { MatchResult } from './types.js';
|
|
2
|
-
export type { MatchResult, MatchPair, MatchStrategy } from './types.js';
|
|
3
|
-
export { createExactIdStrategy } from './exact-id.js';
|
|
4
|
-
export { createMappedIdStrategy } from './mapped-id.js';
|
|
5
|
-
export { createCciMatchStrategy } from './cci-match.js';
|
|
6
|
-
export { createFuzzyTitleStrategy, tokenize, jaccardSimilarity } from './fuzzy-match.js';
|
|
7
|
-
/**
|
|
8
|
-
* Options for configuring requirement matching.
|
|
9
|
-
*/
|
|
10
|
-
export interface MatchOptions {
|
|
11
|
-
/** Primary matching strategy name (default: 'exactId') */
|
|
12
|
-
strategy?: string;
|
|
13
|
-
/** Fallback strategy names, applied in order to remaining unmatched requirements */
|
|
14
|
-
fallbackStrategies?: string[];
|
|
15
|
-
/** Mapping table for the 'mappedId' strategy (old ID -> new ID) */
|
|
16
|
-
mappingTable?: Record<string, string>;
|
|
17
|
-
/** Minimum confidence threshold for fuzzy matching (default: 0.6) */
|
|
18
|
-
minConfidence?: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Match requirements between two evaluations using a primary strategy
|
|
22
|
-
* and optional fallback strategies.
|
|
23
|
-
*
|
|
24
|
-
* The registry applies strategies in order:
|
|
25
|
-
* 1. Primary strategy matches what it can
|
|
26
|
-
* 2. Unmatched requirements pass to the next fallback strategy
|
|
27
|
-
* 3. Process continues until all strategies are exhausted or all
|
|
28
|
-
* requirements are matched
|
|
29
|
-
*
|
|
30
|
-
* @param oldReqs Requirements from the old evaluation
|
|
31
|
-
* @param newReqs Requirements from the new evaluation
|
|
32
|
-
* @param options Matching configuration
|
|
33
|
-
* @returns Combined match result from all strategies
|
|
34
|
-
*/
|
|
35
|
-
export declare function matchRequirements(oldReqs: Record<string, unknown>[], newReqs: Record<string, unknown>[], options?: MatchOptions): MatchResult;
|
|
36
|
-
//# sourceMappingURL=index.d.ts.map
|