@cat-factory/contracts 0.77.0 → 0.79.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 (52) hide show
  1. package/dist/agent-presentation.d.ts +2 -2
  2. package/dist/entities.d.ts +173 -0
  3. package/dist/entities.d.ts.map +1 -1
  4. package/dist/entities.js +70 -0
  5. package/dist/entities.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/merge.d.ts +61 -0
  11. package/dist/merge.d.ts.map +1 -1
  12. package/dist/merge.js +56 -0
  13. package/dist/merge.js.map +1 -1
  14. package/dist/preview.d.ts +24 -0
  15. package/dist/preview.d.ts.map +1 -0
  16. package/dist/preview.js +31 -0
  17. package/dist/preview.js.map +1 -0
  18. package/dist/result-views.d.ts +1 -1
  19. package/dist/result-views.d.ts.map +1 -1
  20. package/dist/result-views.js +1 -0
  21. package/dist/result-views.js.map +1 -1
  22. package/dist/routes/agent-runs.d.ts +40 -0
  23. package/dist/routes/agent-runs.d.ts.map +1 -1
  24. package/dist/routes/execution.d.ts +160 -0
  25. package/dist/routes/execution.d.ts.map +1 -1
  26. package/dist/routes/human-review.d.ts +20 -0
  27. package/dist/routes/human-review.d.ts.map +1 -1
  28. package/dist/routes/human-test.d.ts +100 -0
  29. package/dist/routes/human-test.d.ts.map +1 -1
  30. package/dist/routes/index.d.ts +1 -0
  31. package/dist/routes/index.d.ts.map +1 -1
  32. package/dist/routes/index.js +1 -0
  33. package/dist/routes/index.js.map +1 -1
  34. package/dist/routes/merge.d.ts +6 -0
  35. package/dist/routes/merge.d.ts.map +1 -1
  36. package/dist/routes/pipelines.d.ts +60 -0
  37. package/dist/routes/pipelines.d.ts.map +1 -1
  38. package/dist/routes/preview.d.ts +123 -0
  39. package/dist/routes/preview.d.ts.map +1 -0
  40. package/dist/routes/preview.js +30 -0
  41. package/dist/routes/preview.js.map +1 -0
  42. package/dist/routes/visual-confirm.d.ts +60 -0
  43. package/dist/routes/visual-confirm.d.ts.map +1 -1
  44. package/dist/routes/workspaces.d.ts +64 -2
  45. package/dist/routes/workspaces.d.ts.map +1 -1
  46. package/dist/snapshot.d.ts +32 -1
  47. package/dist/snapshot.d.ts.map +1 -1
  48. package/dist/testing.d.ts +8 -0
  49. package/dist/testing.d.ts.map +1 -1
  50. package/dist/testing.js +8 -0
  51. package/dist/testing.js.map +1 -1
  52. package/package.json +1 -1
package/dist/merge.d.ts CHANGED
@@ -56,6 +56,14 @@ export declare const mergeThresholdPresetSchema: v.ObjectSchema<{
56
56
  * everything. Severity order: none < low < medium < high.
57
57
  */
58
58
  readonly maxRequirementConcernAllowed: v.PicklistSchema<["none", "low", "medium", "high"], undefined>;
59
+ /**
60
+ * How many times the test quality-control companion may loop the Tester for a more
61
+ * complete report before it stops gating and lets the run proceed to the greenlight /
62
+ * fixer decision. One QC-driven Tester re-run = one iteration, so this is the maximum
63
+ * number of QC re-runs: `1` permits a single re-run before the gate gives up. Independent
64
+ * of the `ciMaxAttempts` fixer budget.
65
+ */
66
+ readonly maxTesterQualityIterations: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>;
59
67
  /**
60
68
  * How long (minutes) the post-release-health gate watches the deployed release's
61
69
  * Datadog monitors/SLOs before declaring it healthy and advancing.
@@ -102,6 +110,7 @@ export declare const createMergePresetSchema: v.ObjectSchema<{
102
110
  readonly ciMaxAttempts: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 50, undefined>]>;
103
111
  readonly maxRequirementIterations: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 20, undefined>]>;
104
112
  readonly maxRequirementConcernAllowed: v.PicklistSchema<["none", "low", "medium", "high"], undefined>;
113
+ readonly maxTesterQualityIterations: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 20, undefined>]>, 3>;
105
114
  readonly releaseWatchWindowMinutes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 720, undefined>]>, 30>;
106
115
  readonly releaseMaxAttempts: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 10, undefined>]>, 1>;
107
116
  readonly humanReviewGraceMinutes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1440, undefined>]>, 10>;
@@ -120,6 +129,7 @@ export declare const updateMergePresetSchema: v.ObjectSchema<{
120
129
  readonly ciMaxAttempts: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 50, undefined>]>, undefined>;
121
130
  readonly maxRequirementIterations: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 20, undefined>]>, undefined>;
122
131
  readonly maxRequirementConcernAllowed: v.OptionalSchema<v.PicklistSchema<["none", "low", "medium", "high"], undefined>, undefined>;
132
+ readonly maxTesterQualityIterations: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 20, undefined>]>, undefined>;
123
133
  readonly releaseWatchWindowMinutes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 720, undefined>]>, undefined>;
124
134
  readonly releaseMaxAttempts: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 10, undefined>]>, undefined>;
125
135
  readonly humanReviewGraceMinutes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1440, undefined>]>, undefined>;
@@ -129,4 +139,55 @@ export declare const updateMergePresetSchema: v.ObjectSchema<{
129
139
  export type UpdateMergePresetInput = v.InferOutput<typeof updateMergePresetSchema>;
130
140
  /** Parse-or-throw an assessment payload an agent returned (the engine validates it). */
131
141
  export declare function parseMergeAssessment(value: unknown): MergeAssessment;
142
+ /** Which assessment axis exceeded its preset ceiling. */
143
+ export declare const mergeAxisSchema: v.PicklistSchema<["complexity", "risk", "impact"], undefined>;
144
+ export type MergeAxis = v.InferOutput<typeof mergeAxisSchema>;
145
+ /** The preset ceilings the assessment was compared against (for the decision banner). */
146
+ export declare const mergeDecisionThresholdsSchema: v.ObjectSchema<{
147
+ /** The resolved preset's display name (e.g. "Balanced"). */
148
+ readonly presetName: v.StringSchema<undefined>;
149
+ readonly maxComplexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
150
+ readonly maxRisk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
151
+ readonly maxImpact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
152
+ readonly autoMergeEnabled: v.BooleanSchema<undefined>;
153
+ }, undefined>;
154
+ export type MergeDecisionThresholds = v.InferOutput<typeof mergeDecisionThresholdsSchema>;
155
+ export declare const mergeDecisionSchema: v.ObjectSchema<{
156
+ /** What the engine did: merged the PR for real, or left it open for a human. */
157
+ readonly outcome: v.PicklistSchema<["auto_merged", "awaiting_review"], undefined>;
158
+ /**
159
+ * Why — drives the human-readable banner:
160
+ * - `within_thresholds`: auto-merged; every axis at/below the preset ceiling.
161
+ * - `exceeded_thresholds`: review; one or more axes over the ceiling (`exceededAxes`).
162
+ * - `auto_merge_disabled`: review; the preset routes every PR to a human.
163
+ * - `no_rationale`: review; the merger returned scores but no rationale, so the verdict
164
+ * can't be trusted to auto-merge (the assessment IS present, just not credible).
165
+ * - `no_assessment`: review; the merger produced no parseable assessment at all.
166
+ * - `merge_failed`: review; within threshold but the real merge threw (e.g. branch
167
+ * protection / conflict), so it fell through to human review.
168
+ */
169
+ readonly reason: v.PicklistSchema<["within_thresholds", "exceeded_thresholds", "auto_merge_disabled", "no_rationale", "no_assessment", "merge_failed"], undefined>;
170
+ /** The merger's assessment (absent only when it produced no parseable one). */
171
+ readonly assessment: v.OptionalSchema<v.ObjectSchema<{
172
+ /** How intricate the change is (size, coupling, subtlety). */
173
+ readonly complexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
174
+ /** Likelihood the change breaks something (test coverage, fragility). */
175
+ readonly risk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
176
+ /** Blast radius if it does break (how much/who it affects). */
177
+ readonly impact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
178
+ /** The agent's plain-prose justification for the scores + a merge recommendation. */
179
+ readonly rationale: v.StringSchema<undefined>;
180
+ }, undefined>, undefined>;
181
+ readonly thresholds: v.ObjectSchema<{
182
+ /** The resolved preset's display name (e.g. "Balanced"). */
183
+ readonly presetName: v.StringSchema<undefined>;
184
+ readonly maxComplexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
185
+ readonly maxRisk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
186
+ readonly maxImpact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
187
+ readonly autoMergeEnabled: v.BooleanSchema<undefined>;
188
+ }, undefined>;
189
+ /** The axes that exceeded their ceiling (empty unless `reason` is `exceeded_thresholds`). */
190
+ readonly exceededAxes: v.ArraySchema<v.PicklistSchema<["complexity", "risk", "impact"], undefined>, undefined>;
191
+ }, undefined>;
192
+ export type MergeDecision = v.InferOutput<typeof mergeDecisionSchema>;
132
193
  //# sourceMappingURL=merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiB5B;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,gEAAgD,CAAA;AAC1F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAK5E,CAAA;AAED,eAAO,MAAM,qBAAqB;IAChC,8DAA8D;;IAE9D,yEAAyE;;IAEzE,+DAA+D;;IAE/D,qFAAqF;;aAErF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;IAGrC,4EAA4E;;IAE5E,sEAAsE;;IAEtE,wEAAwE;;IAExE,qFAAqF;;IAErF;;;;OAIG;;IAEH;;;;;;;OAOG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;IAEH;;;;;OAKG;;IAEH,0FAA0F;;IAE1F;;;;;OAKG;;;aAGH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAYnF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;IAWlC,mFAAmF;;IAEnF,sEAAsE;;aAEtE,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;aAalC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEpE"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiB5B;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,gEAAgD,CAAA;AAC1F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAK5E,CAAA;AAED,eAAO,MAAM,qBAAqB;IAChC,8DAA8D;;IAE9D,yEAAyE;;IAEzE,+DAA+D;;IAE/D,qFAAqF;;aAErF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;IAGrC,4EAA4E;;IAE5E,sEAAsE;;IAEtE,wEAAwE;;IAExE,qFAAqF;;IAErF;;;;OAIG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;IAEH;;;;;OAKG;;IAEH,0FAA0F;;IAE1F;;;;;OAKG;;;aAGH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAYnF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;IAYlC,mFAAmF;;IAEnF,sEAAsE;;aAEtE,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;aAclC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEpE;AAUD,yDAAyD;AACzD,eAAO,MAAM,eAAe,+DAA+C,CAAA;AAC3E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,yFAAyF;AACzF,eAAO,MAAM,6BAA6B;IACxC,4DAA4D;;;;;;aAM5D,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,eAAO,MAAM,mBAAmB;IAC9B,gFAAgF;;IAEhF;;;;;;;;;;OAUG;;IASH,+EAA+E;;QA3L/E,8DAA8D;;QAE9D,yEAAyE;;QAEzE,+DAA+D;;QAE/D,qFAAqF;;;;QAsJrF,4DAA4D;;;;;;;IAkC5D,6FAA6F;;aAE7F,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
package/dist/merge.js CHANGED
@@ -73,6 +73,14 @@ export const mergeThresholdPresetSchema = v.object({
73
73
  * everything. Severity order: none < low < medium < high.
74
74
  */
75
75
  maxRequirementConcernAllowed: requirementConcernLevelSchema,
76
+ /**
77
+ * How many times the test quality-control companion may loop the Tester for a more
78
+ * complete report before it stops gating and lets the run proceed to the greenlight /
79
+ * fixer decision. One QC-driven Tester re-run = one iteration, so this is the maximum
80
+ * number of QC re-runs: `1` permits a single re-run before the gate gives up. Independent
81
+ * of the `ciMaxAttempts` fixer budget.
82
+ */
83
+ maxTesterQualityIterations: v.pipe(v.number(), v.integer(), v.minValue(1)),
76
84
  /**
77
85
  * How long (minutes) the post-release-health gate watches the deployed release's
78
86
  * Datadog monitors/SLOs before declaring it healthy and advancing.
@@ -126,6 +134,7 @@ export const createMergePresetSchema = v.object({
126
134
  ciMaxAttempts: attemptsSchema,
127
135
  maxRequirementIterations: iterationsSchema,
128
136
  maxRequirementConcernAllowed: requirementConcernLevelSchema,
137
+ maxTesterQualityIterations: v.optional(iterationsSchema, 3),
129
138
  releaseWatchWindowMinutes: v.optional(releaseWindowSchema, 30),
130
139
  releaseMaxAttempts: v.optional(releaseAttemptsSchema, 1),
131
140
  humanReviewGraceMinutes: v.optional(graceMinutesSchema, 10),
@@ -143,6 +152,7 @@ export const updateMergePresetSchema = v.object({
143
152
  ciMaxAttempts: v.optional(attemptsSchema),
144
153
  maxRequirementIterations: v.optional(iterationsSchema),
145
154
  maxRequirementConcernAllowed: v.optional(requirementConcernLevelSchema),
155
+ maxTesterQualityIterations: v.optional(iterationsSchema),
146
156
  releaseWatchWindowMinutes: v.optional(releaseWindowSchema),
147
157
  releaseMaxAttempts: v.optional(releaseAttemptsSchema),
148
158
  humanReviewGraceMinutes: v.optional(graceMinutesSchema),
@@ -153,4 +163,50 @@ export const updateMergePresetSchema = v.object({
153
163
  export function parseMergeAssessment(value) {
154
164
  return v.parse(mergeAssessmentSchema, value);
155
165
  }
166
+ // ---------------------------------------------------------------------------
167
+ // Merge DECISION — the engine's resolved verdict for a completed `merger` step,
168
+ // persisted on the step (`step.custom`) so the SPA can render the assessment nicely
169
+ // AND explain WHY the engine auto-merged or routed the PR to a human. The `merger`
170
+ // agent only produces the assessment (scores + rationale); the engine (MergeResolver)
171
+ // compares it against the task's resolved preset and records this alongside.
172
+ // ---------------------------------------------------------------------------
173
+ /** Which assessment axis exceeded its preset ceiling. */
174
+ export const mergeAxisSchema = v.picklist(['complexity', 'risk', 'impact']);
175
+ /** The preset ceilings the assessment was compared against (for the decision banner). */
176
+ export const mergeDecisionThresholdsSchema = v.object({
177
+ /** The resolved preset's display name (e.g. "Balanced"). */
178
+ presetName: v.string(),
179
+ maxComplexity: v.pipe(v.number(), v.minValue(0), v.maxValue(1)),
180
+ maxRisk: v.pipe(v.number(), v.minValue(0), v.maxValue(1)),
181
+ maxImpact: v.pipe(v.number(), v.minValue(0), v.maxValue(1)),
182
+ autoMergeEnabled: v.boolean(),
183
+ });
184
+ export const mergeDecisionSchema = v.object({
185
+ /** What the engine did: merged the PR for real, or left it open for a human. */
186
+ outcome: v.picklist(['auto_merged', 'awaiting_review']),
187
+ /**
188
+ * Why — drives the human-readable banner:
189
+ * - `within_thresholds`: auto-merged; every axis at/below the preset ceiling.
190
+ * - `exceeded_thresholds`: review; one or more axes over the ceiling (`exceededAxes`).
191
+ * - `auto_merge_disabled`: review; the preset routes every PR to a human.
192
+ * - `no_rationale`: review; the merger returned scores but no rationale, so the verdict
193
+ * can't be trusted to auto-merge (the assessment IS present, just not credible).
194
+ * - `no_assessment`: review; the merger produced no parseable assessment at all.
195
+ * - `merge_failed`: review; within threshold but the real merge threw (e.g. branch
196
+ * protection / conflict), so it fell through to human review.
197
+ */
198
+ reason: v.picklist([
199
+ 'within_thresholds',
200
+ 'exceeded_thresholds',
201
+ 'auto_merge_disabled',
202
+ 'no_rationale',
203
+ 'no_assessment',
204
+ 'merge_failed',
205
+ ]),
206
+ /** The merger's assessment (absent only when it produced no parseable one). */
207
+ assessment: v.optional(mergeAssessmentSchema),
208
+ thresholds: mergeDecisionThresholdsSchema,
209
+ /** The axes that exceeded their ceiling (empty unless `reason` is `exceeded_thresholds`). */
210
+ exceededAxes: v.array(mergeAxisSchema),
211
+ });
156
212
  //# sourceMappingURL=merge.js.map
package/dist/merge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * A preview's lifecycle status:
4
+ * - `starting` — the container is building/serving; no reachable URL yet.
5
+ * - `ready` — the app is served and reachable at {@link previewStateSchema.url}.
6
+ * - `failed` — the build never came up (see `error`).
7
+ * - `stopped` — no preview is running for the frame (never started, or explicitly stopped).
8
+ */
9
+ export declare const previewStatusSchema: v.PicklistSchema<["starting", "ready", "failed", "stopped"], undefined>;
10
+ export type PreviewStatus = v.InferOutput<typeof previewStatusSchema>;
11
+ /** The current state of a `frontend` frame's browsable preview. */
12
+ export declare const previewStateSchema: v.ObjectSchema<{
13
+ /** The `frontend` frame this preview serves. */
14
+ readonly frameId: v.StringSchema<undefined>;
15
+ readonly status: v.PicklistSchema<["starting", "ready", "failed", "stopped"], undefined>;
16
+ /** The browsable host-reachable URL; present only when `status: 'ready'`. */
17
+ readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
18
+ /** A failure message when `status: 'failed'`. */
19
+ readonly error: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
20
+ /** Epoch ms of the last state change. */
21
+ readonly updatedAt: v.NumberSchema<undefined>;
22
+ }, undefined>;
23
+ export type PreviewState = v.InferOutput<typeof previewStateSchema>;
24
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,yEAAyD,CAAA;AACzF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,mEAAmE;AACnE,eAAO,MAAM,kBAAkB;IAC7B,gDAAgD;;;IAGhD,6EAA6E;;IAE7E,iDAAiD;;IAEjD,yCAAyC;;aAEzC,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // Browsable frontend preview state (slice 5c of the frontend-preview initiative).
4
+ //
5
+ // A `frontend` frame can be built + served on a HOST-reachable URL for a browsable
6
+ // preview (local/node only — the Worker reports `frontendPreview.supported: false`).
7
+ // The running preview is persisted like an ephemeral `environments` row keyed by the
8
+ // frame; this is the projection the controller returns and the SPA (slice 5d) renders
9
+ // as a clickable URL + a stop button on the frame inspector.
10
+ // ---------------------------------------------------------------------------
11
+ /**
12
+ * A preview's lifecycle status:
13
+ * - `starting` — the container is building/serving; no reachable URL yet.
14
+ * - `ready` — the app is served and reachable at {@link previewStateSchema.url}.
15
+ * - `failed` — the build never came up (see `error`).
16
+ * - `stopped` — no preview is running for the frame (never started, or explicitly stopped).
17
+ */
18
+ export const previewStatusSchema = v.picklist(['starting', 'ready', 'failed', 'stopped']);
19
+ /** The current state of a `frontend` frame's browsable preview. */
20
+ export const previewStateSchema = v.object({
21
+ /** The `frontend` frame this preview serves. */
22
+ frameId: v.string(),
23
+ status: previewStatusSchema,
24
+ /** The browsable host-reachable URL; present only when `status: 'ready'`. */
25
+ url: v.optional(v.string()),
26
+ /** A failure message when `status: 'failed'`. */
27
+ error: v.optional(v.string()),
28
+ /** Epoch ms of the last state change. */
29
+ updatedAt: v.number(),
30
+ });
31
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,kFAAkF;AAClF,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,6DAA6D;AAC7D,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AAGzF,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,gDAAgD;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,mBAAmB;IAC3B,6EAA6E;IAC7E,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,iDAAiD;IACjD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,yCAAyC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'brainstorm', 'tester', 'human-test', 'visual-confirm', 'gate', 'consensus-session', 'generic-structured', 'service-spec', 'follow-ups'];
1
+ export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'brainstorm', 'tester', 'human-test', 'visual-confirm', 'gate', 'consensus-session', 'generic-structured', 'service-spec', 'follow-ups', 'merger'];
2
2
  export type ResultViewId = (typeof RESULT_VIEW_IDS)[number];
3
3
  /** Set form, for `O(1)` membership checks (e.g. boot-time registration validation). */
4
4
  export declare const RESULT_VIEW_ID_SET: ReadonlySet<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"result-views.d.ts","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe,YAC1B,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,YAAY,CACJ,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAA4B,CAAA"}
1
+ {"version":3,"file":"result-views.d.ts","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe,YAC1B,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,CACA,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAA4B,CAAA"}
@@ -25,6 +25,7 @@ export const RESULT_VIEW_IDS = [
25
25
  'generic-structured',
26
26
  'service-spec',
27
27
  'follow-ups',
28
+ 'merger',
28
29
  ];
29
30
  /** Set form, for `O(1)` membership checks (e.g. boot-time registration validation). */
30
31
  export const RESULT_VIEW_ID_SET = new Set(RESULT_VIEW_IDS);
@@ -1 +1 @@
1
- {"version":3,"file":"result-views.js","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,8EAA8E;AAC9E,yFAAyF;AACzF,2FAA2F;AAC3F,0FAA0F;AAC1F,qFAAqF;AACrF,4BAA4B;AAC5B,mEAAmE;AACnE,EAAE;AACF,0FAA0F;AAC1F,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,YAAY;CACJ,CAAA;AAIV,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"result-views.js","sourceRoot":"","sources":["../src/result-views.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,EAAE;AACF,8EAA8E;AAC9E,yFAAyF;AACzF,2FAA2F;AAC3F,0FAA0F;AAC1F,qFAAqF;AACrF,4BAA4B;AAC5B,mEAAmE;AACnE,EAAE;AACF,0FAA0F;AAC1F,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,QAAQ;CACA,CAAA;AAIV,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA"}
@@ -237,6 +237,26 @@ export declare const retryAgentRunContract: {
237
237
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
238
238
  }, undefined>, undefined>, undefined>;
239
239
  }, undefined>, undefined>, undefined>;
240
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
241
+ readonly enabled: v.BooleanSchema<undefined>;
242
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
243
+ readonly maxAttempts: v.NumberSchema<undefined>;
244
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
245
+ readonly enabled: v.BooleanSchema<undefined>;
246
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
247
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
248
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
249
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
250
+ }, undefined>, undefined>, undefined>;
251
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
252
+ readonly adequate: v.BooleanSchema<undefined>;
253
+ readonly feedback: v.StringSchema<undefined>;
254
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
255
+ readonly at: v.NumberSchema<undefined>;
256
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
257
+ }, undefined>, undefined>;
258
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
259
+ }, undefined>, undefined>, undefined>;
240
260
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
241
261
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
242
262
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -806,6 +826,26 @@ export declare const stopAgentRunContract: {
806
826
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
807
827
  }, undefined>, undefined>, undefined>;
808
828
  }, undefined>, undefined>, undefined>;
829
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
830
+ readonly enabled: v.BooleanSchema<undefined>;
831
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
832
+ readonly maxAttempts: v.NumberSchema<undefined>;
833
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
834
+ readonly enabled: v.BooleanSchema<undefined>;
835
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
836
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
837
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
838
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
839
+ }, undefined>, undefined>, undefined>;
840
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
841
+ readonly adequate: v.BooleanSchema<undefined>;
842
+ readonly feedback: v.StringSchema<undefined>;
843
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
844
+ readonly at: v.NumberSchema<undefined>;
845
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
846
+ }, undefined>, undefined>;
847
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
848
+ }, undefined>, undefined>, undefined>;
809
849
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
810
850
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
811
851
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
1
+ {"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
@@ -198,6 +198,26 @@ export declare const startExecutionContract: {
198
198
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
199
199
  }, undefined>, undefined>, undefined>;
200
200
  }, undefined>, undefined>, undefined>;
201
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
202
+ readonly enabled: v.BooleanSchema<undefined>;
203
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
204
+ readonly maxAttempts: v.NumberSchema<undefined>;
205
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
206
+ readonly enabled: v.BooleanSchema<undefined>;
207
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
208
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
209
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
210
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
211
+ }, undefined>, undefined>, undefined>;
212
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
213
+ readonly adequate: v.BooleanSchema<undefined>;
214
+ readonly feedback: v.StringSchema<undefined>;
215
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
216
+ readonly at: v.NumberSchema<undefined>;
217
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
218
+ }, undefined>, undefined>;
219
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
220
+ }, undefined>, undefined>, undefined>;
201
221
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
202
222
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
203
223
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -1133,6 +1153,26 @@ export declare const resumeSpendContract: {
1133
1153
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1134
1154
  }, undefined>, undefined>, undefined>;
1135
1155
  }, undefined>, undefined>, undefined>;
1156
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1157
+ readonly enabled: v.BooleanSchema<undefined>;
1158
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
1159
+ readonly maxAttempts: v.NumberSchema<undefined>;
1160
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1161
+ readonly enabled: v.BooleanSchema<undefined>;
1162
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1163
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1164
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1165
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
1166
+ }, undefined>, undefined>, undefined>;
1167
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
1168
+ readonly adequate: v.BooleanSchema<undefined>;
1169
+ readonly feedback: v.StringSchema<undefined>;
1170
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
1171
+ readonly at: v.NumberSchema<undefined>;
1172
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1173
+ }, undefined>, undefined>;
1174
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1175
+ }, undefined>, undefined>, undefined>;
1136
1176
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1137
1177
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
1138
1178
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -1845,6 +1885,26 @@ export declare const resolveDecisionContract: {
1845
1885
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1846
1886
  }, undefined>, undefined>, undefined>;
1847
1887
  }, undefined>, undefined>, undefined>;
1888
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1889
+ readonly enabled: v.BooleanSchema<undefined>;
1890
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
1891
+ readonly maxAttempts: v.NumberSchema<undefined>;
1892
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1893
+ readonly enabled: v.BooleanSchema<undefined>;
1894
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1895
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1896
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1897
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
1898
+ }, undefined>, undefined>, undefined>;
1899
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
1900
+ readonly adequate: v.BooleanSchema<undefined>;
1901
+ readonly feedback: v.StringSchema<undefined>;
1902
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
1903
+ readonly at: v.NumberSchema<undefined>;
1904
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1905
+ }, undefined>, undefined>;
1906
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1907
+ }, undefined>, undefined>, undefined>;
1848
1908
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1849
1909
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
1850
1910
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -2335,6 +2395,26 @@ export declare const approveStepContract: {
2335
2395
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2336
2396
  }, undefined>, undefined>, undefined>;
2337
2397
  }, undefined>, undefined>, undefined>;
2398
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2399
+ readonly enabled: v.BooleanSchema<undefined>;
2400
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
2401
+ readonly maxAttempts: v.NumberSchema<undefined>;
2402
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2403
+ readonly enabled: v.BooleanSchema<undefined>;
2404
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2405
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2406
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2407
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
2408
+ }, undefined>, undefined>, undefined>;
2409
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
2410
+ readonly adequate: v.BooleanSchema<undefined>;
2411
+ readonly feedback: v.StringSchema<undefined>;
2412
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
2413
+ readonly at: v.NumberSchema<undefined>;
2414
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2415
+ }, undefined>, undefined>;
2416
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2417
+ }, undefined>, undefined>, undefined>;
2338
2418
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2339
2419
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
2340
2420
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -2839,6 +2919,26 @@ export declare const requestStepChangesContract: {
2839
2919
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2840
2920
  }, undefined>, undefined>, undefined>;
2841
2921
  }, undefined>, undefined>, undefined>;
2922
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2923
+ readonly enabled: v.BooleanSchema<undefined>;
2924
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
2925
+ readonly maxAttempts: v.NumberSchema<undefined>;
2926
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2927
+ readonly enabled: v.BooleanSchema<undefined>;
2928
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2929
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2930
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2931
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
2932
+ }, undefined>, undefined>, undefined>;
2933
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
2934
+ readonly adequate: v.BooleanSchema<undefined>;
2935
+ readonly feedback: v.StringSchema<undefined>;
2936
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
2937
+ readonly at: v.NumberSchema<undefined>;
2938
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2939
+ }, undefined>, undefined>;
2940
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2941
+ }, undefined>, undefined>, undefined>;
2842
2942
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2843
2943
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
2844
2944
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -3329,6 +3429,26 @@ export declare const resolveStepExceededContract: {
3329
3429
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3330
3430
  }, undefined>, undefined>, undefined>;
3331
3431
  }, undefined>, undefined>, undefined>;
3432
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3433
+ readonly enabled: v.BooleanSchema<undefined>;
3434
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
3435
+ readonly maxAttempts: v.NumberSchema<undefined>;
3436
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3437
+ readonly enabled: v.BooleanSchema<undefined>;
3438
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3439
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3440
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3441
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
3442
+ }, undefined>, undefined>, undefined>;
3443
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
3444
+ readonly adequate: v.BooleanSchema<undefined>;
3445
+ readonly feedback: v.StringSchema<undefined>;
3446
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
3447
+ readonly at: v.NumberSchema<undefined>;
3448
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3449
+ }, undefined>, undefined>;
3450
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
3451
+ }, undefined>, undefined>, undefined>;
3332
3452
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3333
3453
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
3334
3454
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -3817,6 +3937,26 @@ export declare const restartExecutionContract: {
3817
3937
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3818
3938
  }, undefined>, undefined>, undefined>;
3819
3939
  }, undefined>, undefined>, undefined>;
3940
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3941
+ readonly enabled: v.BooleanSchema<undefined>;
3942
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
3943
+ readonly maxAttempts: v.NumberSchema<undefined>;
3944
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3945
+ readonly enabled: v.BooleanSchema<undefined>;
3946
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3947
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3948
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
3949
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
3950
+ }, undefined>, undefined>, undefined>;
3951
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
3952
+ readonly adequate: v.BooleanSchema<undefined>;
3953
+ readonly feedback: v.StringSchema<undefined>;
3954
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
3955
+ readonly at: v.NumberSchema<undefined>;
3956
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3957
+ }, undefined>, undefined>;
3958
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
3959
+ }, undefined>, undefined>, undefined>;
3820
3960
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3821
3961
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
3822
3962
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -4307,6 +4447,26 @@ export declare const rejectStepContract: {
4307
4447
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4308
4448
  }, undefined>, undefined>, undefined>;
4309
4449
  }, undefined>, undefined>, undefined>;
4450
+ readonly testerQuality: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4451
+ readonly enabled: v.BooleanSchema<undefined>;
4452
+ readonly attempts: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
4453
+ readonly maxAttempts: v.NumberSchema<undefined>;
4454
+ readonly gating: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4455
+ readonly enabled: v.BooleanSchema<undefined>;
4456
+ readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
4457
+ readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
4458
+ readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
4459
+ readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
4460
+ }, undefined>, undefined>, undefined>;
4461
+ readonly verdicts: v.ArraySchema<v.ObjectSchema<{
4462
+ readonly adequate: v.BooleanSchema<undefined>;
4463
+ readonly feedback: v.StringSchema<undefined>;
4464
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
4465
+ readonly at: v.NumberSchema<undefined>;
4466
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4467
+ }, undefined>, undefined>;
4468
+ readonly exceeded: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
4469
+ }, undefined>, undefined>, undefined>;
4310
4470
  readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4311
4471
  readonly phase: v.PicklistSchema<["provisioning", "awaiting_human", "fixing", "resolving_conflicts", "passed"], undefined>;
4312
4472
  readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{