@gate-forge/core 0.7.1 → 0.8.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 +173 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +296 -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 +22 -1
- package/dist/mapping/resolve.d.ts.map +1 -1
- package/dist/mapping/resolve.js +71 -25
- 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 +296 -22
- 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 +38 -4
- 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 +54 -0
- package/dist/verdict/evaluate.d.ts.map +1 -1
- package/dist/verdict/evaluate.js +278 -12
- 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,80 @@ 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
|
+
* THE repository-debt definition (plan §2, "One blocking number").
|
|
60
|
+
*
|
|
61
|
+
* Every surface that reports debt derives it here, from the GRADED
|
|
62
|
+
* verdicts, so a run can never show two different counts: the split is
|
|
63
|
+
* what the evaluator did, never a recount beside it. `baselined` is
|
|
64
|
+
* read back from the reason the baseline forgiveness stamped on the
|
|
65
|
+
* verdicts it re-graded, and `newlyBlocking` is exactly what THIS
|
|
66
|
+
* run's exit code blocks on — the graded surface, never the whole
|
|
67
|
+
* repository. A changed- or named-scope run that grades nothing
|
|
68
|
+
* blocking therefore reports 0, with the debt it never observed named
|
|
69
|
+
* apart as `notGradedBlocking`; a full-scope run reports 0 only when
|
|
70
|
+
* nothing blocks. Two subtractions are deliberately absent: total minus
|
|
71
|
+
* baselined (which printed `0 new blocking` next to real blockers) and
|
|
72
|
+
* total minus scope (which would call a green slice's untouched debt
|
|
73
|
+
* new).
|
|
74
|
+
*
|
|
75
|
+
* Args:
|
|
76
|
+
* verdicts: the whole-repository verdicts the report describes.
|
|
77
|
+
* findings: the whole-repository blocking entries the report describes.
|
|
78
|
+
* gradedVerdicts: the verdicts this run graded (the graded surface).
|
|
79
|
+
* gradedFindings: the blocking entries this run graded.
|
|
80
|
+
* unclaimed: registered obligations with no claim row.
|
|
81
|
+
*
|
|
82
|
+
* Returns:
|
|
83
|
+
* RepositoryDebt: the debt every surface must report.
|
|
84
|
+
*/
|
|
85
|
+
export function repositoryDebtOf(input) {
|
|
86
|
+
const gradedIds = new Set(input.gradedVerdicts.map((verdict) => verdict.obligation.id));
|
|
87
|
+
const notGradedBlocking = input.verdicts.filter((verdict) => isBlockingVerdict(verdict) && !gradedIds.has(verdict.obligation.id)).length;
|
|
88
|
+
const blockingEntries = input.findings.length;
|
|
89
|
+
return {
|
|
90
|
+
obligations: input.verdicts.length,
|
|
91
|
+
blocking: input.verdicts.filter(isBlockingVerdict).length + blockingEntries,
|
|
92
|
+
blockingEntries,
|
|
93
|
+
unclaimed: input.unclaimed,
|
|
94
|
+
baselined: input.verdicts.filter((verdict) => verdict.verdict === 'waived' && (verdict.reason ?? '').startsWith(BASELINE_VERDICT_REASON)).length,
|
|
95
|
+
newlyBlocking: input.gradedVerdicts.filter(isBlockingVerdict).length + input.gradedFindings.length,
|
|
96
|
+
notGradedBlocking,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
27
99
|
/**
|
|
28
100
|
* Maps a run outcome to its exit code: 2 for config/usage errors,
|
|
29
101
|
* 1 when any blocking verdict or blocking entry exists, else 0
|
|
@@ -58,7 +130,14 @@ export function runExitCode(input) {
|
|
|
58
130
|
*/
|
|
59
131
|
export function renderRun(verdicts, options) {
|
|
60
132
|
const entries = [...verdicts].sort((a, b) => compareStrings(a.obligation.id, b.obligation.id));
|
|
61
|
-
const blocking = [...(options.blocking ?? [])].sort((a, b) =>
|
|
133
|
+
const blocking = [...(options.blocking ?? [])].sort((a, b) =>
|
|
134
|
+
// An engine-upgrade refusal leads every other blocker: it names the
|
|
135
|
+
// single cause (the receipt was sealed by another engine) that one
|
|
136
|
+
// command fixes, and the rest of the run's blocking is downstream of
|
|
137
|
+
// the same stale inputs.
|
|
138
|
+
Number(b.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) -
|
|
139
|
+
Number(a.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) ||
|
|
140
|
+
compareStrings(a.kind, b.kind) ||
|
|
62
141
|
compareStrings(a.resourceId ?? '', b.resourceId ?? '') ||
|
|
63
142
|
compareStrings(a.detail, b.detail));
|
|
64
143
|
// The report documents are JSON-safe by construction; the assertion
|
|
@@ -73,6 +152,25 @@ export function renderRun(verdicts, options) {
|
|
|
73
152
|
return textReport(entries, options, blocking);
|
|
74
153
|
throw new Error(`renderRun: unknown format '${String(options.format)}'`);
|
|
75
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Orders lifecycle derivations by resource and canonical operation order.
|
|
157
|
+
*
|
|
158
|
+
* Args:
|
|
159
|
+
* entries: lifecycle derivation records from classification.
|
|
160
|
+
*
|
|
161
|
+
* Returns:
|
|
162
|
+
* LifecycleDerivationReportEntry[]: a sorted copy for stable reports.
|
|
163
|
+
*/
|
|
164
|
+
function orderedLifecycleDerivations(entries) {
|
|
165
|
+
const operationOrder = {
|
|
166
|
+
read: 0,
|
|
167
|
+
update: 1,
|
|
168
|
+
delete: 2,
|
|
169
|
+
};
|
|
170
|
+
return [...entries].sort((left, right) => compareStrings(left.resourceId ?? left.resourceName, right.resourceId ?? right.resourceName) ||
|
|
171
|
+
compareStrings(left.resourceName, right.resourceName) ||
|
|
172
|
+
operationOrder[left.operation] - operationOrder[right.operation]);
|
|
173
|
+
}
|
|
76
174
|
/** Per-verdict summary counts keyed by verdict name. */
|
|
77
175
|
function summarize(entries) {
|
|
78
176
|
const counts = {
|
|
@@ -115,6 +213,15 @@ function jsonReport(entries, options, blocking) {
|
|
|
115
213
|
...(options.baseline.classificationBlocked !== undefined
|
|
116
214
|
? { baselinedClassificationBlocked: options.baseline.classificationBlocked }
|
|
117
215
|
: {}),
|
|
216
|
+
...(options.baseline.adoptedAt !== undefined
|
|
217
|
+
? { adoptedBaselineAt: options.baseline.adoptedAt }
|
|
218
|
+
: {}),
|
|
219
|
+
...(options.baseline.ageDays !== undefined
|
|
220
|
+
? { adoptedBaselineAgeDays: options.baseline.ageDays }
|
|
221
|
+
: {}),
|
|
222
|
+
...(options.baseline.neverWitnessed !== undefined
|
|
223
|
+
? { neverWitnessedBaselinedObligations: options.baseline.neverWitnessed }
|
|
224
|
+
: {}),
|
|
118
225
|
}
|
|
119
226
|
: {}),
|
|
120
227
|
},
|
|
@@ -122,6 +229,13 @@ function jsonReport(entries, options, blocking) {
|
|
|
122
229
|
// the scope expanded. Output-only — never part of the snapshot digest.
|
|
123
230
|
scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
|
|
124
231
|
verdicts: entries.map((entry) => {
|
|
232
|
+
const message = humanMessage({
|
|
233
|
+
id: entry.obligation.resourceId,
|
|
234
|
+
cause: entry.cause,
|
|
235
|
+
nextAction: entry.nextAction,
|
|
236
|
+
reason: entry.reason,
|
|
237
|
+
type: entry.verdict,
|
|
238
|
+
});
|
|
125
239
|
const record = {
|
|
126
240
|
obligationId: entry.obligation.id,
|
|
127
241
|
resourceId: entry.obligation.resourceId,
|
|
@@ -129,21 +243,35 @@ function jsonReport(entries, options, blocking) {
|
|
|
129
243
|
policyId: entry.obligation.policyId,
|
|
130
244
|
verdict: entry.verdict,
|
|
131
245
|
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
246
|
cause: entry.cause ?? null,
|
|
135
247
|
nextAction: entry.nextAction ?? null,
|
|
136
248
|
recordIds: entry.recordIds,
|
|
137
249
|
fingerprint: fingerprintObligation(entry.obligation),
|
|
138
250
|
trustTier: entry.trustTier,
|
|
251
|
+
message,
|
|
139
252
|
};
|
|
253
|
+
if (entry.inScopeBecause !== undefined) {
|
|
254
|
+
record['inScopeBecause'] = entry.inScopeBecause;
|
|
255
|
+
}
|
|
140
256
|
if (entry.detector !== undefined && entry.detector !== null) {
|
|
141
257
|
record['detector'] = entry.detector;
|
|
142
258
|
}
|
|
143
259
|
return record;
|
|
144
260
|
}),
|
|
145
|
-
blocking
|
|
261
|
+
blocking: blocking.map((entry) => ({
|
|
262
|
+
...entry,
|
|
263
|
+
message: humanMessage({
|
|
264
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
265
|
+
cause: entry.cause,
|
|
266
|
+
nextAction: entry.nextAction,
|
|
267
|
+
detail: entry.detail,
|
|
268
|
+
type: entry.kind,
|
|
269
|
+
}),
|
|
270
|
+
})),
|
|
146
271
|
};
|
|
272
|
+
if (options.advisories !== undefined && options.advisories.length > 0) {
|
|
273
|
+
report['advisories'] = options.advisories;
|
|
274
|
+
}
|
|
147
275
|
if (options.run !== undefined) {
|
|
148
276
|
report['run'] = options.run;
|
|
149
277
|
}
|
|
@@ -154,10 +282,27 @@ function jsonReport(entries, options, blocking) {
|
|
|
154
282
|
// Canonical JSON sorts keys, so insertion order is irrelevant.
|
|
155
283
|
report['classifications'] = options.classificationTraces;
|
|
156
284
|
}
|
|
285
|
+
if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
|
|
286
|
+
report['lifecycleDerivation'] = orderedLifecycleDerivations(options.lifecycleDerivation);
|
|
287
|
+
}
|
|
157
288
|
if (options.execution !== undefined)
|
|
158
289
|
report['execution'] = options.execution;
|
|
159
290
|
if (options.diagnosticContext !== undefined)
|
|
160
291
|
report['diagnosticContext'] = options.diagnosticContext;
|
|
292
|
+
if (options.engine !== undefined)
|
|
293
|
+
report['engine'] = options.engine;
|
|
294
|
+
if (options.outcome !== undefined)
|
|
295
|
+
report['outcome'] = options.outcome;
|
|
296
|
+
if (options.chaos !== undefined) {
|
|
297
|
+
report['chaos'] = {
|
|
298
|
+
seed: options.chaos.seed,
|
|
299
|
+
maxDelayMs: options.chaos.maxDelayMs,
|
|
300
|
+
reorder: options.chaos.reorder,
|
|
301
|
+
...(options.chaos.schedule !== undefined ? { schedule: options.chaos.schedule } : {}),
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
if (options.selectors !== undefined)
|
|
305
|
+
report['selectors'] = options.selectors;
|
|
161
306
|
return report;
|
|
162
307
|
}
|
|
163
308
|
/** Builds the SARIF 2.1.0 projection (pin #10). */
|
|
@@ -227,6 +372,9 @@ function sarifReport(entries, options) {
|
|
|
227
372
|
scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
|
|
228
373
|
...(options.execution === undefined ? {} : { execution: options.execution }),
|
|
229
374
|
...(options.diagnosticContext === undefined ? {} : { diagnosticContext: options.diagnosticContext }),
|
|
375
|
+
...(options.lifecycleDerivation === undefined || options.lifecycleDerivation.length === 0
|
|
376
|
+
? {}
|
|
377
|
+
: { lifecycleDerivation: orderedLifecycleDerivations(options.lifecycleDerivation) }),
|
|
230
378
|
},
|
|
231
379
|
// Blocking policy entries (unclassified/unresolved resources,
|
|
232
380
|
// detector findings, stale references) are not obligation
|
|
@@ -235,21 +383,34 @@ function sarifReport(entries, options) {
|
|
|
235
383
|
// never silently omitted from the projection.
|
|
236
384
|
invocations: [
|
|
237
385
|
{
|
|
238
|
-
toolExecutionNotifications:
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
: {}),
|
|
250
|
-
|
|
251
|
-
},
|
|
252
|
-
|
|
386
|
+
toolExecutionNotifications: [
|
|
387
|
+
...(options.blocking ?? []).map((entry) => ({
|
|
388
|
+
level: 'error',
|
|
389
|
+
message: {
|
|
390
|
+
text: `[${entry.kind}] ${entry.resourceId ?? entry.name ?? '<unnamed>'} — ${entry.detail}`,
|
|
391
|
+
},
|
|
392
|
+
properties: {
|
|
393
|
+
kind: entry.kind,
|
|
394
|
+
...(entry.cause !== undefined && entry.cause !== null
|
|
395
|
+
? { cause: entry.cause, nextAction: entry.nextAction ?? null }
|
|
396
|
+
: {}),
|
|
397
|
+
...(entry.location !== null ? { location: entry.location } : {}),
|
|
398
|
+
},
|
|
399
|
+
})),
|
|
400
|
+
...(options.advisories ?? []).map((entry) => ({
|
|
401
|
+
level: 'warning',
|
|
402
|
+
message: {
|
|
403
|
+
text: `[${entry.cause ?? entry.name ?? 'advisory'}] ${entry.detail}`,
|
|
404
|
+
},
|
|
405
|
+
properties: {
|
|
406
|
+
kind: entry.kind,
|
|
407
|
+
...(entry.cause !== undefined && entry.cause !== null
|
|
408
|
+
? { cause: entry.cause, nextAction: entry.nextAction ?? null }
|
|
409
|
+
: {}),
|
|
410
|
+
...(entry.location !== null ? { location: entry.location } : {}),
|
|
411
|
+
},
|
|
412
|
+
})),
|
|
413
|
+
],
|
|
253
414
|
},
|
|
254
415
|
],
|
|
255
416
|
results,
|
|
@@ -269,6 +430,21 @@ function textReport(entries, options, blocking) {
|
|
|
269
430
|
blocking.length;
|
|
270
431
|
lines.push(`gateforge run: ${entries.length} obligation(s) — ` +
|
|
271
432
|
`${counts.satisfied} satisfied, ${counts.waived} waived, ${blockingCount} blocking`);
|
|
433
|
+
if (options.engineLine !== undefined) {
|
|
434
|
+
lines.push(options.engineLine);
|
|
435
|
+
}
|
|
436
|
+
else if (options.engine !== undefined) {
|
|
437
|
+
lines.push(`engine: ${options.engine.version} from ${options.engine.source}`);
|
|
438
|
+
if (options.engine.unpublished)
|
|
439
|
+
lines.push('unpublished engine: CI will not have this code');
|
|
440
|
+
}
|
|
441
|
+
if (options.chaos !== undefined) {
|
|
442
|
+
// The one line that makes a red chaos run explainable and
|
|
443
|
+
// replayable: the seed IS the schedule, and the owner never has to
|
|
444
|
+
// guess which run produced the failure they are looking at.
|
|
445
|
+
lines.push(`timing chaos: seed ${String(options.chaos.seed)} (max delay ${String(options.chaos.maxDelayMs)} ms, ` +
|
|
446
|
+
`reorder ${options.chaos.reorder ? 'on' : 'off'}) — replay with --chaos ${String(options.chaos.seed)}`);
|
|
447
|
+
}
|
|
272
448
|
const scope = options.scope;
|
|
273
449
|
if (scope !== undefined && scope.expandedBecause.length > 0) {
|
|
274
450
|
lines.push(`scope: all obligations; expanded because ${[...scope.expandedBecause].join(', ')}`);
|
|
@@ -280,11 +456,44 @@ function textReport(entries, options, blocking) {
|
|
|
280
456
|
lines.push(`selected tests: ${execution.selectedTests.passed} passed, ${execution.selectedTests.failed} failed ` +
|
|
281
457
|
`(selected ${execution.selectedTests.selected}; ${execution.selectedTests.skipped} skipped; ` +
|
|
282
458
|
`${execution.selectedTests.expectedFailures} expected failures)`);
|
|
459
|
+
// A local run has no progress stream (it is OFF unless CI or a flag
|
|
460
|
+
// asks for it), so without these lines a red run states a count and
|
|
461
|
+
// never a reason. At most three are named inline — enough to see
|
|
462
|
+
// what broke — and the rest are exactly one command away.
|
|
463
|
+
const failures = options.failedTests ?? [];
|
|
464
|
+
if (failures.length > 0) {
|
|
465
|
+
for (const failure of failures.slice(0, MAX_LOCAL_FAILURES)) {
|
|
466
|
+
const reason = firstErrorLine(failure.message);
|
|
467
|
+
lines.push(`failed test: ${failure.title}${reason === '' ? '' : ` — ${reason}`}`);
|
|
468
|
+
}
|
|
469
|
+
const rest = failures.length - MAX_LOCAL_FAILURES;
|
|
470
|
+
if (rest > 0) {
|
|
471
|
+
lines.push(`… ${String(rest)} more — run with \`--progress stderr\` to print every failure as it happens`);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
283
474
|
lines.push(`selected claims: ${execution.selectedClaims.satisfied} satisfied, ${execution.selectedClaims.blocking} blocking ` +
|
|
284
475
|
`(selected ${execution.selectedClaims.selected}; ${execution.selectedClaims.blockingEntries} blocking entries; ` +
|
|
285
476
|
`${execution.selectedClaims.waived} waived)`);
|
|
286
|
-
|
|
477
|
+
// The line never prints a bare "blocking" count that differs from
|
|
478
|
+
// the gate line: the baselined and the new debt are named apart,
|
|
479
|
+
// and "new blocking" is what THIS run's exit code blocks on.
|
|
480
|
+
lines.push(`repository debt: ${execution.repositoryDebt.baselined} known (baselined), ` +
|
|
481
|
+
`${execution.repositoryDebt.newlyBlocking} new blocking / ${execution.repositoryDebt.obligations} obligations ` +
|
|
287
482
|
`(${execution.repositoryDebt.unclaimed} unclaimed; ${execution.repositoryDebt.blockingEntries} blocking entries)`);
|
|
483
|
+
// A slice run grades only its own surface. Debt outside it is real
|
|
484
|
+
// and reported, but it is not what this run blocks on — say so with
|
|
485
|
+
// its own words instead of counting it as new.
|
|
486
|
+
if (execution.repositoryDebt.notGradedBlocking > 0) {
|
|
487
|
+
lines.push(`not graded by this ${execution.scope}-scope run: ${execution.repositoryDebt.notGradedBlocking} blocking obligation(s) — ` +
|
|
488
|
+
'this run never observed them; a full run grades them');
|
|
489
|
+
}
|
|
490
|
+
// A named run grades ONLY the selection it executed. Say the
|
|
491
|
+
// remainder out loud, so a green named run is never misread as a
|
|
492
|
+
// whole-repository verdict.
|
|
493
|
+
if (execution.scope === 'named') {
|
|
494
|
+
lines.push(`not graded in a named run: ${Math.max(0, execution.repositoryDebt.obligations - execution.selectedClaims.selected)} obligation(s) — ` +
|
|
495
|
+
'a hand-picked selection never observed them; run the full suite for repository-wide verdicts');
|
|
496
|
+
}
|
|
288
497
|
}
|
|
289
498
|
if (options.diagnosticContext !== undefined) {
|
|
290
499
|
const context = options.diagnosticContext;
|
|
@@ -296,6 +505,33 @@ function textReport(entries, options, blocking) {
|
|
|
296
505
|
`approvalDigest=${context.docsExclusions.approvalDigest ?? '<missing>'} ` +
|
|
297
506
|
`guarantee="${context.docsExclusions.guarantee}"`);
|
|
298
507
|
}
|
|
508
|
+
if (context.cacheExclusions !== undefined) {
|
|
509
|
+
lines.push(`Python cache exclusions: files=${context.cacheExclusions.files.join(',')} ` +
|
|
510
|
+
`approvalStatus=${context.cacheExclusions.approvalStatus} ` +
|
|
511
|
+
`approvalDigest=${context.cacheExclusions.approvalDigest ?? '<missing>'} ` +
|
|
512
|
+
`guarantee=\"${context.cacheExclusions.guarantee}\"`);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
|
|
516
|
+
const grouped = new Map();
|
|
517
|
+
for (const entry of orderedLifecycleDerivations(options.lifecycleDerivation)) {
|
|
518
|
+
const key = `${entry.resourceId ?? ''}\u0000${entry.resourceName}`;
|
|
519
|
+
const records = grouped.get(key);
|
|
520
|
+
if (records === undefined)
|
|
521
|
+
grouped.set(key, [entry]);
|
|
522
|
+
else
|
|
523
|
+
records.push(entry);
|
|
524
|
+
}
|
|
525
|
+
lines.push('', 'lifecycle derivation (detector facts):');
|
|
526
|
+
for (const records of grouped.values()) {
|
|
527
|
+
const first = records[0];
|
|
528
|
+
if (first === undefined)
|
|
529
|
+
continue;
|
|
530
|
+
const detail = records
|
|
531
|
+
.map((entry) => `${entry.operation}: ${entry.disposition} (${entry.reason}) — ${entry.detail}`)
|
|
532
|
+
.join('; ');
|
|
533
|
+
lines.push(` ${first.resourceId ?? first.resourceName}: ${detail}`);
|
|
534
|
+
}
|
|
299
535
|
}
|
|
300
536
|
if (options.waiverCounts !== undefined) {
|
|
301
537
|
const wc = options.waiverCounts;
|
|
@@ -303,11 +539,14 @@ function textReport(entries, options, blocking) {
|
|
|
303
539
|
`${wc.staleOwner} stale-owner`);
|
|
304
540
|
}
|
|
305
541
|
if (options.baseline !== undefined) {
|
|
306
|
-
lines.push(`baseline
|
|
542
|
+
lines.push(`adopted baseline: ${options.baseline.obligations} obligation(s) + ` +
|
|
307
543
|
`${options.baseline.blockingEntries} blocking entry(ies)` +
|
|
308
544
|
(options.baseline.classificationBlocked !== undefined
|
|
309
545
|
? ` + ${options.baseline.classificationBlocked} classification-blocked resource(s)`
|
|
310
546
|
: '') +
|
|
547
|
+
(options.baseline.ageDays !== undefined
|
|
548
|
+
? `; age: ${options.baseline.ageDays} day(s); never witnessed: ${options.baseline.neverWitnessed ?? 0}`
|
|
549
|
+
: '') +
|
|
311
550
|
` forgiven — shrink-only: resolve debt, then 'gateforge baseline update'`);
|
|
312
551
|
}
|
|
313
552
|
for (const entry of entries) {
|
|
@@ -321,6 +560,16 @@ function textReport(entries, options, blocking) {
|
|
|
321
560
|
lines.push(` policy: ${entry.obligation.policyId}`);
|
|
322
561
|
lines.push(` obligation: ${entry.obligation.id}`);
|
|
323
562
|
lines.push(` fingerprint: ${fingerprintObligation(entry.obligation)}`);
|
|
563
|
+
lines.push(` message: ${humanMessage({
|
|
564
|
+
id: entry.obligation.resourceId,
|
|
565
|
+
cause: entry.cause,
|
|
566
|
+
nextAction: entry.nextAction,
|
|
567
|
+
reason: entry.reason,
|
|
568
|
+
type: entry.verdict,
|
|
569
|
+
})}`);
|
|
570
|
+
if (entry.inScopeBecause !== undefined) {
|
|
571
|
+
lines.push(` in scope because: ${entry.inScopeBecause.join(', ') || '<no changed source path>'}`);
|
|
572
|
+
}
|
|
324
573
|
lines.push(` evidence gap: ${entry.reason ?? '<none>'}`);
|
|
325
574
|
if (entry.cause !== undefined && entry.cause !== null) {
|
|
326
575
|
lines.push(` cause: ${entry.cause}`);
|
|
@@ -328,6 +577,20 @@ function textReport(entries, options, blocking) {
|
|
|
328
577
|
}
|
|
329
578
|
lines.push(` records: ${entry.recordIds.length > 0 ? entry.recordIds.join(', ') : '<none consulted>'}`);
|
|
330
579
|
}
|
|
580
|
+
if (options.advisories !== undefined && options.advisories.length > 0) {
|
|
581
|
+
lines.push('');
|
|
582
|
+
lines.push('advisories (non-blocking):');
|
|
583
|
+
for (const entry of options.advisories) {
|
|
584
|
+
const where = entry.location !== null ? ` at ${entry.location.file}:${entry.location.line}` : '';
|
|
585
|
+
lines.push(` ${humanMessage({
|
|
586
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
587
|
+
cause: entry.cause,
|
|
588
|
+
nextAction: entry.nextAction,
|
|
589
|
+
detail: entry.detail,
|
|
590
|
+
type: entry.kind,
|
|
591
|
+
})}${where}`);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
331
594
|
if (blocking.length > 0) {
|
|
332
595
|
lines.push('');
|
|
333
596
|
lines.push('blocking entries (unclassified/unresolved/findings/stale references):');
|
|
@@ -336,7 +599,13 @@ function textReport(entries, options, blocking) {
|
|
|
336
599
|
const cause = entry.cause !== undefined && entry.cause !== null
|
|
337
600
|
? ` (cause: ${entry.cause} → ${entry.nextAction ?? 'no action available'})`
|
|
338
601
|
: '';
|
|
339
|
-
lines.push(`
|
|
602
|
+
lines.push(` ${humanMessage({
|
|
603
|
+
id: entry.resourceId ?? entry.name ?? undefined,
|
|
604
|
+
cause: entry.cause,
|
|
605
|
+
nextAction: entry.nextAction,
|
|
606
|
+
detail: entry.detail,
|
|
607
|
+
type: entry.kind,
|
|
608
|
+
})}${where}`);
|
|
340
609
|
}
|
|
341
610
|
}
|
|
342
611
|
if (options.classificationTraces !== undefined) {
|
|
@@ -365,6 +634,11 @@ function textReport(entries, options, blocking) {
|
|
|
365
634
|
}
|
|
366
635
|
lines.push('');
|
|
367
636
|
lines.push(`exit code: ${runExitCode({ verdicts: entries, blocking })}`);
|
|
637
|
+
if (options.outcome === 'partial-selection' && options.execution !== undefined) {
|
|
638
|
+
lines.push(`Tests: ${options.execution.selectedTests.passed} passed.`);
|
|
639
|
+
lines.push(`Claims: ${options.execution.selectedClaims.satisfied} satisfied.`);
|
|
640
|
+
lines.push('Receipt: not sealed — partial selection (expected)');
|
|
641
|
+
}
|
|
368
642
|
return `${lines.join('\n')}\n`;
|
|
369
643
|
}
|
|
370
644
|
//# 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"}
|
|
@@ -568,6 +568,8 @@ export declare const CompiledBehaviorCaseSchema: z.ZodObject<{
|
|
|
568
568
|
failed: "failed";
|
|
569
569
|
rejected: "rejected";
|
|
570
570
|
}>;
|
|
571
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
572
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
571
573
|
}, z.core.$strict>], "kind">>;
|
|
572
574
|
}, z.core.$strict>;
|
|
573
575
|
}, z.core.$strict>>;
|
|
@@ -896,6 +898,8 @@ export declare const CompiledBehaviorCaseSchema: z.ZodObject<{
|
|
|
896
898
|
failed: "failed";
|
|
897
899
|
rejected: "rejected";
|
|
898
900
|
}>;
|
|
901
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
902
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
899
903
|
}, z.core.$strict>], "kind">>;
|
|
900
904
|
visible: z.ZodOptional<z.ZodObject<{
|
|
901
905
|
surface: z.ZodString;
|
|
@@ -1515,6 +1519,8 @@ export declare const BehaviorCatalogSchema: z.ZodObject<{
|
|
|
1515
1519
|
failed: "failed";
|
|
1516
1520
|
rejected: "rejected";
|
|
1517
1521
|
}>;
|
|
1522
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
1523
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
1518
1524
|
}, z.core.$strict>], "kind">>;
|
|
1519
1525
|
}, z.core.$strict>;
|
|
1520
1526
|
}, z.core.$strict>>;
|
|
@@ -1843,6 +1849,8 @@ export declare const BehaviorCatalogSchema: z.ZodObject<{
|
|
|
1843
1849
|
failed: "failed";
|
|
1844
1850
|
rejected: "rejected";
|
|
1845
1851
|
}>;
|
|
1852
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
1853
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
1846
1854
|
}, z.core.$strict>], "kind">>;
|
|
1847
1855
|
visible: z.ZodOptional<z.ZodObject<{
|
|
1848
1856
|
surface: z.ZodString;
|
|
@@ -2469,6 +2477,8 @@ export declare const BehaviorCatalogRegistrationSchema: z.ZodObject<{
|
|
|
2469
2477
|
failed: "failed";
|
|
2470
2478
|
rejected: "rejected";
|
|
2471
2479
|
}>;
|
|
2480
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
2481
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
2472
2482
|
}, z.core.$strict>], "kind">>;
|
|
2473
2483
|
}, z.core.$strict>;
|
|
2474
2484
|
}, z.core.$strict>>;
|
|
@@ -2797,6 +2807,8 @@ export declare const BehaviorCatalogRegistrationSchema: z.ZodObject<{
|
|
|
2797
2807
|
failed: "failed";
|
|
2798
2808
|
rejected: "rejected";
|
|
2799
2809
|
}>;
|
|
2810
|
+
minAttempts: z.ZodOptional<z.ZodNumber>;
|
|
2811
|
+
recoveredFromStall: z.ZodOptional<z.ZodBoolean>;
|
|
2800
2812
|
}, z.core.$strict>], "kind">>;
|
|
2801
2813
|
visible: z.ZodOptional<z.ZodObject<{
|
|
2802
2814
|
surface: z.ZodString;
|