wicked-crew-api-types 0.133.0 → 0.135.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/index.d.ts +108 -3
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -739,6 +739,12 @@ export interface WorkUnit {
|
|
|
739
739
|
/** (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) The receipt of this unit's LAST gate,
|
|
740
740
|
* as `gateEvaluated.assurance` carried it. ABSENT until a gate ran, and on an older engine. */
|
|
741
741
|
assurance?: AssuranceReceipt;
|
|
742
|
+
/** (api-types 0.135.0) Every layer other than the repo-checks floor that denied this unit's last
|
|
743
|
+
* gate, plus any earlier denial over the same tree that gate did not ask again — the record
|
|
744
|
+
* `operator_judgment` reads (it is refused while any stands). `[]`: known, nothing but the floor
|
|
745
|
+
* denied. ABSENT (or `null`): unknown — a unit from before the record, or an older engine. The
|
|
746
|
+
* engine's own serialization, so its fields are snake_case (`claim_id`, `rule_ids`, …). */
|
|
747
|
+
denials_behind?: Array<{ source: string; reason: string; [k: string]: unknown }> | null;
|
|
742
748
|
/** Evaluator≠creator role. Present on def-driven units; absent on legacy/free-text. */
|
|
743
749
|
role?: PhaseRole;
|
|
744
750
|
/** Gate policy for this phase. Present on def-driven units; absent on legacy/free-text. */
|
|
@@ -1605,6 +1611,34 @@ export interface GateInfo {
|
|
|
1605
1611
|
* work this gate asks about. `null` when the unit carries none (no gate evaluated it yet, or an
|
|
1606
1612
|
* older engine); ABSENT on an older daemon. */
|
|
1607
1613
|
assurance?: AssuranceReceipt | null;
|
|
1614
|
+
/**
|
|
1615
|
+
* (api-types 0.134.0) On a gate whose unit no judge could rule on (`denial.source:
|
|
1616
|
+
* 'judge_unavailable'`): whether its JUDGE CAN BE RE-RUN NOW — `{approve: true, action:
|
|
1617
|
+
* 'rejudge'}` ({@link GateDecision.action}) — and which seats the engine's judge selection would
|
|
1618
|
+
* draw from. ABSENT on every other gate, on an older daemon, and on an engine without the
|
|
1619
|
+
* readiness read (then `rejudge` is not offered).
|
|
1620
|
+
*/
|
|
1621
|
+
rejudge?: RejudgeOffer;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
/**
|
|
1625
|
+
* (api-types 0.134.0) Whether a `judge_unavailable` gate's judge can be re-run now. `available` —
|
|
1626
|
+
* the engine's judge selection names at least one seat (`eligible`, rotation order, fallback judges
|
|
1627
|
+
* last): `rejudge` re-arms the judge on the same work (the step does not run again; deny-dominates
|
|
1628
|
+
* still folds the result). Otherwise `missing` says which of the run's seats cannot judge this work,
|
|
1629
|
+
* and why — what to fix before re-running it.
|
|
1630
|
+
*/
|
|
1631
|
+
export interface RejudgeOffer {
|
|
1632
|
+
available: boolean;
|
|
1633
|
+
eligible: string[];
|
|
1634
|
+
missing: RejudgeMissingSeat[];
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
/** One run seat that cannot judge the gated work now, and why, in the engine's words (`built this
|
|
1638
|
+
* work`, `benched for this run: quota_exhausted …`, `not usable now: signed out`). */
|
|
1639
|
+
export interface RejudgeMissingSeat {
|
|
1640
|
+
seat: string;
|
|
1641
|
+
reason: string;
|
|
1608
1642
|
}
|
|
1609
1643
|
|
|
1610
1644
|
/**
|
|
@@ -1669,6 +1703,28 @@ export interface GateDecision {
|
|
|
1669
1703
|
| 'accept_partial'
|
|
1670
1704
|
| 'accept_suggestion'
|
|
1671
1705
|
| 'amend_intent'
|
|
1706
|
+
/** (api-types 0.134.0) RE-RUN THE JUDGE of a `judge_unavailable` gate, with `approve: true` and
|
|
1707
|
+
* nothing else: the engine re-arms the judge on the same work with the run's roster as it
|
|
1708
|
+
* stands now (never the work's authors or the pinned validator's author), records
|
|
1709
|
+
* {@link JudgeRerunRequestedEvent} and re-dispatches the unit WITHOUT running its seat; the
|
|
1710
|
+
* ordinary fold judges the result, so a REJECT, a failed floor or another seatless judge denies
|
|
1711
|
+
* again. Refused (409, gate left open) at any other gate and when no judge seat is eligible —
|
|
1712
|
+
* {@link GateInfo.rejudge} says beforehand. Unlike a plain approve there, it is never the
|
|
1713
|
+
* operator's own judgment. */
|
|
1714
|
+
| 'rejudge'
|
|
1715
|
+
/** (api-types 0.135.0, operator ruling 2026-10-21) APPROVE AS YOUR OWN JUDGMENT at the
|
|
1716
|
+
* escalation gate of a FAILED REPO-CHECKS FLOOR (`gateEscalated.condition: 'floor_failed'`,
|
|
1717
|
+
* `denialSource: 'repo_checks' | 'repo_checks_timeout'`), with `approve: true` and the written
|
|
1718
|
+
* rationale in `amend` — required, non-empty (a 400 otherwise); no `amendScope` or `plan`. The
|
|
1719
|
+
* operator judges from the evidence that the failures are not the work's (load flakes,
|
|
1720
|
+
* pre-existing reds): the unit counts as it stands, its gate receipt records an
|
|
1721
|
+
* {@link OperatorJudgment} with `floorOverride` set (the floor result it overrode, labelled
|
|
1722
|
+
* "floor overridden by operator"), and the run ({@link RunAssurance.floorOverrides}) and the
|
|
1723
|
+
* delivery carry the label. It overrides the floor ONLY: the engine refuses it (409, gate left
|
|
1724
|
+
* open) when any other layer of the same gate also denied, on a team member's step, on a tool or
|
|
1725
|
+
* deliver step and at every other gate. QE acceptance is never waived by it — a run that
|
|
1726
|
+
* requires it still needs its PASS before delivery. Engine: wicked-core-ts after 0.15.6. */
|
|
1727
|
+
| 'operator_judgment'
|
|
1672
1728
|
/** (core#820) A `consent` gate's choice from its dry-run plan (`awaitingHuman.choices`), with
|
|
1673
1729
|
* `approve: true`: `consent:worker` (the default), `consent:operator`, …; `reject` declines. */
|
|
1674
1730
|
| `consent:${string}`;
|
|
@@ -2230,7 +2286,8 @@ export interface DataUsedEvent {
|
|
|
2230
2286
|
* names the error. Before core-ts 0.7.46 the error was dropped and the gate could approve.
|
|
2231
2287
|
* - `judge_unavailable` — the gate's judge did not run (every eligible judge seat failed, or, since
|
|
2232
2288
|
* core-ts 0.7.46 / EX-02, the run requires a judge and none distinct from the creator existed).
|
|
2233
|
-
* A HOLD:
|
|
2289
|
+
* A HOLD: approve = the operator's own judgment (labelled "judged by operator"); once a judge seat
|
|
2290
|
+
* can rule, `rejudge` re-runs the judge (api-types 0.134.0, {@link GateInfo.rejudge}).
|
|
2234
2291
|
* Open-ended (`string & {}`) so a newer engine's source parses in an older studio.
|
|
2235
2292
|
*/
|
|
2236
2293
|
export type UnitDenialSource =
|
|
@@ -2279,7 +2336,8 @@ export type AssuranceInstrument =
|
|
|
2279
2336
|
| 'judge'
|
|
2280
2337
|
| 'evaluator_pass'
|
|
2281
2338
|
| 'distinct_evaluator'
|
|
2282
|
-
/** (api-types 0.110.0) The operator judged a gate whose judge could not rule
|
|
2339
|
+
/** (api-types 0.110.0) The operator judged a gate whose judge could not rule — or (api-types
|
|
2340
|
+
* 0.135.0) overrode a failed repo-checks floor (`operatorJudges[].floorOverride`). */
|
|
2283
2341
|
| 'operator_judge'
|
|
2284
2342
|
| (string & {});
|
|
2285
2343
|
|
|
@@ -2292,9 +2350,34 @@ export interface OperatorJudgment {
|
|
|
2292
2350
|
by: string;
|
|
2293
2351
|
/** Unix millis. */
|
|
2294
2352
|
at: number;
|
|
2353
|
+
/** The operator's note; on a floor override, the written rationale (never empty). */
|
|
2295
2354
|
note: string | null;
|
|
2296
|
-
/** Why the judge could not rule (the gate's denial reason)
|
|
2355
|
+
/** Why the judge could not rule (the gate's denial reason) — or, on a floor override, why the
|
|
2356
|
+
* floor denied. */
|
|
2297
2357
|
reason: string | null;
|
|
2358
|
+
/** (api-types 0.135.0) Set when this judgment OVERRODE a failed repo-checks floor
|
|
2359
|
+
* ({@link GateDecision.action} `'operator_judgment'`); ABSENT on a judge-unavailable judgment
|
|
2360
|
+
* and on an older engine. */
|
|
2361
|
+
floorOverride?: FloorOverride;
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2364
|
+
/**
|
|
2365
|
+
* (api-types 0.135.0, operator ruling 2026-10-21) The failed floor result an operator's judgment
|
|
2366
|
+
* overrode. It answers the repo-checks floor only: every other layer of the gate still denies, and
|
|
2367
|
+
* QE acceptance is untouched.
|
|
2368
|
+
*/
|
|
2369
|
+
export interface FloorOverride {
|
|
2370
|
+
/** The floor layer that denied: `repo_checks` | `repo_checks_timeout`. */
|
|
2371
|
+
layer: string;
|
|
2372
|
+
/** The floor result overridden — `<run>:unit-<ord>:attempt-<n>:<layer>`, the unit's
|
|
2373
|
+
* `repoChecksEvaluated` frame for that attempt (or the carried result it stood on). */
|
|
2374
|
+
resultId: string;
|
|
2375
|
+
ord: number;
|
|
2376
|
+
attempt: number;
|
|
2377
|
+
/** The tree the overridden checks ran on, when the report names it. */
|
|
2378
|
+
tree: string | null;
|
|
2379
|
+
/** `floor overridden by operator` — the line to show as-is. */
|
|
2380
|
+
label: string;
|
|
2298
2381
|
}
|
|
2299
2382
|
|
|
2300
2383
|
/**
|
|
@@ -2337,8 +2420,14 @@ export interface RunAssurance {
|
|
|
2337
2420
|
* exactly when `required` holds `qe_acceptance`. ABSENT on an older engine (then a required
|
|
2338
2421
|
* `qe_acceptance` is enforced). */
|
|
2339
2422
|
qe?: QeAcceptanceDecision;
|
|
2423
|
+
/** (api-types 0.135.0) Every failed floor the operator overrode on this run ("floor overridden
|
|
2424
|
+
* by operator"), each with who, when and the rationale; ABSENT when none or on an older engine. */
|
|
2425
|
+
floorOverrides?: OperatorJudgment[];
|
|
2340
2426
|
}
|
|
2341
2427
|
|
|
2428
|
+
/** (api-types 0.135.0) The label an overridden floor carries on the run, the gate and the delivery. */
|
|
2429
|
+
export type FloorOverrideLabel = 'floor overridden by operator';
|
|
2430
|
+
|
|
2342
2431
|
/** (api-types 0.106.0) `QeAcceptanceDecision.status`. */
|
|
2343
2432
|
export type QeAcceptanceStatus = 'required' | 'waived' | 'skipped' | (string & {});
|
|
2344
2433
|
|
|
@@ -3180,6 +3269,22 @@ export type QeAcceptanceDecidedEvent = {
|
|
|
3180
3269
|
qe: QeAcceptanceDecision;
|
|
3181
3270
|
};
|
|
3182
3271
|
|
|
3272
|
+
/** (api-types 0.134.0) The operator re-armed the judge of a `judge_unavailable` gate
|
|
3273
|
+
* ({@link GateDecision.action} `rejudge`): attempt `attempt` re-reads attempt `fromAttempt`'s
|
|
3274
|
+
* captured output with a judge drawn from `seats` (eligible when it was armed); the step's seat does
|
|
3275
|
+
* not run. Emitted before `resumed`; that attempt's `gateEvaluated` says what the judge ruled.
|
|
3276
|
+
* `type` alias on purpose. */
|
|
3277
|
+
export type JudgeRerunRequestedEvent = {
|
|
3278
|
+
type: 'judgeRerunRequested';
|
|
3279
|
+
session: string;
|
|
3280
|
+
ord: number;
|
|
3281
|
+
attempt: number;
|
|
3282
|
+
fromAttempt: number;
|
|
3283
|
+
seats: string[];
|
|
3284
|
+
previousReason: string;
|
|
3285
|
+
by: string;
|
|
3286
|
+
};
|
|
3287
|
+
|
|
3183
3288
|
/** The gate-evidence events (wicked-core F-036/F-039, extended by wicked-core#431 — api-types 0.33.0
|
|
3184
3289
|
* added {@link WorktreeRestoredEvent}, {@link DeliverLiftEvaluatedEvent} and
|
|
3185
3290
|
* {@link EvaluatorToolCallDeniedEvent}) as a discriminated union for consumers that narrow on `type`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew-api-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.135.0",
|
|
4
4
|
"description": "The wire contract of the wicked-crew daemon's /api/v1 REST surface and /ws CoreEvent frames \u2014 types only, zero runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|