@cat-factory/contracts 0.29.0 → 0.31.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 (43) hide show
  1. package/dist/agent-presentation.d.ts +2 -2
  2. package/dist/brainstorm.d.ts +80 -0
  3. package/dist/brainstorm.d.ts.map +1 -0
  4. package/dist/brainstorm.js +75 -0
  5. package/dist/brainstorm.js.map +1 -0
  6. package/dist/entities.d.ts +63 -0
  7. package/dist/entities.d.ts.map +1 -1
  8. package/dist/entities.js +19 -0
  9. package/dist/entities.js.map +1 -1
  10. package/dist/events.d.ts +22 -0
  11. package/dist/events.d.ts.map +1 -1
  12. package/dist/followUp.d.ts +110 -0
  13. package/dist/followUp.d.ts.map +1 -0
  14. package/dist/followUp.js +107 -0
  15. package/dist/followUp.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/kaizen.d.ts +145 -0
  21. package/dist/kaizen.d.ts.map +1 -0
  22. package/dist/kaizen.js +84 -0
  23. package/dist/kaizen.js.map +1 -0
  24. package/dist/notifications.d.ts +2 -2
  25. package/dist/notifications.d.ts.map +1 -1
  26. package/dist/notifications.js +1 -0
  27. package/dist/notifications.js.map +1 -1
  28. package/dist/result-views.d.ts +1 -1
  29. package/dist/result-views.d.ts.map +1 -1
  30. package/dist/result-views.js +2 -0
  31. package/dist/result-views.js.map +1 -1
  32. package/dist/runners.d.ts +36 -0
  33. package/dist/runners.d.ts.map +1 -1
  34. package/dist/runners.js +9 -0
  35. package/dist/runners.js.map +1 -1
  36. package/dist/slack.d.ts +2 -2
  37. package/dist/snapshot.d.ts +23 -2
  38. package/dist/snapshot.d.ts.map +1 -1
  39. package/dist/workspace-settings.d.ts +7 -0
  40. package/dist/workspace-settings.d.ts.map +1 -1
  41. package/dist/workspace-settings.js +7 -0
  42. package/dist/workspace-settings.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followUp.d.ts","sourceRoot":"","sources":["../src/followUp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,wDAAwC,CAAA;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,sFAMnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,wDAAwD;AACxD,eAAO,MAAM,kBAAkB;;;IAG7B,kDAAkD;;IAElD,uCAAuC;;IAEvC,sFAAsF;;;IAGtF,0FAA0F;;IAE1F;;;OAGG;;IAEH,uFAAuF;;IAEvF,6CAA6C;;;;aAI7C,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC,kFAAkF;;IAElF,0FAA0F;;;;QAjC1F,kDAAkD;;QAElD,uCAAuC;;QAEvC,sFAAsF;;;QAGtF,0FAA0F;;QAE1F;;;WAGG;;QAEH,uFAAuF;;QAEvF,6CAA6C;;;;;IAmB7C,mGAAmG;;IAEnG,4GAA4G;;aAE5G,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAI/E,qFAAqF;AACrF,eAAO,MAAM,oBAAoB;;aAE/B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;aAKjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,107 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // Follow-up companion wire contracts. As the Coder works it surfaces forward-
4
+ // looking items over a live side channel (the harness streams them out of the
5
+ // running container, see the executor-harness): genuine loose ends / useful
6
+ // follow-ups / side-tasks it noticed but deliberately did NOT act on
7
+ // (`kind: 'follow_up'`), and clarifying QUESTIONS it would otherwise have to
8
+ // guess at (`kind: 'question'`). The "Follow-up companion" — a blinking chip on
9
+ // the Coder step — lights up the instant the first item appears, while the Coder
10
+ // is still running, and a human triages each item:
11
+ // - a follow-up can be FILED as a tracker issue, QUEUED to send back to the
12
+ // Coder (the pipeline loops back to the Coder for another pass), or DISMISSED;
13
+ // - a question is ANSWERED (the answer is folded into the next Coder loop-back —
14
+ // the live container can't be answered in place) or DISMISSED.
15
+ // The pipeline's following steps do not start until every item is decided: an
16
+ // undecided follow-up or an unanswered question is a `pending` blocker the
17
+ // engine parks the run on at Coder completion. State lives on the run's Coder
18
+ // step (`PipelineStep.followUps`), not a dedicated table — it is run-scoped and
19
+ // rides the execution stream, so it is runtime-symmetric by construction.
20
+ // ---------------------------------------------------------------------------
21
+ /**
22
+ * What a surfaced item is: a forward-looking `follow_up` (a loose end / side-task
23
+ * the Coder noticed but did not act on) or a `question` (a clarification the Coder
24
+ * raised mid-run). The kind drives which actions the triage window offers and how
25
+ * the completion gate treats the item.
26
+ */
27
+ export const followUpItemKindSchema = v.picklist(['follow_up', 'question']);
28
+ /**
29
+ * Lifecycle of a single item:
30
+ * - `pending`: surfaced, awaiting a human decision. An undecided follow-up OR an
31
+ * unanswered question — either blocks the pipeline at Coder completion.
32
+ * - `filed`: a follow-up filed as a tracker issue (`ticketExternalId`/`ticketUrl` set).
33
+ * - `queued`: a follow-up the human sent back to the Coder; folded into the next
34
+ * Coder loop-back as rework.
35
+ * - `answered`: a question the human answered (`answer` set); the Q&A is folded into
36
+ * the next Coder loop-back.
37
+ * - `dismissed`: waved off as not worth acting on.
38
+ * All of `filed`/`queued`/`answered`/`dismissed` are "decided"; only `pending`
39
+ * holds the gate.
40
+ */
41
+ export const followUpItemStatusSchema = v.picklist([
42
+ 'pending',
43
+ 'filed',
44
+ 'queued',
45
+ 'answered',
46
+ 'dismissed',
47
+ ]);
48
+ /** A single forward-looking item the Coder surfaced. */
49
+ export const followUpItemSchema = v.object({
50
+ id: v.string(),
51
+ kind: followUpItemKindSchema,
52
+ /** Short headline of the loose end / question. */
53
+ title: v.string(),
54
+ /** The full detail, in plain prose. */
55
+ detail: v.string(),
56
+ /** An optional concrete suggestion the Coder offered (a follow-up's proposed fix). */
57
+ suggestedAction: v.optional(v.nullable(v.string())),
58
+ status: followUpItemStatusSchema,
59
+ /** The human's answer to a `question` item, or null while unanswered / not a question. */
60
+ answer: v.optional(v.nullable(v.string())),
61
+ /**
62
+ * True once a `queued` follow-up / `answered` question has been folded into a Coder
63
+ * loop-back, so the next Coder completion does not send it back again. Absent until sent.
64
+ */
65
+ sentToCoder: v.optional(v.boolean()),
66
+ /** Canonical external id of the filed ticket (e.g. "owner/repo#123"), when `filed`. */
67
+ ticketExternalId: v.optional(v.nullable(v.string())),
68
+ /** URL of the filed ticket, when `filed`. */
69
+ ticketUrl: v.optional(v.nullable(v.string())),
70
+ createdAt: v.number(),
71
+ updatedAt: v.number(),
72
+ });
73
+ /**
74
+ * Live follow-up companion state carried on the run's Coder step. Set when the
75
+ * Coder step has the companion enabled (copied from the pipeline's per-step
76
+ * `followUps` toggle at run start). `items` accrue live as the harness streams
77
+ * them; `loops` counts how many times the Coder has been looped back for queued
78
+ * items / answered questions, bounded by `maxLoops`.
79
+ */
80
+ export const followUpsStepStateSchema = v.object({
81
+ /** Whether the companion is active on this step (the per-step builder toggle). */
82
+ enabled: v.boolean(),
83
+ /** The surfaced items, in arrival order. Empty until the Coder surfaces the first one. */
84
+ items: v.array(followUpItemSchema),
85
+ /** Send-back loops performed so far (a queued follow-up / answered question re-runs the Coder). */
86
+ loops: v.optional(v.number(), 0),
87
+ /** The send-back loop budget; once `loops` reaches it, queued/answered items advance without re-running. */
88
+ maxLoops: v.optional(v.number(), 3),
89
+ });
90
+ // ---- Request bodies -------------------------------------------------------
91
+ /** Answer a `question` item (the answer is folded into the next Coder loop-back). */
92
+ export const answerFollowUpSchema = v.object({
93
+ answer: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(4000)),
94
+ });
95
+ /**
96
+ * One streamed item line the harness lifts off the Coder container's sentinel file
97
+ * (`.cat-follow-ups.jsonl`). The coder writes lenient lines (title/detail + kind);
98
+ * the engine assigns the id/status/timestamps when it records them onto the step,
99
+ * so this is the minimal shape the harness forwards.
100
+ */
101
+ export const streamedFollowUpSchema = v.object({
102
+ kind: v.optional(followUpItemKindSchema, 'follow_up'),
103
+ title: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(300)),
104
+ detail: v.optional(v.string(), ''),
105
+ suggestedAction: v.optional(v.nullable(v.string())),
106
+ });
107
+ //# sourceMappingURL=followUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followUp.js","sourceRoot":"","sources":["../src/followUp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,mDAAmD;AACnD,8EAA8E;AAC9E,mFAAmF;AACnF,mFAAmF;AACnF,mEAAmE;AACnE,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;AAG3E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC;IACjD,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,WAAW;CACZ,CAAC,CAAA;AAGF,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,sBAAsB;IAC5B,kDAAkD;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,uCAAuC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,sFAAsF;IACtF,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,wBAAwB;IAChC,0FAA0F;IAC1F,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,uFAAuF;IACvF,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,6CAA6C;IAC7C,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,kFAAkF;IAClF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,0FAA0F;IAC1F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAClC,mGAAmG;IACnG,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,4GAA4G;IAC5G,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACpC,CAAC,CAAA;AAGF,8EAA8E;AAE9E,qFAAqF;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;CACxE,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CACpD,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -18,8 +18,10 @@ export * from './snapshot.js';
18
18
  export * from './board-scan.js';
19
19
  export * from './iteration-cap.js';
20
20
  export * from './requirements.js';
21
+ export * from './followUp.js';
21
22
  export * from './human-test.js';
22
23
  export * from './clarity.js';
24
+ export * from './brainstorm.js';
23
25
  export * from './spec.js';
24
26
  export * from './companion.js';
25
27
  export * from './merge.js';
@@ -47,4 +49,5 @@ export * from './localModels.js';
47
49
  export * from './openrouter.js';
48
50
  export * from './sandbox.js';
49
51
  export * from './workspace-settings.js';
52
+ export * from './kaizen.js';
50
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -18,8 +18,10 @@ export * from './snapshot.js';
18
18
  export * from './board-scan.js';
19
19
  export * from './iteration-cap.js';
20
20
  export * from './requirements.js';
21
+ export * from './followUp.js';
21
22
  export * from './human-test.js';
22
23
  export * from './clarity.js';
24
+ export * from './brainstorm.js';
23
25
  export * from './spec.js';
24
26
  export * from './companion.js';
25
27
  export * from './merge.js';
@@ -47,4 +49,5 @@ export * from './localModels.js';
47
49
  export * from './openrouter.js';
48
50
  export * from './sandbox.js';
49
51
  export * from './workspace-settings.js';
52
+ export * from './kaizen.js';
50
53
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,145 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * Lifecycle of a single grading:
4
+ * - `scheduled`: queued at run completion, awaiting the background sweep.
5
+ * - `running`: the sweep picked it up and the grader LLM is analysing.
6
+ * - `complete`: the grade + recommendations are recorded.
7
+ * - `failed`: the grader call errored (telemetry missing, model unwired, parse
8
+ * failure); recorded with an `error` and never retried automatically.
9
+ */
10
+ export declare const kaizenGradingStatusSchema: v.PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
11
+ export type KaizenGradingStatus = v.InferOutput<typeof kaizenGradingStatusSchema>;
12
+ /** A single Kaizen grading of one completed agent step. */
13
+ export declare const kaizenGradingSchema: v.ObjectSchema<{
14
+ readonly id: v.StringSchema<undefined>;
15
+ /** The run (execution) the graded step belongs to. */
16
+ readonly executionId: v.StringSchema<undefined>;
17
+ /** The board block the run targets — for linking back from the Kaizen screen. */
18
+ readonly blockId: v.StringSchema<undefined>;
19
+ /** Index of the graded step within the run's pipeline. */
20
+ readonly stepIndex: v.NumberSchema<undefined>;
21
+ /** The graded step's agent kind (e.g. `coder`, `architect`). */
22
+ readonly agentKind: v.StringSchema<undefined>;
23
+ /** The resolved model id the step ran on (e.g. `claude-opus-4-...`). */
24
+ readonly model: v.StringSchema<undefined>;
25
+ /** The graded step's prompt version (from the agents prompt-version registry). */
26
+ readonly promptVersion: v.NumberSchema<undefined>;
27
+ /** `agentKind|model|promptVersion` — the verified-combo key. */
28
+ readonly comboKey: v.StringSchema<undefined>;
29
+ readonly status: v.PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
30
+ /** 1..5 once `complete` (5 = smooth/guided/efficient); null while pending/failed. */
31
+ readonly grade: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
32
+ /** The grader's prose summary of how the interaction went. Empty while pending. */
33
+ readonly summary: v.StringSchema<undefined>;
34
+ /** Actionable improvement recommendations. Empty array ⇒ nothing to improve. */
35
+ readonly recommendations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
36
+ /** `provider:model` that produced the grade, for transparency; null in tests. */
37
+ readonly graderModel: v.NullableSchema<v.StringSchema<undefined>, undefined>;
38
+ /** Error message when `failed`, else null. */
39
+ readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
40
+ readonly createdAt: v.NumberSchema<undefined>;
41
+ readonly updatedAt: v.NumberSchema<undefined>;
42
+ }, undefined>;
43
+ export type KaizenGrading = v.InferOutput<typeof kaizenGradingSchema>;
44
+ /**
45
+ * A `(promptVersion, agentKind, model)` combo's verification progress. The combo
46
+ * earns a high grade each time a grading returns grade 4 or 5 with no recommendations;
47
+ * `consecutiveHighGrades` resets to 0 on anything lower. At VERIFICATION_STREAK it
48
+ * flips `verified` true and the engine stops scheduling gradings for it.
49
+ */
50
+ export declare const kaizenVerifiedComboSchema: v.ObjectSchema<{
51
+ /** `agentKind|model|promptVersion`. */
52
+ readonly comboKey: v.StringSchema<undefined>;
53
+ readonly agentKind: v.StringSchema<undefined>;
54
+ readonly model: v.StringSchema<undefined>;
55
+ readonly promptVersion: v.NumberSchema<undefined>;
56
+ /** Count of sequential high grades with no recommendations. */
57
+ readonly consecutiveHighGrades: v.NumberSchema<undefined>;
58
+ readonly verified: v.BooleanSchema<undefined>;
59
+ /** When the combo crossed the streak threshold, else null. */
60
+ readonly verifiedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
61
+ readonly updatedAt: v.NumberSchema<undefined>;
62
+ }, undefined>;
63
+ export type KaizenVerifiedCombo = v.InferOutput<typeof kaizenVerifiedComboSchema>;
64
+ /** The Kaizen screen payload: recent grading history + the verified-combo library. */
65
+ export declare const kaizenOverviewSchema: v.ObjectSchema<{
66
+ readonly gradings: v.ArraySchema<v.ObjectSchema<{
67
+ readonly id: v.StringSchema<undefined>;
68
+ /** The run (execution) the graded step belongs to. */
69
+ readonly executionId: v.StringSchema<undefined>;
70
+ /** The board block the run targets — for linking back from the Kaizen screen. */
71
+ readonly blockId: v.StringSchema<undefined>;
72
+ /** Index of the graded step within the run's pipeline. */
73
+ readonly stepIndex: v.NumberSchema<undefined>;
74
+ /** The graded step's agent kind (e.g. `coder`, `architect`). */
75
+ readonly agentKind: v.StringSchema<undefined>;
76
+ /** The resolved model id the step ran on (e.g. `claude-opus-4-...`). */
77
+ readonly model: v.StringSchema<undefined>;
78
+ /** The graded step's prompt version (from the agents prompt-version registry). */
79
+ readonly promptVersion: v.NumberSchema<undefined>;
80
+ /** `agentKind|model|promptVersion` — the verified-combo key. */
81
+ readonly comboKey: v.StringSchema<undefined>;
82
+ readonly status: v.PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
83
+ /** 1..5 once `complete` (5 = smooth/guided/efficient); null while pending/failed. */
84
+ readonly grade: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
85
+ /** The grader's prose summary of how the interaction went. Empty while pending. */
86
+ readonly summary: v.StringSchema<undefined>;
87
+ /** Actionable improvement recommendations. Empty array ⇒ nothing to improve. */
88
+ readonly recommendations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
89
+ /** `provider:model` that produced the grade, for transparency; null in tests. */
90
+ readonly graderModel: v.NullableSchema<v.StringSchema<undefined>, undefined>;
91
+ /** Error message when `failed`, else null. */
92
+ readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
93
+ readonly createdAt: v.NumberSchema<undefined>;
94
+ readonly updatedAt: v.NumberSchema<undefined>;
95
+ }, undefined>, undefined>;
96
+ readonly verified: v.ArraySchema<v.ObjectSchema<{
97
+ /** `agentKind|model|promptVersion`. */
98
+ readonly comboKey: v.StringSchema<undefined>;
99
+ readonly agentKind: v.StringSchema<undefined>;
100
+ readonly model: v.StringSchema<undefined>;
101
+ readonly promptVersion: v.NumberSchema<undefined>;
102
+ /** Count of sequential high grades with no recommendations. */
103
+ readonly consecutiveHighGrades: v.NumberSchema<undefined>;
104
+ readonly verified: v.BooleanSchema<undefined>;
105
+ /** When the combo crossed the streak threshold, else null. */
106
+ readonly verifiedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
107
+ readonly updatedAt: v.NumberSchema<undefined>;
108
+ }, undefined>, undefined>;
109
+ }, undefined>;
110
+ export type KaizenOverview = v.InferOutput<typeof kaizenOverviewSchema>;
111
+ /** The gradings recorded for a single run, for the run-window status surface. */
112
+ export declare const kaizenRunGradingsSchema: v.ObjectSchema<{
113
+ readonly gradings: v.ArraySchema<v.ObjectSchema<{
114
+ readonly id: v.StringSchema<undefined>;
115
+ /** The run (execution) the graded step belongs to. */
116
+ readonly executionId: v.StringSchema<undefined>;
117
+ /** The board block the run targets — for linking back from the Kaizen screen. */
118
+ readonly blockId: v.StringSchema<undefined>;
119
+ /** Index of the graded step within the run's pipeline. */
120
+ readonly stepIndex: v.NumberSchema<undefined>;
121
+ /** The graded step's agent kind (e.g. `coder`, `architect`). */
122
+ readonly agentKind: v.StringSchema<undefined>;
123
+ /** The resolved model id the step ran on (e.g. `claude-opus-4-...`). */
124
+ readonly model: v.StringSchema<undefined>;
125
+ /** The graded step's prompt version (from the agents prompt-version registry). */
126
+ readonly promptVersion: v.NumberSchema<undefined>;
127
+ /** `agentKind|model|promptVersion` — the verified-combo key. */
128
+ readonly comboKey: v.StringSchema<undefined>;
129
+ readonly status: v.PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
130
+ /** 1..5 once `complete` (5 = smooth/guided/efficient); null while pending/failed. */
131
+ readonly grade: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
132
+ /** The grader's prose summary of how the interaction went. Empty while pending. */
133
+ readonly summary: v.StringSchema<undefined>;
134
+ /** Actionable improvement recommendations. Empty array ⇒ nothing to improve. */
135
+ readonly recommendations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
136
+ /** `provider:model` that produced the grade, for transparency; null in tests. */
137
+ readonly graderModel: v.NullableSchema<v.StringSchema<undefined>, undefined>;
138
+ /** Error message when `failed`, else null. */
139
+ readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
140
+ readonly createdAt: v.NumberSchema<undefined>;
141
+ readonly updatedAt: v.NumberSchema<undefined>;
142
+ }, undefined>, undefined>;
143
+ }, undefined>;
144
+ export type KaizenRunGradings = v.InferOutput<typeof kaizenRunGradingsSchema>;
145
+ //# sourceMappingURL=kaizen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaizen.d.ts","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiB5B;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,6EAA6D,CAAA;AACnG,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;IAE9B,sDAAsD;;IAEtD,iFAAiF;;IAEjF,0DAA0D;;IAE1D,gEAAgE;;IAEhE,wEAAwE;;IAExE,kFAAkF;;IAElF,gEAAgE;;;IAGhE,qFAAqF;;IAErF,mFAAmF;;IAEnF,gFAAgF;;IAEhF,iFAAiF;;IAEjF,8CAA8C;;;;aAI9C,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,uCAAuC;;;;;IAKvC,+DAA+D;;;IAG/D,8DAA8D;;;aAG9D,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;QApD/B,sDAAsD;;QAEtD,iFAAiF;;QAEjF,0DAA0D;;QAE1D,gEAAgE;;QAEhE,wEAAwE;;QAExE,kFAAkF;;QAElF,gEAAgE;;;QAGhE,qFAAqF;;QAErF,mFAAmF;;QAEnF,gFAAgF;;QAEhF,iFAAiF;;QAEjF,8CAA8C;;;;;;QAc9C,uCAAuC;;;;;QAKvC,+DAA+D;;;QAG/D,8DAA8D;;;;aAU9D,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,iFAAiF;AACjF,eAAO,MAAM,uBAAuB;;;QA3DlC,sDAAsD;;QAEtD,iFAAiF;;QAEjF,0DAA0D;;QAE1D,gEAAgE;;QAEhE,wEAAwE;;QAExE,kFAAkF;;QAElF,gEAAgE;;;QAGhE,qFAAqF;;QAErF,mFAAmF;;QAEnF,gFAAgF;;QAEhF,iFAAiF;;QAEjF,8CAA8C;;;;;aAsC9C,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
package/dist/kaizen.js ADDED
@@ -0,0 +1,84 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // Kaizen wire contracts. The Kaizen agent is a continuous-improvement reviewer
4
+ // that runs AFTER an agent step finishes (it is never a pipeline-builder step).
5
+ // It reads the context + prompt the step was given and the per-call interaction
6
+ // telemetry, then judges whether the interaction was smooth / guided / efficient
7
+ // or confused / chaotic, returning a 1..5 grade plus improvement recommendations.
8
+ //
9
+ // A grading targets one completed step, identified by its `(promptVersion,
10
+ // agentKind, model)` combo. When a combo earns a high grade (4 or 5) with no
11
+ // recommendations VERIFICATION_STREAK (5) times in a row it is marked VERIFIED
12
+ // and is no longer graded. Both the grading history and the verified combos are
13
+ // persisted (D1 ⇄ Drizzle parity) and surfaced on the Kaizen screen; per-run
14
+ // grading status is surfaced inside the run window (never on the board).
15
+ // ---------------------------------------------------------------------------
16
+ /**
17
+ * Lifecycle of a single grading:
18
+ * - `scheduled`: queued at run completion, awaiting the background sweep.
19
+ * - `running`: the sweep picked it up and the grader LLM is analysing.
20
+ * - `complete`: the grade + recommendations are recorded.
21
+ * - `failed`: the grader call errored (telemetry missing, model unwired, parse
22
+ * failure); recorded with an `error` and never retried automatically.
23
+ */
24
+ export const kaizenGradingStatusSchema = v.picklist(['scheduled', 'running', 'complete', 'failed']);
25
+ /** A single Kaizen grading of one completed agent step. */
26
+ export const kaizenGradingSchema = v.object({
27
+ id: v.string(),
28
+ /** The run (execution) the graded step belongs to. */
29
+ executionId: v.string(),
30
+ /** The board block the run targets — for linking back from the Kaizen screen. */
31
+ blockId: v.string(),
32
+ /** Index of the graded step within the run's pipeline. */
33
+ stepIndex: v.number(),
34
+ /** The graded step's agent kind (e.g. `coder`, `architect`). */
35
+ agentKind: v.string(),
36
+ /** The resolved model id the step ran on (e.g. `claude-opus-4-...`). */
37
+ model: v.string(),
38
+ /** The graded step's prompt version (from the agents prompt-version registry). */
39
+ promptVersion: v.number(),
40
+ /** `agentKind|model|promptVersion` — the verified-combo key. */
41
+ comboKey: v.string(),
42
+ status: kaizenGradingStatusSchema,
43
+ /** 1..5 once `complete` (5 = smooth/guided/efficient); null while pending/failed. */
44
+ grade: v.nullable(v.number()),
45
+ /** The grader's prose summary of how the interaction went. Empty while pending. */
46
+ summary: v.string(),
47
+ /** Actionable improvement recommendations. Empty array ⇒ nothing to improve. */
48
+ recommendations: v.array(v.string()),
49
+ /** `provider:model` that produced the grade, for transparency; null in tests. */
50
+ graderModel: v.nullable(v.string()),
51
+ /** Error message when `failed`, else null. */
52
+ error: v.nullable(v.string()),
53
+ createdAt: v.number(),
54
+ updatedAt: v.number(),
55
+ });
56
+ /**
57
+ * A `(promptVersion, agentKind, model)` combo's verification progress. The combo
58
+ * earns a high grade each time a grading returns grade 4 or 5 with no recommendations;
59
+ * `consecutiveHighGrades` resets to 0 on anything lower. At VERIFICATION_STREAK it
60
+ * flips `verified` true and the engine stops scheduling gradings for it.
61
+ */
62
+ export const kaizenVerifiedComboSchema = v.object({
63
+ /** `agentKind|model|promptVersion`. */
64
+ comboKey: v.string(),
65
+ agentKind: v.string(),
66
+ model: v.string(),
67
+ promptVersion: v.number(),
68
+ /** Count of sequential high grades with no recommendations. */
69
+ consecutiveHighGrades: v.number(),
70
+ verified: v.boolean(),
71
+ /** When the combo crossed the streak threshold, else null. */
72
+ verifiedAt: v.nullable(v.number()),
73
+ updatedAt: v.number(),
74
+ });
75
+ /** The Kaizen screen payload: recent grading history + the verified-combo library. */
76
+ export const kaizenOverviewSchema = v.object({
77
+ gradings: v.array(kaizenGradingSchema),
78
+ verified: v.array(kaizenVerifiedComboSchema),
79
+ });
80
+ /** The gradings recorded for a single run, for the run-window status surface. */
81
+ export const kaizenRunGradingsSchema = v.object({
82
+ gradings: v.array(kaizenGradingSchema),
83
+ });
84
+ //# sourceMappingURL=kaizen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaizen.js","sourceRoot":"","sources":["../src/kaizen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,kFAAkF;AAClF,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAGnG,2DAA2D;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,sDAAsD;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,iFAAiF;IACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,0DAA0D;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,gEAAgE;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,wEAAwE;IACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,kFAAkF;IAClF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gEAAgE;IAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,yBAAyB;IACjC,qFAAqF;IACrF,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,mFAAmF;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,gFAAgF;IAChF,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,iFAAiF;IACjF,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,8CAA8C;IAC9C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,uCAAuC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,+DAA+D;IAC/D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,8DAA8D;IAC9D,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CAC7C,CAAC,CAAA;AAGF,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACvC,CAAC,CAAA"}
@@ -4,7 +4,7 @@ import * as v from 'valibot';
4
4
  * the frontend can switch on it to render the right action; extending it is a
5
5
  * one-line change here plus a handler in the worker's `act` route.
6
6
  */
7
- export declare const notificationTypeSchema: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready"], undefined>;
7
+ export declare const notificationTypeSchema: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "followup_pending"], undefined>;
8
8
  export type NotificationType = v.InferOutput<typeof notificationTypeSchema>;
9
9
  /**
10
10
  * Lifecycle of a notification: `open` until a human engages, terminal `acted`
@@ -71,7 +71,7 @@ export type NotificationPayload = v.InferOutput<typeof notificationPayloadSchema
71
71
  /** A human-actionable item surfaced on the board. */
72
72
  export declare const notificationSchema: v.ObjectSchema<{
73
73
  readonly id: v.StringSchema<undefined>;
74
- readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready"], undefined>;
74
+ readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "followup_pending"], undefined>;
75
75
  readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
76
76
  /**
77
77
  * Render urgency (see {@link notificationSeveritySchema}). Absent ⇒ `normal`. Flipped
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyC5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,uMAUjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6DAA6C,CAAA;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,mDAAmC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4DAA4D;;;;;;;IAE5D,sEAAsE;;IAEtE,gFAAgF;;IAEhF,0DAA0D;;IAE1D,mEAAmE;;;;;;;IAEnE,mEAAmE;;;;;;;;IAEnE,4EAA4E;;IAE5E;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;;;IAI7B;;;OAGG;;IAEH,iFAAiF;;IAEjF,yDAAyD;;IAEzD,wCAAwC;;IAExC,mCAAmC;;IAEnC,wFAAwF;;QAzCxF,4DAA4D;;;;;;;QAE5D,sEAAsE;;QAEtE,gFAAgF;;QAEhF,0DAA0D;;QAE1D,mEAAmE;;;;;;;QAEnE,mEAAmE;;;;;;;;QAEnE,4EAA4E;;QAE5E;;;;WAIG;;;;IA0BH,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAInE,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,iDAAiC,CAAA;AAC7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyC5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2NAWjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6DAA6C,CAAA;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,mDAAmC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4DAA4D;;;;;;;IAE5D,sEAAsE;;IAEtE,gFAAgF;;IAEhF,0DAA0D;;IAE1D,mEAAmE;;;;;;;IAEnE,mEAAmE;;;;;;;;IAEnE,4EAA4E;;IAE5E;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;;;IAI7B;;;OAGG;;IAEH,iFAAiF;;IAEjF,yDAAyD;;IAEzD,wCAAwC;;IAExC,mCAAmC;;IAEnC,wFAAwF;;QAzCxF,4DAA4D;;;;;;;QAE5D,sEAAsE;;QAEtE,gFAAgF;;QAEhF,0DAA0D;;QAE1D,mEAAmE;;;;;;;QAEnE,mEAAmE;;;;;;;;QAEnE,4EAA4E;;QAE5E;;;;WAIG;;;;IA0BH,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAInE,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,iDAAiC,CAAA;AAC7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
@@ -52,6 +52,7 @@ export const notificationTypeSchema = v.picklist([
52
52
  'release_regression',
53
53
  'decision_required',
54
54
  'human_test_ready',
55
+ 'followup_pending',
55
56
  ]);
56
57
  /**
57
58
  * Lifecycle of a notification: `open` until a human engages, terminal `acted`
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'tester', 'human-test', 'gate', 'consensus-session', 'generic-structured', 'service-spec'];
1
+ export declare const RESULT_VIEW_IDS: readonly ['requirements-review', 'clarity-review', 'brainstorm', 'tester', 'human-test', 'gate', 'consensus-session', 'generic-structured', 'service-spec', 'follow-ups'];
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,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,CACN,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,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"}
@@ -16,12 +16,14 @@
16
16
  export const RESULT_VIEW_IDS = [
17
17
  'requirements-review',
18
18
  'clarity-review',
19
+ 'brainstorm',
19
20
  'tester',
20
21
  'human-test',
21
22
  'gate',
22
23
  'consensus-session',
23
24
  'generic-structured',
24
25
  'service-spec',
26
+ 'follow-ups',
25
27
  ];
26
28
  /** Set form, for `O(1)` membership checks (e.g. boot-time registration validation). */
27
29
  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,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;CACN,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,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"}
package/dist/runners.d.ts CHANGED
@@ -107,6 +107,15 @@ export declare const runnerPoolResponseMappingSchema: v.ObjectSchema<{
107
107
  * above still apply (and override) for schedulers that surface them out-of-envelope.
108
108
  */
109
109
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
110
+ /**
111
+ * Dot-path to the array of forward-looking follow-up / question items the Coder streamed
112
+ * since the last poll (the harness `followUps` drain-on-read channel). A pool that proxies
113
+ * the cat-factory executor-harness verbatim should set this to `followUps` so the
114
+ * Follow-up companion lights up live on a pool-backed coder run too (otherwise it simply
115
+ * never streams — the engine still gates on whatever items did arrive). Each entry is
116
+ * coerced to `{ kind, title, detail?, suggestedAction? }`.
117
+ */
118
+ readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
110
119
  /** Dot-path to a job-level error message (a failed job, or a structured error). */
111
120
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
112
121
  }, undefined>;
@@ -231,6 +240,15 @@ export declare const runnerPoolManifestSchema: v.ObjectSchema<{
231
240
  * above still apply (and override) for schedulers that surface them out-of-envelope.
232
241
  */
233
242
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
243
+ /**
244
+ * Dot-path to the array of forward-looking follow-up / question items the Coder streamed
245
+ * since the last poll (the harness `followUps` drain-on-read channel). A pool that proxies
246
+ * the cat-factory executor-harness verbatim should set this to `followUps` so the
247
+ * Follow-up companion lights up live on a pool-backed coder run too (otherwise it simply
248
+ * never streams — the engine still gates on whatever items did arrive). Each entry is
249
+ * coerced to `{ kind, title, detail?, suggestedAction? }`.
250
+ */
251
+ readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
234
252
  /** Dot-path to a job-level error message (a failed job, or a structured error). */
235
253
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
236
254
  }, undefined>;
@@ -374,6 +392,15 @@ export declare const registerRunnerPoolSchema: v.ObjectSchema<{
374
392
  * above still apply (and override) for schedulers that surface them out-of-envelope.
375
393
  */
376
394
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
395
+ /**
396
+ * Dot-path to the array of forward-looking follow-up / question items the Coder streamed
397
+ * since the last poll (the harness `followUps` drain-on-read channel). A pool that proxies
398
+ * the cat-factory executor-harness verbatim should set this to `followUps` so the
399
+ * Follow-up companion lights up live on a pool-backed coder run too (otherwise it simply
400
+ * never streams — the engine still gates on whatever items did arrive). Each entry is
401
+ * coerced to `{ kind, title, detail?, suggestedAction? }`.
402
+ */
403
+ readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
377
404
  /** Dot-path to a job-level error message (a failed job, or a structured error). */
378
405
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
379
406
  }, undefined>;
@@ -511,6 +538,15 @@ export declare const testRunnerPoolConnectionSchema: v.ObjectSchema<{
511
538
  * above still apply (and override) for schedulers that surface them out-of-envelope.
512
539
  */
513
540
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
541
+ /**
542
+ * Dot-path to the array of forward-looking follow-up / question items the Coder streamed
543
+ * since the last poll (the harness `followUps` drain-on-read channel). A pool that proxies
544
+ * the cat-factory executor-harness verbatim should set this to `followUps` so the
545
+ * Follow-up companion lights up live on a pool-backed coder run too (otherwise it simply
546
+ * never streams — the engine still gates on whatever items did arrive). Each entry is
547
+ * coerced to `{ kind, title, detail?, suggestedAction? }`.
548
+ */
549
+ readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
514
550
  /** Dot-path to a job-level error message (a failed job, or a structured error). */
515
551
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
516
552
  }, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../src/runners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../src/runners.ts"],"names":[],"mappings":"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"}
package/dist/runners.js CHANGED
@@ -72,6 +72,15 @@ export const runnerPoolResponseMappingSchema = v.object({
72
72
  * above still apply (and override) for schedulers that surface them out-of-envelope.
73
73
  */
74
74
  resultPath: v.optional(v.string()),
75
+ /**
76
+ * Dot-path to the array of forward-looking follow-up / question items the Coder streamed
77
+ * since the last poll (the harness `followUps` drain-on-read channel). A pool that proxies
78
+ * the cat-factory executor-harness verbatim should set this to `followUps` so the
79
+ * Follow-up companion lights up live on a pool-backed coder run too (otherwise it simply
80
+ * never streams — the engine still gates on whatever items did arrive). Each entry is
81
+ * coerced to `{ kind, title, detail?, suggestedAction? }`.
82
+ */
83
+ followUpsPath: v.optional(v.string()),
75
84
  /** Dot-path to a job-level error message (a failed job, or a structured error). */
76
85
  errorPath: v.optional(v.string()),
77
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runners.js","sourceRoot":"","sources":["../src/runners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,mBAAmB,CAAA;AAE1B,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,4EAA4E;AAC5E,mFAAmF;AACnF,oFAAoF;AACpF,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+BAA+B;AAC/B,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,oCAAoC;AACpC,8EAA8E;AAE9E,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAA;AAGnE,oEAAoE;AACpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAA;AAGrE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAA;AAG/E,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAG7E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,8EAA8E;IAC9E,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,2DAA2D;IAC3D,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACxF,yEAAyE;IACzE,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,sBAAsB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,8CAA8C;IAC9C,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC;;;;;;;;;OASG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,mFAAmF;IACnF,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC,CAAA;AAGF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACxF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,EAAE,0BAA0B;IAChC,uEAAuE;IACvE,QAAQ,EAAE,+BAA+B;IACzC,wEAAwE;IACxE,IAAI,EAAE,+BAA+B;IACrC,sEAAsE;IACtE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACpD,QAAQ,EAAE,+BAA+B;CAC1C,CAAC,CAAA;AAGF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,+EAA+E;IAC/E,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAA;AAGF,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1C,CAAC,CAAA;AAGF,mFAAmF;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1C,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"runners.js","sourceRoot":"","sources":["../src/runners.ts"],"names":[],"mappings":"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"}