@cat-factory/contracts 0.236.0 → 0.237.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/companion.js +1 -1
- package/dist/companion.js.map +1 -1
- package/dist/execution.d.ts +0 -194
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +8 -87
- package/dist/execution.js.map +1 -1
- package/dist/human-verdict-gates.d.ts +4 -0
- package/dist/human-verdict-gates.d.ts.map +1 -1
- package/dist/human-verdict-gates.js +10 -2
- package/dist/human-verdict-gates.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/public-decisions.d.ts +878 -6
- package/dist/public-decisions.d.ts.map +1 -1
- package/dist/public-decisions.js +431 -13
- package/dist/public-decisions.js.map +1 -1
- package/dist/routes/public-decisions.d.ts +5957 -41
- package/dist/routes/public-decisions.d.ts.map +1 -1
- package/dist/routes/public-decisions.js +239 -1
- package/dist/routes/public-decisions.js.map +1 -1
- package/dist/step-decisions.d.ts +130 -0
- package/dist/step-decisions.d.ts.map +1 -0
- package/dist/step-decisions.js +118 -0
- package/dist/step-decisions.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-decisions.d.ts","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"public-decisions.d.ts","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
|
package/dist/public-decisions.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { brainstormStageSchema } from './brainstorm.js';
|
|
3
|
+
import { environmentStatusSchema } from './environments.js';
|
|
4
|
+
import { stepApprovalStatusSchema } from './step-decisions.js';
|
|
2
5
|
import { forkDecisionStatusSchema, forkOptionSchema } from './forkDecision.js';
|
|
6
|
+
import { humanTestPhaseSchema, visualConfirmPhaseSchema } from './human-verdict-gates.js';
|
|
3
7
|
import { inputGateIssueSchema, inputGateModeSchema, inputGateStatusSchema, resolveInputGateSchema, } from './input-gate.js';
|
|
8
|
+
import { iterationCapChoiceSchema } from './iteration-cap.js';
|
|
4
9
|
import { judgeStatusSchema, judgeVerdictSchema, resolveJudgeSchema } from './judge.js';
|
|
10
|
+
import { prReviewCategorySchema, prReviewResolutionSchema, prReviewSeveritySchema, prReviewStatusSchema, } from './prReview.js';
|
|
5
11
|
import { publicRunStatusSchema } from './public-api.js';
|
|
6
12
|
import { requirementReviewStatusSchema, reviewItemCategorySchema, reviewItemSeveritySchema, reviewItemStatusSchema, } from './requirements.js';
|
|
7
13
|
// ---------------------------------------------------------------------------
|
|
@@ -13,24 +19,61 @@ import { requirementReviewStatusSchema, reviewItemCategorySchema, reviewItemSeve
|
|
|
13
19
|
// the SPA, so a headless (`/api/v1`) run could not include clarification at all — the public
|
|
14
20
|
// surface refused any pipeline that could park.
|
|
15
21
|
//
|
|
16
|
-
// These resources are the external counterpart of that loop
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
// machinery, or the reviewer's model plumbing.
|
|
22
|
+
// These resources are the external counterpart of that loop, and now of every OTHER way a run
|
|
23
|
+
// stops for a person. Each kind is deliberately a SMALL projection of the internal entity,
|
|
24
|
+
// following the `publicTask` / `publicService` pattern: a caller sees the question and the stable
|
|
25
|
+
// ids it answers by, never the engine's step internals, the recommendation machinery, or the
|
|
26
|
+
// reviewer's model plumbing.
|
|
22
27
|
//
|
|
23
28
|
// Answering rides the SAME service methods the SPA controllers call, so the park's CAS/approval-id
|
|
24
29
|
// arbitration and the task's merge-preset knobs (iteration cap, tolerated severity) apply
|
|
25
30
|
// identically whichever surface answers first. See
|
|
26
|
-
// `docs/initiatives/headless-clarification-loop.md
|
|
31
|
+
// `docs/initiatives/headless-clarification-loop.md` and
|
|
32
|
+
// `docs/initiatives/public-api-additions.md`.
|
|
33
|
+
//
|
|
34
|
+
// WHAT MAY BE REUSED FROM AN INTERNAL SCHEMA, AND WHAT MUST BE PROJECTED.
|
|
35
|
+
//
|
|
36
|
+
// `/api/v1` is frozen and internals explicitly are not (see the compatibility section of
|
|
37
|
+
// `CLAUDE.md`), so every internal schema named in a `public*` shape below silently promotes that
|
|
38
|
+
// internal to the stable surface. The line this file draws:
|
|
39
|
+
//
|
|
40
|
+
// - A CLOSED PICKLIST is reused as-is (`requirementReviewStatusSchema`, `prReviewStatusSchema`,
|
|
41
|
+
// `environmentStatusSchema`, …). Adding a member is additive and `/api/v1` ships those freely,
|
|
42
|
+
// and RETIRING one is already governed by the closed-vocabulary rule that applies wherever the
|
|
43
|
+
// value is persisted. A parallel `public*` copy of a picklist would carry no extra information
|
|
44
|
+
// and would drift the first time only one side gained a member.
|
|
45
|
+
// - An OBJECT is PROJECTED, always, however closely the projection resembles today's internal
|
|
46
|
+
// shape. An object grows fields, nests sub-objects and gets refactored on an internal
|
|
47
|
+
// timetable, so aliasing one makes an ordinary internal edit a public break that arrives as a
|
|
48
|
+
// clean diff nobody reads. `publicPrReviewFindingSchema` is the worked example: it looks like
|
|
49
|
+
// `prReviewFindingSchema` today, and the internal one is mid-evolution (slice reviews, resume)
|
|
50
|
+
// while the published shape must not move.
|
|
51
|
+
//
|
|
52
|
+
// A projection also normalises what the internal shape leaves ambiguous: an internal
|
|
53
|
+
// `v.optional(v.nullable(X))` (absent OR null, a distinction that survives no round trip an SDK
|
|
54
|
+
// makes) becomes a plain `v.nullable(X)` that is ALWAYS present. The `to*` projection supplies the
|
|
55
|
+
// `?? null`, so four generated clients get one shape to check instead of two.
|
|
27
56
|
// ---------------------------------------------------------------------------
|
|
28
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Which parked decision a `publicDecision` entry describes.
|
|
59
|
+
*
|
|
60
|
+
* The list is the surface's own honesty check: `PUBLICLY_ANSWERABLE_PARK_SURFACES` (server-side
|
|
61
|
+
* admission) names the park surfaces a `decide` key is TOLD it can answer, and a kind here with no
|
|
62
|
+
* route behind it is exactly the "refusal advertising a capability we do not have" defect that set
|
|
63
|
+
* builds. Add a member only together with its routes.
|
|
64
|
+
*/
|
|
29
65
|
export const publicDecisionKindSchema = v.picklist([
|
|
30
66
|
'requirements-review',
|
|
31
67
|
'fork',
|
|
32
68
|
'judge',
|
|
33
69
|
'input-gate',
|
|
70
|
+
'approval-gate',
|
|
71
|
+
'agent-decision',
|
|
72
|
+
'clarity-review',
|
|
73
|
+
'brainstorm',
|
|
74
|
+
'pr-review',
|
|
75
|
+
'human-test',
|
|
76
|
+
'visual-confirmation',
|
|
34
77
|
]);
|
|
35
78
|
/**
|
|
36
79
|
* One reviewer finding as exposed externally — the question, how serious it is, and where it
|
|
@@ -144,16 +187,314 @@ export const publicInputGateDecisionSchema = v.object({
|
|
|
144
187
|
/** Epoch ms of the evaluation that produced this verdict. */
|
|
145
188
|
checkedAt: v.number(),
|
|
146
189
|
});
|
|
190
|
+
/**
|
|
191
|
+
* A run parked on a plain APPROVAL GATE: a pipeline step marked `requiresApproval` finished, and
|
|
192
|
+
* the run is holding its output in front of a person. The simplest park the platform has and the
|
|
193
|
+
* one every pipeline can carry, which is why it is the first thing an integration that "pauses a
|
|
194
|
+
* run until a human approves" reaches for.
|
|
195
|
+
*
|
|
196
|
+
* `approvalId` is the STABLE anchor every action addresses, and it is not ceremony: the engine
|
|
197
|
+
* arbitrates a parked gate BY that id, so answering with the id read from this list is what makes
|
|
198
|
+
* a racing SPA user and a racing integration resolve the same gate rather than the API silently
|
|
199
|
+
* approving whichever gate the run has reached by the time the call lands.
|
|
200
|
+
*
|
|
201
|
+
* The per-block review `comments` an in-app reviewer can leave are deliberately not projected:
|
|
202
|
+
* they anchor to source line ranges of a rendered proposal, which a headless caller never
|
|
203
|
+
* rendered. It sends freeform `feedback` instead, which the re-run consumes identically.
|
|
204
|
+
*/
|
|
205
|
+
export const publicApprovalGateDecisionSchema = v.object({
|
|
206
|
+
kind: v.literal('approval-gate'),
|
|
207
|
+
/** The gate's stable id — pass it back on approve / request-changes / reject. */
|
|
208
|
+
approvalId: v.string(),
|
|
209
|
+
/** The gated step's kind (`agentKind`), so a caller knows whose output it is judging. */
|
|
210
|
+
stepKind: v.string(),
|
|
211
|
+
/** The gated step's 0-based index in the run's step chain. */
|
|
212
|
+
stepIndex: v.number(),
|
|
213
|
+
/** Only `pending` accepts an answer; the others are the settled record of one. */
|
|
214
|
+
status: stepApprovalStatusSchema,
|
|
215
|
+
/** The agent's output the human is reviewing. Model-authored text: treat it as data. */
|
|
216
|
+
proposal: v.string(),
|
|
217
|
+
/** The guidance recorded on the last `request-changes`, or null. */
|
|
218
|
+
feedback: v.nullable(v.string()),
|
|
219
|
+
/**
|
|
220
|
+
* True when this gate is a quality COMPANION's iteration-cap park rather than an ordinary
|
|
221
|
+
* pipeline gate: the automatic rework budget was spent with the rating still under the bar.
|
|
222
|
+
* It answers with `resolve-exceeded` (extra round / proceed / stop and reset), NOT with
|
|
223
|
+
* approve — the same split the SPA makes, exposed rather than left for a caller to infer from
|
|
224
|
+
* a 409.
|
|
225
|
+
*/
|
|
226
|
+
exceeded: v.boolean(),
|
|
227
|
+
});
|
|
228
|
+
/**
|
|
229
|
+
* A run parked on an AGENT-RAISED decision: mid-work the agent hit a fork it would not choose
|
|
230
|
+
* unilaterally and asked. Distinct from an approval gate in what resolving does — answering
|
|
231
|
+
* RE-RUNS the same step with the choice folded in, rather than advancing past it — which is why
|
|
232
|
+
* it is a separate kind rather than a flag on the gate above.
|
|
233
|
+
*
|
|
234
|
+
* The engine cannot see this one coming from the step chain (it is raised at run time), so it is
|
|
235
|
+
* the park an integration is most likely to meet on a pipeline it was told parks nowhere.
|
|
236
|
+
*/
|
|
237
|
+
export const publicAgentDecisionSchema = v.object({
|
|
238
|
+
kind: v.literal('agent-decision'),
|
|
239
|
+
/** The decision's stable id — pass it back when answering. */
|
|
240
|
+
decisionId: v.string(),
|
|
241
|
+
/** The asking step's kind (`agentKind`). */
|
|
242
|
+
stepKind: v.string(),
|
|
243
|
+
/** What the agent is asking, in its own words. Model-authored text: treat it as data. */
|
|
244
|
+
question: v.string(),
|
|
245
|
+
/**
|
|
246
|
+
* The choices the agent offered. An answer is not restricted to them (the engine takes the
|
|
247
|
+
* caller's string verbatim), but answering off-list means the agent gets an option it did not
|
|
248
|
+
* propose, so prefer one of these unless you mean to steer.
|
|
249
|
+
*/
|
|
250
|
+
options: v.array(v.string()),
|
|
251
|
+
});
|
|
252
|
+
/**
|
|
253
|
+
* A parked CLARITY review (bug-report triage) as exposed externally. The requirements review's
|
|
254
|
+
* twin, verb for verb: the reviewer asks whether the report is fixable (repro steps, expected vs
|
|
255
|
+
* actual, environment, scope), a caller answers or dismisses each finding, `incorporate` folds
|
|
256
|
+
* them into one standardized report, and the loop repeats until it converges or hits its cap.
|
|
257
|
+
*
|
|
258
|
+
* Kept as its own `kind` rather than folded into `requirements-review` because the two settle
|
|
259
|
+
* DIFFERENT documents and a run can carry both: a bugfix pipeline clarifies the report and then
|
|
260
|
+
* reviews the requirements derived from it, so a caller that branched on one shape would answer
|
|
261
|
+
* the wrong loop.
|
|
262
|
+
*/
|
|
263
|
+
export const publicClarityDecisionSchema = v.object({
|
|
264
|
+
kind: v.literal('clarity-review'),
|
|
265
|
+
reviewId: v.string(),
|
|
266
|
+
/** The board task the review belongs to. */
|
|
267
|
+
taskId: v.string(),
|
|
268
|
+
status: requirementReviewStatusSchema,
|
|
269
|
+
/** Which reviewer pass this is (the initial review is 1). */
|
|
270
|
+
iteration: v.number(),
|
|
271
|
+
/** The reviewer-pass budget, from the task's merge preset. */
|
|
272
|
+
maxIterations: v.number(),
|
|
273
|
+
findings: v.array(publicReviewFindingSchema),
|
|
274
|
+
/**
|
|
275
|
+
* The standardized bug report the last incorporation produced; null until one exists. Once the
|
|
276
|
+
* review settles, this is the report every downstream agent works from.
|
|
277
|
+
*/
|
|
278
|
+
clarifiedReport: v.nullable(v.string()),
|
|
279
|
+
});
|
|
280
|
+
/**
|
|
281
|
+
* A parked BRAINSTORM dialogue as exposed externally: the agent proposed a handful of concrete
|
|
282
|
+
* options with their trade-offs, and the run is waiting for a person to pick and steer before it
|
|
283
|
+
* converges on one direction.
|
|
284
|
+
*
|
|
285
|
+
* Keyed by `(task, stage)`, not task alone — a block may hold one live `requirements` session and
|
|
286
|
+
* one live `architecture` session at once, so a decision list can carry TWO brainstorm entries and
|
|
287
|
+
* every route takes the stage. A caller that keys its own state by `kind` alone will collide the
|
|
288
|
+
* two; key by `kind` + `stage`.
|
|
289
|
+
*/
|
|
290
|
+
export const publicBrainstormDecisionSchema = v.object({
|
|
291
|
+
kind: v.literal('brainstorm'),
|
|
292
|
+
sessionId: v.string(),
|
|
293
|
+
/** Which dialogue this is: the requirements direction, or the architecture approach. */
|
|
294
|
+
stage: brainstormStageSchema,
|
|
295
|
+
/** The board task the session belongs to. */
|
|
296
|
+
taskId: v.string(),
|
|
297
|
+
status: requirementReviewStatusSchema,
|
|
298
|
+
/** Which agent pass this is (the initial pass is 1). */
|
|
299
|
+
iteration: v.number(),
|
|
300
|
+
/** The agent-pass budget, from the task's merge preset. */
|
|
301
|
+
maxIterations: v.number(),
|
|
302
|
+
/**
|
|
303
|
+
* The proposed options. Structurally the same shape as a review finding (one source of truth
|
|
304
|
+
* for the item), but read it as a proposal to pick or steer, not a defect to answer.
|
|
305
|
+
*/
|
|
306
|
+
options: v.array(publicReviewFindingSchema),
|
|
307
|
+
/** The converged direction the last incorporation produced; null until one exists. */
|
|
308
|
+
convergedDirection: v.nullable(v.string()),
|
|
309
|
+
});
|
|
310
|
+
/**
|
|
311
|
+
* One cohesive group of changed files the reviewer worked as a unit, as exposed externally.
|
|
312
|
+
* Findings anchor to a slice by `sliceId`, so a caller can present them grouped the way the
|
|
313
|
+
* reviewer actually reasoned rather than as one flat list.
|
|
314
|
+
*
|
|
315
|
+
* The internal `prReviewSliceReviewSchema` (each slice's verbatim in-flight subagent report, which
|
|
316
|
+
* exists so a dying review can be RESUMED per slice) is deliberately absent: it is recovery
|
|
317
|
+
* plumbing for the engine, and its prose is superseded by the aggregated `findings`.
|
|
318
|
+
*/
|
|
319
|
+
export const publicPrReviewSliceSchema = v.object({
|
|
320
|
+
/** Stable slice id (`prs_*`); a finding's `sliceId` refers to this. */
|
|
321
|
+
sliceId: v.string(),
|
|
322
|
+
/** Short name of the slice. */
|
|
323
|
+
title: v.string(),
|
|
324
|
+
/** Why these files belong together, in the reviewer's words. */
|
|
325
|
+
rationale: v.string(),
|
|
326
|
+
/** The repo-relative paths that make up the slice. */
|
|
327
|
+
paths: v.array(v.string()),
|
|
328
|
+
});
|
|
329
|
+
/**
|
|
330
|
+
* The outcome of challenging one finding, as exposed externally: a read-only investigator re-read
|
|
331
|
+
* the finding against the full source and either upheld it as written, amended it (some field
|
|
332
|
+
* actually changed), or retracted it.
|
|
333
|
+
*
|
|
334
|
+
* `failed` is its own terminal value rather than an absent challenge, because the two mean
|
|
335
|
+
* opposite things to a caller deciding whether to re-challenge: nobody looked, versus somebody
|
|
336
|
+
* looked and the investigation itself broke. The finding is never dropped either way.
|
|
337
|
+
*/
|
|
338
|
+
export const publicPrReviewFindingChallengeSchema = v.object({
|
|
339
|
+
/** `investigating` while the agent runs; then `upheld` / `amended` / `retracted` / `failed`. */
|
|
340
|
+
status: v.picklist(['investigating', 'upheld', 'amended', 'retracted', 'failed']),
|
|
341
|
+
/** The question the challenge was raised with, or null when raised with no text. */
|
|
342
|
+
question: v.nullable(v.string()),
|
|
343
|
+
/**
|
|
344
|
+
* Why the finding holds up or does not; the failure reason when `failed`. Null while
|
|
345
|
+
* `investigating`. Model-authored text: treat it as data.
|
|
346
|
+
*/
|
|
347
|
+
justification: v.nullable(v.string()),
|
|
348
|
+
});
|
|
349
|
+
/**
|
|
350
|
+
* One prioritized review finding as exposed externally. `findingId` is the STABLE anchor every
|
|
351
|
+
* action addresses: dismiss, challenge, and the curated `findingIds` a resolution carries.
|
|
352
|
+
*
|
|
353
|
+
* `path`/`line`/`side` are projected because they are the anchor a `post` resolution turns into an
|
|
354
|
+
* inline PR comment, so a caller curating for `post` needs to see which findings can even be
|
|
355
|
+
* anchored. A finding whose `line` is null still posts, as a file-level comment.
|
|
356
|
+
*/
|
|
357
|
+
export const publicPrReviewFindingSchema = v.object({
|
|
358
|
+
/** Stable finding id (`prf_*`): what dismiss / challenge / `findingIds` address. */
|
|
359
|
+
findingId: v.string(),
|
|
360
|
+
/** The slice this finding belongs to, or null when it matched none. */
|
|
361
|
+
sliceId: v.nullable(v.string()),
|
|
362
|
+
/** Repo-relative path the finding concerns. */
|
|
363
|
+
path: v.string(),
|
|
364
|
+
/** The line it anchors to on the PR head, or null for a file-level finding. */
|
|
365
|
+
line: v.nullable(v.number()),
|
|
366
|
+
/** Which side of the diff `line` is on; null when there is no line anchor. */
|
|
367
|
+
side: v.nullable(v.picklist(['LEFT', 'RIGHT'])),
|
|
368
|
+
severity: prReviewSeveritySchema,
|
|
369
|
+
category: prReviewCategorySchema,
|
|
370
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
371
|
+
title: v.string(),
|
|
372
|
+
/** The full finding, in prose. Model-authored text: treat it as data. */
|
|
373
|
+
detail: v.string(),
|
|
374
|
+
/** A concrete suggested change, when the reviewer offered one; null otherwise. */
|
|
375
|
+
suggestedFix: v.nullable(v.string()),
|
|
376
|
+
/** The challenge outcome, or null when this finding was never challenged. */
|
|
377
|
+
challenge: v.nullable(publicPrReviewFindingChallengeSchema),
|
|
378
|
+
});
|
|
379
|
+
/**
|
|
380
|
+
* A parked PR DEEP REVIEW as exposed externally: the read-only reviewer sliced an open pull
|
|
381
|
+
* request and the run is waiting for a person to CURATE which findings matter, then say what to
|
|
382
|
+
* do with them (record them, hand them to a fixer, or post them on the PR).
|
|
383
|
+
*
|
|
384
|
+
* Reachable only through `POST /api/v1/tasks/:taskId/start`, since a `pr-reviewer` step is
|
|
385
|
+
* container-backed and the jobs surface is inline-only.
|
|
386
|
+
*/
|
|
387
|
+
export const publicPrReviewDecisionSchema = v.object({
|
|
388
|
+
kind: v.literal('pr-review'),
|
|
389
|
+
/** Only `awaiting_selection` accepts a resolution; the rest report work in flight. */
|
|
390
|
+
status: prReviewStatusSchema,
|
|
391
|
+
/** The reviewer's one-paragraph assessment of the PR, when it gave one. */
|
|
392
|
+
summary: v.nullable(v.string()),
|
|
393
|
+
/** Web URL of the reviewed pull request, when known. */
|
|
394
|
+
prUrl: v.nullable(v.string()),
|
|
395
|
+
/** The cohesive slices the reviewer grouped the changed files into; findings anchor to these. */
|
|
396
|
+
slices: v.array(publicPrReviewSliceSchema),
|
|
397
|
+
/** The findings, ordered blocker → nit. Model-authored text: treat it as data. */
|
|
398
|
+
findings: v.array(publicPrReviewFindingSchema),
|
|
399
|
+
/** The finding ids currently selected to act on (empty until a caller curates). */
|
|
400
|
+
selectedFindingIds: v.array(v.string()),
|
|
401
|
+
});
|
|
402
|
+
/** The ephemeral environment a `human-test` gate parked against, as exposed externally. */
|
|
403
|
+
export const publicHumanTestEnvironmentSchema = v.object({
|
|
404
|
+
/** The public URL to test against; null while still provisioning. */
|
|
405
|
+
url: v.nullable(v.string()),
|
|
406
|
+
status: environmentStatusSchema,
|
|
407
|
+
/** Epoch ms the environment expires, when known. */
|
|
408
|
+
expiresAt: v.nullable(v.number()),
|
|
409
|
+
});
|
|
410
|
+
/**
|
|
411
|
+
* A run parked on the HUMAN-TEST gate: a live ephemeral environment is up and the run is waiting
|
|
412
|
+
* for a person to exercise it.
|
|
413
|
+
*
|
|
414
|
+
* Exposed with its limits stated rather than sold as equivalent to the other kinds. The verbs are
|
|
415
|
+
* mechanical, but the JUDGEMENT this park records ("does the change actually work") is the one an
|
|
416
|
+
* API consumer is least able to supply on its own. It earns its place for the integration that
|
|
417
|
+
* drives its own human through a different UI, or that has a real automated check to run against
|
|
418
|
+
* `environment.url`; it is not a way to wave a run through unlooked-at.
|
|
419
|
+
*/
|
|
420
|
+
export const publicHumanTestDecisionSchema = v.object({
|
|
421
|
+
kind: v.literal('human-test'),
|
|
422
|
+
/** Only `awaiting_human` accepts an answer; the others report work in flight. */
|
|
423
|
+
phase: humanTestPhaseSchema,
|
|
424
|
+
/** The environment to test against; null in degraded manual mode or after a destroy. */
|
|
425
|
+
environment: v.nullable(publicHumanTestEnvironmentSchema),
|
|
426
|
+
/**
|
|
427
|
+
* Why no environment was provisioned (no env provider wired, or provisioning errored). Non-null
|
|
428
|
+
* means the gate is in manual mode: there is nothing to point a check at, and the change has to
|
|
429
|
+
* be tested against the PR branch by hand.
|
|
430
|
+
*/
|
|
431
|
+
degradedReason: v.nullable(v.string()),
|
|
432
|
+
/** Fixer rounds spent, and the ceiling from the task's merge preset. */
|
|
433
|
+
attempts: v.number(),
|
|
434
|
+
maxAttempts: v.number(),
|
|
435
|
+
});
|
|
436
|
+
/**
|
|
437
|
+
* One actual-vs-reference pairing the visual-confirmation gate is showing, as exposed externally:
|
|
438
|
+
* a logical view, the screenshot captured of it, and the reference design for the same view when
|
|
439
|
+
* one was uploaded.
|
|
440
|
+
*
|
|
441
|
+
* Either side may be null (a captured view with no reference, or a reference whose view was never
|
|
442
|
+
* captured), and BOTH ids being null is meaningful rather than degenerate: it says the view is
|
|
443
|
+
* known and neither image exists. That is why the fields are always-present nullables instead of
|
|
444
|
+
* optional ones.
|
|
445
|
+
*/
|
|
446
|
+
export const publicVisualConfirmPairSchema = v.object({
|
|
447
|
+
/** The logical view this pairing is for. */
|
|
448
|
+
view: v.string(),
|
|
449
|
+
/** Artifact id of the captured screenshot, or null. App-resolvable only; see below. */
|
|
450
|
+
actualArtifactId: v.nullable(v.string()),
|
|
451
|
+
/** Artifact id of the uploaded reference design, or null. App-resolvable only; see below. */
|
|
452
|
+
referenceArtifactId: v.nullable(v.string()),
|
|
453
|
+
});
|
|
454
|
+
/**
|
|
455
|
+
* A run parked on the VISUAL-CONFIRMATION gate: the UI tester's screenshots are waiting to be
|
|
456
|
+
* compared against the uploaded reference designs.
|
|
457
|
+
*
|
|
458
|
+
* Same caveat as {@link publicHumanTestDecisionSchema}, and one more: the images themselves are
|
|
459
|
+
* NOT readable over `/api/v1`. `pairs` carries the artifact ids so a caller can see how many views
|
|
460
|
+
* were captured and which ones have a reference at all, but resolving an id to an image needs the
|
|
461
|
+
* app. That is stated rather than hidden: a caller approving on the strength of this projection
|
|
462
|
+
* alone is approving screenshots it has not seen.
|
|
463
|
+
*/
|
|
464
|
+
export const publicVisualConfirmDecisionSchema = v.object({
|
|
465
|
+
kind: v.literal('visual-confirmation'),
|
|
466
|
+
/** Only `awaiting_human` accepts an answer. */
|
|
467
|
+
phase: visualConfirmPhaseSchema,
|
|
468
|
+
/** The actual-vs-reference pairings, by logical view. Artifact ids are app-resolvable only. */
|
|
469
|
+
pairs: v.array(publicVisualConfirmPairSchema),
|
|
470
|
+
/** Set when no screenshots could be gathered (no UI tester ran / no artifact storage). */
|
|
471
|
+
degradedReason: v.nullable(v.string()),
|
|
472
|
+
/** Fixer rounds spent, and the ceiling from the task's merge preset. */
|
|
473
|
+
attempts: v.number(),
|
|
474
|
+
maxAttempts: v.number(),
|
|
475
|
+
});
|
|
147
476
|
export const publicDecisionSchema = v.variant('kind', [
|
|
148
477
|
publicRequirementsDecisionSchema,
|
|
149
478
|
publicForkDecisionSchema,
|
|
150
479
|
publicJudgeDecisionSchema,
|
|
151
480
|
publicInputGateDecisionSchema,
|
|
481
|
+
publicApprovalGateDecisionSchema,
|
|
482
|
+
publicAgentDecisionSchema,
|
|
483
|
+
publicClarityDecisionSchema,
|
|
484
|
+
publicBrainstormDecisionSchema,
|
|
485
|
+
publicPrReviewDecisionSchema,
|
|
486
|
+
publicHumanTestDecisionSchema,
|
|
487
|
+
publicVisualConfirmDecisionSchema,
|
|
152
488
|
]);
|
|
153
489
|
/**
|
|
154
490
|
* A run's currently-parked decisions. `parked` is the single flag a caller polls or reacts to:
|
|
155
491
|
* true when the run is `blocked` awaiting one of the decisions listed. An empty list with
|
|
156
492
|
* `parked: false` is the ordinary case for a run that is simply still working.
|
|
493
|
+
*
|
|
494
|
+
* `parked: true` with an EMPTY list is the deliberately loud case: the run is waiting on a
|
|
495
|
+
* surface this projection does not model, and the honest report of that is an empty list rather
|
|
496
|
+
* than a silent `parked: false`. The one park that is still expected to produce it is
|
|
497
|
+
* `human-review`, whose answer is a person approving the PR on the VCS host, not an API call.
|
|
157
498
|
*/
|
|
158
499
|
export const publicDecisionListSchema = v.object({
|
|
159
500
|
runId: v.string(),
|
|
@@ -187,13 +528,17 @@ export const publicIncorporateSchema = v.object({
|
|
|
187
528
|
feedback: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(4000))),
|
|
188
529
|
});
|
|
189
530
|
/**
|
|
190
|
-
* Resolve
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
531
|
+
* Resolve an iteration cap: one more pass, proceed with what the last pass produced, or stop and
|
|
532
|
+
* reset the task to an editable state. The same three choices the SPA offers — there is
|
|
533
|
+
* deliberately no timed default (a parked run waits for an answer indefinitely, so a silent
|
|
534
|
+
* auto-proceed would ship work nobody approved).
|
|
535
|
+
*
|
|
536
|
+
* Shared by every capped loop the surface exposes: the three iterative reviews and a quality
|
|
537
|
+
* companion at its automatic-rework cap. They are ONE body because they are one question, and
|
|
538
|
+
* minting a per-loop DTO would put four identical types in four published SDKs.
|
|
194
539
|
*/
|
|
195
540
|
export const publicResolveExceededSchema = v.object({
|
|
196
|
-
choice:
|
|
541
|
+
choice: iterationCapChoiceSchema,
|
|
197
542
|
});
|
|
198
543
|
/**
|
|
199
544
|
* Choose an implementation approach: EXACTLY one of a proposed `forkId` or a free-text `custom`
|
|
@@ -219,4 +564,77 @@ export const publicResolveJudgeSchema = resolveJudgeSchema;
|
|
|
219
564
|
* and `proceed` waives the findings and records who did it.
|
|
220
565
|
*/
|
|
221
566
|
export const publicResolveInputGateSchema = resolveInputGateSchema;
|
|
567
|
+
/**
|
|
568
|
+
* Approve a parked gate, optionally replacing the agent's proposal with an edited one. The edit
|
|
569
|
+
* is what flows to every downstream step, so supplying it is how a caller corrects the output
|
|
570
|
+
* rather than bouncing the whole step; omit it to approve the text as written.
|
|
571
|
+
*/
|
|
572
|
+
export const publicApproveStepSchema = v.object({
|
|
573
|
+
proposal: v.optional(v.pipe(v.string(), v.maxLength(50000))),
|
|
574
|
+
});
|
|
575
|
+
/**
|
|
576
|
+
* Request changes on a parked gate: the step re-runs with this guidance folded in.
|
|
577
|
+
*
|
|
578
|
+
* `feedback` is REQUIRED here where the SPA's twin accepts either freeform text or anchored
|
|
579
|
+
* per-block comments. An anchored comment carries the source line range of a rendered proposal, so
|
|
580
|
+
* a headless caller has nothing to anchor to; requiring the freeform half means a re-run always
|
|
581
|
+
* has something to act on rather than looping on an empty instruction.
|
|
582
|
+
*/
|
|
583
|
+
export const publicRequestStepChangesSchema = v.object({
|
|
584
|
+
feedback: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(10000)),
|
|
585
|
+
});
|
|
586
|
+
/** Reject a parked gate: the run stops entirely (a terminal failure the board can retry). */
|
|
587
|
+
export const publicRejectStepSchema = v.object({
|
|
588
|
+
reason: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(2000))),
|
|
589
|
+
});
|
|
590
|
+
/**
|
|
591
|
+
* Resolve a companion gate parked at its automatic-rework cap. The SAME body as a review at its
|
|
592
|
+
* cap ({@link publicResolveExceededSchema}), aliased rather than re-declared: the two carry one
|
|
593
|
+
* question, and a structurally identical twin would be a second published type in four SDKs
|
|
594
|
+
* meaning exactly what the first one means.
|
|
595
|
+
*/
|
|
596
|
+
export const publicResolveStepExceededSchema = publicResolveExceededSchema;
|
|
597
|
+
/**
|
|
598
|
+
* Answer an agent-raised decision. The choice is taken verbatim, so it may be one of the offered
|
|
599
|
+
* `options` or a steer of the caller's own — the engine re-runs the asking step with it either way.
|
|
600
|
+
*/
|
|
601
|
+
export const publicResolveAgentDecisionSchema = v.object({
|
|
602
|
+
choice: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(4000)),
|
|
603
|
+
});
|
|
604
|
+
/**
|
|
605
|
+
* Resolve a parked PR deep review: the curated `findingIds` plus what to do with them. `finish`
|
|
606
|
+
* records the selection and completes the read-only review; `fix` hands the selected findings to a
|
|
607
|
+
* fixer that commits onto the reviewed PR's branch; `post` publishes them as inline PR review
|
|
608
|
+
* comments. `fix`/`post` need at least one selected finding, and both act on the real pull
|
|
609
|
+
* request — this is the one decision route with an effect outside the platform.
|
|
610
|
+
*
|
|
611
|
+
* Both fields are plainly OPTIONAL rather than carrying a schema `default`, unlike the internal
|
|
612
|
+
* twin. A default is "always present" on the way out and "may be omitted" on the way in, and the
|
|
613
|
+
* SDK emitters read a request field's default as the former — so declaring one here would emit
|
|
614
|
+
* four clients whose types insist on a value the API does not require. The fallbacks are applied
|
|
615
|
+
* where the call is made instead, and documented on each field so the wire contract still states
|
|
616
|
+
* what omitting it means.
|
|
617
|
+
*/
|
|
618
|
+
export const publicResolvePrReviewSchema = v.object({
|
|
619
|
+
/** Omitted reads as `finish`. */
|
|
620
|
+
action: v.optional(prReviewResolutionSchema),
|
|
621
|
+
/** Omitted reads as an empty selection, which only `finish` accepts. */
|
|
622
|
+
findingIds: v.optional(v.array(v.string())),
|
|
623
|
+
});
|
|
624
|
+
/**
|
|
625
|
+
* Challenge one parked finding: a read-only investigator digs into it against the full source and
|
|
626
|
+
* either upholds, strengthens or retracts it. An omitted / blank `question` uses the generic
|
|
627
|
+
* "validate this finding" prompt.
|
|
628
|
+
*/
|
|
629
|
+
export const publicChallengePrReviewFindingSchema = v.object({
|
|
630
|
+
question: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(4000))),
|
|
631
|
+
});
|
|
632
|
+
/**
|
|
633
|
+
* Submit findings against a human-verdict gate (human-test or visual-confirmation) and request a
|
|
634
|
+
* fix. The findings ARE the prompt the fixer works from, so unlike the SPA's textarea there is no
|
|
635
|
+
* blank-is-fine case: an empty request would dispatch an agent with nothing to fix.
|
|
636
|
+
*/
|
|
637
|
+
export const publicRequestGateFixSchema = v.object({
|
|
638
|
+
findings: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(10000)),
|
|
639
|
+
});
|
|
222
640
|
//# sourceMappingURL=public-decisions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-decisions.js","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-decisions.js","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
|