@cat-factory/contracts 0.241.0 → 0.243.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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/merge.d.ts +56 -0
- package/dist/merge.d.ts.map +1 -1
- package/dist/merge.js +58 -0
- package/dist/merge.js.map +1 -1
- package/dist/observability.d.ts +11 -4
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +11 -4
- package/dist/observability.js.map +1 -1
- package/dist/pr-report.d.ts +48 -8
- package/dist/pr-report.d.ts.map +1 -1
- package/dist/pr-report.js +39 -8
- package/dist/pr-report.js.map +1 -1
- package/dist/public-api-keys.d.ts +67 -0
- package/dist/public-api-keys.d.ts.map +1 -1
- package/dist/public-api-keys.js +34 -0
- package/dist/public-api-keys.js.map +1 -1
- package/dist/public-decisions.d.ts +282 -9
- package/dist/public-decisions.d.ts.map +1 -1
- package/dist/public-decisions.js +158 -8
- package/dist/public-decisions.js.map +1 -1
- package/dist/public-evidence.d.ts +55 -0
- package/dist/public-evidence.d.ts.map +1 -0
- package/dist/public-evidence.js +59 -0
- package/dist/public-evidence.js.map +1 -0
- package/dist/risk-policy-selection.d.ts +74 -0
- package/dist/risk-policy-selection.d.ts.map +1 -0
- package/dist/risk-policy-selection.js +54 -0
- package/dist/risk-policy-selection.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/public-api.d.ts +140 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/public-api.js +44 -1
- package/dist/routes/public-api.js.map +1 -1
- package/dist/routes/public-decisions.d.ts +2658 -3
- package/dist/routes/public-decisions.d.ts.map +1 -1
- package/dist/routes/public-decisions.js +89 -1
- package/dist/routes/public-decisions.js.map +1 -1
- package/dist/routes/public-evidence.d.ts +291 -0
- package/dist/routes/public-evidence.d.ts.map +1 -0
- package/dist/routes/public-evidence.js +42 -0
- package/dist/routes/public-evidence.js.map +1 -0
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import * as v from 'valibot';
|
|
|
7
7
|
* route behind it is exactly the "refusal advertising a capability we do not have" defect that set
|
|
8
8
|
* builds. Add a member only together with its routes.
|
|
9
9
|
*/
|
|
10
|
-
export declare const publicDecisionKindSchema: v.PicklistSchema<["requirements-review", "fork", "judge", "input-gate", "approval-gate", "agent-decision", "clarity-review", "brainstorm", "pr-review", "human-test", "visual-confirmation"], undefined>;
|
|
10
|
+
export declare const publicDecisionKindSchema: v.PicklistSchema<["requirements-review", "fork", "judge", "input-gate", "approval-gate", "agent-decision", "clarity-review", "brainstorm", "pr-review", "human-test", "visual-confirmation", "follow-ups", "interview"], undefined>;
|
|
11
11
|
export type PublicDecisionKind = v.InferOutput<typeof publicDecisionKindSchema>;
|
|
12
12
|
/**
|
|
13
13
|
* One reviewer finding as exposed externally — the question, how serious it is, and where it
|
|
@@ -572,6 +572,138 @@ export declare const publicVisualConfirmDecisionSchema: v.ObjectSchema<{
|
|
|
572
572
|
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
573
573
|
}, undefined>;
|
|
574
574
|
export type PublicVisualConfirmDecision = v.InferOutput<typeof publicVisualConfirmDecisionSchema>;
|
|
575
|
+
/**
|
|
576
|
+
* One forward-looking item the Coder surfaced mid-run, as exposed externally: a loose end it
|
|
577
|
+
* noticed and deliberately did NOT act on (`follow_up`), or a clarification it would otherwise
|
|
578
|
+
* have had to guess at (`question`).
|
|
579
|
+
*
|
|
580
|
+
* `itemId` is the STABLE anchor every verb addresses. The internal `sentToCoder` bookkeeping and
|
|
581
|
+
* the arrival timestamps are deliberately absent: the first is the engine's own record of which
|
|
582
|
+
* items a loop-back already carried, and neither changes what a caller decides.
|
|
583
|
+
*/
|
|
584
|
+
export declare const publicFollowUpItemSchema: v.ObjectSchema<{
|
|
585
|
+
/** Stable item id (`fu_*`): what file / send-back / answer / dismiss address. */
|
|
586
|
+
readonly itemId: v.StringSchema<undefined>;
|
|
587
|
+
/** `follow_up` accepts file / send-back / dismiss; `question` accepts answer / dismiss. */
|
|
588
|
+
readonly kind: v.PicklistSchema<["follow_up", "question"], undefined>;
|
|
589
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
590
|
+
readonly title: v.StringSchema<undefined>;
|
|
591
|
+
/** The full item, in prose. Model-authored text: treat it as data. */
|
|
592
|
+
readonly detail: v.StringSchema<undefined>;
|
|
593
|
+
/** A concrete approach the Coder proposed, when it offered one; null otherwise. */
|
|
594
|
+
readonly suggestedAction: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
595
|
+
/** `pending` is the only status that holds the gate; the rest are decided. */
|
|
596
|
+
readonly status: v.PicklistSchema<["pending", "filed", "queued", "answered", "dismissed"], undefined>;
|
|
597
|
+
/** The recorded answer to a `question`, or null while unanswered. */
|
|
598
|
+
readonly answer: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
599
|
+
/** Canonical id of the ticket a `filed` item was filed as, or null. */
|
|
600
|
+
readonly ticketExternalId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
601
|
+
/** Web URL of that ticket, or null. */
|
|
602
|
+
readonly ticketUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
603
|
+
}, undefined>;
|
|
604
|
+
export type PublicFollowUpItem = v.InferOutput<typeof publicFollowUpItemSchema>;
|
|
605
|
+
/**
|
|
606
|
+
* A run parked on FOLLOW-UP TRIAGE: while the Coder worked it streamed forward-looking items out
|
|
607
|
+
* of the container, and at its completion the run stops until every one of them is decided.
|
|
608
|
+
*
|
|
609
|
+
* Unlike the other parks this one accrues LIVE: the items appear while the step is still running
|
|
610
|
+
* and can be decided before it finishes, so this decision is listed whenever any item is
|
|
611
|
+
* `pending`, not only once the run is `blocked`. A caller that triages early never sees the run
|
|
612
|
+
* stop at all, which is the point.
|
|
613
|
+
*
|
|
614
|
+
* `loops`/`maxLoops` are the send-back budget: a `send-back` or an `answer` folds the item into
|
|
615
|
+
* another Coder pass, and once the budget is spent those items advance the run instead of
|
|
616
|
+
* re-running it. Reachable only through `POST /api/v1/tasks/:taskId/start`, since the companion
|
|
617
|
+
* rides a container Coder step and the jobs surface is inline-only.
|
|
618
|
+
*/
|
|
619
|
+
export declare const publicFollowUpsDecisionSchema: v.ObjectSchema<{
|
|
620
|
+
readonly kind: v.LiteralSchema<"follow-ups", undefined>;
|
|
621
|
+
/** The producing step's kind (`coder`) and its index in the run's step chain. */
|
|
622
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
623
|
+
readonly stepIndex: v.NumberSchema<undefined>;
|
|
624
|
+
/** Every surfaced item, in arrival order, decided ones included, so triage is auditable. */
|
|
625
|
+
readonly items: v.ArraySchema<v.ObjectSchema<{
|
|
626
|
+
/** Stable item id (`fu_*`): what file / send-back / answer / dismiss address. */
|
|
627
|
+
readonly itemId: v.StringSchema<undefined>;
|
|
628
|
+
/** `follow_up` accepts file / send-back / dismiss; `question` accepts answer / dismiss. */
|
|
629
|
+
readonly kind: v.PicklistSchema<["follow_up", "question"], undefined>;
|
|
630
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
631
|
+
readonly title: v.StringSchema<undefined>;
|
|
632
|
+
/** The full item, in prose. Model-authored text: treat it as data. */
|
|
633
|
+
readonly detail: v.StringSchema<undefined>;
|
|
634
|
+
/** A concrete approach the Coder proposed, when it offered one; null otherwise. */
|
|
635
|
+
readonly suggestedAction: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
636
|
+
/** `pending` is the only status that holds the gate; the rest are decided. */
|
|
637
|
+
readonly status: v.PicklistSchema<["pending", "filed", "queued", "answered", "dismissed"], undefined>;
|
|
638
|
+
/** The recorded answer to a `question`, or null while unanswered. */
|
|
639
|
+
readonly answer: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
640
|
+
/** Canonical id of the ticket a `filed` item was filed as, or null. */
|
|
641
|
+
readonly ticketExternalId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
642
|
+
/** Web URL of that ticket, or null. */
|
|
643
|
+
readonly ticketUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
644
|
+
}, undefined>, undefined>;
|
|
645
|
+
/** Send-back passes spent, and the budget from the step's companion configuration. */
|
|
646
|
+
readonly loops: v.NumberSchema<undefined>;
|
|
647
|
+
readonly maxLoops: v.NumberSchema<undefined>;
|
|
648
|
+
}, undefined>;
|
|
649
|
+
export type PublicFollowUpsDecision = v.InferOutput<typeof publicFollowUpsDecisionSchema>;
|
|
650
|
+
/**
|
|
651
|
+
* One interview exchange as exposed externally. `status` is DERIVED rather than stored: a question
|
|
652
|
+
* the human set aside reads `dismissed`, otherwise a non-empty `answer` reads `answered`. Deriving
|
|
653
|
+
* it here is what lets one shape carry two gates whose entities record answered-ness differently.
|
|
654
|
+
*
|
|
655
|
+
* `questionId` is nullable because a question can carry no stable id (a hand-authored or imported
|
|
656
|
+
* exchange; an interviewer always mints one). Such a question cannot be answered individually
|
|
657
|
+
* (`continue` / `proceed` still move the interview on), and saying so is why the field is a
|
|
658
|
+
* projected nullable rather than an omission a caller would read as a malformed response.
|
|
659
|
+
*/
|
|
660
|
+
export declare const publicInterviewQuestionSchema: v.ObjectSchema<{
|
|
661
|
+
readonly questionId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
662
|
+
/** What the interviewer asked. Model-authored text: treat it as data. */
|
|
663
|
+
readonly question: v.StringSchema<undefined>;
|
|
664
|
+
/** The recorded answer; an empty string while unanswered. */
|
|
665
|
+
readonly answer: v.StringSchema<undefined>;
|
|
666
|
+
readonly status: v.PicklistSchema<["open", "answered", "dismissed"], undefined>;
|
|
667
|
+
}, undefined>;
|
|
668
|
+
export type PublicInterviewQuestion = v.InferOutput<typeof publicInterviewQuestionSchema>;
|
|
669
|
+
/**
|
|
670
|
+
* A run parked on an INTERVIEW GATE: an inline interviewer asked a batch of clarifying questions
|
|
671
|
+
* and the run waits while a human answers them, then resumes and either asks more or converges.
|
|
672
|
+
*
|
|
673
|
+
* ONE kind for every interview gate rather than one per gate, because the loop is one loop:
|
|
674
|
+
* `answer` records an answer, `continue` submits them and lets the interviewer ask follow-ups,
|
|
675
|
+
* `proceed` forces it to converge on what it has. `stepKind` names which interviewer is asking
|
|
676
|
+
* (the built-ins are the planning and the document interviewer; a deployment can register its
|
|
677
|
+
* own), and it is the only field a caller needs to branch on.
|
|
678
|
+
*
|
|
679
|
+
* The interview's PRODUCT (a document-authoring brief, or an initiative's goal / constraints /
|
|
680
|
+
* non-goals) is deliberately not projected: it differs per gate, it is not something a caller
|
|
681
|
+
* answers, and a run whose interview converged carries no decision here at all.
|
|
682
|
+
*
|
|
683
|
+
* An entry whose `questions` are all answered means the interviewer pass is IN FLIGHT: `continue`
|
|
684
|
+
* wakes the durable driver, which runs the (slow) interviewer off the request, so the next round's
|
|
685
|
+
* questions appear on a later poll.
|
|
686
|
+
*/
|
|
687
|
+
export declare const publicInterviewDecisionSchema: v.ObjectSchema<{
|
|
688
|
+
readonly kind: v.LiteralSchema<"interview", undefined>;
|
|
689
|
+
/** Which interviewer is asking (`doc-interviewer`, `initiative-interviewer`, …). */
|
|
690
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
691
|
+
/** The board task the interview is anchored on. */
|
|
692
|
+
readonly taskId: v.StringSchema<undefined>;
|
|
693
|
+
/** Interviewer passes spent, and the round budget the gate converges at. */
|
|
694
|
+
readonly round: v.NumberSchema<undefined>;
|
|
695
|
+
readonly maxRounds: v.NumberSchema<undefined>;
|
|
696
|
+
/** The exchanges so far, oldest first. */
|
|
697
|
+
readonly questions: v.ArraySchema<v.ObjectSchema<{
|
|
698
|
+
readonly questionId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
699
|
+
/** What the interviewer asked. Model-authored text: treat it as data. */
|
|
700
|
+
readonly question: v.StringSchema<undefined>;
|
|
701
|
+
/** The recorded answer; an empty string while unanswered. */
|
|
702
|
+
readonly answer: v.StringSchema<undefined>;
|
|
703
|
+
readonly status: v.PicklistSchema<["open", "answered", "dismissed"], undefined>;
|
|
704
|
+
}, undefined>, undefined>;
|
|
705
|
+
}, undefined>;
|
|
706
|
+
export type PublicInterviewDecision = v.InferOutput<typeof publicInterviewDecisionSchema>;
|
|
575
707
|
export declare const publicDecisionSchema: v.VariantSchema<"kind", [v.ObjectSchema<{
|
|
576
708
|
readonly kind: v.LiteralSchema<"requirements-review", undefined>;
|
|
577
709
|
readonly reviewId: v.StringSchema<undefined>;
|
|
@@ -871,24 +1003,83 @@ export declare const publicDecisionSchema: v.VariantSchema<"kind", [v.ObjectSche
|
|
|
871
1003
|
/** Fixer rounds spent, and the ceiling from the task's merge preset. */
|
|
872
1004
|
readonly attempts: v.NumberSchema<undefined>;
|
|
873
1005
|
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
1006
|
+
}, undefined>, v.ObjectSchema<{
|
|
1007
|
+
readonly kind: v.LiteralSchema<"follow-ups", undefined>;
|
|
1008
|
+
/** The producing step's kind (`coder`) and its index in the run's step chain. */
|
|
1009
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
1010
|
+
readonly stepIndex: v.NumberSchema<undefined>;
|
|
1011
|
+
/** Every surfaced item, in arrival order, decided ones included, so triage is auditable. */
|
|
1012
|
+
readonly items: v.ArraySchema<v.ObjectSchema<{
|
|
1013
|
+
/** Stable item id (`fu_*`): what file / send-back / answer / dismiss address. */
|
|
1014
|
+
readonly itemId: v.StringSchema<undefined>;
|
|
1015
|
+
/** `follow_up` accepts file / send-back / dismiss; `question` accepts answer / dismiss. */
|
|
1016
|
+
readonly kind: v.PicklistSchema<["follow_up", "question"], undefined>;
|
|
1017
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
1018
|
+
readonly title: v.StringSchema<undefined>;
|
|
1019
|
+
/** The full item, in prose. Model-authored text: treat it as data. */
|
|
1020
|
+
readonly detail: v.StringSchema<undefined>;
|
|
1021
|
+
/** A concrete approach the Coder proposed, when it offered one; null otherwise. */
|
|
1022
|
+
readonly suggestedAction: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1023
|
+
/** `pending` is the only status that holds the gate; the rest are decided. */
|
|
1024
|
+
readonly status: v.PicklistSchema<["pending", "filed", "queued", "answered", "dismissed"], undefined>;
|
|
1025
|
+
/** The recorded answer to a `question`, or null while unanswered. */
|
|
1026
|
+
readonly answer: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1027
|
+
/** Canonical id of the ticket a `filed` item was filed as, or null. */
|
|
1028
|
+
readonly ticketExternalId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1029
|
+
/** Web URL of that ticket, or null. */
|
|
1030
|
+
readonly ticketUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1031
|
+
}, undefined>, undefined>;
|
|
1032
|
+
/** Send-back passes spent, and the budget from the step's companion configuration. */
|
|
1033
|
+
readonly loops: v.NumberSchema<undefined>;
|
|
1034
|
+
readonly maxLoops: v.NumberSchema<undefined>;
|
|
1035
|
+
}, undefined>, v.ObjectSchema<{
|
|
1036
|
+
readonly kind: v.LiteralSchema<"interview", undefined>;
|
|
1037
|
+
/** Which interviewer is asking (`doc-interviewer`, `initiative-interviewer`, …). */
|
|
1038
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
1039
|
+
/** The board task the interview is anchored on. */
|
|
1040
|
+
readonly taskId: v.StringSchema<undefined>;
|
|
1041
|
+
/** Interviewer passes spent, and the round budget the gate converges at. */
|
|
1042
|
+
readonly round: v.NumberSchema<undefined>;
|
|
1043
|
+
readonly maxRounds: v.NumberSchema<undefined>;
|
|
1044
|
+
/** The exchanges so far, oldest first. */
|
|
1045
|
+
readonly questions: v.ArraySchema<v.ObjectSchema<{
|
|
1046
|
+
readonly questionId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1047
|
+
/** What the interviewer asked. Model-authored text: treat it as data. */
|
|
1048
|
+
readonly question: v.StringSchema<undefined>;
|
|
1049
|
+
/** The recorded answer; an empty string while unanswered. */
|
|
1050
|
+
readonly answer: v.StringSchema<undefined>;
|
|
1051
|
+
readonly status: v.PicklistSchema<["open", "answered", "dismissed"], undefined>;
|
|
1052
|
+
}, undefined>, undefined>;
|
|
874
1053
|
}, undefined>], undefined>;
|
|
875
1054
|
export type PublicDecision = v.InferOutput<typeof publicDecisionSchema>;
|
|
876
1055
|
/**
|
|
877
|
-
*
|
|
878
|
-
*
|
|
879
|
-
*
|
|
1056
|
+
* What a run is currently asking a human, and whether it has STOPPED to ask. The two are related
|
|
1057
|
+
* but not the same question, and a caller that treats `parked` as a gate on reading `decisions`
|
|
1058
|
+
* gets the common case right and the useful case wrong:
|
|
880
1059
|
*
|
|
881
|
-
* `parked: true
|
|
882
|
-
*
|
|
883
|
-
*
|
|
884
|
-
*
|
|
1060
|
+
* - `parked: true`, non-empty list: the ordinary park. The run is `blocked` and will not move
|
|
1061
|
+
* until one of these is answered.
|
|
1062
|
+
* - `parked: false`, non-empty list: the run is still working and asking anyway. Today only
|
|
1063
|
+
* `follow-ups` does this: the Coder streams its items mid-run and they can be decided before it
|
|
1064
|
+
* finishes, so an integration that polls `decisions` regardless of `parked` never sees the run
|
|
1065
|
+
* stop at all. One that reads `decisions` only when `parked` is true still works, it just waits.
|
|
1066
|
+
* - `parked: true`, EMPTY list: the deliberately loud case. The run is waiting on a surface this
|
|
1067
|
+
* projection does not model, and an empty list is the honest report of that rather than a silent
|
|
1068
|
+
* `parked: false`. Two parks are still expected to produce it: `human-review`, whose answer is a
|
|
1069
|
+
* person approving the PR on the VCS host rather than an API call; and an unbounded human-wait
|
|
1070
|
+
* GATE a deployment registered itself, which this projection has no way to read and whose answer
|
|
1071
|
+
* lives wherever that deployment put it.
|
|
1072
|
+
* - `parked: false`, empty list: the run is simply still working.
|
|
885
1073
|
*/
|
|
886
1074
|
export declare const publicDecisionListSchema: v.ObjectSchema<{
|
|
887
1075
|
readonly runId: v.StringSchema<undefined>;
|
|
888
1076
|
readonly taskId: v.StringSchema<undefined>;
|
|
889
1077
|
/** The run's raw status — `blocked` is the parked state. */
|
|
890
1078
|
readonly status: v.PicklistSchema<["running", "blocked", "paused", "done", "failed"], undefined>;
|
|
891
|
-
/**
|
|
1079
|
+
/**
|
|
1080
|
+
* Whether the run has STOPPED awaiting a human decision (`status === 'blocked'`). Not a
|
|
1081
|
+
* precondition for `decisions` being non-empty: see the note above.
|
|
1082
|
+
*/
|
|
892
1083
|
readonly parked: v.BooleanSchema<undefined>;
|
|
893
1084
|
readonly decisions: v.ArraySchema<v.VariantSchema<"kind", [v.ObjectSchema<{
|
|
894
1085
|
readonly kind: v.LiteralSchema<"requirements-review", undefined>;
|
|
@@ -1189,6 +1380,53 @@ export declare const publicDecisionListSchema: v.ObjectSchema<{
|
|
|
1189
1380
|
/** Fixer rounds spent, and the ceiling from the task's merge preset. */
|
|
1190
1381
|
readonly attempts: v.NumberSchema<undefined>;
|
|
1191
1382
|
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
1383
|
+
}, undefined>, v.ObjectSchema<{
|
|
1384
|
+
readonly kind: v.LiteralSchema<"follow-ups", undefined>;
|
|
1385
|
+
/** The producing step's kind (`coder`) and its index in the run's step chain. */
|
|
1386
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
1387
|
+
readonly stepIndex: v.NumberSchema<undefined>;
|
|
1388
|
+
/** Every surfaced item, in arrival order, decided ones included, so triage is auditable. */
|
|
1389
|
+
readonly items: v.ArraySchema<v.ObjectSchema<{
|
|
1390
|
+
/** Stable item id (`fu_*`): what file / send-back / answer / dismiss address. */
|
|
1391
|
+
readonly itemId: v.StringSchema<undefined>;
|
|
1392
|
+
/** `follow_up` accepts file / send-back / dismiss; `question` accepts answer / dismiss. */
|
|
1393
|
+
readonly kind: v.PicklistSchema<["follow_up", "question"], undefined>;
|
|
1394
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
1395
|
+
readonly title: v.StringSchema<undefined>;
|
|
1396
|
+
/** The full item, in prose. Model-authored text: treat it as data. */
|
|
1397
|
+
readonly detail: v.StringSchema<undefined>;
|
|
1398
|
+
/** A concrete approach the Coder proposed, when it offered one; null otherwise. */
|
|
1399
|
+
readonly suggestedAction: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1400
|
+
/** `pending` is the only status that holds the gate; the rest are decided. */
|
|
1401
|
+
readonly status: v.PicklistSchema<["pending", "filed", "queued", "answered", "dismissed"], undefined>;
|
|
1402
|
+
/** The recorded answer to a `question`, or null while unanswered. */
|
|
1403
|
+
readonly answer: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1404
|
+
/** Canonical id of the ticket a `filed` item was filed as, or null. */
|
|
1405
|
+
readonly ticketExternalId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1406
|
+
/** Web URL of that ticket, or null. */
|
|
1407
|
+
readonly ticketUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1408
|
+
}, undefined>, undefined>;
|
|
1409
|
+
/** Send-back passes spent, and the budget from the step's companion configuration. */
|
|
1410
|
+
readonly loops: v.NumberSchema<undefined>;
|
|
1411
|
+
readonly maxLoops: v.NumberSchema<undefined>;
|
|
1412
|
+
}, undefined>, v.ObjectSchema<{
|
|
1413
|
+
readonly kind: v.LiteralSchema<"interview", undefined>;
|
|
1414
|
+
/** Which interviewer is asking (`doc-interviewer`, `initiative-interviewer`, …). */
|
|
1415
|
+
readonly stepKind: v.StringSchema<undefined>;
|
|
1416
|
+
/** The board task the interview is anchored on. */
|
|
1417
|
+
readonly taskId: v.StringSchema<undefined>;
|
|
1418
|
+
/** Interviewer passes spent, and the round budget the gate converges at. */
|
|
1419
|
+
readonly round: v.NumberSchema<undefined>;
|
|
1420
|
+
readonly maxRounds: v.NumberSchema<undefined>;
|
|
1421
|
+
/** The exchanges so far, oldest first. */
|
|
1422
|
+
readonly questions: v.ArraySchema<v.ObjectSchema<{
|
|
1423
|
+
readonly questionId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
1424
|
+
/** What the interviewer asked. Model-authored text: treat it as data. */
|
|
1425
|
+
readonly question: v.StringSchema<undefined>;
|
|
1426
|
+
/** The recorded answer; an empty string while unanswered. */
|
|
1427
|
+
readonly answer: v.StringSchema<undefined>;
|
|
1428
|
+
readonly status: v.PicklistSchema<["open", "answered", "dismissed"], undefined>;
|
|
1429
|
+
}, undefined>, undefined>;
|
|
1192
1430
|
}, undefined>], undefined>, undefined>;
|
|
1193
1431
|
}, undefined>;
|
|
1194
1432
|
export type PublicDecisionList = v.InferOutput<typeof publicDecisionListSchema>;
|
|
@@ -1349,4 +1587,39 @@ export declare const publicRequestGateFixSchema: v.ObjectSchema<{
|
|
|
1349
1587
|
readonly findings: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 10000, undefined>]>;
|
|
1350
1588
|
}, undefined>;
|
|
1351
1589
|
export type PublicRequestGateFixInput = v.InferOutput<typeof publicRequestGateFixSchema>;
|
|
1590
|
+
/**
|
|
1591
|
+
* Answer one `question` item the Coder surfaced. Identical to the SPA's
|
|
1592
|
+
* {@link answerFollowUpSchema} and aliased rather than re-declared, on the same grounds as the
|
|
1593
|
+
* judge and input-gate bodies: both surfaces drive the SAME service method, so there is nothing
|
|
1594
|
+
* to narrow, and a structurally identical twin would be a second published type in four SDKs
|
|
1595
|
+
* meaning exactly what the first one means.
|
|
1596
|
+
*/
|
|
1597
|
+
export declare const publicAnswerFollowUpSchema: v.ObjectSchema<{
|
|
1598
|
+
readonly answer: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
1599
|
+
}, undefined>;
|
|
1600
|
+
export type PublicAnswerFollowUpInput = v.InferOutput<typeof publicAnswerFollowUpSchema>;
|
|
1601
|
+
/**
|
|
1602
|
+
* Answer one interview question. Declared fresh rather than aliased, unlike the bodies above: two
|
|
1603
|
+
* gates ride this route (the planning and the document interviewer) and each declares its own
|
|
1604
|
+
* internal body, so aliasing either one would privilege that gate's bounds on a surface serving
|
|
1605
|
+
* both, and a bound that is right for one and wrong for the other refuses valid input.
|
|
1606
|
+
*
|
|
1607
|
+
* The numbers are therefore taken from what the two gates STORE rather than from what either one
|
|
1608
|
+
* accepts: an exchange lives in `initiativeQaSchema` / `docInterviewQaSchema`, both of which cap an
|
|
1609
|
+
* id at 80 and an answer at 2000, so a question this surface can name is a question these bounds
|
|
1610
|
+
* can address. They are stated as literals rather than derived from those constants because this
|
|
1611
|
+
* is a published contract: deriving it would let an internal cap SHRINK the public bound silently,
|
|
1612
|
+
* which is the one direction `/api/v1` may not move. `publicAnswerInterviewBounds` in
|
|
1613
|
+
* `public-decisions.test.ts` asserts the relation instead, so a gate that widens its own storage
|
|
1614
|
+
* fails a test here rather than refusing valid input in production.
|
|
1615
|
+
*
|
|
1616
|
+
* An EMPTY `answer` is accepted, because both services accept it: it clears an answer recorded by
|
|
1617
|
+
* mistake, where a minimum length would leave a caller no way to undo one.
|
|
1618
|
+
*/
|
|
1619
|
+
export declare const publicAnswerInterviewSchema: v.ObjectSchema<{
|
|
1620
|
+
/** The `questionId` from the decision's `questions`. */
|
|
1621
|
+
readonly questionId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
|
|
1622
|
+
readonly answer: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
|
|
1623
|
+
}, undefined>;
|
|
1624
|
+
export type PublicAnswerInterviewInput = v.InferOutput<typeof publicAnswerInterviewSchema>;
|
|
1352
1625
|
//# sourceMappingURL=public-decisions.d.ts.map
|
|
@@ -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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"}
|
package/dist/public-decisions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { brainstormStageSchema } from './brainstorm.js';
|
|
3
3
|
import { environmentStatusSchema } from './environments.js';
|
|
4
|
+
import { answerFollowUpSchema, followUpItemKindSchema, followUpItemStatusSchema, } from './followUp.js';
|
|
4
5
|
import { stepApprovalStatusSchema } from './step-decisions.js';
|
|
5
6
|
import { forkDecisionStatusSchema, forkOptionSchema } from './forkDecision.js';
|
|
6
7
|
import { humanTestPhaseSchema, visualConfirmPhaseSchema } from './human-verdict-gates.js';
|
|
@@ -74,6 +75,8 @@ export const publicDecisionKindSchema = v.picklist([
|
|
|
74
75
|
'pr-review',
|
|
75
76
|
'human-test',
|
|
76
77
|
'visual-confirmation',
|
|
78
|
+
'follow-ups',
|
|
79
|
+
'interview',
|
|
77
80
|
]);
|
|
78
81
|
/**
|
|
79
82
|
* One reviewer finding as exposed externally — the question, how serious it is, and where it
|
|
@@ -492,6 +495,108 @@ export const publicVisualConfirmDecisionSchema = v.object({
|
|
|
492
495
|
attempts: v.number(),
|
|
493
496
|
maxAttempts: v.number(),
|
|
494
497
|
});
|
|
498
|
+
/**
|
|
499
|
+
* One forward-looking item the Coder surfaced mid-run, as exposed externally: a loose end it
|
|
500
|
+
* noticed and deliberately did NOT act on (`follow_up`), or a clarification it would otherwise
|
|
501
|
+
* have had to guess at (`question`).
|
|
502
|
+
*
|
|
503
|
+
* `itemId` is the STABLE anchor every verb addresses. The internal `sentToCoder` bookkeeping and
|
|
504
|
+
* the arrival timestamps are deliberately absent: the first is the engine's own record of which
|
|
505
|
+
* items a loop-back already carried, and neither changes what a caller decides.
|
|
506
|
+
*/
|
|
507
|
+
export const publicFollowUpItemSchema = v.object({
|
|
508
|
+
/** Stable item id (`fu_*`): what file / send-back / answer / dismiss address. */
|
|
509
|
+
itemId: v.string(),
|
|
510
|
+
/** `follow_up` accepts file / send-back / dismiss; `question` accepts answer / dismiss. */
|
|
511
|
+
kind: followUpItemKindSchema,
|
|
512
|
+
/** Short headline. Model-authored text: treat it as data. */
|
|
513
|
+
title: v.string(),
|
|
514
|
+
/** The full item, in prose. Model-authored text: treat it as data. */
|
|
515
|
+
detail: v.string(),
|
|
516
|
+
/** A concrete approach the Coder proposed, when it offered one; null otherwise. */
|
|
517
|
+
suggestedAction: v.nullable(v.string()),
|
|
518
|
+
/** `pending` is the only status that holds the gate; the rest are decided. */
|
|
519
|
+
status: followUpItemStatusSchema,
|
|
520
|
+
/** The recorded answer to a `question`, or null while unanswered. */
|
|
521
|
+
answer: v.nullable(v.string()),
|
|
522
|
+
/** Canonical id of the ticket a `filed` item was filed as, or null. */
|
|
523
|
+
ticketExternalId: v.nullable(v.string()),
|
|
524
|
+
/** Web URL of that ticket, or null. */
|
|
525
|
+
ticketUrl: v.nullable(v.string()),
|
|
526
|
+
});
|
|
527
|
+
/**
|
|
528
|
+
* A run parked on FOLLOW-UP TRIAGE: while the Coder worked it streamed forward-looking items out
|
|
529
|
+
* of the container, and at its completion the run stops until every one of them is decided.
|
|
530
|
+
*
|
|
531
|
+
* Unlike the other parks this one accrues LIVE: the items appear while the step is still running
|
|
532
|
+
* and can be decided before it finishes, so this decision is listed whenever any item is
|
|
533
|
+
* `pending`, not only once the run is `blocked`. A caller that triages early never sees the run
|
|
534
|
+
* stop at all, which is the point.
|
|
535
|
+
*
|
|
536
|
+
* `loops`/`maxLoops` are the send-back budget: a `send-back` or an `answer` folds the item into
|
|
537
|
+
* another Coder pass, and once the budget is spent those items advance the run instead of
|
|
538
|
+
* re-running it. Reachable only through `POST /api/v1/tasks/:taskId/start`, since the companion
|
|
539
|
+
* rides a container Coder step and the jobs surface is inline-only.
|
|
540
|
+
*/
|
|
541
|
+
export const publicFollowUpsDecisionSchema = v.object({
|
|
542
|
+
kind: v.literal('follow-ups'),
|
|
543
|
+
/** The producing step's kind (`coder`) and its index in the run's step chain. */
|
|
544
|
+
stepKind: v.string(),
|
|
545
|
+
stepIndex: v.number(),
|
|
546
|
+
/** Every surfaced item, in arrival order, decided ones included, so triage is auditable. */
|
|
547
|
+
items: v.array(publicFollowUpItemSchema),
|
|
548
|
+
/** Send-back passes spent, and the budget from the step's companion configuration. */
|
|
549
|
+
loops: v.number(),
|
|
550
|
+
maxLoops: v.number(),
|
|
551
|
+
});
|
|
552
|
+
/**
|
|
553
|
+
* One interview exchange as exposed externally. `status` is DERIVED rather than stored: a question
|
|
554
|
+
* the human set aside reads `dismissed`, otherwise a non-empty `answer` reads `answered`. Deriving
|
|
555
|
+
* it here is what lets one shape carry two gates whose entities record answered-ness differently.
|
|
556
|
+
*
|
|
557
|
+
* `questionId` is nullable because a question can carry no stable id (a hand-authored or imported
|
|
558
|
+
* exchange; an interviewer always mints one). Such a question cannot be answered individually
|
|
559
|
+
* (`continue` / `proceed` still move the interview on), and saying so is why the field is a
|
|
560
|
+
* projected nullable rather than an omission a caller would read as a malformed response.
|
|
561
|
+
*/
|
|
562
|
+
export const publicInterviewQuestionSchema = v.object({
|
|
563
|
+
questionId: v.nullable(v.string()),
|
|
564
|
+
/** What the interviewer asked. Model-authored text: treat it as data. */
|
|
565
|
+
question: v.string(),
|
|
566
|
+
/** The recorded answer; an empty string while unanswered. */
|
|
567
|
+
answer: v.string(),
|
|
568
|
+
status: v.picklist(['open', 'answered', 'dismissed']),
|
|
569
|
+
});
|
|
570
|
+
/**
|
|
571
|
+
* A run parked on an INTERVIEW GATE: an inline interviewer asked a batch of clarifying questions
|
|
572
|
+
* and the run waits while a human answers them, then resumes and either asks more or converges.
|
|
573
|
+
*
|
|
574
|
+
* ONE kind for every interview gate rather than one per gate, because the loop is one loop:
|
|
575
|
+
* `answer` records an answer, `continue` submits them and lets the interviewer ask follow-ups,
|
|
576
|
+
* `proceed` forces it to converge on what it has. `stepKind` names which interviewer is asking
|
|
577
|
+
* (the built-ins are the planning and the document interviewer; a deployment can register its
|
|
578
|
+
* own), and it is the only field a caller needs to branch on.
|
|
579
|
+
*
|
|
580
|
+
* The interview's PRODUCT (a document-authoring brief, or an initiative's goal / constraints /
|
|
581
|
+
* non-goals) is deliberately not projected: it differs per gate, it is not something a caller
|
|
582
|
+
* answers, and a run whose interview converged carries no decision here at all.
|
|
583
|
+
*
|
|
584
|
+
* An entry whose `questions` are all answered means the interviewer pass is IN FLIGHT: `continue`
|
|
585
|
+
* wakes the durable driver, which runs the (slow) interviewer off the request, so the next round's
|
|
586
|
+
* questions appear on a later poll.
|
|
587
|
+
*/
|
|
588
|
+
export const publicInterviewDecisionSchema = v.object({
|
|
589
|
+
kind: v.literal('interview'),
|
|
590
|
+
/** Which interviewer is asking (`doc-interviewer`, `initiative-interviewer`, …). */
|
|
591
|
+
stepKind: v.string(),
|
|
592
|
+
/** The board task the interview is anchored on. */
|
|
593
|
+
taskId: v.string(),
|
|
594
|
+
/** Interviewer passes spent, and the round budget the gate converges at. */
|
|
595
|
+
round: v.number(),
|
|
596
|
+
maxRounds: v.number(),
|
|
597
|
+
/** The exchanges so far, oldest first. */
|
|
598
|
+
questions: v.array(publicInterviewQuestionSchema),
|
|
599
|
+
});
|
|
495
600
|
export const publicDecisionSchema = v.variant('kind', [
|
|
496
601
|
publicRequirementsDecisionSchema,
|
|
497
602
|
publicForkDecisionSchema,
|
|
@@ -504,23 +609,37 @@ export const publicDecisionSchema = v.variant('kind', [
|
|
|
504
609
|
publicPrReviewDecisionSchema,
|
|
505
610
|
publicHumanTestDecisionSchema,
|
|
506
611
|
publicVisualConfirmDecisionSchema,
|
|
612
|
+
publicFollowUpsDecisionSchema,
|
|
613
|
+
publicInterviewDecisionSchema,
|
|
507
614
|
]);
|
|
508
615
|
/**
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
*
|
|
616
|
+
* What a run is currently asking a human, and whether it has STOPPED to ask. The two are related
|
|
617
|
+
* but not the same question, and a caller that treats `parked` as a gate on reading `decisions`
|
|
618
|
+
* gets the common case right and the useful case wrong:
|
|
512
619
|
*
|
|
513
|
-
* `parked: true
|
|
514
|
-
*
|
|
515
|
-
*
|
|
516
|
-
*
|
|
620
|
+
* - `parked: true`, non-empty list: the ordinary park. The run is `blocked` and will not move
|
|
621
|
+
* until one of these is answered.
|
|
622
|
+
* - `parked: false`, non-empty list: the run is still working and asking anyway. Today only
|
|
623
|
+
* `follow-ups` does this: the Coder streams its items mid-run and they can be decided before it
|
|
624
|
+
* finishes, so an integration that polls `decisions` regardless of `parked` never sees the run
|
|
625
|
+
* stop at all. One that reads `decisions` only when `parked` is true still works, it just waits.
|
|
626
|
+
* - `parked: true`, EMPTY list: the deliberately loud case. The run is waiting on a surface this
|
|
627
|
+
* projection does not model, and an empty list is the honest report of that rather than a silent
|
|
628
|
+
* `parked: false`. Two parks are still expected to produce it: `human-review`, whose answer is a
|
|
629
|
+
* person approving the PR on the VCS host rather than an API call; and an unbounded human-wait
|
|
630
|
+
* GATE a deployment registered itself, which this projection has no way to read and whose answer
|
|
631
|
+
* lives wherever that deployment put it.
|
|
632
|
+
* - `parked: false`, empty list: the run is simply still working.
|
|
517
633
|
*/
|
|
518
634
|
export const publicDecisionListSchema = v.object({
|
|
519
635
|
runId: v.string(),
|
|
520
636
|
taskId: v.string(),
|
|
521
637
|
/** The run's raw status — `blocked` is the parked state. */
|
|
522
638
|
status: publicRunStatusSchema,
|
|
523
|
-
/**
|
|
639
|
+
/**
|
|
640
|
+
* Whether the run has STOPPED awaiting a human decision (`status === 'blocked'`). Not a
|
|
641
|
+
* precondition for `decisions` being non-empty: see the note above.
|
|
642
|
+
*/
|
|
524
643
|
parked: v.boolean(),
|
|
525
644
|
decisions: v.array(publicDecisionSchema),
|
|
526
645
|
});
|
|
@@ -656,4 +775,35 @@ export const publicChallengePrReviewFindingSchema = v.object({
|
|
|
656
775
|
export const publicRequestGateFixSchema = v.object({
|
|
657
776
|
findings: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(10000)),
|
|
658
777
|
});
|
|
778
|
+
/**
|
|
779
|
+
* Answer one `question` item the Coder surfaced. Identical to the SPA's
|
|
780
|
+
* {@link answerFollowUpSchema} and aliased rather than re-declared, on the same grounds as the
|
|
781
|
+
* judge and input-gate bodies: both surfaces drive the SAME service method, so there is nothing
|
|
782
|
+
* to narrow, and a structurally identical twin would be a second published type in four SDKs
|
|
783
|
+
* meaning exactly what the first one means.
|
|
784
|
+
*/
|
|
785
|
+
export const publicAnswerFollowUpSchema = answerFollowUpSchema;
|
|
786
|
+
/**
|
|
787
|
+
* Answer one interview question. Declared fresh rather than aliased, unlike the bodies above: two
|
|
788
|
+
* gates ride this route (the planning and the document interviewer) and each declares its own
|
|
789
|
+
* internal body, so aliasing either one would privilege that gate's bounds on a surface serving
|
|
790
|
+
* both, and a bound that is right for one and wrong for the other refuses valid input.
|
|
791
|
+
*
|
|
792
|
+
* The numbers are therefore taken from what the two gates STORE rather than from what either one
|
|
793
|
+
* accepts: an exchange lives in `initiativeQaSchema` / `docInterviewQaSchema`, both of which cap an
|
|
794
|
+
* id at 80 and an answer at 2000, so a question this surface can name is a question these bounds
|
|
795
|
+
* can address. They are stated as literals rather than derived from those constants because this
|
|
796
|
+
* is a published contract: deriving it would let an internal cap SHRINK the public bound silently,
|
|
797
|
+
* which is the one direction `/api/v1` may not move. `publicAnswerInterviewBounds` in
|
|
798
|
+
* `public-decisions.test.ts` asserts the relation instead, so a gate that widens its own storage
|
|
799
|
+
* fails a test here rather than refusing valid input in production.
|
|
800
|
+
*
|
|
801
|
+
* An EMPTY `answer` is accepted, because both services accept it: it clears an answer recorded by
|
|
802
|
+
* mistake, where a minimum length would leave a caller no way to undo one.
|
|
803
|
+
*/
|
|
804
|
+
export const publicAnswerInterviewSchema = v.object({
|
|
805
|
+
/** The `questionId` from the decision's `questions`. */
|
|
806
|
+
questionId: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(80)),
|
|
807
|
+
answer: v.pipe(v.string(), v.maxLength(2000)),
|
|
808
|
+
});
|
|
659
809
|
//# sourceMappingURL=public-decisions.js.map
|