@cat-factory/contracts 0.239.0 → 0.241.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/agent-presentation.d.ts +16 -0
- package/dist/agent-presentation.d.ts.map +1 -1
- package/dist/agent-presentation.js +16 -0
- package/dist/agent-presentation.js.map +1 -1
- package/dist/debug-api.d.ts +1 -1
- package/dist/entities.d.ts +32 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +10 -0
- package/dist/entities.js.map +1 -1
- package/dist/environments.d.ts +26 -0
- package/dist/environments.d.ts.map +1 -1
- package/dist/environments.js +30 -0
- package/dist/environments.js.map +1 -1
- package/dist/execution.d.ts +172 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +49 -1
- package/dist/execution.js.map +1 -1
- package/dist/form-fields.d.ts +44 -0
- package/dist/form-fields.d.ts.map +1 -1
- package/dist/form-fields.js +46 -0
- package/dist/form-fields.js.map +1 -1
- package/dist/gate-approval.d.ts +66 -0
- package/dist/gate-approval.d.ts.map +1 -0
- package/dist/gate-approval.js +67 -0
- package/dist/gate-approval.js.map +1 -0
- package/dist/gate-config.d.ts +134 -0
- package/dist/gate-config.d.ts.map +1 -0
- package/dist/gate-config.js +134 -0
- package/dist/gate-config.js.map +1 -0
- package/dist/gate.d.ts +10 -0
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +11 -0
- package/dist/gate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/initiative-preset.d.ts +4 -0
- package/dist/initiative-preset.d.ts.map +1 -1
- package/dist/input-gate.d.ts +38 -5
- package/dist/input-gate.d.ts.map +1 -1
- package/dist/input-gate.js +27 -1
- package/dist/input-gate.js.map +1 -1
- package/dist/pr-report.d.ts +39 -3
- package/dist/pr-report.d.ts.map +1 -1
- package/dist/pr-report.js +20 -2
- package/dist/pr-report.js.map +1 -1
- package/dist/provisioning-logs.d.ts +13 -5
- package/dist/provisioning-logs.d.ts.map +1 -1
- package/dist/provisioning-logs.js +11 -2
- package/dist/provisioning-logs.js.map +1 -1
- package/dist/public-decisions.d.ts +72 -3
- package/dist/public-decisions.d.ts.map +1 -1
- package/dist/public-decisions.js +19 -0
- package/dist/public-decisions.js.map +1 -1
- package/dist/requests.d.ts +37 -4
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +12 -0
- package/dist/requests.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +62 -2
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/board.d.ts +21 -4
- package/dist/routes/board.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +62 -2
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/debug-api.d.ts +1 -1
- package/dist/routes/execution.d.ts +248 -8
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +31 -1
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +155 -5
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/input-gate.d.ts +5 -1
- package/dist/routes/input-gate.d.ts.map +1 -1
- package/dist/routes/pipelines.d.ts +64 -0
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/provisioning-logs.d.ts +1 -1
- package/dist/routes/public-decisions.d.ts +238 -34
- package/dist/routes/public-decisions.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +93 -3
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +138 -2
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +78 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +11 -0
- package/dist/snapshot.js.map +1 -1
- package/dist/step-decisions.d.ts +27 -0
- package/dist/step-decisions.d.ts.map +1 -1
- package/dist/step-decisions.js +24 -2
- package/dist/step-decisions.js.map +1 -1
- package/dist/task-types.d.ts +4 -0
- package/dist/task-types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { descriptorFieldSchema, descriptorFieldValuesSchema } from './form-fields.js';
|
|
3
|
+
import { workspaceRoleSchema } from './workspace-members.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// PER-STEP GATE CONFIGURATION.
|
|
6
|
+
//
|
|
7
|
+
// A pipeline's human checkpoints were a bare `gates: boolean[]` — the step either paused for
|
|
8
|
+
// "a human" or it did not. There was nowhere to say WHICH humans, HOW MANY of them, or what a
|
|
9
|
+
// registered gate's own knobs should be for THIS step, so every gate's parameters had to be
|
|
10
|
+
// hard-coded in the engine (or lifted into the workspace-wide merge preset, which is the wrong
|
|
11
|
+
// grain: a preset is per task, a gate is per step).
|
|
12
|
+
//
|
|
13
|
+
// This module is the config that rides beside the flag, on the extensible `StepOptions` bag
|
|
14
|
+
// (`stepOptions[i].gateConfig`), so it needs no column and no migration. It carries two
|
|
15
|
+
// deliberately different halves:
|
|
16
|
+
//
|
|
17
|
+
// - The PLATFORM-ENFORCED half ({@link gateApproverPolicySchema} + `minApprovals`). Who may
|
|
18
|
+
// resolve the step's human approval gate, and how many distinct approvals advance the run.
|
|
19
|
+
// Typed here rather than left opaque because the BACKEND enforces it and the SPA renders
|
|
20
|
+
// it: both have to agree about what an approver set means.
|
|
21
|
+
// - The GATE-DECLARED half (`fields`). A bag validated against the descriptor form the gate
|
|
22
|
+
// itself registered (`GateRegistry.register(kind, factory, { configFields })`), so a
|
|
23
|
+
// deployment's own gate carries its own parameters without the platform learning them.
|
|
24
|
+
// This is the "ambient" part: the authoring form, the validation and the runtime all derive
|
|
25
|
+
// from that ONE declaration. It rides the repo's existing descriptor-form vocabulary
|
|
26
|
+
// (`form-fields.ts`) rather than a gate-only schema language, so a gate's config form is
|
|
27
|
+
// collected, validated, frozen and rendered by exactly the machinery an initiative preset's
|
|
28
|
+
// form and a custom task type's brief already use.
|
|
29
|
+
//
|
|
30
|
+
// Design record: `backend/docs/adr/0038-per-step-gate-config.md`.
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* The most approvals one gate may demand. A bound rather than an open number because the quorum
|
|
34
|
+
* is counted against DISTINCT workspace identities: a pipeline asking for more approvers than a
|
|
35
|
+
* board plausibly has is a run that parks forever, and the author gets told at save time instead
|
|
36
|
+
* of discovering it mid-delivery.
|
|
37
|
+
*/
|
|
38
|
+
export const MAX_GATE_APPROVALS = 10;
|
|
39
|
+
/**
|
|
40
|
+
* WHO may resolve a step's human approval gate (approve / request changes / reject).
|
|
41
|
+
*
|
|
42
|
+
* Both axes are ADDITIVE — an actor qualifies by holding a listed role OR by being a listed
|
|
43
|
+
* user — because the two express different intents ("any admin" vs "these two people") and a
|
|
44
|
+
* policy routinely wants both. An absent/empty policy means today's behaviour: anyone the
|
|
45
|
+
* workspace RBAC gate already admitted to write (member and above) may resolve the gate.
|
|
46
|
+
*
|
|
47
|
+
* This NARROWS the member tier; it never widens anything. A viewer still cannot resolve a gate
|
|
48
|
+
* (the RBAC write floor refuses the request before this is consulted), and a workspace `admin`
|
|
49
|
+
* is always permitted regardless of what the policy lists — an admin can cancel the run or edit
|
|
50
|
+
* the pipeline outright, so denying them here would buy no safety and would deadlock a run whose
|
|
51
|
+
* named approvers have left the board.
|
|
52
|
+
*/
|
|
53
|
+
export const gateApproverPolicySchema = v.object({
|
|
54
|
+
/** Workspace roles whose holders may resolve the gate. Absent/empty ⇒ no role rule. */
|
|
55
|
+
roles: v.optional(v.array(workspaceRoleSchema)),
|
|
56
|
+
/** Specific workspace members (`usr_*`) who may resolve the gate. Absent/empty ⇒ no user rule. */
|
|
57
|
+
userIds: v.optional(v.array(v.string())),
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* A step's gate configuration, stored at `stepOptions[i].gateConfig`.
|
|
61
|
+
*
|
|
62
|
+
* Every field is optional and absent means the shipped default, so a pipeline that configures
|
|
63
|
+
* nothing persists no `gateConfig` at all and behaves exactly as it did before this existed.
|
|
64
|
+
*/
|
|
65
|
+
export const stepGateConfigSchema = v.object({
|
|
66
|
+
/**
|
|
67
|
+
* Who may resolve this step's human approval gate. Ignored (and refused at pipeline save) on a
|
|
68
|
+
* step that carries no approval gate — a policy on an ungated step reads as a checkpoint that
|
|
69
|
+
* silently does not exist.
|
|
70
|
+
*/
|
|
71
|
+
approvers: v.optional(gateApproverPolicySchema),
|
|
72
|
+
/**
|
|
73
|
+
* How many DISTINCT permitted approvals the gate needs before the run advances. Absent ⇒ 1
|
|
74
|
+
* (today's behaviour). Each approval is recorded on the gate; a second approval from the same
|
|
75
|
+
* identity replaces the first rather than counting twice.
|
|
76
|
+
*
|
|
77
|
+
* A quorum above 1 needs identities to count, so it is only meaningful on a deployment with
|
|
78
|
+
* authentication enabled: with auth off every caller is the same unattributed actor and the
|
|
79
|
+
* gate would never reach two.
|
|
80
|
+
*/
|
|
81
|
+
minApprovals: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(MAX_GATE_APPROVALS))),
|
|
82
|
+
/**
|
|
83
|
+
* The step's parameters for its own REGISTERED gate kind (a `ci` / `conflicts` /
|
|
84
|
+
* `post-release-health` step, or a deployment's own gate), validated at pipeline save and at
|
|
85
|
+
* run start against the descriptor fields that gate registered. Threaded onto the live gate
|
|
86
|
+
* state, so a gate reads its knobs off the STEP instead of the engine or the workspace merge
|
|
87
|
+
* preset.
|
|
88
|
+
*
|
|
89
|
+
* Refused at save on a step whose kind registers no gate, and on a field the gate does not
|
|
90
|
+
* declare: an unread key is indistinguishable from a typo'd one, and both look to whoever
|
|
91
|
+
* typed them like configuration that took effect.
|
|
92
|
+
*/
|
|
93
|
+
fields: v.optional(descriptorFieldValuesSchema),
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* A registered gate's own config form, as projected to the SPA on the workspace snapshot: the
|
|
97
|
+
* gate's step `kind` plus the descriptor fields it declared. The pipeline builder renders these
|
|
98
|
+
* through the SAME `DescriptorFields` component every other descriptor form uses, so a
|
|
99
|
+
* deployment's gate gets an authoring form with no frontend change — the "ambient" half of the
|
|
100
|
+
* per-step gate config.
|
|
101
|
+
*
|
|
102
|
+
* Absent from the snapshot when no registered gate declares any fields, so the stock product
|
|
103
|
+
* carries nothing.
|
|
104
|
+
*/
|
|
105
|
+
export const gateConfigFormSchema = v.object({
|
|
106
|
+
/** The step `agentKind` this gate is registered for. */
|
|
107
|
+
kind: v.string(),
|
|
108
|
+
/** The gate's declared parameters (deployment-authored English labels, rendered verbatim). */
|
|
109
|
+
fields: v.array(descriptorFieldSchema),
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* One recorded approval on a gate: who cleared it and when. Kept as a list rather than a count
|
|
113
|
+
* so a quorum can be counted against DISTINCT identities (re-clicking approve is idempotent) and
|
|
114
|
+
* so the run detail can name the people who signed off rather than showing an anonymous tally.
|
|
115
|
+
*
|
|
116
|
+
* `actorId` is a `usr_*` id for a signed-in person, the public-API key id for an integration, and
|
|
117
|
+
* {@link UNATTRIBUTED_GATE_ACTOR} on a deployment running with auth disabled — three cases the
|
|
118
|
+
* quorum treats identically (one slot each) and the UI labels differently.
|
|
119
|
+
*/
|
|
120
|
+
export const gateApprovalRecordSchema = v.object({
|
|
121
|
+
actorId: v.string(),
|
|
122
|
+
/** Display label snapshotted at approval time (login/name, or the key's label). */
|
|
123
|
+
actorLabel: v.optional(v.string()),
|
|
124
|
+
/** Epoch ms the approval was recorded. */
|
|
125
|
+
at: v.number(),
|
|
126
|
+
});
|
|
127
|
+
/**
|
|
128
|
+
* The actor id recorded when a deployment resolves a gate with no workspace identity behind the
|
|
129
|
+
* request (auth disabled). Named rather than an empty string so a reader can tell "nobody was
|
|
130
|
+
* signed in" from "the field was never written", and so every such approval collapses onto ONE
|
|
131
|
+
* quorum slot instead of silently satisfying a multi-approver gate.
|
|
132
|
+
*/
|
|
133
|
+
export const UNATTRIBUTED_GATE_ACTOR = 'unattributed';
|
|
134
|
+
//# sourceMappingURL=gate-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-config.js","sourceRoot":"","sources":["../src/gate-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,8EAA8E;AAC9E,+BAA+B;AAC/B,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,4FAA4F;AAC5F,+FAA+F;AAC/F,oDAAoD;AACpD,EAAE;AACF,4FAA4F;AAC5F,wFAAwF;AACxF,iCAAiC;AACjC,EAAE;AACF,8FAA8F;AAC9F,+FAA+F;AAC/F,6FAA6F;AAC7F,+DAA+D;AAC/D,8FAA8F;AAC9F,yFAAyF;AACzF,2FAA2F;AAC3F,gGAAgG;AAChG,yFAAyF;AACzF,6FAA6F;AAC7F,gGAAgG;AAChG,uDAAuD;AACvD,EAAE;AACF,kEAAkE;AAClE,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,uFAAuF;IACvF,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/C,kGAAkG;IAClG,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC/C;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAC/E;IACD;;;;;;;;;;OAUG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAChD,CAAC,CAAA;AAGF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,wDAAwD;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,8FAA8F;IAC9F,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CACvC,CAAC,CAAA;AAGF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,mFAAmF;IACnF,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,0CAA0C;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAA"}
|
package/dist/gate.d.ts
CHANGED
|
@@ -114,6 +114,16 @@ export declare const gateStepStateSchema: v.ObjectSchema<{
|
|
|
114
114
|
* (failing → a helper is fixing) vs idle-passing. Set on every probe.
|
|
115
115
|
*/
|
|
116
116
|
readonly lastVerdict: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["pass", "pending", "fail"], undefined>, undefined>, undefined>;
|
|
117
|
+
/**
|
|
118
|
+
* The step's own parameters for this gate (`stepOptions.gateConfig.fields`), copied onto the
|
|
119
|
+
* gate state ONCE on first entry alongside `maxAttempts` and validated, before it got here,
|
|
120
|
+
* against the descriptor fields the gate registered. This is how a gate reads a knob off the
|
|
121
|
+
* STEP rather than off the engine or the workspace-wide merge preset: `probe` receives the live
|
|
122
|
+
* gate state, so a registered gate reads `gateState.config` with no new plumbing per parameter.
|
|
123
|
+
*
|
|
124
|
+
* Absent ⇒ the gate's shipped defaults (which for the built-ins means the preset's values).
|
|
125
|
+
*/
|
|
126
|
+
readonly config: v.OptionalSchema<v.NullableSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>, undefined>;
|
|
117
127
|
/**
|
|
118
128
|
* Human-readable summary of the latest failing precheck (the failing CI checks /
|
|
119
129
|
* the conflict reason) — the conclusion detail that used to be fed only to the
|
package/dist/gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B;;;;;;;;;;;GAWG;AACH,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB;;IAEjC,kFAAkF;;IAElF;;;OAGG;;IAEH;;;OAGG;;aAEH,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAC5B,yFAAyF;;IAEzF,6CAA6C;;IAE7C;;;;;;OAMG;;IAEH,gEAAgE;;IAEhE;;;;;;;;OAQG;;IAEH;;;;;OAKG;;;QAlDH,kFAAkF;;QAElF;;;WAGG;;QAEH;;;WAGG;;;IA0CH,2FAA2F;;aAE3F,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,eAAO,MAAM,mBAAmB;;IAE9B,kEAAkE;;IAElE,gFAAgF;;IAEhF,gGAAgG;;IAEhG;;;;;OAKG;;IAEH;;;;;OAKG;;;;;;IAUH;;;OAGG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;;QAjHH,kFAAkF;;QAElF;;;WAGG;;QAEH;;;WAGG;;;IAyGH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;IAEH;;;;;;OAMG;;;;;;;;IAEH;;;;;OAKG;;QAlIH,yFAAyF;;QAEzF,6CAA6C;;QAE7C;;;;;;WAMG;;QAEH,gEAAgE;;QAEhE;;;;;;;;WAQG;;QAEH;;;;;WAKG;;;YAlDH,kFAAkF;;YAElF;;;eAGG;;YAEH;;;eAGG;;;QA0CH,2FAA2F;;;IAsG3F;;;;;OAKG;;IAEH;;;;;;OAMG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;;;;aASH,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|
package/dist/gate.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { descriptorFieldValuesSchema } from './form-fields.js';
|
|
2
3
|
import { releaseSignalSchema } from './release.js';
|
|
3
4
|
// ---------------------------------------------------------------------------
|
|
4
5
|
// Polling-GATE step state — the live loop state a `ci` / `conflicts` /
|
|
@@ -108,6 +109,16 @@ export const gateStepStateSchema = v.object({
|
|
|
108
109
|
* (failing → a helper is fixing) vs idle-passing. Set on every probe.
|
|
109
110
|
*/
|
|
110
111
|
lastVerdict: v.optional(v.nullable(v.picklist(['pass', 'pending', 'fail']))),
|
|
112
|
+
/**
|
|
113
|
+
* The step's own parameters for this gate (`stepOptions.gateConfig.fields`), copied onto the
|
|
114
|
+
* gate state ONCE on first entry alongside `maxAttempts` and validated, before it got here,
|
|
115
|
+
* against the descriptor fields the gate registered. This is how a gate reads a knob off the
|
|
116
|
+
* STEP rather than off the engine or the workspace-wide merge preset: `probe` receives the live
|
|
117
|
+
* gate state, so a registered gate reads `gateState.config` with no new plumbing per parameter.
|
|
118
|
+
*
|
|
119
|
+
* Absent ⇒ the gate's shipped defaults (which for the built-ins means the preset's values).
|
|
120
|
+
*/
|
|
121
|
+
config: v.optional(v.nullable(descriptorFieldValuesSchema)),
|
|
111
122
|
/**
|
|
112
123
|
* Human-readable summary of the latest failing precheck (the failing CI checks /
|
|
113
124
|
* the conflict reason) — the conclusion detail that used to be fed only to the
|
package/dist/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,8EAA8E;AAC9E,uEAAuE;AACvE,oFAAoF;AACpF,EAAE;AACF,yFAAyF;AACzF,uFAAuF;AACvF,gFAAgF;AAChF,sCAAsC;AACtC,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,kFAAkF;IAClF,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,yFAAyF;IACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,6CAA6C;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5C,gEAAgE;IAChE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtE,2FAA2F;IAC3F,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5C,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gFAAgF;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gGAAgG;IAChG,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE;;;;;OAKG;IACH,cAAc,EAAE,CAAC,CAAC,QAAQ,CACxB,CAAC,CAAC,QAAQ,CACR,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B,CAAC,CACH,CACF;IACD;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5E;;;;;;;;OAQG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtE;;;;;;OAMG;IACH,0BAA0B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACtE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC9D,2FAA2F;IAC3F;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,4BAA4B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D;;;;;;OAMG;IACH,sBAAsB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D;;;;;OAKG;IACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CACpB,CAAC,CAAC,QAAQ,CACR,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC,CACH,CACF;CACF,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './entities.js';
|
|
|
5
5
|
export * from './agent-failure-kinds.js';
|
|
6
6
|
export * from './execution.js';
|
|
7
7
|
export * from './step-decisions.js';
|
|
8
|
+
export * from './gate-config.js';
|
|
9
|
+
export * from './gate-approval.js';
|
|
8
10
|
export * from './run-provenance.js';
|
|
9
11
|
export * from './input-gate.js';
|
|
10
12
|
export * from './human-verdict-gates.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export * from './entities.js';
|
|
|
5
5
|
export * from './agent-failure-kinds.js';
|
|
6
6
|
export * from './execution.js';
|
|
7
7
|
export * from './step-decisions.js';
|
|
8
|
+
export * from './gate-config.js';
|
|
9
|
+
export * from './gate-approval.js';
|
|
8
10
|
export * from './run-provenance.js';
|
|
9
11
|
export * from './input-gate.js';
|
|
10
12
|
export * from './human-verdict-gates.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
@@ -34,6 +34,8 @@ export declare const initiativePresetFieldSchema: v.ObjectSchema<{
|
|
|
34
34
|
readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
35
35
|
}, undefined>, undefined>;
|
|
36
36
|
readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 2000, undefined>]>, undefined>;
|
|
37
|
+
readonly min: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
38
|
+
readonly max: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
37
39
|
/** Field type; absent is treated as `text`. */
|
|
38
40
|
readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
|
|
39
41
|
}, undefined>;
|
|
@@ -153,6 +155,8 @@ export declare const initiativePresetDescriptorSchema: v.ObjectSchema<{
|
|
|
153
155
|
readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
154
156
|
}, undefined>, undefined>;
|
|
155
157
|
readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 2000, undefined>]>, undefined>;
|
|
158
|
+
readonly min: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
159
|
+
readonly max: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
156
160
|
/** Field type; absent is treated as `text`. */
|
|
157
161
|
readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
|
|
158
162
|
}, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiative-preset.d.ts","sourceRoot":"","sources":["../src/initiative-preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAML,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAA;AAsBxB;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,yHAA4B,CAAA;AACxE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F,yGAAyG;AACzG,eAAO,MAAM,8BAA8B;;;;aAAgC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,CAAA;AAE9D,iEAAiE;AACjE,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"initiative-preset.d.ts","sourceRoot":"","sources":["../src/initiative-preset.ts"],"names":[],"mappings":"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"}
|
package/dist/input-gate.d.ts
CHANGED
|
@@ -18,9 +18,14 @@ import * as v from 'valibot';
|
|
|
18
18
|
* nothing for the run to open.
|
|
19
19
|
* - `success_criteria_missing`: a `spike` with no stated success criteria or research
|
|
20
20
|
* question, so nothing decides when the timebox has been spent well (advisory).
|
|
21
|
+
* - `required_field_missing`: a CUSTOM (deployment-registered) task type declared one of its
|
|
22
|
+
* own create-form fields `required`, and the task does not answer it. The one code that
|
|
23
|
+
* covers every deployment's types, because a deployment cannot add a member to a closed,
|
|
24
|
+
* persisted union: WHICH field is missing rides on the finding's {@link inputGateIssueSchema}
|
|
25
|
+
* `field` instead, so an org registering twenty operations adds no vocabulary at all.
|
|
21
26
|
*/
|
|
22
|
-
export declare const INPUT_GATE_ISSUE_CODES: readonly ['description_missing', 'description_placeholder', 'description_thin', 'reproduction_missing', 'review_target_missing', 'success_criteria_missing'];
|
|
23
|
-
export declare const inputGateIssueCodeSchema: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing"], undefined>;
|
|
27
|
+
export declare const INPUT_GATE_ISSUE_CODES: readonly ['description_missing', 'description_placeholder', 'description_thin', 'reproduction_missing', 'review_target_missing', 'success_criteria_missing', 'required_field_missing'];
|
|
28
|
+
export declare const inputGateIssueCodeSchema: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing", "required_field_missing"], undefined>;
|
|
24
29
|
export type InputGateIssueCode = v.InferOutput<typeof inputGateIssueCodeSchema>;
|
|
25
30
|
/**
|
|
26
31
|
* How hard a finding bites. `blocking` parks the run before its first dispatch;
|
|
@@ -33,10 +38,34 @@ export type InputGateIssueCode = v.InferOutput<typeof inputGateIssueCodeSchema>;
|
|
|
33
38
|
*/
|
|
34
39
|
export declare const inputGateSeveritySchema: v.PicklistSchema<["blocking", "advisory"], undefined>;
|
|
35
40
|
export type InputGateSeverity = v.InferOutput<typeof inputGateSeveritySchema>;
|
|
36
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Which declared field a `required_field_missing` finding is about.
|
|
43
|
+
*
|
|
44
|
+
* `key` is what a machine matches on (an SDK client deciding what to fill in); `label` is the
|
|
45
|
+
* deployment-supplied English a human reads. Both, because neither substitutes for the other:
|
|
46
|
+
* a key is a stable identifier nobody wants in a sentence, and a label is prose a deployment
|
|
47
|
+
* may re-word between releases.
|
|
48
|
+
*/
|
|
49
|
+
export declare const inputGateIssueFieldSchema: v.ObjectSchema<{
|
|
50
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
51
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
52
|
+
}, undefined>;
|
|
53
|
+
export type InputGateIssueField = v.InferOutput<typeof inputGateIssueFieldSchema>;
|
|
54
|
+
/**
|
|
55
|
+
* One structural finding: its code, the severity it carried in THIS evaluation, and, for the
|
|
56
|
+
* codes that are about a NAMED input rather than the task as a whole, which one.
|
|
57
|
+
*
|
|
58
|
+
* `field` is optional because most codes need it to be absent, not empty: `description_missing`
|
|
59
|
+
* is about the description and says so by its code alone. Only `required_field_missing` carries
|
|
60
|
+
* it, and it is what keeps a deployment's twenty task types from each needing a code of their own.
|
|
61
|
+
*/
|
|
37
62
|
export declare const inputGateIssueSchema: v.ObjectSchema<{
|
|
38
|
-
readonly code: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing"], undefined>;
|
|
63
|
+
readonly code: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing", "required_field_missing"], undefined>;
|
|
39
64
|
readonly severity: v.PicklistSchema<["blocking", "advisory"], undefined>;
|
|
65
|
+
readonly field: v.OptionalSchema<v.ObjectSchema<{
|
|
66
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
67
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
68
|
+
}, undefined>, undefined>;
|
|
40
69
|
}, undefined>;
|
|
41
70
|
export type InputGateIssue = v.InferOutput<typeof inputGateIssueSchema>;
|
|
42
71
|
/**
|
|
@@ -85,8 +114,12 @@ export declare const runInputGateSchema: v.ObjectSchema<{
|
|
|
85
114
|
* was looked at) and on a clean `passed`.
|
|
86
115
|
*/
|
|
87
116
|
readonly issues: v.ArraySchema<v.ObjectSchema<{
|
|
88
|
-
readonly code: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing"], undefined>;
|
|
117
|
+
readonly code: v.PicklistSchema<readonly ["description_missing", "description_placeholder", "description_thin", "reproduction_missing", "review_target_missing", "success_criteria_missing", "required_field_missing"], undefined>;
|
|
89
118
|
readonly severity: v.PicklistSchema<["blocking", "advisory"], undefined>;
|
|
119
|
+
readonly field: v.OptionalSchema<v.ObjectSchema<{
|
|
120
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
121
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
122
|
+
}, undefined>, undefined>;
|
|
90
123
|
}, undefined>, undefined>;
|
|
91
124
|
/** Epoch ms of the evaluation that produced this verdict. */
|
|
92
125
|
readonly checkedAt: v.NumberSchema<undefined>;
|
package/dist/input-gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-gate.d.ts","sourceRoot":"","sources":["../src/input-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiB5B
|
|
1
|
+
{"version":3,"file":"input-gate.d.ts","sourceRoot":"","sources":["../src/input-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiB5B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,sBAAsB,YACjC,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,CAChB,CAAA;AACV,eAAO,MAAM,wBAAwB,qNAAqC,CAAA;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,uDAAuC,CAAA;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;;aAGpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;;;aAI/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,8DAA8C,CAAA;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,2FAMhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC7B,2DAA2D;;IAE3D,4FAA4F;;IAE5F;;;OAGG;;;;;;;;;IAEH,6DAA6D;;IAE7D;;;;OAIG;;IAEH,kFAAkF;;aAElF,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;aAEjC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAClF,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA"}
|
package/dist/input-gate.js
CHANGED
|
@@ -32,6 +32,11 @@ import * as v from 'valibot';
|
|
|
32
32
|
* nothing for the run to open.
|
|
33
33
|
* - `success_criteria_missing`: a `spike` with no stated success criteria or research
|
|
34
34
|
* question, so nothing decides when the timebox has been spent well (advisory).
|
|
35
|
+
* - `required_field_missing`: a CUSTOM (deployment-registered) task type declared one of its
|
|
36
|
+
* own create-form fields `required`, and the task does not answer it. The one code that
|
|
37
|
+
* covers every deployment's types, because a deployment cannot add a member to a closed,
|
|
38
|
+
* persisted union: WHICH field is missing rides on the finding's {@link inputGateIssueSchema}
|
|
39
|
+
* `field` instead, so an org registering twenty operations adds no vocabulary at all.
|
|
35
40
|
*/
|
|
36
41
|
export const INPUT_GATE_ISSUE_CODES = [
|
|
37
42
|
'description_missing',
|
|
@@ -40,6 +45,7 @@ export const INPUT_GATE_ISSUE_CODES = [
|
|
|
40
45
|
'reproduction_missing',
|
|
41
46
|
'review_target_missing',
|
|
42
47
|
'success_criteria_missing',
|
|
48
|
+
'required_field_missing',
|
|
43
49
|
];
|
|
44
50
|
export const inputGateIssueCodeSchema = v.picklist(INPUT_GATE_ISSUE_CODES);
|
|
45
51
|
/**
|
|
@@ -52,10 +58,30 @@ export const inputGateIssueCodeSchema = v.picklist(INPUT_GATE_ISSUE_CODES);
|
|
|
52
58
|
* which is what lets it default to on.
|
|
53
59
|
*/
|
|
54
60
|
export const inputGateSeveritySchema = v.picklist(['blocking', 'advisory']);
|
|
55
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Which declared field a `required_field_missing` finding is about.
|
|
63
|
+
*
|
|
64
|
+
* `key` is what a machine matches on (an SDK client deciding what to fill in); `label` is the
|
|
65
|
+
* deployment-supplied English a human reads. Both, because neither substitutes for the other:
|
|
66
|
+
* a key is a stable identifier nobody wants in a sentence, and a label is prose a deployment
|
|
67
|
+
* may re-word between releases.
|
|
68
|
+
*/
|
|
69
|
+
export const inputGateIssueFieldSchema = v.object({
|
|
70
|
+
key: v.pipe(v.string(), v.minLength(1), v.maxLength(200)),
|
|
71
|
+
label: v.pipe(v.string(), v.minLength(1), v.maxLength(200)),
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* One structural finding: its code, the severity it carried in THIS evaluation, and, for the
|
|
75
|
+
* codes that are about a NAMED input rather than the task as a whole, which one.
|
|
76
|
+
*
|
|
77
|
+
* `field` is optional because most codes need it to be absent, not empty: `description_missing`
|
|
78
|
+
* is about the description and says so by its code alone. Only `required_field_missing` carries
|
|
79
|
+
* it, and it is what keeps a deployment's twenty task types from each needing a code of their own.
|
|
80
|
+
*/
|
|
56
81
|
export const inputGateIssueSchema = v.object({
|
|
57
82
|
code: inputGateIssueCodeSchema,
|
|
58
83
|
severity: inputGateSeveritySchema,
|
|
84
|
+
field: v.optional(inputGateIssueFieldSchema),
|
|
59
85
|
});
|
|
60
86
|
/**
|
|
61
87
|
* Whether/how the gate applies to a workspace's runs:
|
package/dist/input-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-gate.js","sourceRoot":"","sources":["../src/input-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,qFAAqF;AACrF,4DAA4D;AAC5D,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,oFAAoF;AACpF,8EAA8E;AAC9E,EAAE;AACF,sFAAsF;AACtF,sFAAsF;AACtF,iFAAiF;AACjF,uCAAuC;AACvC,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"input-gate.js","sourceRoot":"","sources":["../src/input-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,qFAAqF;AACrF,4DAA4D;AAC5D,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,oFAAoF;AACpF,8EAA8E;AAC9E,EAAE;AACF,sFAAsF;AACtF,sFAAsF;AACtF,iFAAiF;AACjF,uCAAuC;AACvC,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,qBAAqB;IACrB,yBAAyB;IACzB,kBAAkB;IAClB,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;CAChB,CAAA;AACV,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;AAG1E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;AAG3E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CAC5D,CAAC,CAAA;AAGF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,uBAAuB;IACjC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC7C,CAAC,CAAA;AAGF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;AAG9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC9C,KAAK;IACL,gBAAgB;IAChB,QAAQ;IACR,SAAS;IACT,YAAY;CACb,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,2DAA2D;IAC3D,MAAM,EAAE,qBAAqB;IAC7B,4FAA4F;IAC5F,IAAI,EAAE,mBAAmB;IACzB;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACrC,6DAA6D;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,kFAAkF;IAClF,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC3C,CAAC,CAAA"}
|
package/dist/pr-report.d.ts
CHANGED
|
@@ -418,6 +418,15 @@ export declare const prReportEnvironmentTimelineSchema: v.ObjectSchema<{
|
|
|
418
418
|
* environment does not read as a fleet of them.
|
|
419
419
|
*/
|
|
420
420
|
readonly teardownFailures: v.NumberSchema<undefined>;
|
|
421
|
+
/**
|
|
422
|
+
* How many environments the run stood up whose teardown call SUCCEEDED but whose follow-up
|
|
423
|
+
* probe did not confirm they are gone. Counted separately from {@link teardownFailures}
|
|
424
|
+
* because the two are opposite failures of knowledge: a teardown failure is a provider that
|
|
425
|
+
* said no, this is a provider that said yes and could not be taken at its word. Zero on a
|
|
426
|
+
* clean, verified reclaim — and zero also when nothing was torn down at all, which is why it
|
|
427
|
+
* is read beside the teardown verdict rather than on its own.
|
|
428
|
+
*/
|
|
429
|
+
readonly teardownsUnconfirmed: v.NumberSchema<undefined>;
|
|
421
430
|
}, undefined>;
|
|
422
431
|
export type PrReportEnvironmentTimeline = v.InferOutput<typeof prReportEnvironmentTimelineSchema>;
|
|
423
432
|
/** One artifact the UI tester captured while exercising the live environment. */
|
|
@@ -515,7 +524,16 @@ export type PrReportEnvironmentEvidence = v.InferOutput<typeof prReportEnvironme
|
|
|
515
524
|
*
|
|
516
525
|
* `teardown` prefers the provisioning log's RECORDED attempts, per environment identity, and
|
|
517
526
|
* falls back to the run's live step projection only when there is no log to read:
|
|
518
|
-
* - `confirmed` — every environment the run stood up was reclaimed
|
|
527
|
+
* - `confirmed` — every environment the run stood up was reclaimed, and an INDEPENDENT
|
|
528
|
+
* probe after each teardown found it gone. The only state that earns a
|
|
529
|
+
* tick, because it is the only one backed by an observation rather than
|
|
530
|
+
* by a provider call that returned without complaint.
|
|
531
|
+
* - `unconfirmed` — every environment was torn down, but at least one teardown could not be
|
|
532
|
+
* VERIFIED: the probe found it still standing, could not run, or could not
|
|
533
|
+
* settle the question. Distinct from `confirmed` because a provider whose
|
|
534
|
+
* teardown is a declared no-op reports success having destroyed nothing,
|
|
535
|
+
* and distinct from `pending` because the platform did do its part; see
|
|
536
|
+
* {@link teardownConfirmationSchema} for which of the causes applies.
|
|
519
537
|
* - `pending` — at least one is still standing (the run may still be using it).
|
|
520
538
|
* - `failed` — an environment's latest teardown attempt FAILED, so it is still standing
|
|
521
539
|
* for a reason someone has to act on.
|
|
@@ -532,7 +550,7 @@ export declare const prReportEnvironmentsSchema: v.ObjectSchema<{
|
|
|
532
550
|
readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
533
551
|
readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
534
552
|
}, undefined>, undefined>;
|
|
535
|
-
readonly teardown: v.PicklistSchema<["confirmed", "pending", "failed", "not_applicable"], undefined>;
|
|
553
|
+
readonly teardown: v.PicklistSchema<["confirmed", "unconfirmed", "pending", "failed", "not_applicable"], undefined>;
|
|
536
554
|
readonly timeline: v.ObjectSchema<{
|
|
537
555
|
/**
|
|
538
556
|
* Why this timeline is empty, or `null` when the log was read whole and the dates below are
|
|
@@ -566,6 +584,15 @@ export declare const prReportEnvironmentsSchema: v.ObjectSchema<{
|
|
|
566
584
|
* environment does not read as a fleet of them.
|
|
567
585
|
*/
|
|
568
586
|
readonly teardownFailures: v.NumberSchema<undefined>;
|
|
587
|
+
/**
|
|
588
|
+
* How many environments the run stood up whose teardown call SUCCEEDED but whose follow-up
|
|
589
|
+
* probe did not confirm they are gone. Counted separately from {@link teardownFailures}
|
|
590
|
+
* because the two are opposite failures of knowledge: a teardown failure is a provider that
|
|
591
|
+
* said no, this is a provider that said yes and could not be taken at its word. Zero on a
|
|
592
|
+
* clean, verified reclaim — and zero also when nothing was torn down at all, which is why it
|
|
593
|
+
* is read beside the teardown verdict rather than on its own.
|
|
594
|
+
*/
|
|
595
|
+
readonly teardownsUnconfirmed: v.NumberSchema<undefined>;
|
|
569
596
|
}, undefined>;
|
|
570
597
|
readonly evidence: v.ObjectSchema<{
|
|
571
598
|
readonly status: v.PicklistSchema<["captured", "local", "undeclared", "absent"], undefined>;
|
|
@@ -1083,7 +1110,7 @@ export declare const prVerificationReportSchema: v.ObjectSchema<{
|
|
|
1083
1110
|
readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1084
1111
|
readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1085
1112
|
}, undefined>, undefined>;
|
|
1086
|
-
readonly teardown: v.PicklistSchema<["confirmed", "pending", "failed", "not_applicable"], undefined>;
|
|
1113
|
+
readonly teardown: v.PicklistSchema<["confirmed", "unconfirmed", "pending", "failed", "not_applicable"], undefined>;
|
|
1087
1114
|
readonly timeline: v.ObjectSchema<{
|
|
1088
1115
|
/**
|
|
1089
1116
|
* Why this timeline is empty, or `null` when the log was read whole and the dates below are
|
|
@@ -1117,6 +1144,15 @@ export declare const prVerificationReportSchema: v.ObjectSchema<{
|
|
|
1117
1144
|
* environment does not read as a fleet of them.
|
|
1118
1145
|
*/
|
|
1119
1146
|
readonly teardownFailures: v.NumberSchema<undefined>;
|
|
1147
|
+
/**
|
|
1148
|
+
* How many environments the run stood up whose teardown call SUCCEEDED but whose follow-up
|
|
1149
|
+
* probe did not confirm they are gone. Counted separately from {@link teardownFailures}
|
|
1150
|
+
* because the two are opposite failures of knowledge: a teardown failure is a provider that
|
|
1151
|
+
* said no, this is a provider that said yes and could not be taken at its word. Zero on a
|
|
1152
|
+
* clean, verified reclaim — and zero also when nothing was torn down at all, which is why it
|
|
1153
|
+
* is read beside the teardown verdict rather than on its own.
|
|
1154
|
+
*/
|
|
1155
|
+
readonly teardownsUnconfirmed: v.NumberSchema<undefined>;
|
|
1120
1156
|
}, undefined>;
|
|
1121
1157
|
readonly evidence: v.ObjectSchema<{
|
|
1122
1158
|
readonly status: v.PicklistSchema<["captured", "local", "undeclared", "absent"], undefined>;
|
package/dist/pr-report.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-report.d.ts","sourceRoot":"","sources":["../src/pr-report.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pr-report.d.ts","sourceRoot":"","sources":["../src/pr-report.ts"],"names":[],"mappings":"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"}
|
package/dist/pr-report.js
CHANGED
|
@@ -357,6 +357,15 @@ export const prReportEnvironmentTimelineSchema = v.object({
|
|
|
357
357
|
* environment does not read as a fleet of them.
|
|
358
358
|
*/
|
|
359
359
|
teardownFailures: v.number(),
|
|
360
|
+
/**
|
|
361
|
+
* How many environments the run stood up whose teardown call SUCCEEDED but whose follow-up
|
|
362
|
+
* probe did not confirm they are gone. Counted separately from {@link teardownFailures}
|
|
363
|
+
* because the two are opposite failures of knowledge: a teardown failure is a provider that
|
|
364
|
+
* said no, this is a provider that said yes and could not be taken at its word. Zero on a
|
|
365
|
+
* clean, verified reclaim — and zero also when nothing was torn down at all, which is why it
|
|
366
|
+
* is read beside the teardown verdict rather than on its own.
|
|
367
|
+
*/
|
|
368
|
+
teardownsUnconfirmed: v.number(),
|
|
360
369
|
});
|
|
361
370
|
/** One artifact the UI tester captured while exercising the live environment. */
|
|
362
371
|
export const prReportEvidenceArtifactSchema = v.object({
|
|
@@ -430,7 +439,16 @@ export const prReportEnvironmentEvidenceSchema = v.object({
|
|
|
430
439
|
*
|
|
431
440
|
* `teardown` prefers the provisioning log's RECORDED attempts, per environment identity, and
|
|
432
441
|
* falls back to the run's live step projection only when there is no log to read:
|
|
433
|
-
* - `confirmed` — every environment the run stood up was reclaimed
|
|
442
|
+
* - `confirmed` — every environment the run stood up was reclaimed, and an INDEPENDENT
|
|
443
|
+
* probe after each teardown found it gone. The only state that earns a
|
|
444
|
+
* tick, because it is the only one backed by an observation rather than
|
|
445
|
+
* by a provider call that returned without complaint.
|
|
446
|
+
* - `unconfirmed` — every environment was torn down, but at least one teardown could not be
|
|
447
|
+
* VERIFIED: the probe found it still standing, could not run, or could not
|
|
448
|
+
* settle the question. Distinct from `confirmed` because a provider whose
|
|
449
|
+
* teardown is a declared no-op reports success having destroyed nothing,
|
|
450
|
+
* and distinct from `pending` because the platform did do its part; see
|
|
451
|
+
* {@link teardownConfirmationSchema} for which of the causes applies.
|
|
434
452
|
* - `pending` — at least one is still standing (the run may still be using it).
|
|
435
453
|
* - `failed` — an environment's latest teardown attempt FAILED, so it is still standing
|
|
436
454
|
* for a reason someone has to act on.
|
|
@@ -440,7 +458,7 @@ export const prReportEnvironmentsSchema = v.object({
|
|
|
440
458
|
status: prReportSectionStatusSchema,
|
|
441
459
|
note: v.optional(v.nullable(v.string())),
|
|
442
460
|
entries: v.array(prReportEnvironmentSchema),
|
|
443
|
-
teardown: v.picklist(['confirmed', 'pending', 'failed', 'not_applicable']),
|
|
461
|
+
teardown: v.picklist(['confirmed', 'unconfirmed', 'pending', 'failed', 'not_applicable']),
|
|
444
462
|
timeline: prReportEnvironmentTimelineSchema,
|
|
445
463
|
evidence: prReportEnvironmentEvidenceSchema,
|
|
446
464
|
/**
|