@gate-forge/core 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classifier/bind.d.ts +2 -0
- package/dist/classifier/bind.d.ts.map +1 -1
- package/dist/classifier/bind.js +8 -0
- package/dist/classifier/bind.js.map +1 -1
- package/dist/classifier/classify.d.ts +2 -0
- package/dist/classifier/classify.d.ts.map +1 -1
- package/dist/classifier/classify.js +127 -2
- package/dist/classifier/classify.js.map +1 -1
- package/dist/classifier/index.d.ts +2 -2
- package/dist/classifier/index.d.ts.map +1 -1
- package/dist/classifier/index.js +1 -1
- package/dist/classifier/index.js.map +1 -1
- package/dist/classifier/schema.d.ts +54 -0
- package/dist/classifier/schema.d.ts.map +1 -1
- package/dist/classifier/schema.js +17 -0
- package/dist/classifier/schema.js.map +1 -1
- package/dist/config/index.d.ts +186 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +327 -1
- package/dist/config/index.js.map +1 -1
- package/dist/graph/schema.d.ts +34 -0
- package/dist/graph/schema.d.ts.map +1 -1
- package/dist/index.d.ts +80 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -6
- package/dist/index.js.map +1 -1
- package/dist/mapping/resolve.d.ts +32 -1
- package/dist/mapping/resolve.d.ts.map +1 -1
- package/dist/mapping/resolve.js +297 -65
- package/dist/mapping/resolve.js.map +1 -1
- package/dist/policy/evaluate.d.ts +30 -0
- package/dist/policy/evaluate.d.ts.map +1 -1
- package/dist/policy/evaluate.js +22 -12
- package/dist/policy/evaluate.js.map +1 -1
- package/dist/quarantine/index.d.ts +82 -0
- package/dist/quarantine/index.d.ts.map +1 -0
- package/dist/quarantine/index.js +194 -0
- package/dist/quarantine/index.js.map +1 -0
- package/dist/receipt/index.d.ts +65 -1
- package/dist/receipt/index.d.ts.map +1 -1
- package/dist/receipt/index.js +115 -1
- package/dist/receipt/index.js.map +1 -1
- package/dist/report/human-message.d.ts +33 -0
- package/dist/report/human-message.d.ts.map +1 -0
- package/dist/report/human-message.js +33 -0
- package/dist/report/human-message.js.map +1 -0
- package/dist/report/index.d.ts +183 -9
- package/dist/report/index.d.ts.map +1 -1
- package/dist/report/index.js +317 -23
- package/dist/report/index.js.map +1 -1
- package/dist/schemas/adoption.d.ts +2 -0
- package/dist/schemas/adoption.d.ts.map +1 -1
- package/dist/schemas/adoption.js +6 -0
- package/dist/schemas/adoption.js.map +1 -1
- package/dist/schemas/behavior-catalog.d.ts +12 -0
- package/dist/schemas/behavior-catalog.d.ts.map +1 -1
- package/dist/schemas/behavior-evidence.d.ts +40 -0
- package/dist/schemas/behavior-evidence.d.ts.map +1 -1
- package/dist/schemas/behavior-evidence.js +9 -0
- package/dist/schemas/behavior-evidence.js.map +1 -1
- package/dist/schemas/behavior-policy.d.ts +26 -0
- package/dist/schemas/behavior-policy.d.ts.map +1 -1
- package/dist/schemas/behavior-policy.js +37 -1
- package/dist/schemas/behavior-policy.js.map +1 -1
- package/dist/schemas/execution-result.d.ts +17 -5
- package/dist/schemas/execution-result.d.ts.map +1 -1
- package/dist/schemas/execution-result.js +57 -2
- package/dist/schemas/execution-result.js.map +1 -1
- package/dist/schemas/gate-receipt.d.ts +25 -2
- package/dist/schemas/gate-receipt.d.ts.map +1 -1
- package/dist/schemas/gate-receipt.js +181 -2
- package/dist/schemas/gate-receipt.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/policy.d.ts +19 -0
- package/dist/schemas/policy.d.ts.map +1 -1
- package/dist/schemas/policy.js +36 -0
- package/dist/schemas/policy.js.map +1 -1
- package/dist/schemas/quarantine.d.ts +25 -0
- package/dist/schemas/quarantine.d.ts.map +1 -0
- package/dist/schemas/quarantine.js +34 -0
- package/dist/schemas/quarantine.js.map +1 -0
- package/dist/schemas/queue-observer.d.ts +195 -0
- package/dist/schemas/queue-observer.d.ts.map +1 -0
- package/dist/schemas/queue-observer.js +190 -0
- package/dist/schemas/queue-observer.js.map +1 -0
- package/dist/schemas/run-record.d.ts +57 -0
- package/dist/schemas/run-record.d.ts.map +1 -0
- package/dist/schemas/run-record.js +108 -0
- package/dist/schemas/run-record.js.map +1 -0
- package/dist/schemas/runtime-config.d.ts +67 -0
- package/dist/schemas/runtime-config.d.ts.map +1 -1
- package/dist/schemas/runtime-config.js +75 -1
- package/dist/schemas/runtime-config.js.map +1 -1
- package/dist/schemas/signature-profile.d.ts +99 -0
- package/dist/schemas/signature-profile.d.ts.map +1 -0
- package/dist/schemas/signature-profile.js +197 -0
- package/dist/schemas/signature-profile.js.map +1 -0
- package/dist/schemas/test-map.d.ts +4 -0
- package/dist/schemas/test-map.d.ts.map +1 -1
- package/dist/schemas/test-map.js +12 -0
- package/dist/schemas/test-map.js.map +1 -1
- package/dist/schemas/verdict.d.ts +19 -4
- package/dist/schemas/verdict.d.ts.map +1 -1
- package/dist/schemas/verdict.js +42 -5
- package/dist/schemas/verdict.js.map +1 -1
- package/dist/strictness.d.ts +102 -0
- package/dist/strictness.d.ts.map +1 -0
- package/dist/strictness.js +92 -0
- package/dist/strictness.js.map +1 -0
- package/dist/supervision/index.js +6 -6
- package/dist/supervision/index.js.map +1 -1
- package/dist/twin-paths.d.ts +125 -0
- package/dist/twin-paths.d.ts.map +1 -0
- package/dist/twin-paths.js +233 -0
- package/dist/twin-paths.js.map +1 -0
- package/dist/verdict/behavior.d.ts.map +1 -1
- package/dist/verdict/behavior.js +284 -10
- package/dist/verdict/behavior.js.map +1 -1
- package/dist/verdict/cause.d.ts.map +1 -1
- package/dist/verdict/cause.js +18 -0
- package/dist/verdict/cause.js.map +1 -1
- package/dist/verdict/evaluate.d.ts +62 -0
- package/dist/verdict/evaluate.d.ts.map +1 -1
- package/dist/verdict/evaluate.js +300 -13
- package/dist/verdict/evaluate.js.map +1 -1
- package/dist/verdict/index.d.ts +3 -3
- package/dist/verdict/index.d.ts.map +1 -1
- package/dist/verdict/index.js +3 -3
- package/dist/verdict/index.js.map +1 -1
- package/dist/verdict/pack-verifiers.d.ts +17 -3
- package/dist/verdict/pack-verifiers.d.ts.map +1 -1
- package/dist/verdict/pack-verifiers.js +47 -8
- package/dist/verdict/pack-verifiers.js.map +1 -1
- package/dist/verdict/registry.d.ts +19 -0
- package/dist/verdict/registry.d.ts.map +1 -1
- package/dist/verdict/registry.js +21 -0
- package/dist/verdict/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/report/index.js
CHANGED
|
@@ -22,8 +22,87 @@ import { canonicalJson } from '../canonical-json.js';
|
|
|
22
22
|
import { fingerprintObligation } from '../fingerprints.js';
|
|
23
23
|
import { compareStrings } from '../graph/util.js';
|
|
24
24
|
import { BLOCKING_VERDICTS } from '../verdict/index.js';
|
|
25
|
+
import { ENGINE_UPGRADE_REFUSAL_PREFIX, humanMessage } from './human-message.js';
|
|
25
26
|
/** The official SARIF 2.1.0 (errata 01) JSON schema location. */
|
|
26
27
|
const SARIF_SCHEMA_URI = 'https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json';
|
|
28
|
+
/** How many failing tests the text report names inline. */
|
|
29
|
+
const MAX_LOCAL_FAILURES = 3;
|
|
30
|
+
/** The longest first error line the text report prints. */
|
|
31
|
+
const MAX_ERROR_LINE = 200;
|
|
32
|
+
/**
|
|
33
|
+
* The first line of a runner error message, bounded. The message is
|
|
34
|
+
* already credential-screened by the caller, so this only trims and
|
|
35
|
+
* caps it; a message that carries no line at all yields '' and the
|
|
36
|
+
* report names the test without inventing a reason.
|
|
37
|
+
*
|
|
38
|
+
* Args:
|
|
39
|
+
* message: the guarded runner error message.
|
|
40
|
+
*
|
|
41
|
+
* Returns:
|
|
42
|
+
* string: the first non-empty line, truncated; '' when there is none.
|
|
43
|
+
*/
|
|
44
|
+
function firstErrorLine(message) {
|
|
45
|
+
const first = message.split('\n').find((line) => line.trim().length > 0)?.trim() ?? '';
|
|
46
|
+
return first.length > MAX_ERROR_LINE ? `${first.slice(0, MAX_ERROR_LINE)}…` : first;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The reason prefix the baseline forgiveness stamps on every verdict it
|
|
50
|
+
* re-grades. Shared so the split is read back from what the evaluator
|
|
51
|
+
* actually did, never from a second baseline-loading path.
|
|
52
|
+
*/
|
|
53
|
+
export const BASELINE_VERDICT_REASON = 'baselined:';
|
|
54
|
+
/** Whether one graded verdict blocks the run (exit 1). */
|
|
55
|
+
function isBlockingVerdict(verdict) {
|
|
56
|
+
return BLOCKING_VERDICTS.includes(verdict.verdict);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Next action for an obligation that IS declared-mapped but has no
|
|
60
|
+
* consulted record: the declaration is done, the missing half is the
|
|
61
|
+
* witnessed evidence, so the action names the command that collects it
|
|
62
|
+
* instead of the generic "write a test" advice.
|
|
63
|
+
*/
|
|
64
|
+
const MAPPED_NOT_WITNESSED_NEXT_ACTION = 'the mapping is declared; run `gateforge test-gates --changed` so its witnessed evidence covers this change';
|
|
65
|
+
/**
|
|
66
|
+
* THE repository-debt definition (plan §2, "One blocking number").
|
|
67
|
+
*
|
|
68
|
+
* Every surface that reports debt derives it here, from the GRADED
|
|
69
|
+
* verdicts, so a run can never show two different counts: the split is
|
|
70
|
+
* what the evaluator did, never a recount beside it. `baselined` is
|
|
71
|
+
* read back from the reason the baseline forgiveness stamped on the
|
|
72
|
+
* verdicts it re-graded, and `newlyBlocking` is exactly what THIS
|
|
73
|
+
* run's exit code blocks on — the graded surface, never the whole
|
|
74
|
+
* repository. A changed- or named-scope run that grades nothing
|
|
75
|
+
* blocking therefore reports 0, with the debt it never observed named
|
|
76
|
+
* apart as `notGradedBlocking`; a full-scope run reports 0 only when
|
|
77
|
+
* nothing blocks. Two subtractions are deliberately absent: total minus
|
|
78
|
+
* baselined (which printed `0 new blocking` next to real blockers) and
|
|
79
|
+
* total minus scope (which would call a green slice's untouched debt
|
|
80
|
+
* new).
|
|
81
|
+
*
|
|
82
|
+
* Args:
|
|
83
|
+
* verdicts: the whole-repository verdicts the report describes.
|
|
84
|
+
* findings: the whole-repository blocking entries the report describes.
|
|
85
|
+
* gradedVerdicts: the verdicts this run graded (the graded surface).
|
|
86
|
+
* gradedFindings: the blocking entries this run graded.
|
|
87
|
+
* unclaimed: registered obligations with no claim row.
|
|
88
|
+
*
|
|
89
|
+
* Returns:
|
|
90
|
+
* RepositoryDebt: the debt every surface must report.
|
|
91
|
+
*/
|
|
92
|
+
export function repositoryDebtOf(input) {
|
|
93
|
+
const gradedIds = new Set(input.gradedVerdicts.map((verdict) => verdict.obligation.id));
|
|
94
|
+
const notGradedBlocking = input.verdicts.filter((verdict) => isBlockingVerdict(verdict) && !gradedIds.has(verdict.obligation.id)).length;
|
|
95
|
+
const blockingEntries = input.findings.length;
|
|
96
|
+
return {
|
|
97
|
+
obligations: input.verdicts.length,
|
|
98
|
+
blocking: input.verdicts.filter(isBlockingVerdict).length + blockingEntries,
|
|
99
|
+
blockingEntries,
|
|
100
|
+
unclaimed: input.unclaimed,
|
|
101
|
+
baselined: input.verdicts.filter((verdict) => verdict.verdict === 'waived' && (verdict.reason ?? '').startsWith(BASELINE_VERDICT_REASON)).length,
|
|
102
|
+
newlyBlocking: input.gradedVerdicts.filter(isBlockingVerdict).length + input.gradedFindings.length,
|
|
103
|
+
notGradedBlocking,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
27
106
|
/**
|
|
28
107
|
* Maps a run outcome to its exit code: 2 for config/usage errors,
|
|
29
108
|
* 1 when any blocking verdict or blocking entry exists, else 0
|
|
@@ -58,7 +137,14 @@ export function runExitCode(input) {
|
|
|
58
137
|
*/
|
|
59
138
|
export function renderRun(verdicts, options) {
|
|
60
139
|
const entries = [...verdicts].sort((a, b) => compareStrings(a.obligation.id, b.obligation.id));
|
|
61
|
-
const blocking = [...(options.blocking ?? [])].sort((a, b) =>
|
|
140
|
+
const blocking = [...(options.blocking ?? [])].sort((a, b) =>
|
|
141
|
+
// An engine-upgrade refusal leads every other blocker: it names the
|
|
142
|
+
// single cause (the receipt was sealed by another engine) that one
|
|
143
|
+
// command fixes, and the rest of the run's blocking is downstream of
|
|
144
|
+
// the same stale inputs.
|
|
145
|
+
Number(b.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) -
|
|
146
|
+
Number(a.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) ||
|
|
147
|
+
compareStrings(a.kind, b.kind) ||
|
|
62
148
|
compareStrings(a.resourceId ?? '', b.resourceId ?? '') ||
|
|
63
149
|
compareStrings(a.detail, b.detail));
|
|
64
150
|
// The report documents are JSON-safe by construction; the assertion
|
|
@@ -73,6 +159,25 @@ export function renderRun(verdicts, options) {
|
|
|
73
159
|
return textReport(entries, options, blocking);
|
|
74
160
|
throw new Error(`renderRun: unknown format '${String(options.format)}'`);
|
|
75
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Orders lifecycle derivations by resource and canonical operation order.
|
|
164
|
+
*
|
|
165
|
+
* Args:
|
|
166
|
+
* entries: lifecycle derivation records from classification.
|
|
167
|
+
*
|
|
168
|
+
* Returns:
|
|
169
|
+
* LifecycleDerivationReportEntry[]: a sorted copy for stable reports.
|
|
170
|
+
*/
|
|
171
|
+
function orderedLifecycleDerivations(entries) {
|
|
172
|
+
const operationOrder = {
|
|
173
|
+
read: 0,
|
|
174
|
+
update: 1,
|
|
175
|
+
delete: 2,
|
|
176
|
+
};
|
|
177
|
+
return [...entries].sort((left, right) => compareStrings(left.resourceId ?? left.resourceName, right.resourceId ?? right.resourceName) ||
|
|
178
|
+
compareStrings(left.resourceName, right.resourceName) ||
|
|
179
|
+
operationOrder[left.operation] - operationOrder[right.operation]);
|
|
180
|
+
}
|
|
76
181
|
/** Per-verdict summary counts keyed by verdict name. */
|
|
77
182
|
function summarize(entries) {
|
|
78
183
|
const counts = {
|
|
@@ -115,6 +220,15 @@ function jsonReport(entries, options, blocking) {
|
|
|
115
220
|
...(options.baseline.classificationBlocked !== undefined
|
|
116
221
|
? { baselinedClassificationBlocked: options.baseline.classificationBlocked }
|
|
117
222
|
: {}),
|
|
223
|
+
...(options.baseline.adoptedAt !== undefined
|
|
224
|
+
? { adoptedBaselineAt: options.baseline.adoptedAt }
|
|
225
|
+
: {}),
|
|
226
|
+
...(options.baseline.ageDays !== undefined
|
|
227
|
+
? { adoptedBaselineAgeDays: options.baseline.ageDays }
|
|
228
|
+
: {}),
|
|
229
|
+
...(options.baseline.neverWitnessed !== undefined
|
|
230
|
+
? { neverWitnessedBaselinedObligations: options.baseline.neverWitnessed }
|
|
231
|
+
: {}),
|
|
118
232
|
}
|
|
119
233
|
: {}),
|
|
120
234
|
},
|
|
@@ -122,6 +236,13 @@ function jsonReport(entries, options, blocking) {
|
|
|
122
236
|
// the scope expanded. Output-only — never part of the snapshot digest.
|
|
123
237
|
scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
|
|
124
238
|
verdicts: entries.map((entry) => {
|
|
239
|
+
const message = humanMessage({
|
|
240
|
+
id: entry.obligation.resourceId,
|
|
241
|
+
cause: entry.cause,
|
|
242
|
+
nextAction: entry.nextAction,
|
|
243
|
+
reason: entry.reason,
|
|
244
|
+
type: entry.verdict,
|
|
245
|
+
});
|
|
125
246
|
const record = {
|
|
126
247
|
obligationId: entry.obligation.id,
|
|
127
248
|
resourceId: entry.obligation.resourceId,
|
|
@@ -129,21 +250,39 @@ function jsonReport(entries, options, blocking) {
|
|
|
129
250
|
policyId: entry.obligation.policyId,
|
|
130
251
|
verdict: entry.verdict,
|
|
131
252
|
reason: entry.reason,
|
|
132
|
-
// Stable plan §5.4 cause + next action (ADR 0005): null when the
|
|
133
|
-
// verdict is clean or no honest mapping exists yet.
|
|
134
253
|
cause: entry.cause ?? null,
|
|
135
254
|
nextAction: entry.nextAction ?? null,
|
|
136
255
|
recordIds: entry.recordIds,
|
|
137
256
|
fingerprint: fingerprintObligation(entry.obligation),
|
|
138
257
|
trustTier: entry.trustTier,
|
|
258
|
+
message,
|
|
139
259
|
};
|
|
260
|
+
if (entry.declaredTests !== undefined && entry.declaredTests.length > 0) {
|
|
261
|
+
record['declaredTests'] = [...entry.declaredTests];
|
|
262
|
+
record['mappingState'] = entry.recordIds.length > 0 ? 'declared' : 'declared-not-witnessed';
|
|
263
|
+
}
|
|
264
|
+
if (entry.inScopeBecause !== undefined) {
|
|
265
|
+
record['inScopeBecause'] = entry.inScopeBecause;
|
|
266
|
+
}
|
|
140
267
|
if (entry.detector !== undefined && entry.detector !== null) {
|
|
141
268
|
record['detector'] = entry.detector;
|
|
142
269
|
}
|
|
143
270
|
return record;
|
|
144
271
|
}),
|
|
145
|
-
blocking
|
|
272
|
+
blocking: blocking.map((entry) => ({
|
|
273
|
+
...entry,
|
|
274
|
+
message: humanMessage({
|
|
275
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
276
|
+
cause: entry.cause,
|
|
277
|
+
nextAction: entry.nextAction,
|
|
278
|
+
detail: entry.detail,
|
|
279
|
+
type: entry.kind,
|
|
280
|
+
}),
|
|
281
|
+
})),
|
|
146
282
|
};
|
|
283
|
+
if (options.advisories !== undefined && options.advisories.length > 0) {
|
|
284
|
+
report['advisories'] = options.advisories;
|
|
285
|
+
}
|
|
147
286
|
if (options.run !== undefined) {
|
|
148
287
|
report['run'] = options.run;
|
|
149
288
|
}
|
|
@@ -154,10 +293,27 @@ function jsonReport(entries, options, blocking) {
|
|
|
154
293
|
// Canonical JSON sorts keys, so insertion order is irrelevant.
|
|
155
294
|
report['classifications'] = options.classificationTraces;
|
|
156
295
|
}
|
|
296
|
+
if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
|
|
297
|
+
report['lifecycleDerivation'] = orderedLifecycleDerivations(options.lifecycleDerivation);
|
|
298
|
+
}
|
|
157
299
|
if (options.execution !== undefined)
|
|
158
300
|
report['execution'] = options.execution;
|
|
159
301
|
if (options.diagnosticContext !== undefined)
|
|
160
302
|
report['diagnosticContext'] = options.diagnosticContext;
|
|
303
|
+
if (options.engine !== undefined)
|
|
304
|
+
report['engine'] = options.engine;
|
|
305
|
+
if (options.outcome !== undefined)
|
|
306
|
+
report['outcome'] = options.outcome;
|
|
307
|
+
if (options.chaos !== undefined) {
|
|
308
|
+
report['chaos'] = {
|
|
309
|
+
seed: options.chaos.seed,
|
|
310
|
+
maxDelayMs: options.chaos.maxDelayMs,
|
|
311
|
+
reorder: options.chaos.reorder,
|
|
312
|
+
...(options.chaos.schedule !== undefined ? { schedule: options.chaos.schedule } : {}),
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
if (options.selectors !== undefined)
|
|
316
|
+
report['selectors'] = options.selectors;
|
|
161
317
|
return report;
|
|
162
318
|
}
|
|
163
319
|
/** Builds the SARIF 2.1.0 projection (pin #10). */
|
|
@@ -227,6 +383,9 @@ function sarifReport(entries, options) {
|
|
|
227
383
|
scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
|
|
228
384
|
...(options.execution === undefined ? {} : { execution: options.execution }),
|
|
229
385
|
...(options.diagnosticContext === undefined ? {} : { diagnosticContext: options.diagnosticContext }),
|
|
386
|
+
...(options.lifecycleDerivation === undefined || options.lifecycleDerivation.length === 0
|
|
387
|
+
? {}
|
|
388
|
+
: { lifecycleDerivation: orderedLifecycleDerivations(options.lifecycleDerivation) }),
|
|
230
389
|
},
|
|
231
390
|
// Blocking policy entries (unclassified/unresolved resources,
|
|
232
391
|
// detector findings, stale references) are not obligation
|
|
@@ -235,21 +394,34 @@ function sarifReport(entries, options) {
|
|
|
235
394
|
// never silently omitted from the projection.
|
|
236
395
|
invocations: [
|
|
237
396
|
{
|
|
238
|
-
toolExecutionNotifications:
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
: {}),
|
|
250
|
-
|
|
251
|
-
},
|
|
252
|
-
|
|
397
|
+
toolExecutionNotifications: [
|
|
398
|
+
...(options.blocking ?? []).map((entry) => ({
|
|
399
|
+
level: 'error',
|
|
400
|
+
message: {
|
|
401
|
+
text: `[${entry.kind}] ${entry.resourceId ?? entry.name ?? '<unnamed>'} — ${entry.detail}`,
|
|
402
|
+
},
|
|
403
|
+
properties: {
|
|
404
|
+
kind: entry.kind,
|
|
405
|
+
...(entry.cause !== undefined && entry.cause !== null
|
|
406
|
+
? { cause: entry.cause, nextAction: entry.nextAction ?? null }
|
|
407
|
+
: {}),
|
|
408
|
+
...(entry.location !== null ? { location: entry.location } : {}),
|
|
409
|
+
},
|
|
410
|
+
})),
|
|
411
|
+
...(options.advisories ?? []).map((entry) => ({
|
|
412
|
+
level: 'warning',
|
|
413
|
+
message: {
|
|
414
|
+
text: `[${entry.cause ?? entry.name ?? 'advisory'}] ${entry.detail}`,
|
|
415
|
+
},
|
|
416
|
+
properties: {
|
|
417
|
+
kind: entry.kind,
|
|
418
|
+
...(entry.cause !== undefined && entry.cause !== null
|
|
419
|
+
? { cause: entry.cause, nextAction: entry.nextAction ?? null }
|
|
420
|
+
: {}),
|
|
421
|
+
...(entry.location !== null ? { location: entry.location } : {}),
|
|
422
|
+
},
|
|
423
|
+
})),
|
|
424
|
+
],
|
|
253
425
|
},
|
|
254
426
|
],
|
|
255
427
|
results,
|
|
@@ -269,6 +441,21 @@ function textReport(entries, options, blocking) {
|
|
|
269
441
|
blocking.length;
|
|
270
442
|
lines.push(`gateforge run: ${entries.length} obligation(s) — ` +
|
|
271
443
|
`${counts.satisfied} satisfied, ${counts.waived} waived, ${blockingCount} blocking`);
|
|
444
|
+
if (options.engineLine !== undefined) {
|
|
445
|
+
lines.push(options.engineLine);
|
|
446
|
+
}
|
|
447
|
+
else if (options.engine !== undefined) {
|
|
448
|
+
lines.push(`engine: ${options.engine.version} from ${options.engine.source}`);
|
|
449
|
+
if (options.engine.unpublished)
|
|
450
|
+
lines.push('unpublished engine: CI will not have this code');
|
|
451
|
+
}
|
|
452
|
+
if (options.chaos !== undefined) {
|
|
453
|
+
// The one line that makes a red chaos run explainable and
|
|
454
|
+
// replayable: the seed IS the schedule, and the owner never has to
|
|
455
|
+
// guess which run produced the failure they are looking at.
|
|
456
|
+
lines.push(`timing chaos: seed ${String(options.chaos.seed)} (max delay ${String(options.chaos.maxDelayMs)} ms, ` +
|
|
457
|
+
`reorder ${options.chaos.reorder ? 'on' : 'off'}) — replay with --chaos ${String(options.chaos.seed)}`);
|
|
458
|
+
}
|
|
272
459
|
const scope = options.scope;
|
|
273
460
|
if (scope !== undefined && scope.expandedBecause.length > 0) {
|
|
274
461
|
lines.push(`scope: all obligations; expanded because ${[...scope.expandedBecause].join(', ')}`);
|
|
@@ -280,11 +467,44 @@ function textReport(entries, options, blocking) {
|
|
|
280
467
|
lines.push(`selected tests: ${execution.selectedTests.passed} passed, ${execution.selectedTests.failed} failed ` +
|
|
281
468
|
`(selected ${execution.selectedTests.selected}; ${execution.selectedTests.skipped} skipped; ` +
|
|
282
469
|
`${execution.selectedTests.expectedFailures} expected failures)`);
|
|
470
|
+
// A local run has no progress stream (it is OFF unless CI or a flag
|
|
471
|
+
// asks for it), so without these lines a red run states a count and
|
|
472
|
+
// never a reason. At most three are named inline — enough to see
|
|
473
|
+
// what broke — and the rest are exactly one command away.
|
|
474
|
+
const failures = options.failedTests ?? [];
|
|
475
|
+
if (failures.length > 0) {
|
|
476
|
+
for (const failure of failures.slice(0, MAX_LOCAL_FAILURES)) {
|
|
477
|
+
const reason = firstErrorLine(failure.message);
|
|
478
|
+
lines.push(`failed test: ${failure.title}${reason === '' ? '' : ` — ${reason}`}`);
|
|
479
|
+
}
|
|
480
|
+
const rest = failures.length - MAX_LOCAL_FAILURES;
|
|
481
|
+
if (rest > 0) {
|
|
482
|
+
lines.push(`… ${String(rest)} more — run with \`--progress stderr\` to print every failure as it happens`);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
283
485
|
lines.push(`selected claims: ${execution.selectedClaims.satisfied} satisfied, ${execution.selectedClaims.blocking} blocking ` +
|
|
284
486
|
`(selected ${execution.selectedClaims.selected}; ${execution.selectedClaims.blockingEntries} blocking entries; ` +
|
|
285
487
|
`${execution.selectedClaims.waived} waived)`);
|
|
286
|
-
|
|
488
|
+
// The line never prints a bare "blocking" count that differs from
|
|
489
|
+
// the gate line: the baselined and the new debt are named apart,
|
|
490
|
+
// and "new blocking" is what THIS run's exit code blocks on.
|
|
491
|
+
lines.push(`repository debt: ${execution.repositoryDebt.baselined} known (baselined), ` +
|
|
492
|
+
`${execution.repositoryDebt.newlyBlocking} new blocking / ${execution.repositoryDebt.obligations} obligations ` +
|
|
287
493
|
`(${execution.repositoryDebt.unclaimed} unclaimed; ${execution.repositoryDebt.blockingEntries} blocking entries)`);
|
|
494
|
+
// A slice run grades only its own surface. Debt outside it is real
|
|
495
|
+
// and reported, but it is not what this run blocks on — say so with
|
|
496
|
+
// its own words instead of counting it as new.
|
|
497
|
+
if (execution.repositoryDebt.notGradedBlocking > 0) {
|
|
498
|
+
lines.push(`not graded by this ${execution.scope}-scope run: ${execution.repositoryDebt.notGradedBlocking} blocking obligation(s) — ` +
|
|
499
|
+
'this run never observed them; a full run grades them');
|
|
500
|
+
}
|
|
501
|
+
// A named run grades ONLY the selection it executed. Say the
|
|
502
|
+
// remainder out loud, so a green named run is never misread as a
|
|
503
|
+
// whole-repository verdict.
|
|
504
|
+
if (execution.scope === 'named') {
|
|
505
|
+
lines.push(`not graded in a named run: ${Math.max(0, execution.repositoryDebt.obligations - execution.selectedClaims.selected)} obligation(s) — ` +
|
|
506
|
+
'a hand-picked selection never observed them; run the full suite for repository-wide verdicts');
|
|
507
|
+
}
|
|
288
508
|
}
|
|
289
509
|
if (options.diagnosticContext !== undefined) {
|
|
290
510
|
const context = options.diagnosticContext;
|
|
@@ -296,6 +516,33 @@ function textReport(entries, options, blocking) {
|
|
|
296
516
|
`approvalDigest=${context.docsExclusions.approvalDigest ?? '<missing>'} ` +
|
|
297
517
|
`guarantee="${context.docsExclusions.guarantee}"`);
|
|
298
518
|
}
|
|
519
|
+
if (context.cacheExclusions !== undefined) {
|
|
520
|
+
lines.push(`Python cache exclusions: files=${context.cacheExclusions.files.join(',')} ` +
|
|
521
|
+
`approvalStatus=${context.cacheExclusions.approvalStatus} ` +
|
|
522
|
+
`approvalDigest=${context.cacheExclusions.approvalDigest ?? '<missing>'} ` +
|
|
523
|
+
`guarantee=\"${context.cacheExclusions.guarantee}\"`);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
|
|
527
|
+
const grouped = new Map();
|
|
528
|
+
for (const entry of orderedLifecycleDerivations(options.lifecycleDerivation)) {
|
|
529
|
+
const key = `${entry.resourceId ?? ''}\u0000${entry.resourceName}`;
|
|
530
|
+
const records = grouped.get(key);
|
|
531
|
+
if (records === undefined)
|
|
532
|
+
grouped.set(key, [entry]);
|
|
533
|
+
else
|
|
534
|
+
records.push(entry);
|
|
535
|
+
}
|
|
536
|
+
lines.push('', 'lifecycle derivation (detector facts):');
|
|
537
|
+
for (const records of grouped.values()) {
|
|
538
|
+
const first = records[0];
|
|
539
|
+
if (first === undefined)
|
|
540
|
+
continue;
|
|
541
|
+
const detail = records
|
|
542
|
+
.map((entry) => `${entry.operation}: ${entry.disposition} (${entry.reason}) — ${entry.detail}`)
|
|
543
|
+
.join('; ');
|
|
544
|
+
lines.push(` ${first.resourceId ?? first.resourceName}: ${detail}`);
|
|
545
|
+
}
|
|
299
546
|
}
|
|
300
547
|
if (options.waiverCounts !== undefined) {
|
|
301
548
|
const wc = options.waiverCounts;
|
|
@@ -303,11 +550,14 @@ function textReport(entries, options, blocking) {
|
|
|
303
550
|
`${wc.staleOwner} stale-owner`);
|
|
304
551
|
}
|
|
305
552
|
if (options.baseline !== undefined) {
|
|
306
|
-
lines.push(`baseline
|
|
553
|
+
lines.push(`adopted baseline: ${options.baseline.obligations} obligation(s) + ` +
|
|
307
554
|
`${options.baseline.blockingEntries} blocking entry(ies)` +
|
|
308
555
|
(options.baseline.classificationBlocked !== undefined
|
|
309
556
|
? ` + ${options.baseline.classificationBlocked} classification-blocked resource(s)`
|
|
310
557
|
: '') +
|
|
558
|
+
(options.baseline.ageDays !== undefined
|
|
559
|
+
? `; age: ${options.baseline.ageDays} day(s); never witnessed: ${options.baseline.neverWitnessed ?? 0}`
|
|
560
|
+
: '') +
|
|
311
561
|
` forgiven — shrink-only: resolve debt, then 'gateforge baseline update'`);
|
|
312
562
|
}
|
|
313
563
|
for (const entry of entries) {
|
|
@@ -321,13 +571,46 @@ function textReport(entries, options, blocking) {
|
|
|
321
571
|
lines.push(` policy: ${entry.obligation.policyId}`);
|
|
322
572
|
lines.push(` obligation: ${entry.obligation.id}`);
|
|
323
573
|
lines.push(` fingerprint: ${fingerprintObligation(entry.obligation)}`);
|
|
574
|
+
lines.push(` message: ${humanMessage({
|
|
575
|
+
id: entry.obligation.resourceId,
|
|
576
|
+
cause: entry.cause,
|
|
577
|
+
nextAction: entry.nextAction,
|
|
578
|
+
reason: entry.reason,
|
|
579
|
+
type: entry.verdict,
|
|
580
|
+
})}`);
|
|
581
|
+
if (entry.inScopeBecause !== undefined) {
|
|
582
|
+
lines.push(` in scope because: ${entry.inScopeBecause.join(', ') || '<no changed source path>'}`);
|
|
583
|
+
}
|
|
324
584
|
lines.push(` evidence gap: ${entry.reason ?? '<none>'}`);
|
|
585
|
+
const declaredTests = entry.declaredTests ?? [];
|
|
586
|
+
const mappedNotWitnessed = declaredTests.length > 0 && entry.recordIds.length === 0;
|
|
587
|
+
if (declaredTests.length > 0) {
|
|
588
|
+
lines.push(` mapped to: ${declaredTests.join(', ')}${mappedNotWitnessed ? ' (not yet witnessed)' : ''}`);
|
|
589
|
+
}
|
|
325
590
|
if (entry.cause !== undefined && entry.cause !== null) {
|
|
326
591
|
lines.push(` cause: ${entry.cause}`);
|
|
327
|
-
|
|
592
|
+
// The cause's own next action stays in the shared table; what
|
|
593
|
+
// changes here is PRESENTATION: with a declaration on file and no
|
|
594
|
+
// records consumed, the honest action is collecting the witnessed
|
|
595
|
+
// evidence for that declaration, not writing another test.
|
|
596
|
+
lines.push(` next action: ${mappedNotWitnessed ? MAPPED_NOT_WITNESSED_NEXT_ACTION : (entry.nextAction ?? '<none>')}`);
|
|
328
597
|
}
|
|
329
598
|
lines.push(` records: ${entry.recordIds.length > 0 ? entry.recordIds.join(', ') : '<none consulted>'}`);
|
|
330
599
|
}
|
|
600
|
+
if (options.advisories !== undefined && options.advisories.length > 0) {
|
|
601
|
+
lines.push('');
|
|
602
|
+
lines.push('advisories (non-blocking):');
|
|
603
|
+
for (const entry of options.advisories) {
|
|
604
|
+
const where = entry.location !== null ? ` at ${entry.location.file}:${entry.location.line}` : '';
|
|
605
|
+
lines.push(` ${humanMessage({
|
|
606
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
607
|
+
cause: entry.cause,
|
|
608
|
+
nextAction: entry.nextAction,
|
|
609
|
+
detail: entry.detail,
|
|
610
|
+
type: entry.kind,
|
|
611
|
+
})}${where}`);
|
|
612
|
+
}
|
|
613
|
+
}
|
|
331
614
|
if (blocking.length > 0) {
|
|
332
615
|
lines.push('');
|
|
333
616
|
lines.push('blocking entries (unclassified/unresolved/findings/stale references):');
|
|
@@ -336,7 +619,13 @@ function textReport(entries, options, blocking) {
|
|
|
336
619
|
const cause = entry.cause !== undefined && entry.cause !== null
|
|
337
620
|
? ` (cause: ${entry.cause} → ${entry.nextAction ?? 'no action available'})`
|
|
338
621
|
: '';
|
|
339
|
-
lines.push(`
|
|
622
|
+
lines.push(` ${humanMessage({
|
|
623
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
624
|
+
cause: entry.cause,
|
|
625
|
+
nextAction: entry.nextAction,
|
|
626
|
+
detail: entry.detail,
|
|
627
|
+
type: entry.kind,
|
|
628
|
+
})}${where}`);
|
|
340
629
|
}
|
|
341
630
|
}
|
|
342
631
|
if (options.classificationTraces !== undefined) {
|
|
@@ -365,6 +654,11 @@ function textReport(entries, options, blocking) {
|
|
|
365
654
|
}
|
|
366
655
|
lines.push('');
|
|
367
656
|
lines.push(`exit code: ${runExitCode({ verdicts: entries, blocking })}`);
|
|
657
|
+
if (options.outcome === 'partial-selection' && options.execution !== undefined) {
|
|
658
|
+
lines.push(`Tests: ${options.execution.selectedTests.passed} passed.`);
|
|
659
|
+
lines.push(`Claims: ${options.execution.selectedClaims.satisfied} satisfied.`);
|
|
660
|
+
lines.push('Receipt: not sealed — partial selection (expected)');
|
|
661
|
+
}
|
|
368
662
|
return `${lines.join('\n')}\n`;
|
|
369
663
|
}
|
|
370
664
|
//# sourceMappingURL=index.js.map
|
package/dist/report/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ export declare const AdoptionRecordSchema: z.ZodObject<{
|
|
|
34
34
|
adopted: z.ZodNumber;
|
|
35
35
|
proven: z.ZodNumber;
|
|
36
36
|
classificationBlocked: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
37
|
+
obligationFingerprintsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
38
|
+
obligationSourcesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
37
39
|
}, z.core.$strict>;
|
|
38
40
|
/** Inferred adoption-record shape. */
|
|
39
41
|
export type AdoptionRecord = z.infer<typeof AdoptionRecordSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adoption.d.ts","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,yBAA6B,CAAC;AAEzE,uEAAuE;AACvE,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"adoption.d.ts","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,yBAA6B,CAAC;AAEzE,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;;;;;;;;;kBA6D7B,CAAC;AAEL,sCAAsC;AACtC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/dist/schemas/adoption.js
CHANGED
|
@@ -55,6 +55,12 @@ export const AdoptionRecordSchema = z
|
|
|
55
55
|
* carries a real classification; NEW blocked resources never enter.
|
|
56
56
|
*/
|
|
57
57
|
classificationBlocked: ClassificationBlockedIdsSchema.optional(),
|
|
58
|
+
/** Baseline obligation fingerprints indexed by stable obligation id; absent on older records. */
|
|
59
|
+
obligationFingerprintsById: z
|
|
60
|
+
.record(z.string().min(1), z.string().regex(/^[0-9a-f]{64}$/))
|
|
61
|
+
.optional(),
|
|
62
|
+
/** Source files for indexed obligations, used only to explain baseline drift. */
|
|
63
|
+
obligationSourcesById: z.record(z.string().min(1), z.array(z.string().min(1))).optional(),
|
|
58
64
|
})
|
|
59
65
|
.strict()
|
|
60
66
|
.superRefine((record, ctx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,aAAa,EAAE,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,mEAAmE;IACnE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACtE,QAAQ,EAAE;IACb,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,qBAAqB,EAAE,8BAA8B,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,aAAa,EAAE,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,mEAAmE;IACnE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACtE,QAAQ,EAAE;IACb,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,qBAAqB,EAAE,8BAA8B,CAAC,QAAQ,EAAE;IAChE,iGAAiG;IACjG,0BAA0B,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;SAC7D,QAAQ,EAAE;IACb,iFAAiF;IACjF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1F,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EACL,kDAAkD,GAAG,QAAQ;oBAC7D,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,GAAG;aACpD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EAAE,iDAAiD,OAAO,GAAG;aACrE,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
|