@mergesignal/shared 0.16.0 → 0.17.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/deriveScanNarrative.d.ts.map +1 -1
- package/dist/deriveScanNarrative.js +2 -3
- package/dist/extractRepositoryContextFacts.d.ts.map +1 -1
- package/dist/extractRepositoryContextFacts.js +3 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/narrativePresentation.d.ts +6 -2
- package/dist/narrativePresentation.d.ts.map +1 -1
- package/dist/narrativePresentation.js +10 -5
- package/dist/prRiskWire.d.ts +4 -3
- package/dist/prRiskWire.d.ts.map +1 -1
- package/dist/prRiskWire.js +9 -3
- package/dist/presentation/compose/narrativeChannels.d.ts.map +1 -1
- package/dist/presentation/compose/narrativeChannels.js +5 -0
- package/dist/presentation/compose/narrativeCompose.d.ts.map +1 -1
- package/dist/presentation/compose/narrativeCompose.js +3 -0
- package/dist/presentation/presenters/presentScanDetails.d.ts.map +1 -1
- package/dist/presentation/presenters/presentScanDetails.js +19 -11
- package/dist/presentation/profile/assessmentEstablishesCollectionLimitation.d.ts +8 -0
- package/dist/presentation/profile/assessmentEstablishesCollectionLimitation.d.ts.map +1 -0
- package/dist/presentation/profile/assessmentEstablishesCollectionLimitation.js +20 -0
- package/dist/presentation/profile/buildProfileFromAssessment.d.ts.map +1 -1
- package/dist/presentation/profile/buildProfileFromAssessment.js +4 -3
- package/dist/presentation/reachNarrativeGating.d.ts +12 -0
- package/dist/presentation/reachNarrativeGating.d.ts.map +1 -0
- package/dist/presentation/reachNarrativeGating.js +12 -0
- package/dist/scanAnalysisScope.d.ts +19 -0
- package/dist/scanAnalysisScope.d.ts.map +1 -0
- package/dist/scanAnalysisScope.js +22 -0
- package/dist/scanNarrativeFacts.d.ts +3 -0
- package/dist/scanNarrativeFacts.d.ts.map +1 -1
- package/dist/scanNarrativeFacts.js +1 -0
- package/dist/scanResultSchema.d.ts +167 -20
- package/dist/scanResultSchema.d.ts.map +1 -1
- package/dist/scanResultSchema.js +116 -28
- package/dist/scanSurfaceCopy.d.ts +1 -1
- package/dist/scanSurfaceCopy.js +1 -1
- package/dist/selectTopAffectedAreas.d.ts.map +1 -1
- package/dist/selectTopAffectedAreas.js +5 -4
- package/dist/trustedScanGuards.d.ts +2 -1
- package/dist/trustedScanGuards.d.ts.map +1 -1
- package/dist/trustedScanGuards.js +3 -3
- package/dist/types.d.ts +15 -11
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deriveScanNarrative.d.ts","sourceRoot":"","sources":["../src/deriveScanNarrative.ts"],"names":[],"mappings":"AAYA,OAAO,EAgBL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAMV,UAAU,EACX,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"deriveScanNarrative.d.ts","sourceRoot":"","sources":["../src/deriveScanNarrative.ts"],"names":[],"mappings":"AAYA,OAAO,EAgBL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAMV,UAAU,EACX,MAAM,YAAY,CAAC;AAsiBpB;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,kBAAkB,CAsIpB"}
|
|
@@ -408,8 +408,7 @@ function assessmentConfidenceFromResult(result) {
|
|
|
408
408
|
}
|
|
409
409
|
function limitedContextDiagnostic(input) {
|
|
410
410
|
return (input.corpusGateReason !== "ok" ||
|
|
411
|
-
hasPreparationUncertaintyWarnings(input.preparationWarnings)
|
|
412
|
-
input.assessmentConfidence === "low");
|
|
411
|
+
hasPreparationUncertaintyWarnings(input.preparationWarnings));
|
|
413
412
|
}
|
|
414
413
|
/**
|
|
415
414
|
* Consumer-agnostic scan intelligence — structured facts only (no UI copy).
|
|
@@ -463,7 +462,6 @@ export function deriveScanNarrative(result) {
|
|
|
463
462
|
limitedContext: limitedContextDiagnostic({
|
|
464
463
|
corpusGateReason,
|
|
465
464
|
preparationWarnings,
|
|
466
|
-
assessmentConfidence,
|
|
467
465
|
}),
|
|
468
466
|
};
|
|
469
467
|
if (!tier1 && mode === "graph_fallback" && changedPackages.all.length > 0) {
|
|
@@ -515,5 +513,6 @@ export function deriveScanNarrative(result) {
|
|
|
515
513
|
mergePosture,
|
|
516
514
|
riskIndex,
|
|
517
515
|
riskSignals,
|
|
516
|
+
reachVisibility: result.assessment?.presentation?.reachVisibility ?? null,
|
|
518
517
|
};
|
|
519
518
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractRepositoryContextFacts.d.ts","sourceRoot":"","sources":["../src/extractRepositoryContextFacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACrE,CAAC;AAYF;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,UAAU,GACjB,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"extractRepositoryContextFacts.d.ts","sourceRoot":"","sources":["../src/extractRepositoryContextFacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACrE,CAAC;AAYF;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,UAAU,GACjB,qBAAqB,EAAE,CAmEzB"}
|
|
@@ -34,8 +34,9 @@ export function extractRepositoryContextFacts(result) {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
const explainReasons = result.repositoryHealth?.explain?.reasons ?? result.explain?.reasons;
|
|
38
|
+
if (Array.isArray(explainReasons)) {
|
|
39
|
+
for (const reason of explainReasons) {
|
|
39
40
|
const mapped = mapExplainReasonToCatalogPhrase(reason);
|
|
40
41
|
if (!mapped) {
|
|
41
42
|
const family = matchSignalFamily(`${reason.id} ${reason.title} ${reason.layer}`);
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export * from "./narrativePresentation.js";
|
|
|
21
21
|
export * from "./normalizeGeneratedText.js";
|
|
22
22
|
export { presentGitHubPrCommentMarkdownFromResult } from "./presentGitHubPrComment.js";
|
|
23
23
|
export * from "./scanCardPresentationState.js";
|
|
24
|
+
export * from "./scanAnalysisScope.js";
|
|
24
25
|
export * from "./scanResultSchema.js";
|
|
25
26
|
export * from "./scanSurfaceCopy.js";
|
|
26
27
|
export * from "./resolvePipelineStatus.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,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export * from "./narrativePresentation.js";
|
|
|
21
21
|
export * from "./normalizeGeneratedText.js";
|
|
22
22
|
export { presentGitHubPrCommentMarkdownFromResult } from "./presentGitHubPrComment.js";
|
|
23
23
|
export * from "./scanCardPresentationState.js";
|
|
24
|
+
export * from "./scanAnalysisScope.js";
|
|
24
25
|
export * from "./scanResultSchema.js";
|
|
25
26
|
export * from "./scanSurfaceCopy.js";
|
|
26
27
|
export * from "./resolvePipelineStatus.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReachVisibility } from "./assessment/types.js";
|
|
1
2
|
import type { NarrativePackageUsage, ScanNarrativeFacts } from "./scanNarrativeFacts.js";
|
|
2
3
|
/** Deduplicated union of wire usage path buckets — matches reachability/linkage semantics. */
|
|
3
4
|
export declare function normalizedPackageUsagePaths(row: NarrativePackageUsage): string[];
|
|
@@ -44,9 +45,12 @@ export declare function composeVerificationPrompt(facts: ScanNarrativeFacts): st
|
|
|
44
45
|
export declare function formatUsageSummaryLine(facts: ScanNarrativeFacts, maxPaths?: number): string | null;
|
|
45
46
|
export declare function formatBlastRadiusDetailLine(facts: ScanNarrativeFacts, maxFactors?: number): string | null;
|
|
46
47
|
export declare function formatFrameworksSummary(facts: ScanNarrativeFacts, max?: number): string | null;
|
|
47
|
-
export
|
|
48
|
+
export type ComposeContextLineFromFactsOptions = {
|
|
48
49
|
includePathSample?: boolean;
|
|
49
50
|
maxAreas?: number;
|
|
50
|
-
|
|
51
|
+
/** Overrides Assessment reach policy projected on facts when supplied. */
|
|
52
|
+
reachVisibility?: ReachVisibility;
|
|
53
|
+
};
|
|
54
|
+
export declare function composeContextLineFromFacts(facts: ScanNarrativeFacts, options?: ComposeContextLineFromFactsOptions): string | null;
|
|
51
55
|
export { labelRuntimeSurface, labelReachabilityKind, labelBlastRadiusLevel };
|
|
52
56
|
//# sourceMappingURL=narrativePresentation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrativePresentation.d.ts","sourceRoot":"","sources":["../src/narrativePresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"narrativePresentation.d.ts","sourceRoot":"","sources":["../src/narrativePresentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { shouldSurfaceReachNarrative } from "./presentation/reachNarrativeGating.js";
|
|
1
2
|
import { scanSurfaceCopy } from "./scanSurfaceCopy.js";
|
|
2
3
|
/** Deduplicated union of wire usage path buckets — matches reachability/linkage semantics. */
|
|
3
4
|
export function normalizedPackageUsagePaths(row) {
|
|
@@ -158,12 +159,16 @@ export function formatFrameworksSummary(facts, max = 2) {
|
|
|
158
159
|
return frameworks.join(", ");
|
|
159
160
|
}
|
|
160
161
|
export function composeContextLineFromFacts(facts, options = {}) {
|
|
162
|
+
const reachVisibility = options.reachVisibility ?? facts.reachVisibility;
|
|
163
|
+
if (reachVisibility == null) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
if (!shouldSurfaceReachNarrative({ reachVisibility }, facts.packageSemantics ?? undefined)) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
161
169
|
const parts = [];
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
const reach = suppressRuntime
|
|
165
|
-
? null
|
|
166
|
-
: summarizeReachability(facts, options.includePathSample ? 1 : 0);
|
|
170
|
+
const runtime = labelRuntimeSurface(facts);
|
|
171
|
+
const reach = summarizeReachability(facts, options.includePathSample ? 1 : 0);
|
|
167
172
|
const blast = labelBlastRadiusLevel(facts);
|
|
168
173
|
if (runtime)
|
|
169
174
|
parts.push(runtime);
|
package/dist/prRiskWire.d.ts
CHANGED
|
@@ -33,9 +33,10 @@ export type ScanScoreRow = {
|
|
|
33
33
|
* 1. abstain outcome → no numeric score (outcome-primary reader semantics)
|
|
34
34
|
* 2. result.prRisk.availability === 'indeterminate' → no numeric score
|
|
35
35
|
* 3. result.prRisk.score (scored wire)
|
|
36
|
-
* 4.
|
|
37
|
-
* 5. historical
|
|
38
|
-
* 6.
|
|
36
|
+
* 4. when assessment is present and no scored wire → no numeric score
|
|
37
|
+
* 5. denormalized pr_risk_score (historical rows only — no assessment in result)
|
|
38
|
+
* 6. historical scans.total_score column (historical rows only)
|
|
39
|
+
* 7. result.totalScore (historical JSON fallback only)
|
|
39
40
|
*/
|
|
40
41
|
export declare function resolvePrRiskScore(result: ScanResult | null | undefined, ctx?: PrRiskScoreContext): number | null;
|
|
41
42
|
/** Layer scores for PR Risk — prRisk.layerScores when present, else legacy layerScores. */
|
package/dist/prRiskWire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prRiskWire.d.ts","sourceRoot":"","sources":["../src/prRiskWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAeF
|
|
1
|
+
{"version":3,"file":"prRiskWire.d.ts","sourceRoot":"","sources":["../src/prRiskWire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAeF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,kBAAuB,GAC3B,MAAM,GAAG,IAAI,CA+Bf;AASD,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,WAAW,GAAG,IAAI,CAYpB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACpC,KAAK,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7C;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,GAAG,GAAE,4BAAiC,GACrC,MAAM,GAAG,IAAI,CAqBf;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAK1E;AAED,wFAAwF;AACxF,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,YAAY,GAChB,MAAM,GAAG,IAAI,CAQf"}
|
package/dist/prRiskWire.js
CHANGED
|
@@ -14,9 +14,10 @@ function isIndeterminatePrRisk(prRisk) {
|
|
|
14
14
|
* 1. abstain outcome → no numeric score (outcome-primary reader semantics)
|
|
15
15
|
* 2. result.prRisk.availability === 'indeterminate' → no numeric score
|
|
16
16
|
* 3. result.prRisk.score (scored wire)
|
|
17
|
-
* 4.
|
|
18
|
-
* 5. historical
|
|
19
|
-
* 6.
|
|
17
|
+
* 4. when assessment is present and no scored wire → no numeric score
|
|
18
|
+
* 5. denormalized pr_risk_score (historical rows only — no assessment in result)
|
|
19
|
+
* 6. historical scans.total_score column (historical rows only)
|
|
20
|
+
* 7. result.totalScore (historical JSON fallback only)
|
|
20
21
|
*/
|
|
21
22
|
export function resolvePrRiskScore(result, ctx = {}) {
|
|
22
23
|
if (!result && ctx.prRiskScore == null && ctx.legacyTotalScore == null) {
|
|
@@ -33,6 +34,9 @@ export function resolvePrRiskScore(result, ctx = {}) {
|
|
|
33
34
|
: undefined);
|
|
34
35
|
if (fromWire != null)
|
|
35
36
|
return fromWire;
|
|
37
|
+
if (result?.assessment) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
36
40
|
const fromDenorm = finiteScore(ctx.prRiskScore);
|
|
37
41
|
if (fromDenorm != null)
|
|
38
42
|
return fromDenorm;
|
|
@@ -60,6 +64,8 @@ export function resolvePrRiskLayerScores(result) {
|
|
|
60
64
|
: undefined;
|
|
61
65
|
if (fromPrRisk)
|
|
62
66
|
return fromPrRisk;
|
|
67
|
+
if (result.assessment)
|
|
68
|
+
return null;
|
|
63
69
|
if (result.layerScores)
|
|
64
70
|
return result.layerScores;
|
|
65
71
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrativeChannels.d.ts","sourceRoot":"","sources":["../../../src/presentation/compose/narrativeChannels.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"narrativeChannels.d.ts","sourceRoot":"","sources":["../../../src/presentation/compose/narrativeChannels.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIzF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAuBF,yFAAyF;AACzF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,sBAAsB,GAC7B,iBAAiB,CAmBnB;AAED,mGAAmG;AACnG,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CAyBV"}
|
|
@@ -2,12 +2,17 @@ import { scanSurfaceCopy } from "../../scanSurfaceCopy.js";
|
|
|
2
2
|
import { applicationAreaLabels, formatAssessmentHeadline, projectInsightLines, projectVerificationActions, reachVisibilityLabel, } from "../../assessmentProjection.js";
|
|
3
3
|
import { safeParseRepoIntelligence } from "../../repoIntelligenceSchema.js";
|
|
4
4
|
import { labelBlastRadiusLevel } from "../../narrativePresentation.js";
|
|
5
|
+
import { shouldSurfaceReachNarrative } from "../reachNarrativeGating.js";
|
|
5
6
|
function composeScopeAreaLabels(bundle, max) {
|
|
7
|
+
if (!shouldSurfaceReachNarrative(bundle.presentation))
|
|
8
|
+
return [];
|
|
6
9
|
const parsed = safeParseRepoIntelligence(bundle.result.repoIntelligence);
|
|
7
10
|
const labels = parsed.ok ? applicationAreaLabels(parsed.value) : [];
|
|
8
11
|
return labels.slice(0, max);
|
|
9
12
|
}
|
|
10
13
|
function composeChannelEvidence(bundle, max) {
|
|
14
|
+
if (!shouldSurfaceReachNarrative(bundle.presentation))
|
|
15
|
+
return [];
|
|
11
16
|
const blast = labelBlastRadiusLevel(bundle.facts);
|
|
12
17
|
const rows = [];
|
|
13
18
|
if (blast)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrativeCompose.d.ts","sourceRoot":"","sources":["../../../src/presentation/compose/narrativeCompose.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"narrativeCompose.d.ts","sourceRoot":"","sources":["../../../src/presentation/compose/narrativeCompose.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAOzF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAEtE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,sBAAsB,GAC7B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CAEV;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CAEV;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CASV;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,sBAAsB,GAC7B,MAAM,EAAE,GAAG,SAAS,CAwBtB;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,GAAG;IAC1E,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAKA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { formatCardAreaLabels } from "../../formatCardAreaLabels.js";
|
|
2
2
|
import { scanSurfaceCopy } from "../../scanSurfaceCopy.js";
|
|
3
3
|
import { buildNarrativeChannels, projectCompactKeyPoints, } from "./narrativeChannels.js";
|
|
4
|
+
import { shouldSurfaceReachNarrative } from "../reachNarrativeGating.js";
|
|
4
5
|
export { buildNarrativeChannels, projectCompactKeyPoints, } from "./narrativeChannels.js";
|
|
5
6
|
function topAreaLabel(bundle) {
|
|
6
7
|
const area = bundle.facts.affectedAreas[0];
|
|
@@ -25,6 +26,8 @@ export function composeVerificationActions(bundle, max) {
|
|
|
25
26
|
return buildNarrativeChannels(bundle).verification.slice(0, max);
|
|
26
27
|
}
|
|
27
28
|
export function composeAffectedAreaLabels(bundle, max) {
|
|
29
|
+
if (!shouldSurfaceReachNarrative(bundle.presentation))
|
|
30
|
+
return [];
|
|
28
31
|
const labels = [];
|
|
29
32
|
for (const area of bundle.facts.affectedAreas) {
|
|
30
33
|
const formatted = formatCardAreaLabels([area.label], 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentScanDetails.d.ts","sourceRoot":"","sources":["../../../src/presentation/presenters/presentScanDetails.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presentScanDetails.d.ts","sourceRoot":"","sources":["../../../src/presentation/presenters/presentScanDetails.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAIzF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AA4GF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,yBAAyB,GAC7B,uBAAuB,CA6EzB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { MERGE_CONCERN_LABELS } from "../../assessmentLabels.js";
|
|
2
2
|
import { normalizedPackageUsagePaths } from "../../narrativePresentation.js";
|
|
3
|
+
import { safeParseRepoIntelligence } from "../../repoIntelligenceSchema.js";
|
|
3
4
|
import { formatPrRiskSummary, prRiskBandToGaugeBand, } from "../../prRiskBand.js";
|
|
4
5
|
import { MERGE_POSTURE_LABEL } from "../../riskVocabulary.js";
|
|
5
6
|
import { buildNarrativeChannels, composeSubheadline, composeSupportingContext, evidenceContextFromProfile, projectCompactKeyPoints, } from "../compose/narrativeCompose.js";
|
|
6
7
|
import { normalizeGeneratedText, normalizeGeneratedTextNullable, } from "../../normalizeGeneratedText.js";
|
|
7
8
|
import { scanSurfaceCopy } from "../../scanSurfaceCopy.js";
|
|
8
9
|
import { projectAssessmentFields } from "../projectAssessmentFields.js";
|
|
10
|
+
import { shouldSurfaceReachNarrative } from "../reachNarrativeGating.js";
|
|
9
11
|
const LAYER_LABEL = {
|
|
10
12
|
security: "Security",
|
|
11
13
|
maintainability: "Maintainability",
|
|
@@ -42,20 +44,26 @@ function mapSignalSummary(bundle) {
|
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
46
|
function mapUsage(bundle) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
if (!shouldSurfaceReachNarrative(bundle.presentation)) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const { facts, presentation, result } = bundle;
|
|
51
|
+
const parsedRi = safeParseRepoIntelligence(result.repoIntelligence);
|
|
52
|
+
const parsedPackages = parsedRi.ok ? parsedRi.value.packages : {};
|
|
53
|
+
const items = facts.packageUsage
|
|
54
|
+
.filter((row) => shouldSurfaceReachNarrative(presentation, parsedPackages[row.packageName]))
|
|
55
|
+
.map((row) => ({
|
|
56
|
+
packageName: row.packageName,
|
|
57
|
+
paths: normalizedPackageUsagePaths(row),
|
|
58
|
+
areas: row.areas,
|
|
59
|
+
criticalPaths: row.criticalPaths,
|
|
60
|
+
}));
|
|
61
|
+
if (items.length === 0) {
|
|
47
62
|
return undefined;
|
|
48
63
|
}
|
|
49
64
|
return {
|
|
50
|
-
summary:
|
|
51
|
-
|
|
52
|
-
: undefined,
|
|
53
|
-
items: facts.packageUsage.map((row) => ({
|
|
54
|
-
packageName: row.packageName,
|
|
55
|
-
paths: normalizedPackageUsagePaths(row),
|
|
56
|
-
areas: row.areas,
|
|
57
|
-
criticalPaths: row.criticalPaths,
|
|
58
|
-
})),
|
|
65
|
+
summary: `${items.length} package(s) with usage data`,
|
|
66
|
+
items,
|
|
59
67
|
frameworks: facts.frameworks,
|
|
60
68
|
};
|
|
61
69
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Assessment } from "../../assessment/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Whether sealed Assessment state establishes collection/context limitation for
|
|
4
|
+
* presentation subheadline selection. Answers a presentation question only —
|
|
5
|
+
* does not reinterpret evidence or re-adjudicate sufficiency.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assessmentEstablishesCollectionLimitation(assessment: Assessment): boolean;
|
|
8
|
+
//# sourceMappingURL=assessmentEstablishesCollectionLimitation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assessmentEstablishesCollectionLimitation.d.ts","sourceRoot":"","sources":["../../../src/presentation/profile/assessmentEstablishesCollectionLimitation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,2BAA2B,CAAC;AAYnC;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,UAAU,EAAE,UAAU,GACrB,OAAO,CAYT"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const COLLECTION_LIMITATION_ABSTAIN_REASONS = new Set([
|
|
2
|
+
"insufficient_collection",
|
|
3
|
+
"partial_monorepo_scan",
|
|
4
|
+
]);
|
|
5
|
+
const COLLECTION_LIMITATION_BLOCKER_KINDS = new Set([
|
|
6
|
+
"repository_coverage_insufficient",
|
|
7
|
+
"package_facts_missing",
|
|
8
|
+
]);
|
|
9
|
+
/**
|
|
10
|
+
* Whether sealed Assessment state establishes collection/context limitation for
|
|
11
|
+
* presentation subheadline selection. Answers a presentation question only —
|
|
12
|
+
* does not reinterpret evidence or re-adjudicate sufficiency.
|
|
13
|
+
*/
|
|
14
|
+
export function assessmentEstablishesCollectionLimitation(assessment) {
|
|
15
|
+
if (assessment.abstainReasons?.some((reason) => COLLECTION_LIMITATION_ABSTAIN_REASONS.has(reason.kind))) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
const blockers = assessment.evidenceSufficiencyVerdict?.blockers ?? [];
|
|
19
|
+
return blockers.some((blocker) => COLLECTION_LIMITATION_BLOCKER_KINDS.has(blocker.kind));
|
|
20
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProfileFromAssessment.d.ts","sourceRoot":"","sources":["../../../src/presentation/profile/buildProfileFromAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"buildProfileFromAssessment.d.ts","sourceRoot":"","sources":["../../../src/presentation/profile/buildProfileFromAssessment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAuDpE,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,4BAA4B,EAC1C,MAAM,EAAE,UAAU,GACjB,mBAAmB,CAiCrB"}
|
|
@@ -4,6 +4,7 @@ import { scanSurfaceCopy } from "../../scanSurfaceCopy.js";
|
|
|
4
4
|
import { collectVerificationFocusForPresentation } from "../../assessmentProjection.js";
|
|
5
5
|
import { hasPreparationUncertaintyWarnings } from "../../lockfileEvidence.js";
|
|
6
6
|
import { presentationStatusFromAssessment } from "../presentationStatusFromAssessment.js";
|
|
7
|
+
import { assessmentEstablishesCollectionLimitation } from "./assessmentEstablishesCollectionLimitation.js";
|
|
7
8
|
function focalAnchorPackage(assessment) {
|
|
8
9
|
const anchors = assessment.reviewFocalPoint.anchors;
|
|
9
10
|
if (!anchors.length)
|
|
@@ -42,7 +43,7 @@ function buildInterpretation(assessment, presentation, result) {
|
|
|
42
43
|
anchorPackage,
|
|
43
44
|
suppressRuntimeNarrative,
|
|
44
45
|
allowRuntimeNarrative: !suppressRuntimeNarrative,
|
|
45
|
-
showLimitedEvidence: assessment
|
|
46
|
+
showLimitedEvidence: assessmentEstablishesCollectionLimitation(assessment),
|
|
46
47
|
expectedImpactKey: null,
|
|
47
48
|
verificationLabels,
|
|
48
49
|
runtimeSurfaceLabel: null,
|
|
@@ -58,10 +59,10 @@ export function buildProfileFromAssessment(assessment, presentation, result) {
|
|
|
58
59
|
const priority = riParse.ok && (result.changedPackages?.length ?? 0) > 0
|
|
59
60
|
? "pr_intelligence"
|
|
60
61
|
: "limited";
|
|
62
|
+
const establishesCollectionLimitation = assessmentEstablishesCollectionLimitation(assessment);
|
|
61
63
|
const degradedMessage = verifiedNoTransitionSafe
|
|
62
64
|
? undefined
|
|
63
|
-
:
|
|
64
|
-
assessment.confidence === "low" ||
|
|
65
|
+
: establishesCollectionLimitation ||
|
|
65
66
|
hasPreparationUncertaintyWarnings(preparationWarnings)
|
|
66
67
|
? scanSurfaceCopy.presentation.limitedContextMessage
|
|
67
68
|
: priority === "limited"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AssessmentPresentationPublic } from "../assessment/types.js";
|
|
2
|
+
type PackageReachGuard = {
|
|
3
|
+
suppressRuntimeNarrative?: boolean;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Whether user-facing presentation may surface reach/runtime evidence derived from
|
|
7
|
+
* canonical Repository Intelligence. Assessment `reachVisibility` is the primary gate;
|
|
8
|
+
* package-level `suppressRuntimeNarrative` is a subordinate per-package guard.
|
|
9
|
+
*/
|
|
10
|
+
export declare function shouldSurfaceReachNarrative(presentation: Pick<AssessmentPresentationPublic, "reachVisibility">, packageWireRow?: PackageReachGuard): boolean;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=reachNarrativeGating.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reachNarrativeGating.d.ts","sourceRoot":"","sources":["../../src/presentation/reachNarrativeGating.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAE3E,KAAK,iBAAiB,GAAG;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,IAAI,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,EACnE,cAAc,CAAC,EAAE,iBAAiB,GACjC,OAAO,CAIT"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether user-facing presentation may surface reach/runtime evidence derived from
|
|
3
|
+
* canonical Repository Intelligence. Assessment `reachVisibility` is the primary gate;
|
|
4
|
+
* package-level `suppressRuntimeNarrative` is a subordinate per-package guard.
|
|
5
|
+
*/
|
|
6
|
+
export function shouldSurfaceReachNarrative(presentation, packageWireRow) {
|
|
7
|
+
if (presentation.reachVisibility === "hidden")
|
|
8
|
+
return false;
|
|
9
|
+
if (packageWireRow?.suppressRuntimeNarrative === true)
|
|
10
|
+
return false;
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ScanAnalysisScope, ScanQueueJob, ScanRequest } from "./types.js";
|
|
2
|
+
/** Expected fresh engine-output shape for context-aware ABI-5 validation. */
|
|
3
|
+
export type FreshEngineOutputExpectation = ScanAnalysisScope;
|
|
4
|
+
/**
|
|
5
|
+
* Resolves governed analysis scope from a normalized ScanRequest.
|
|
6
|
+
* Defaults to repository when unset.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveScanAnalysisScope(request: Pick<ScanRequest, "scanAnalysisScope">): ScanAnalysisScope;
|
|
9
|
+
/**
|
|
10
|
+
* Derives strict fresh-output validation expectation from the same normalized
|
|
11
|
+
* ScanRequest fact used by the engine producer.
|
|
12
|
+
*/
|
|
13
|
+
export declare function freshOutputExpectationFromScanRequest(request: Pick<ScanRequest, "scanAnalysisScope">): FreshEngineOutputExpectation;
|
|
14
|
+
/**
|
|
15
|
+
* Normalizes queue job context into engine ingress scope.
|
|
16
|
+
* GitHub PR jobs are change-request scoped; repository/manual jobs are repository scoped.
|
|
17
|
+
*/
|
|
18
|
+
export declare function scanAnalysisScopeFromQueueJob(job: Pick<ScanQueueJob, "github">): ScanAnalysisScope;
|
|
19
|
+
//# sourceMappingURL=scanAnalysisScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanAnalysisScope.d.ts","sourceRoot":"","sources":["../src/scanAnalysisScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/E,6EAA6E;AAC7E,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAC9C,iBAAiB,CAEnB;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAC9C,4BAA4B,CAE9B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChC,iBAAiB,CAEnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const DEFAULT_SCAN_ANALYSIS_SCOPE = "repository";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves governed analysis scope from a normalized ScanRequest.
|
|
4
|
+
* Defaults to repository when unset.
|
|
5
|
+
*/
|
|
6
|
+
export function resolveScanAnalysisScope(request) {
|
|
7
|
+
return request.scanAnalysisScope ?? DEFAULT_SCAN_ANALYSIS_SCOPE;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Derives strict fresh-output validation expectation from the same normalized
|
|
11
|
+
* ScanRequest fact used by the engine producer.
|
|
12
|
+
*/
|
|
13
|
+
export function freshOutputExpectationFromScanRequest(request) {
|
|
14
|
+
return resolveScanAnalysisScope(request);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Normalizes queue job context into engine ingress scope.
|
|
18
|
+
* GitHub PR jobs are change-request scoped; repository/manual jobs are repository scoped.
|
|
19
|
+
*/
|
|
20
|
+
export function scanAnalysisScopeFromQueueJob(job) {
|
|
21
|
+
return job.github ? "change_request" : "repository";
|
|
22
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReachVisibility } from "./assessment/types.js";
|
|
1
2
|
import type { ObservationSignalFamily } from "./cardObservationCatalog.js";
|
|
2
3
|
import type { MergePosture } from "./riskVocabulary.js";
|
|
3
4
|
import type { RiskSignals } from "./riskSignals.js";
|
|
@@ -134,6 +135,8 @@ export type ScanNarrativeFacts = {
|
|
|
134
135
|
/** @deprecated Use `riskSignals.riskIndex` — kept for frozen surface presenters. */
|
|
135
136
|
riskIndex: number | null;
|
|
136
137
|
riskSignals: RiskSignals | null;
|
|
138
|
+
/** Assessment presentation reach policy projected for narrative helpers (not a canonical RI fact). */
|
|
139
|
+
reachVisibility?: ReachVisibility | null;
|
|
137
140
|
};
|
|
138
141
|
export declare const EMPTY_SCAN_NARRATIVE_FACTS: ScanNarrativeFacts;
|
|
139
142
|
/** Derivation caps — presenters apply tighter channel limits. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanNarrativeFacts.d.ts","sourceRoot":"","sources":["../src/scanNarrativeFacts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scanNarrativeFacts.d.ts","sourceRoot":"","sources":["../src/scanNarrativeFacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,cAAc,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GACnC,IAAI,GACJ,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,GACP,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,UAAU,GACV,SAAS,GACT,QAAQ,GACR,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,UAAU,GACV,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,YAAY,GACZ,WAAW,GACX,WAAW,GACX,kBAAkB,GAClB,SAAS,CAAC;AAEd,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GACxB,IAAI,GACJ,sBAAsB,GACtB,2BAA2B,GAC3B,0BAA0B,CAAC;AAE/B,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,wBAAwB,EAAE,OAAO,CAAC;IAClC,gBAAgB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,wBAAwB,EAAE,OAAO,CAAC;IAClC,gBAAgB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE;QACZ,IAAI,EAAE,yBAAyB,CAAC;QAChC,yBAAyB,EAAE,OAAO,CAAC;QACnC,YAAY,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC;QACjE,qBAAqB,EAAE,2BAA2B,CAAC;QACnD,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;QAC9C,gBAAgB,EAAE,gBAAgB,CAAC;KACpC,CAAC;IAEF,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IAEF,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAEtC,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,cAAc,EAAE;QACd,IAAI,EAAE,kBAAkB,CAAC;QACzB,QAAQ,EAAE;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACnD,GAAG,IAAI,CAAC;IAET,YAAY,EAAE;QACZ,IAAI,EAAE,gBAAgB,CAAC;QACvB,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,UAAU,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACrD,GAAG,IAAI,CAAC;IAET,iEAAiE;IACjE,gBAAgB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAEjD,+EAA+E;IAC/E,uBAAuB,EAAE,uBAAuB,EAAE,CAAC;IAEnD,WAAW,EAAE;QACX,KAAK,EAAE,gBAAgB,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,GAAG,IAAI,CAAC;IAET,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAElC,QAAQ,EAAE,KAAK,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IAEH,gBAAgB,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,oBAAoB,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,qBAAqB,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC,CAAC;IAEH,UAAU,EAAE,4BAA4B,CAAC;IAEzC,iBAAiB,EAAE,KAAK,CAAC;QACvB,MAAM,EAAE,uBAAuB,CAAC;QAChC,MAAM,EAAE,uBAAuB,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;KACrE,CAAC,CAAC;IAEH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,oFAAoF;IACpF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,sGAAsG;IACtG,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBA0BxC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,2BAA2B,KAAK,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { FreshEngineOutputExpectation } from "./scanAnalysisScope.js";
|
|
2
3
|
import type { EngineEmittedScanResult, ScanResult } from "./types.js";
|
|
3
4
|
/** Bump when persisted `result` JSON validation rules change materially (relaxed / legacy-tolerant). */
|
|
4
5
|
export declare const SCAN_RESULT_ABI: "2";
|
|
5
6
|
/** Bump when strict fresh-engine-output validation rules change materially. */
|
|
6
|
-
export declare const ENGINE_OUTPUT_SCAN_ABI: "
|
|
7
|
+
export declare const ENGINE_OUTPUT_SCAN_ABI: "5";
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
9
|
+
* Legacy ingest helper only. Synthesizes repositoryHealth from legacy root graph
|
|
10
|
+
* scores when repositoryHealth is missing. Never synthesizes prRisk.
|
|
11
|
+
*
|
|
12
|
+
* Not invoked by strict fresh engine-output validation (`safeParseEngineOutputScanResult`).
|
|
10
13
|
*/
|
|
11
14
|
export declare function normalizeEngineOutputAbi4(raw: unknown): unknown;
|
|
12
15
|
/**
|
|
@@ -15,13 +18,13 @@ export declare function normalizeEngineOutputAbi4(raw: unknown): unknown;
|
|
|
15
18
|
* Unknown top-level keys are preserved (forward-compatible with newer engines).
|
|
16
19
|
*/
|
|
17
20
|
export declare const scanResultSchema: z.ZodObject<{
|
|
18
|
-
totalScore: z.ZodNumber
|
|
19
|
-
layerScores: z.ZodObject<{
|
|
21
|
+
totalScore: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
layerScores: z.ZodOptional<z.ZodObject<{
|
|
20
23
|
security: z.ZodNumber;
|
|
21
24
|
maintainability: z.ZodNumber;
|
|
22
25
|
ecosystem: z.ZodNumber;
|
|
23
26
|
upgradeImpact: z.ZodNumber;
|
|
24
|
-
}, z.core.$strip
|
|
27
|
+
}, z.core.$strip>>;
|
|
25
28
|
prRisk: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
26
29
|
availability: z.ZodOptional<z.ZodLiteral<"scored">>;
|
|
27
30
|
score: z.ZodNumber;
|
|
@@ -44,6 +47,32 @@ export declare const scanResultSchema: z.ZodObject<{
|
|
|
44
47
|
ecosystem: z.ZodNumber;
|
|
45
48
|
upgradeImpact: z.ZodNumber;
|
|
46
49
|
}, z.core.$strip>>;
|
|
50
|
+
explain: z.ZodOptional<z.ZodObject<{
|
|
51
|
+
reasons: z.ZodArray<z.ZodObject<{
|
|
52
|
+
id: z.ZodString;
|
|
53
|
+
layer: z.ZodEnum<{
|
|
54
|
+
security: "security";
|
|
55
|
+
maintainability: "maintainability";
|
|
56
|
+
ecosystem: "ecosystem";
|
|
57
|
+
upgradeImpact: "upgradeImpact";
|
|
58
|
+
}>;
|
|
59
|
+
title: z.ZodString;
|
|
60
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
scoreImpact: z.ZodNumber;
|
|
62
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
63
|
+
}, z.core.$strip>>;
|
|
64
|
+
}, z.core.$strip>>;
|
|
65
|
+
topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
66
|
+
id: z.ZodString;
|
|
67
|
+
layer: z.ZodEnum<{
|
|
68
|
+
security: "security";
|
|
69
|
+
maintainability: "maintainability";
|
|
70
|
+
ecosystem: "ecosystem";
|
|
71
|
+
upgradeImpact: "upgradeImpact";
|
|
72
|
+
}>;
|
|
73
|
+
scoreImpact: z.ZodNumber;
|
|
74
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
75
|
+
}, z.core.$strip>>>;
|
|
47
76
|
}, z.core.$strip>>;
|
|
48
77
|
findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
|
|
49
78
|
methodologyVersion: z.ZodOptional<z.ZodString>;
|
|
@@ -76,18 +105,57 @@ export declare const scanResultSchema: z.ZodObject<{
|
|
|
76
105
|
}, z.core.$loose>>;
|
|
77
106
|
codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
|
|
78
107
|
}, z.core.$loose>;
|
|
79
|
-
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
108
|
+
/** Strict schema for fresh repository-scoped `analyze()` output. */
|
|
109
|
+
export declare const repositoryEngineOutputScanResultSchema: z.ZodObject<{
|
|
110
|
+
prRisk: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
111
|
+
availability: z.ZodOptional<z.ZodLiteral<"scored">>;
|
|
112
|
+
score: z.ZodNumber;
|
|
113
|
+
layerScores: z.ZodOptional<z.ZodObject<{
|
|
114
|
+
security: z.ZodNumber;
|
|
115
|
+
maintainability: z.ZodNumber;
|
|
116
|
+
ecosystem: z.ZodNumber;
|
|
117
|
+
upgradeImpact: z.ZodNumber;
|
|
118
|
+
}, z.core.$strip>>;
|
|
119
|
+
qualifier: z.ZodOptional<z.ZodLiteral<"limited_evidence">>;
|
|
120
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
121
|
+
availability: z.ZodLiteral<"indeterminate">;
|
|
122
|
+
qualifier: z.ZodOptional<z.ZodLiteral<"limited_evidence">>;
|
|
123
|
+
}, z.core.$strip>]>>;
|
|
124
|
+
repositoryHealth: z.ZodOptional<z.ZodObject<{
|
|
125
|
+
totalScore: z.ZodNumber;
|
|
126
|
+
layerScores: z.ZodOptional<z.ZodObject<{
|
|
127
|
+
security: z.ZodNumber;
|
|
128
|
+
maintainability: z.ZodNumber;
|
|
129
|
+
ecosystem: z.ZodNumber;
|
|
130
|
+
upgradeImpact: z.ZodNumber;
|
|
131
|
+
}, z.core.$strip>>;
|
|
132
|
+
explain: z.ZodOptional<z.ZodObject<{
|
|
133
|
+
reasons: z.ZodArray<z.ZodObject<{
|
|
134
|
+
id: z.ZodString;
|
|
135
|
+
layer: z.ZodEnum<{
|
|
136
|
+
security: "security";
|
|
137
|
+
maintainability: "maintainability";
|
|
138
|
+
ecosystem: "ecosystem";
|
|
139
|
+
upgradeImpact: "upgradeImpact";
|
|
140
|
+
}>;
|
|
141
|
+
title: z.ZodString;
|
|
142
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
scoreImpact: z.ZodNumber;
|
|
144
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
145
|
+
}, z.core.$strip>>;
|
|
146
|
+
}, z.core.$strip>>;
|
|
147
|
+
topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
148
|
+
id: z.ZodString;
|
|
149
|
+
layer: z.ZodEnum<{
|
|
150
|
+
security: "security";
|
|
151
|
+
maintainability: "maintainability";
|
|
152
|
+
ecosystem: "ecosystem";
|
|
153
|
+
upgradeImpact: "upgradeImpact";
|
|
154
|
+
}>;
|
|
155
|
+
scoreImpact: z.ZodNumber;
|
|
156
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
157
|
+
}, z.core.$strip>>>;
|
|
158
|
+
}, z.core.$strip>>;
|
|
91
159
|
findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
|
|
92
160
|
confidence: z.ZodOptional<z.ZodEnum<{
|
|
93
161
|
low: "low";
|
|
@@ -118,6 +186,44 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
|
|
|
118
186
|
codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
|
|
119
187
|
methodologyVersion: z.ZodString;
|
|
120
188
|
generatedAt: z.ZodString;
|
|
189
|
+
totalScore: z.ZodNumber;
|
|
190
|
+
layerScores: z.ZodObject<{
|
|
191
|
+
security: z.ZodNumber;
|
|
192
|
+
maintainability: z.ZodNumber;
|
|
193
|
+
ecosystem: z.ZodNumber;
|
|
194
|
+
upgradeImpact: z.ZodNumber;
|
|
195
|
+
}, z.core.$strip>;
|
|
196
|
+
}, z.core.$loose>;
|
|
197
|
+
/**
|
|
198
|
+
* Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
|
|
199
|
+
* historical `scans.result` blobs from the database.
|
|
200
|
+
*
|
|
201
|
+
* Prefer {@link engineOutputScanResultSchemaFor} with an explicit analysis-scope expectation.
|
|
202
|
+
*/
|
|
203
|
+
export declare const engineOutputScanResultSchema: z.ZodObject<{
|
|
204
|
+
totalScore: z.ZodOptional<z.ZodNumber>;
|
|
205
|
+
layerScores: z.ZodOptional<z.ZodObject<{
|
|
206
|
+
security: z.ZodNumber;
|
|
207
|
+
maintainability: z.ZodNumber;
|
|
208
|
+
ecosystem: z.ZodNumber;
|
|
209
|
+
upgradeImpact: z.ZodNumber;
|
|
210
|
+
}, z.core.$strip>>;
|
|
211
|
+
findings: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodNull]>>, z.ZodTransform<unknown[], unknown[] | null | undefined>>;
|
|
212
|
+
confidence: z.ZodOptional<z.ZodEnum<{
|
|
213
|
+
low: "low";
|
|
214
|
+
medium: "medium";
|
|
215
|
+
high: "high";
|
|
216
|
+
}>>;
|
|
217
|
+
signals: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
218
|
+
contributions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
219
|
+
recommendations: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
220
|
+
dataset: z.ZodOptional<z.ZodUnknown>;
|
|
221
|
+
explain: z.ZodOptional<z.ZodUnknown>;
|
|
222
|
+
graphInsights: z.ZodOptional<z.ZodUnknown>;
|
|
223
|
+
insights: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
224
|
+
codeAnalysisMetrics: z.ZodOptional<z.ZodUnknown>;
|
|
225
|
+
methodologyVersion: z.ZodString;
|
|
226
|
+
generatedAt: z.ZodString;
|
|
121
227
|
assessment: z.ZodObject<{
|
|
122
228
|
reviewFocalPoint: z.ZodObject<{
|
|
123
229
|
episodeShape: z.ZodEnum<{
|
|
@@ -414,6 +520,20 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
|
|
|
414
520
|
detail: z.ZodOptional<z.ZodString>;
|
|
415
521
|
}, z.core.$strip>>>;
|
|
416
522
|
}, z.core.$strip>;
|
|
523
|
+
decision: z.ZodObject<{
|
|
524
|
+
recommendation: z.ZodEnum<{
|
|
525
|
+
safe: "safe";
|
|
526
|
+
needs_review: "needs_review";
|
|
527
|
+
risky: "risky";
|
|
528
|
+
indeterminate: "indeterminate";
|
|
529
|
+
}>;
|
|
530
|
+
confidence: z.ZodOptional<z.ZodEnum<{
|
|
531
|
+
low: "low";
|
|
532
|
+
medium: "medium";
|
|
533
|
+
high: "high";
|
|
534
|
+
}>>;
|
|
535
|
+
reasoning: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
536
|
+
}, z.core.$loose>;
|
|
417
537
|
prRisk: z.ZodUnion<readonly [z.ZodObject<{
|
|
418
538
|
availability: z.ZodOptional<z.ZodLiteral<"scored">>;
|
|
419
539
|
score: z.ZodNumber;
|
|
@@ -436,6 +556,32 @@ export declare const engineOutputScanResultSchema: z.ZodObject<{
|
|
|
436
556
|
ecosystem: z.ZodNumber;
|
|
437
557
|
upgradeImpact: z.ZodNumber;
|
|
438
558
|
}, z.core.$strip>>;
|
|
559
|
+
explain: z.ZodOptional<z.ZodObject<{
|
|
560
|
+
reasons: z.ZodArray<z.ZodObject<{
|
|
561
|
+
id: z.ZodString;
|
|
562
|
+
layer: z.ZodEnum<{
|
|
563
|
+
security: "security";
|
|
564
|
+
maintainability: "maintainability";
|
|
565
|
+
ecosystem: "ecosystem";
|
|
566
|
+
upgradeImpact: "upgradeImpact";
|
|
567
|
+
}>;
|
|
568
|
+
title: z.ZodString;
|
|
569
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
570
|
+
scoreImpact: z.ZodNumber;
|
|
571
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
572
|
+
}, z.core.$strip>>;
|
|
573
|
+
}, z.core.$strip>>;
|
|
574
|
+
topContributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
575
|
+
id: z.ZodString;
|
|
576
|
+
layer: z.ZodEnum<{
|
|
577
|
+
security: "security";
|
|
578
|
+
maintainability: "maintainability";
|
|
579
|
+
ecosystem: "ecosystem";
|
|
580
|
+
upgradeImpact: "upgradeImpact";
|
|
581
|
+
}>;
|
|
582
|
+
scoreImpact: z.ZodNumber;
|
|
583
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
584
|
+
}, z.core.$strip>>>;
|
|
439
585
|
}, z.core.$strip>;
|
|
440
586
|
}, z.core.$loose>;
|
|
441
587
|
export type EngineOutputScanResultParseFailure = {
|
|
@@ -447,9 +593,10 @@ export type EngineOutputScanResultParseSuccess = {
|
|
|
447
593
|
ok: true;
|
|
448
594
|
result: EngineEmittedScanResult;
|
|
449
595
|
};
|
|
450
|
-
export declare function
|
|
596
|
+
export declare function engineOutputScanResultSchemaFor(expectation: FreshEngineOutputExpectation): z.ZodType;
|
|
597
|
+
export declare function safeParseEngineOutputScanResult(data: unknown, expectation: FreshEngineOutputExpectation): EngineOutputScanResultParseSuccess | EngineOutputScanResultParseFailure;
|
|
451
598
|
/** Validates fresh engine output; throws on failure. Not for legacy persisted JSON. */
|
|
452
|
-
export declare function parseEngineOutputScanResultOrThrow(data: unknown): EngineEmittedScanResult;
|
|
599
|
+
export declare function parseEngineOutputScanResultOrThrow(data: unknown, expectation: FreshEngineOutputExpectation): EngineEmittedScanResult;
|
|
453
600
|
export type ScanResultParseFailure = {
|
|
454
601
|
ok: false;
|
|
455
602
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanResultSchema.d.ts","sourceRoot":"","sources":["../src/scanResultSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,wGAAwG;AACxG,eAAO,MAAM,eAAe,EAAG,GAAY,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,EAAG,GAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scanResultSchema.d.ts","sourceRoot":"","sources":["../src/scanResultSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE,wGAAwG;AACxG,eAAO,MAAM,eAAe,EAAG,GAAY,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,EAAG,GAAY,CAAC;AAyHnD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAa/D;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBb,CAAC;AA2BjB,oEAAoE;AACpE,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW7C,CAAC;AAEP;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACE,CAAC;AAE5C,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAEF,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,4BAA4B,GACxC,CAAC,CAAC,OAAO,CAIX;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,4BAA4B,GACxC,kCAAkC,GAAG,kCAAkC,CAazE;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,4BAA4B,GACxC,uBAAuB,CAMzB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GACZ,sBAAsB,GAAG,sBAAsB,CAajD;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAMhE"}
|
package/dist/scanResultSchema.js
CHANGED
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
/** Bump when persisted `result` JSON validation rules change materially (relaxed / legacy-tolerant). */
|
|
4
4
|
export const SCAN_RESULT_ABI = "2";
|
|
5
5
|
/** Bump when strict fresh-engine-output validation rules change materially. */
|
|
6
|
-
export const ENGINE_OUTPUT_SCAN_ABI = "
|
|
6
|
+
export const ENGINE_OUTPUT_SCAN_ABI = "5";
|
|
7
7
|
const layerScoresSchema = z.object({
|
|
8
8
|
security: z.number(),
|
|
9
9
|
maintainability: z.number(),
|
|
@@ -21,13 +21,89 @@ const prRiskIndeterminateSchema = z.object({
|
|
|
21
21
|
qualifier: z.literal("limited_evidence").optional(),
|
|
22
22
|
});
|
|
23
23
|
const prRiskSchema = z.union([prRiskScoredSchema, prRiskIndeterminateSchema]);
|
|
24
|
+
const explainReasonSchema = z.object({
|
|
25
|
+
id: z.string(),
|
|
26
|
+
layer: z.enum(["security", "maintainability", "ecosystem", "upgradeImpact"]),
|
|
27
|
+
title: z.string(),
|
|
28
|
+
value: z.number().optional(),
|
|
29
|
+
scoreImpact: z.number(),
|
|
30
|
+
evidence: z.record(z.string(), z.unknown()).optional(),
|
|
31
|
+
});
|
|
32
|
+
const explainBlockSchema = z.object({
|
|
33
|
+
reasons: z.array(explainReasonSchema),
|
|
34
|
+
});
|
|
35
|
+
const scoreContributionSchema = z.object({
|
|
36
|
+
id: z.string(),
|
|
37
|
+
layer: z.enum(["security", "maintainability", "ecosystem", "upgradeImpact"]),
|
|
38
|
+
scoreImpact: z.number(),
|
|
39
|
+
evidence: z.record(z.string(), z.unknown()).optional(),
|
|
40
|
+
});
|
|
24
41
|
const repositoryHealthSchema = z.object({
|
|
25
42
|
totalScore: z.number().min(0).max(100),
|
|
26
43
|
layerScores: layerScoresSchema.optional(),
|
|
44
|
+
explain: explainBlockSchema.optional(),
|
|
45
|
+
topContributions: z.array(scoreContributionSchema).optional(),
|
|
27
46
|
});
|
|
47
|
+
const decisionSchema = z
|
|
48
|
+
.object({
|
|
49
|
+
recommendation: z.enum(["safe", "needs_review", "risky", "indeterminate"]),
|
|
50
|
+
confidence: z.enum(["low", "medium", "high"]).optional(),
|
|
51
|
+
reasoning: z.array(z.string()).optional(),
|
|
52
|
+
})
|
|
53
|
+
.passthrough();
|
|
54
|
+
const MODERN_PR_FORBIDDEN_ROOT_KEYS = [
|
|
55
|
+
"totalScore",
|
|
56
|
+
"layerScores",
|
|
57
|
+
"signals",
|
|
58
|
+
"contributions",
|
|
59
|
+
"explain",
|
|
60
|
+
];
|
|
61
|
+
function refineChangeRequestForbiddenRoots(obj, ctx) {
|
|
62
|
+
if (obj.prRisk === undefined) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
for (const key of MODERN_PR_FORBIDDEN_ROOT_KEYS) {
|
|
66
|
+
if (obj[key] !== undefined) {
|
|
67
|
+
ctx.addIssue({
|
|
68
|
+
code: z.ZodIssueCode.custom,
|
|
69
|
+
message: `Change-request engine output must not emit root \`${key}\``,
|
|
70
|
+
path: [key],
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (obj.assessment !== undefined && obj.confidence !== undefined) {
|
|
75
|
+
ctx.addIssue({
|
|
76
|
+
code: z.ZodIssueCode.custom,
|
|
77
|
+
message: "Change-request engine output must not emit root `confidence` when assessment is present",
|
|
78
|
+
path: ["confidence"],
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function refineRepositoryForbiddenPrAuthorities(obj, ctx) {
|
|
83
|
+
if (obj.prRisk !== undefined) {
|
|
84
|
+
ctx.addIssue({
|
|
85
|
+
code: z.ZodIssueCode.custom,
|
|
86
|
+
message: "Repository-scoped engine output must not emit `prRisk`",
|
|
87
|
+
path: ["prRisk"],
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (obj.repositoryHealth !== undefined) {
|
|
91
|
+
ctx.addIssue({
|
|
92
|
+
code: z.ZodIssueCode.custom,
|
|
93
|
+
message: "Repository-scoped engine output must not emit `repositoryHealth`",
|
|
94
|
+
path: ["repositoryHealth"],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** @deprecated Use refineChangeRequestForbiddenRoots — kept for transitional reads. */
|
|
99
|
+
function refineModernPrForbiddenRoots(obj, ctx) {
|
|
100
|
+
refineChangeRequestForbiddenRoots(obj, ctx);
|
|
101
|
+
}
|
|
28
102
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
103
|
+
* Legacy ingest helper only. Synthesizes repositoryHealth from legacy root graph
|
|
104
|
+
* scores when repositoryHealth is missing. Never synthesizes prRisk.
|
|
105
|
+
*
|
|
106
|
+
* Not invoked by strict fresh engine-output validation (`safeParseEngineOutputScanResult`).
|
|
31
107
|
*/
|
|
32
108
|
export function normalizeEngineOutputAbi4(raw) {
|
|
33
109
|
if (!raw || typeof raw !== "object")
|
|
@@ -42,7 +118,6 @@ export function normalizeEngineOutputAbi4(raw) {
|
|
|
42
118
|
return raw;
|
|
43
119
|
return {
|
|
44
120
|
...obj,
|
|
45
|
-
prRisk: obj.prRisk ?? { score: totalScore, layerScores },
|
|
46
121
|
repositoryHealth: obj.repositoryHealth ?? { totalScore, layerScores },
|
|
47
122
|
};
|
|
48
123
|
}
|
|
@@ -53,8 +128,8 @@ export function normalizeEngineOutputAbi4(raw) {
|
|
|
53
128
|
*/
|
|
54
129
|
export const scanResultSchema = z
|
|
55
130
|
.object({
|
|
56
|
-
totalScore: z.number().min(0).max(100),
|
|
57
|
-
layerScores: layerScoresSchema,
|
|
131
|
+
totalScore: z.number().min(0).max(100).optional(),
|
|
132
|
+
layerScores: layerScoresSchema.optional(),
|
|
58
133
|
prRisk: prRiskSchema.optional(),
|
|
59
134
|
repositoryHealth: repositoryHealthSchema.optional(),
|
|
60
135
|
findings: z
|
|
@@ -71,19 +146,7 @@ export const scanResultSchema = z
|
|
|
71
146
|
graphInsights: z.unknown().optional(),
|
|
72
147
|
generatedAt: z.string().min(1),
|
|
73
148
|
insights: z.array(z.unknown()).optional(),
|
|
74
|
-
decision:
|
|
75
|
-
.object({
|
|
76
|
-
recommendation: z.enum([
|
|
77
|
-
"safe",
|
|
78
|
-
"needs_review",
|
|
79
|
-
"risky",
|
|
80
|
-
"indeterminate",
|
|
81
|
-
]),
|
|
82
|
-
confidence: z.enum(["low", "medium", "high"]).optional(),
|
|
83
|
-
reasoning: z.array(z.string()).optional(),
|
|
84
|
-
})
|
|
85
|
-
.passthrough()
|
|
86
|
-
.optional(),
|
|
149
|
+
decision: decisionSchema.optional(),
|
|
87
150
|
codeAnalysisMetrics: z.unknown().optional(),
|
|
88
151
|
})
|
|
89
152
|
.passthrough();
|
|
@@ -94,19 +157,44 @@ const engineOutputGeneratedAtSchema = z
|
|
|
94
157
|
.refine((s) => !Number.isNaN(Date.parse(s)), {
|
|
95
158
|
error: "generatedAt must be a parseable ISO-8601 timestamp",
|
|
96
159
|
});
|
|
97
|
-
|
|
98
|
-
* Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
|
|
99
|
-
* historical `scans.result` blobs from the database.
|
|
100
|
-
*/
|
|
101
|
-
export const engineOutputScanResultSchema = scanResultSchema.extend({
|
|
160
|
+
const freshEngineOutputBaseSchema = scanResultSchema.extend({
|
|
102
161
|
methodologyVersion: z.string().trim().min(1),
|
|
103
162
|
generatedAt: engineOutputGeneratedAtSchema,
|
|
163
|
+
});
|
|
164
|
+
/** Strict schema for fresh change-request `analyze()` output. */
|
|
165
|
+
const changeRequestEngineOutputScanResultSchema = freshEngineOutputBaseSchema
|
|
166
|
+
.extend({
|
|
104
167
|
assessment: assessmentSchema,
|
|
168
|
+
decision: decisionSchema,
|
|
105
169
|
prRisk: prRiskSchema,
|
|
106
170
|
repositoryHealth: repositoryHealthSchema,
|
|
171
|
+
})
|
|
172
|
+
.superRefine((obj, ctx) => {
|
|
173
|
+
refineChangeRequestForbiddenRoots(obj, ctx);
|
|
174
|
+
});
|
|
175
|
+
/** Strict schema for fresh repository-scoped `analyze()` output. */
|
|
176
|
+
export const repositoryEngineOutputScanResultSchema = freshEngineOutputBaseSchema
|
|
177
|
+
.extend({
|
|
178
|
+
totalScore: z.number().min(0).max(100),
|
|
179
|
+
layerScores: layerScoresSchema,
|
|
180
|
+
})
|
|
181
|
+
.superRefine((obj, ctx) => {
|
|
182
|
+
refineRepositoryForbiddenPrAuthorities(obj, ctx);
|
|
107
183
|
});
|
|
108
|
-
|
|
109
|
-
|
|
184
|
+
/**
|
|
185
|
+
* Stricter schema for **fresh** `analyze()` output only. Do not use when hydrating
|
|
186
|
+
* historical `scans.result` blobs from the database.
|
|
187
|
+
*
|
|
188
|
+
* Prefer {@link engineOutputScanResultSchemaFor} with an explicit analysis-scope expectation.
|
|
189
|
+
*/
|
|
190
|
+
export const engineOutputScanResultSchema = changeRequestEngineOutputScanResultSchema;
|
|
191
|
+
export function engineOutputScanResultSchemaFor(expectation) {
|
|
192
|
+
return expectation === "change_request"
|
|
193
|
+
? changeRequestEngineOutputScanResultSchema
|
|
194
|
+
: repositoryEngineOutputScanResultSchema;
|
|
195
|
+
}
|
|
196
|
+
export function safeParseEngineOutputScanResult(data, expectation) {
|
|
197
|
+
const parsed = engineOutputScanResultSchemaFor(expectation).safeParse(data);
|
|
110
198
|
if (!parsed.success) {
|
|
111
199
|
const issues = parsed.error.issues.map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`);
|
|
112
200
|
return {
|
|
@@ -118,8 +206,8 @@ export function safeParseEngineOutputScanResult(data) {
|
|
|
118
206
|
return { ok: true, result: parsed.data };
|
|
119
207
|
}
|
|
120
208
|
/** Validates fresh engine output; throws on failure. Not for legacy persisted JSON. */
|
|
121
|
-
export function parseEngineOutputScanResultOrThrow(data) {
|
|
122
|
-
const r = safeParseEngineOutputScanResult(data);
|
|
209
|
+
export function parseEngineOutputScanResultOrThrow(data, expectation) {
|
|
210
|
+
const r = safeParseEngineOutputScanResult(data, expectation);
|
|
123
211
|
if (!r.ok) {
|
|
124
212
|
throw new Error(`validation: ${r.message}`);
|
|
125
213
|
}
|
|
@@ -307,7 +307,7 @@ export declare const scanSurfaceCopy: {
|
|
|
307
307
|
readonly runtimeUpgradeHeadline: "{package} runtime upgrade affects {surface}";
|
|
308
308
|
readonly unresolvedRuntimeExposureHeadline: "{package} upgrade leaves unresolved exposure on {surface}";
|
|
309
309
|
readonly safeNeutralHeadline: "{package} dependency upgrade";
|
|
310
|
-
readonly indeterminateUpgradeHeadline: "{package} dependency upgrade
|
|
310
|
+
readonly indeterminateUpgradeHeadline: "{package} dependency upgrade: merge safety not established";
|
|
311
311
|
readonly defaultUpgradeHeadline: "{package} dependency upgrade needs review";
|
|
312
312
|
readonly changedPackageKeyPoint: "Changed package: {package}";
|
|
313
313
|
readonly usedInPathsSingle: "Used across application code ({path})";
|
package/dist/scanSurfaceCopy.js
CHANGED
|
@@ -310,7 +310,7 @@ export const scanSurfaceCopy = {
|
|
|
310
310
|
runtimeUpgradeHeadline: "{package} runtime upgrade affects {surface}",
|
|
311
311
|
unresolvedRuntimeExposureHeadline: "{package} upgrade leaves unresolved exposure on {surface}",
|
|
312
312
|
safeNeutralHeadline: "{package} dependency upgrade",
|
|
313
|
-
indeterminateUpgradeHeadline: "{package} dependency upgrade
|
|
313
|
+
indeterminateUpgradeHeadline: "{package} dependency upgrade: merge safety not established",
|
|
314
314
|
defaultUpgradeHeadline: "{package} dependency upgrade needs review",
|
|
315
315
|
changedPackageKeyPoint: "Changed package: {package}",
|
|
316
316
|
usedInPathsSingle: "Used across application code ({path})",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectTopAffectedAreas.d.ts","sourceRoot":"","sources":["../src/selectTopAffectedAreas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,GAAE,eAAoB,GACzB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"selectTopAffectedAreas.d.ts","sourceRoot":"","sources":["../src/selectTopAffectedAreas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,GAAE,eAAoB,GACzB,MAAM,EAAE,CA0EV"}
|
|
@@ -32,9 +32,10 @@ export function selectTopAffectedAreas(result, opts = {}) {
|
|
|
32
32
|
areas.push(t);
|
|
33
33
|
return areas.length < max;
|
|
34
34
|
}
|
|
35
|
-
// Priority 1: explain
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
// Priority 1: repositoryHealth.explain then historical root explain
|
|
36
|
+
const explainReasons = result.repositoryHealth?.explain?.reasons ?? result.explain?.reasons;
|
|
37
|
+
if (Array.isArray(explainReasons)) {
|
|
38
|
+
const sorted = [...explainReasons]
|
|
38
39
|
.filter((r) => r.title)
|
|
39
40
|
.sort((a, b) => Math.abs(b.scoreImpact ?? 0) - Math.abs(a.scoreImpact ?? 0));
|
|
40
41
|
for (const r of sorted) {
|
|
@@ -64,7 +65,7 @@ export function selectTopAffectedAreas(result, opts = {}) {
|
|
|
64
65
|
ecosystem: "Ecosystem",
|
|
65
66
|
upgradeImpact: "Upgrade impact",
|
|
66
67
|
};
|
|
67
|
-
const layerScores = result.layerScores;
|
|
68
|
+
const layerScores = result.repositoryHealth?.layerScores ?? result.layerScores;
|
|
68
69
|
if (!layerScores || typeof layerScores !== "object")
|
|
69
70
|
return areas;
|
|
70
71
|
const sorted = Object.entries(layerScores)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FreshEngineOutputExpectation } from "./scanAnalysisScope.js";
|
|
1
2
|
import type { EngineEmittedScanResult, ScanResult } from "./types.js";
|
|
2
3
|
/** True when methodology is tagged as the OSS stub engine. */
|
|
3
4
|
export declare function isStubMethodologyVersion(methodologyVersion: string | undefined): boolean;
|
|
@@ -19,7 +20,7 @@ export declare function assertTrustedScanResult(result: ScanResult): void;
|
|
|
19
20
|
* Strict structural validation for fresh engine JSON + trusted policy.
|
|
20
21
|
* Do not pass historical `scans.result` rows (may omit methodology).
|
|
21
22
|
*/
|
|
22
|
-
export declare function validateTrustedEngineScanResult(raw: unknown): EngineEmittedScanResult;
|
|
23
|
+
export declare function validateTrustedEngineScanResult(raw: unknown, expectation: FreshEngineOutputExpectation): EngineEmittedScanResult;
|
|
23
24
|
export type TrustedActionsAuditResult = {
|
|
24
25
|
ok: true;
|
|
25
26
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustedScanGuards.d.ts","sourceRoot":"","sources":["../src/trustedScanGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKtE,8DAA8D;AAC9D,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,IAAI,SAAS,MAAM,EAAE,CAOxE;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAchE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"trustedScanGuards.d.ts","sourceRoot":"","sources":["../src/trustedScanGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKtE,8DAA8D;AAC9D,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,IAAI,SAAS,MAAM,EAAE,CAOxE;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAchE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,4BAA4B,GACxC,uBAAuB,CAIzB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,yBAAyB,CAgC5B"}
|
|
@@ -50,8 +50,8 @@ export function assertTrustedScanResult(result) {
|
|
|
50
50
|
* Strict structural validation for fresh engine JSON + trusted policy.
|
|
51
51
|
* Do not pass historical `scans.result` rows (may omit methodology).
|
|
52
52
|
*/
|
|
53
|
-
export function validateTrustedEngineScanResult(raw) {
|
|
54
|
-
const result = parseEngineOutputScanResultOrThrow(raw);
|
|
53
|
+
export function validateTrustedEngineScanResult(raw, expectation) {
|
|
54
|
+
const result = parseEngineOutputScanResultOrThrow(raw, expectation);
|
|
55
55
|
assertTrustedScanResult(result);
|
|
56
56
|
return result;
|
|
57
57
|
}
|
|
@@ -66,7 +66,7 @@ export function auditTrustedActionsOutput(opts) {
|
|
|
66
66
|
}
|
|
67
67
|
let scanResult;
|
|
68
68
|
try {
|
|
69
|
-
scanResult = validateTrustedEngineScanResult(opts.scanResult);
|
|
69
|
+
scanResult = validateTrustedEngineScanResult(opts.scanResult, "repository");
|
|
70
70
|
}
|
|
71
71
|
catch (e) {
|
|
72
72
|
errors.push(e instanceof Error ? e.message : String(e));
|
package/dist/types.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export type PrRiskWire = PrRiskWireScored | PrRiskWireIndeterminate;
|
|
|
24
24
|
export type RepositoryHealthWire = {
|
|
25
25
|
totalScore: number;
|
|
26
26
|
layerScores?: LayerScores;
|
|
27
|
+
explain?: ExplainBlock;
|
|
28
|
+
topContributions?: ScoreContribution[];
|
|
27
29
|
};
|
|
28
30
|
export type FindingSeverity = "low" | "medium" | "high" | "critical";
|
|
29
31
|
/**
|
|
@@ -93,22 +95,20 @@ export type AnalysisPreparation = {
|
|
|
93
95
|
warnings: AnalysisContextWarning[];
|
|
94
96
|
repoIntelligenceValidation?: RepoIntelligenceValidation;
|
|
95
97
|
};
|
|
96
|
-
/** Subset of PR identity passed into analysis (no installation tokens). */
|
|
97
|
-
export type ScanRequestGithubContext = {
|
|
98
|
-
owner: string;
|
|
99
|
-
repo: string;
|
|
100
|
-
prNumber: number;
|
|
101
|
-
};
|
|
102
98
|
export type { LockfileEvidenceStatus } from "./lockfileEvidence.js";
|
|
99
|
+
/** Neutral analysis scope — repository-wide vs change-request scoped analysis. */
|
|
100
|
+
export type ScanAnalysisScope = "repository" | "change_request";
|
|
103
101
|
export type ScanRequest = {
|
|
104
102
|
repoId: string;
|
|
105
103
|
dependencyGraph: unknown;
|
|
106
104
|
lockfile?: ScanLockfileInput;
|
|
107
105
|
/** Base branch lockfile for PR scans (optional). */
|
|
108
106
|
baseLockfile?: ScanLockfileInput;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
/**
|
|
108
|
+
* Governs change-request vs repository output semantics at engine ingress.
|
|
109
|
+
* Defaults to `repository` when unset.
|
|
110
|
+
*/
|
|
111
|
+
scanAnalysisScope?: ScanAnalysisScope;
|
|
112
112
|
changedPackages?: string[];
|
|
113
113
|
/** When both base and head lockfiles were compared in the worker. */
|
|
114
114
|
lockfilePackageDelta?: LockfilePackageDelta;
|
|
@@ -275,8 +275,8 @@ export type EngineeringTrace = {
|
|
|
275
275
|
};
|
|
276
276
|
export type ScanResult = {
|
|
277
277
|
/** Legacy composite score — historical fallback only; not PR Risk authority on ABI-4 output. */
|
|
278
|
-
totalScore
|
|
279
|
-
layerScores
|
|
278
|
+
totalScore?: number;
|
|
279
|
+
layerScores?: LayerScores;
|
|
280
280
|
/** PR Risk authority on ABI-4 engine output. */
|
|
281
281
|
prRisk?: PrRiskWire;
|
|
282
282
|
/** Repository health authority on ABI-4 engine output. */
|
|
@@ -285,6 +285,10 @@ export type ScanResult = {
|
|
|
285
285
|
methodologyVersion?: string;
|
|
286
286
|
/** Assessment Contract — sole authority for posture and presentation intensity. */
|
|
287
287
|
assessment?: Assessment;
|
|
288
|
+
/**
|
|
289
|
+
* Legacy graph-scoring input-coverage confidence — omitted on ABI-4 output when
|
|
290
|
+
* {@link assessment} is present. Use `assessment.confidence` for merge-decision confidence.
|
|
291
|
+
*/
|
|
288
292
|
confidence?: RiskConfidence;
|
|
289
293
|
signals?: RiskSignal[];
|
|
290
294
|
contributions?: ScoreContribution[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|