@cat-factory/contracts 0.240.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.
Files changed (63) hide show
  1. package/dist/entities.d.ts +32 -0
  2. package/dist/entities.d.ts.map +1 -1
  3. package/dist/entities.js +10 -0
  4. package/dist/entities.js.map +1 -1
  5. package/dist/execution.d.ts +38 -0
  6. package/dist/execution.d.ts.map +1 -1
  7. package/dist/form-fields.d.ts +26 -0
  8. package/dist/form-fields.d.ts.map +1 -1
  9. package/dist/form-fields.js +21 -0
  10. package/dist/form-fields.js.map +1 -1
  11. package/dist/gate-approval.d.ts +66 -0
  12. package/dist/gate-approval.d.ts.map +1 -0
  13. package/dist/gate-approval.js +67 -0
  14. package/dist/gate-approval.js.map +1 -0
  15. package/dist/gate-config.d.ts +134 -0
  16. package/dist/gate-config.d.ts.map +1 -0
  17. package/dist/gate-config.js +134 -0
  18. package/dist/gate-config.js.map +1 -0
  19. package/dist/gate.d.ts +10 -0
  20. package/dist/gate.d.ts.map +1 -1
  21. package/dist/gate.js +11 -0
  22. package/dist/gate.js.map +1 -1
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/initiative-preset.d.ts +4 -0
  28. package/dist/initiative-preset.d.ts.map +1 -1
  29. package/dist/public-decisions.d.ts +57 -0
  30. package/dist/public-decisions.d.ts.map +1 -1
  31. package/dist/public-decisions.js +19 -0
  32. package/dist/public-decisions.js.map +1 -1
  33. package/dist/requests.d.ts +16 -0
  34. package/dist/requests.d.ts.map +1 -1
  35. package/dist/routes/agent-runs.d.ts +38 -0
  36. package/dist/routes/agent-runs.d.ts.map +1 -1
  37. package/dist/routes/bug-hunt.d.ts +38 -0
  38. package/dist/routes/bug-hunt.d.ts.map +1 -1
  39. package/dist/routes/execution.d.ts +152 -0
  40. package/dist/routes/execution.d.ts.map +1 -1
  41. package/dist/routes/human-review.d.ts +19 -0
  42. package/dist/routes/human-review.d.ts.map +1 -1
  43. package/dist/routes/human-test.d.ts +95 -0
  44. package/dist/routes/human-test.d.ts.map +1 -1
  45. package/dist/routes/pipelines.d.ts +64 -0
  46. package/dist/routes/pipelines.d.ts.map +1 -1
  47. package/dist/routes/public-decisions.d.ts +68 -0
  48. package/dist/routes/public-decisions.d.ts.map +1 -1
  49. package/dist/routes/visual-confirm.d.ts +57 -0
  50. package/dist/routes/visual-confirm.d.ts.map +1 -1
  51. package/dist/routes/workspaces.d.ts +112 -0
  52. package/dist/routes/workspaces.d.ts.map +1 -1
  53. package/dist/snapshot.d.ts +65 -0
  54. package/dist/snapshot.d.ts.map +1 -1
  55. package/dist/snapshot.js +11 -0
  56. package/dist/snapshot.js.map +1 -1
  57. package/dist/step-decisions.d.ts +27 -0
  58. package/dist/step-decisions.d.ts.map +1 -1
  59. package/dist/step-decisions.js +24 -2
  60. package/dist/step-decisions.js.map +1 -1
  61. package/dist/task-types.d.ts +4 -0
  62. package/dist/task-types.d.ts.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,134 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * The most approvals one gate may demand. A bound rather than an open number because the quorum
4
+ * is counted against DISTINCT workspace identities: a pipeline asking for more approvers than a
5
+ * board plausibly has is a run that parks forever, and the author gets told at save time instead
6
+ * of discovering it mid-delivery.
7
+ */
8
+ export declare const MAX_GATE_APPROVALS = 10;
9
+ /**
10
+ * WHO may resolve a step's human approval gate (approve / request changes / reject).
11
+ *
12
+ * Both axes are ADDITIVE — an actor qualifies by holding a listed role OR by being a listed
13
+ * user — because the two express different intents ("any admin" vs "these two people") and a
14
+ * policy routinely wants both. An absent/empty policy means today's behaviour: anyone the
15
+ * workspace RBAC gate already admitted to write (member and above) may resolve the gate.
16
+ *
17
+ * This NARROWS the member tier; it never widens anything. A viewer still cannot resolve a gate
18
+ * (the RBAC write floor refuses the request before this is consulted), and a workspace `admin`
19
+ * is always permitted regardless of what the policy lists — an admin can cancel the run or edit
20
+ * the pipeline outright, so denying them here would buy no safety and would deadlock a run whose
21
+ * named approvers have left the board.
22
+ */
23
+ export declare const gateApproverPolicySchema: v.ObjectSchema<{
24
+ /** Workspace roles whose holders may resolve the gate. Absent/empty ⇒ no role rule. */
25
+ readonly roles: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>, undefined>, undefined>;
26
+ /** Specific workspace members (`usr_*`) who may resolve the gate. Absent/empty ⇒ no user rule. */
27
+ readonly userIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
28
+ }, undefined>;
29
+ export type GateApproverPolicy = v.InferOutput<typeof gateApproverPolicySchema>;
30
+ /**
31
+ * A step's gate configuration, stored at `stepOptions[i].gateConfig`.
32
+ *
33
+ * Every field is optional and absent means the shipped default, so a pipeline that configures
34
+ * nothing persists no `gateConfig` at all and behaves exactly as it did before this existed.
35
+ */
36
+ export declare const stepGateConfigSchema: v.ObjectSchema<{
37
+ /**
38
+ * Who may resolve this step's human approval gate. Ignored (and refused at pipeline save) on a
39
+ * step that carries no approval gate — a policy on an ungated step reads as a checkpoint that
40
+ * silently does not exist.
41
+ */
42
+ readonly approvers: v.OptionalSchema<v.ObjectSchema<{
43
+ /** Workspace roles whose holders may resolve the gate. Absent/empty ⇒ no role rule. */
44
+ readonly roles: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>, undefined>, undefined>;
45
+ /** Specific workspace members (`usr_*`) who may resolve the gate. Absent/empty ⇒ no user rule. */
46
+ readonly userIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
47
+ }, undefined>, undefined>;
48
+ /**
49
+ * How many DISTINCT permitted approvals the gate needs before the run advances. Absent ⇒ 1
50
+ * (today's behaviour). Each approval is recorded on the gate; a second approval from the same
51
+ * identity replaces the first rather than counting twice.
52
+ *
53
+ * A quorum above 1 needs identities to count, so it is only meaningful on a deployment with
54
+ * authentication enabled: with auth off every caller is the same unattributed actor and the
55
+ * gate would never reach two.
56
+ */
57
+ readonly minApprovals: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10, undefined>]>, undefined>;
58
+ /**
59
+ * The step's parameters for its own REGISTERED gate kind (a `ci` / `conflicts` /
60
+ * `post-release-health` step, or a deployment's own gate), validated at pipeline save and at
61
+ * run start against the descriptor fields that gate registered. Threaded onto the live gate
62
+ * state, so a gate reads its knobs off the STEP instead of the engine or the workspace merge
63
+ * preset.
64
+ *
65
+ * Refused at save on a step whose kind registers no gate, and on a field the gate does not
66
+ * declare: an unread key is indistinguishable from a typo'd one, and both look to whoever
67
+ * typed them like configuration that took effect.
68
+ */
69
+ readonly fields: v.OptionalSchema<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>;
70
+ }, undefined>;
71
+ export type StepGateConfig = v.InferOutput<typeof stepGateConfigSchema>;
72
+ /**
73
+ * A registered gate's own config form, as projected to the SPA on the workspace snapshot: the
74
+ * gate's step `kind` plus the descriptor fields it declared. The pipeline builder renders these
75
+ * through the SAME `DescriptorFields` component every other descriptor form uses, so a
76
+ * deployment's gate gets an authoring form with no frontend change — the "ambient" half of the
77
+ * per-step gate config.
78
+ *
79
+ * Absent from the snapshot when no registered gate declares any fields, so the stock product
80
+ * carries nothing.
81
+ */
82
+ export declare const gateConfigFormSchema: v.ObjectSchema<{
83
+ /** The step `agentKind` this gate is registered for. */
84
+ readonly kind: v.StringSchema<undefined>;
85
+ /** The gate's declared parameters (deployment-authored English labels, rendered verbatim). */
86
+ readonly fields: v.ArraySchema<v.ObjectSchema<{
87
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
88
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
89
+ readonly help: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
90
+ readonly placeholder: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
91
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
92
+ readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
93
+ readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
94
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
95
+ }, undefined>, undefined>, undefined>;
96
+ readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
97
+ readonly defaultValues: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, undefined>;
98
+ readonly showWhen: v.OptionalSchema<v.ObjectSchema<{
99
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
100
+ readonly equals: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
101
+ readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
102
+ }, undefined>, undefined>;
103
+ 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>;
104
+ readonly min: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
105
+ readonly max: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
106
+ readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
107
+ }, undefined>, undefined>;
108
+ }, undefined>;
109
+ export type GateConfigForm = v.InferOutput<typeof gateConfigFormSchema>;
110
+ /**
111
+ * One recorded approval on a gate: who cleared it and when. Kept as a list rather than a count
112
+ * so a quorum can be counted against DISTINCT identities (re-clicking approve is idempotent) and
113
+ * so the run detail can name the people who signed off rather than showing an anonymous tally.
114
+ *
115
+ * `actorId` is a `usr_*` id for a signed-in person, the public-API key id for an integration, and
116
+ * {@link UNATTRIBUTED_GATE_ACTOR} on a deployment running with auth disabled — three cases the
117
+ * quorum treats identically (one slot each) and the UI labels differently.
118
+ */
119
+ export declare const gateApprovalRecordSchema: v.ObjectSchema<{
120
+ readonly actorId: v.StringSchema<undefined>;
121
+ /** Display label snapshotted at approval time (login/name, or the key's label). */
122
+ readonly actorLabel: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
123
+ /** Epoch ms the approval was recorded. */
124
+ readonly at: v.NumberSchema<undefined>;
125
+ }, undefined>;
126
+ export type GateApprovalRecord = v.InferOutput<typeof gateApprovalRecordSchema>;
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 declare const UNATTRIBUTED_GATE_ACTOR = "unattributed";
134
+ //# sourceMappingURL=gate-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-config.d.ts","sourceRoot":"","sources":["../src/gate-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiC5B;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;IACnC,uFAAuF;;IAEvF,kGAAkG;;aAElG,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;OAIG;;QAlBH,uFAAuF;;QAEvF,kGAAkG;;;IAkBlG;;;;;;;;OAQG;;IAIH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;IAC/B,wDAAwD;;IAExD,8FAA8F;;;;;;;;;;;;;;;;;;;;;;;aAE9F,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;IAEnC,mFAAmF;;IAEnF,0CAA0C;;aAE1C,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAA"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B;;;;;;;;;;;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;;;;;OAKG;;IAEH;;;;OAIG;;;QAvGH,kFAAkF;;QAElF;;;WAGG;;QAEH;;;WAGG;;;IA+FH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;IAEH;;;;;;OAMG;;;;;;;;IAEH;;;;;OAKG;;QAxHH,yFAAyF;;QAEzF,6CAA6C;;QAE7C;;;;;;WAMG;;QAEH,gEAAgE;;QAEhE;;;;;;;;WAQG;;QAEH;;;;;WAKG;;;YAlDH,kFAAkF;;YAElF;;;eAGG;;YAEH;;;eAGG;;;QA0CH,2FAA2F;;;IA4F3F;;;;;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"}
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":"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"}
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","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,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"}
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":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"initiative-preset.d.ts","sourceRoot":"","sources":["../src/initiative-preset.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,25 @@ export declare const publicApprovalGateDecisionSchema: v.ObjectSchema<{
193
193
  readonly proposal: v.StringSchema<undefined>;
194
194
  /** The guidance recorded on the last `request-changes`, or null. */
195
195
  readonly feedback: v.NullableSchema<v.StringSchema<undefined>, undefined>;
196
+ /**
197
+ * How many distinct approvals this gate needs before the run advances (1 unless the pipeline
198
+ * step configured a quorum), and how many it already has.
199
+ *
200
+ * Projected because a quorum makes `approve` legitimately NOT advance the run: without these
201
+ * an integration that approved and saw the gate still `pending` could only conclude its call
202
+ * had failed. A key-authenticated caller counts as ONE approval, and a gate whose pipeline
203
+ * NAMES its approvers cannot be resolved by a key at all (403) — a shared credential is not
204
+ * one of the people a policy named.
205
+ */
206
+ readonly requiredApprovals: v.NumberSchema<undefined>;
207
+ /**
208
+ * The approvals recorded so far, toward {@link requiredApprovals}.
209
+ *
210
+ * Named for the COUNT rather than `approvals`, which on the internal `StepApproval` is the list
211
+ * of records this counts. Two surfaces a caller crosses constantly should not spell one word two
212
+ * types.
213
+ */
214
+ readonly recordedApprovals: v.NumberSchema<undefined>;
196
215
  /**
197
216
  * True when this gate is a quality COMPANION's iteration-cap park rather than an ordinary
198
217
  * pipeline gate: the automatic rework budget was spent with the rating still under the bar.
@@ -655,6 +674,25 @@ export declare const publicDecisionSchema: v.VariantSchema<"kind", [v.ObjectSche
655
674
  readonly proposal: v.StringSchema<undefined>;
656
675
  /** The guidance recorded on the last `request-changes`, or null. */
657
676
  readonly feedback: v.NullableSchema<v.StringSchema<undefined>, undefined>;
677
+ /**
678
+ * How many distinct approvals this gate needs before the run advances (1 unless the pipeline
679
+ * step configured a quorum), and how many it already has.
680
+ *
681
+ * Projected because a quorum makes `approve` legitimately NOT advance the run: without these
682
+ * an integration that approved and saw the gate still `pending` could only conclude its call
683
+ * had failed. A key-authenticated caller counts as ONE approval, and a gate whose pipeline
684
+ * NAMES its approvers cannot be resolved by a key at all (403) — a shared credential is not
685
+ * one of the people a policy named.
686
+ */
687
+ readonly requiredApprovals: v.NumberSchema<undefined>;
688
+ /**
689
+ * The approvals recorded so far, toward {@link requiredApprovals}.
690
+ *
691
+ * Named for the COUNT rather than `approvals`, which on the internal `StepApproval` is the list
692
+ * of records this counts. Two surfaces a caller crosses constantly should not spell one word two
693
+ * types.
694
+ */
695
+ readonly recordedApprovals: v.NumberSchema<undefined>;
658
696
  /**
659
697
  * True when this gate is a quality COMPANION's iteration-cap park rather than an ordinary
660
698
  * pipeline gate: the automatic rework budget was spent with the rating still under the bar.
@@ -954,6 +992,25 @@ export declare const publicDecisionListSchema: v.ObjectSchema<{
954
992
  readonly proposal: v.StringSchema<undefined>;
955
993
  /** The guidance recorded on the last `request-changes`, or null. */
956
994
  readonly feedback: v.NullableSchema<v.StringSchema<undefined>, undefined>;
995
+ /**
996
+ * How many distinct approvals this gate needs before the run advances (1 unless the pipeline
997
+ * step configured a quorum), and how many it already has.
998
+ *
999
+ * Projected because a quorum makes `approve` legitimately NOT advance the run: without these
1000
+ * an integration that approved and saw the gate still `pending` could only conclude its call
1001
+ * had failed. A key-authenticated caller counts as ONE approval, and a gate whose pipeline
1002
+ * NAMES its approvers cannot be resolved by a key at all (403) — a shared credential is not
1003
+ * one of the people a policy named.
1004
+ */
1005
+ readonly requiredApprovals: v.NumberSchema<undefined>;
1006
+ /**
1007
+ * The approvals recorded so far, toward {@link requiredApprovals}.
1008
+ *
1009
+ * Named for the COUNT rather than `approvals`, which on the internal `StepApproval` is the list
1010
+ * of records this counts. Two surfaces a caller crosses constantly should not spell one word two
1011
+ * types.
1012
+ */
1013
+ readonly recordedApprovals: v.NumberSchema<undefined>;
957
1014
  /**
958
1015
  * True when this gate is a quality COMPANION's iteration-cap park rather than an ordinary
959
1016
  * pipeline gate: the automatic rework budget was spent with the rating still under the bar.
@@ -1 +1 @@
1
- {"version":3,"file":"public-decisions.d.ts","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-decisions.d.ts","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,25 @@ export const publicApprovalGateDecisionSchema = v.object({
216
216
  proposal: v.string(),
217
217
  /** The guidance recorded on the last `request-changes`, or null. */
218
218
  feedback: v.nullable(v.string()),
219
+ /**
220
+ * How many distinct approvals this gate needs before the run advances (1 unless the pipeline
221
+ * step configured a quorum), and how many it already has.
222
+ *
223
+ * Projected because a quorum makes `approve` legitimately NOT advance the run: without these
224
+ * an integration that approved and saw the gate still `pending` could only conclude its call
225
+ * had failed. A key-authenticated caller counts as ONE approval, and a gate whose pipeline
226
+ * NAMES its approvers cannot be resolved by a key at all (403) — a shared credential is not
227
+ * one of the people a policy named.
228
+ */
229
+ requiredApprovals: v.number(),
230
+ /**
231
+ * The approvals recorded so far, toward {@link requiredApprovals}.
232
+ *
233
+ * Named for the COUNT rather than `approvals`, which on the internal `StepApproval` is the list
234
+ * of records this counts. Two surfaces a caller crosses constantly should not spell one word two
235
+ * types.
236
+ */
237
+ recordedApprovals: v.number(),
219
238
  /**
220
239
  * True when this gate is a quality COMPANION's iteration-cap park rather than an ordinary
221
240
  * pipeline gate: the automatic rework budget was spent with the rating still under the bar.