@cat-factory/contracts 0.193.0 → 0.195.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/agent-presentation.d.ts +40 -0
- package/dist/agent-presentation.d.ts.map +1 -1
- package/dist/agent-presentation.js +44 -0
- package/dist/agent-presentation.js.map +1 -1
- package/dist/consensus.d.ts +149 -0
- package/dist/consensus.d.ts.map +1 -1
- package/dist/consensus.js +94 -1
- package/dist/consensus.js.map +1 -1
- package/dist/entities.d.ts +17 -14
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +6 -7
- package/dist/entities.js.map +1 -1
- package/dist/execution.d.ts +10 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/fragment-library.d.ts +4 -0
- package/dist/fragment-library.d.ts.map +1 -1
- package/dist/fragment-library.js +11 -0
- package/dist/fragment-library.js.map +1 -1
- package/dist/requests.d.ts +10 -0
- package/dist/requests.d.ts.map +1 -1
- package/dist/routes/agent-runs.d.ts +10 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +10 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/consensus.d.ts +252 -0
- package/dist/routes/consensus.d.ts.map +1 -1
- package/dist/routes/consensus.js +35 -7
- package/dist/routes/consensus.js.map +1 -1
- package/dist/routes/execution.d.ts +40 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/fragment-library.d.ts +2 -0
- package/dist/routes/fragment-library.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +5 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +25 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/pipelines.d.ts +40 -0
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +15 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +66 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +39 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +8 -0
- package/dist/snapshot.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,32 @@ import * as v from 'valibot';
|
|
|
2
2
|
/** The palette section an agent groups under. Mirrors the frontend `AGENT_CATEGORIES`. */
|
|
3
3
|
export declare const agentCategorySchema: v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>;
|
|
4
4
|
export type AgentCategory = v.InferOutput<typeof agentCategorySchema>;
|
|
5
|
+
/**
|
|
6
|
+
* The agent tiers, WIDEST LAST. The order is load-bearing: {@link agentTierVisibleAt}
|
|
7
|
+
* compares positions in this array, so a level includes every tier at or before it.
|
|
8
|
+
*
|
|
9
|
+
* - `basic` — the everyday delivery loop: the kinds a first pipeline is built from.
|
|
10
|
+
* - `intermediate` — reached for regularly, but not part of the minimal loop.
|
|
11
|
+
* - `advanced` — specialist kinds that answer a narrow need (and, as the widest
|
|
12
|
+
* level, the setting that shows the whole catalog).
|
|
13
|
+
*/
|
|
14
|
+
export declare const AGENT_TIERS: readonly ['basic', 'intermediate', 'advanced'];
|
|
15
|
+
export declare const agentTierSchema: v.PicklistSchema<readonly ["basic", "intermediate", "advanced"], undefined>;
|
|
16
|
+
export type AgentTier = v.InferOutput<typeof agentTierSchema>;
|
|
17
|
+
/**
|
|
18
|
+
* The tier a kind that declares none is treated as. `intermediate` rather than `basic`,
|
|
19
|
+
* because the default view is the minimal loop and a kind nobody classified has not earned
|
|
20
|
+
* a place in it; and rather than `advanced`, because a deployment-registered kind was
|
|
21
|
+
* deliberately installed and should not sit at the bottom of the catalog by omission. A
|
|
22
|
+
* deployment that wants its kind in the default view declares `tier: 'basic'`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const DEFAULT_AGENT_TIER: AgentTier;
|
|
25
|
+
/**
|
|
26
|
+
* Whether a kind of `tier` is shown at the selected `level`. Tiers are CUMULATIVE: `basic`
|
|
27
|
+
* shows only the basic kinds, `intermediate` adds the intermediate ones, and `advanced` —
|
|
28
|
+
* the widest level — shows everything. An absent tier is {@link DEFAULT_AGENT_TIER}.
|
|
29
|
+
*/
|
|
30
|
+
export declare function agentTierVisibleAt(tier: AgentTier | null | undefined, level: AgentTier): boolean;
|
|
5
31
|
/** Display metadata for one agent kind (the wire shape sent to the SPA). */
|
|
6
32
|
export declare const agentPresentationSchema: v.ObjectSchema<{
|
|
7
33
|
/** Human label, e.g. `Security Auditor`. */
|
|
@@ -19,6 +45,13 @@ export declare const agentPresentationSchema: v.ObjectSchema<{
|
|
|
19
45
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
20
46
|
/** Palette section; omitted ⇒ the kind is not a standalone palette block (e.g. a companion). */
|
|
21
47
|
readonly category: v.OptionalSchema<v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>, undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* How specialist this kind is ({@link AGENT_TIERS}). The palette and the model-preset
|
|
50
|
+
* override list show the selected tier and everything below it, so a kind declared
|
|
51
|
+
* `basic` is offered in the default view and one declared `advanced` only at the widest
|
|
52
|
+
* setting. Omitted ⇒ {@link DEFAULT_AGENT_TIER}.
|
|
53
|
+
*/
|
|
54
|
+
readonly tier: v.OptionalSchema<v.PicklistSchema<readonly ["basic", "intermediate", "advanced"], undefined>, undefined>;
|
|
22
55
|
/**
|
|
23
56
|
* Id of a dedicated result-view component to open instead of the generic prose panel.
|
|
24
57
|
* Either a canonical BUILT-IN id ({@link RESULT_VIEW_IDS}, e.g. `generic-structured`) OR
|
|
@@ -51,6 +84,13 @@ export declare const customAgentKindSchema: v.ObjectSchema<{
|
|
|
51
84
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
52
85
|
/** Palette section; omitted ⇒ the kind is not a standalone palette block (e.g. a companion). */
|
|
53
86
|
readonly category: v.OptionalSchema<v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>, undefined>;
|
|
87
|
+
/**
|
|
88
|
+
* How specialist this kind is ({@link AGENT_TIERS}). The palette and the model-preset
|
|
89
|
+
* override list show the selected tier and everything below it, so a kind declared
|
|
90
|
+
* `basic` is offered in the default view and one declared `advanced` only at the widest
|
|
91
|
+
* setting. Omitted ⇒ {@link DEFAULT_AGENT_TIER}.
|
|
92
|
+
*/
|
|
93
|
+
readonly tier: v.OptionalSchema<v.PicklistSchema<readonly ["basic", "intermediate", "advanced"], undefined>, undefined>;
|
|
54
94
|
/**
|
|
55
95
|
* Id of a dedicated result-view component to open instead of the generic prose panel.
|
|
56
96
|
* Either a canonical BUILT-IN id ({@link RESULT_VIEW_IDS}, e.g. `generic-structured`) OR
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-presentation.d.ts","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,qFAO9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-presentation.d.ts","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,qFAO9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAarE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,YAAI,OAAO,EAAE,cAAc,EAAE,UAAU,CAAU,CAAA;AACzE,eAAO,MAAM,eAAe,6EAA0B,CAAA;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAA0B,CAAA;AAE3D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhG;AAED,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;IAClC,4CAA4C;;IAE5C,2CAA2C;;IAE3C,uCAAuC;;IAEvC;;;;;OAKG;;IAEH,gGAAgG;;IAEhG;;;;;OAKG;;IAEH;;;;;;;;OAQG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;6DAC6D;AAC7D,eAAO,MAAM,qBAAqB;;;QArChC,4CAA4C;;QAE5C,2CAA2C;;QAE3C,uCAAuC;;QAEvC;;;;;WAKG;;QAEH,gGAAgG;;QAEhG;;;;;WAKG;;QAEH;;;;;;;;WAQG;;;IAUH,oEAAoE;;aAEpE,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
|
|
@@ -17,6 +17,43 @@ export const agentCategorySchema = v.picklist([
|
|
|
17
17
|
'docs',
|
|
18
18
|
'gates',
|
|
19
19
|
]);
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Agent TIER — how specialist a kind is, in three cumulative levels. Orthogonal to
|
|
22
|
+
// `category` (which section a kind groups under) and to the interface mode
|
|
23
|
+
// (`basic`/`advanced`, which is about the whole SPA): a tier says how far down the
|
|
24
|
+
// catalog a reader has to go before this kind is worth offering them.
|
|
25
|
+
//
|
|
26
|
+
// Two surfaces filter on it — the pipeline builder's palette and the model preset's
|
|
27
|
+
// per-agent override list — and both share the pure predicate below so they cannot
|
|
28
|
+
// drift, exactly as they share `purposeAllowsAgentCategory`.
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
/**
|
|
31
|
+
* The agent tiers, WIDEST LAST. The order is load-bearing: {@link agentTierVisibleAt}
|
|
32
|
+
* compares positions in this array, so a level includes every tier at or before it.
|
|
33
|
+
*
|
|
34
|
+
* - `basic` — the everyday delivery loop: the kinds a first pipeline is built from.
|
|
35
|
+
* - `intermediate` — reached for regularly, but not part of the minimal loop.
|
|
36
|
+
* - `advanced` — specialist kinds that answer a narrow need (and, as the widest
|
|
37
|
+
* level, the setting that shows the whole catalog).
|
|
38
|
+
*/
|
|
39
|
+
export const AGENT_TIERS = ['basic', 'intermediate', 'advanced'];
|
|
40
|
+
export const agentTierSchema = v.picklist(AGENT_TIERS);
|
|
41
|
+
/**
|
|
42
|
+
* The tier a kind that declares none is treated as. `intermediate` rather than `basic`,
|
|
43
|
+
* because the default view is the minimal loop and a kind nobody classified has not earned
|
|
44
|
+
* a place in it; and rather than `advanced`, because a deployment-registered kind was
|
|
45
|
+
* deliberately installed and should not sit at the bottom of the catalog by omission. A
|
|
46
|
+
* deployment that wants its kind in the default view declares `tier: 'basic'`.
|
|
47
|
+
*/
|
|
48
|
+
export const DEFAULT_AGENT_TIER = 'intermediate';
|
|
49
|
+
/**
|
|
50
|
+
* Whether a kind of `tier` is shown at the selected `level`. Tiers are CUMULATIVE: `basic`
|
|
51
|
+
* shows only the basic kinds, `intermediate` adds the intermediate ones, and `advanced` —
|
|
52
|
+
* the widest level — shows everything. An absent tier is {@link DEFAULT_AGENT_TIER}.
|
|
53
|
+
*/
|
|
54
|
+
export function agentTierVisibleAt(tier, level) {
|
|
55
|
+
return AGENT_TIERS.indexOf(tier ?? DEFAULT_AGENT_TIER) <= AGENT_TIERS.indexOf(level);
|
|
56
|
+
}
|
|
20
57
|
/** Display metadata for one agent kind (the wire shape sent to the SPA). */
|
|
21
58
|
export const agentPresentationSchema = v.object({
|
|
22
59
|
/** Human label, e.g. `Security Auditor`. */
|
|
@@ -34,6 +71,13 @@ export const agentPresentationSchema = v.object({
|
|
|
34
71
|
description: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(500)),
|
|
35
72
|
/** Palette section; omitted ⇒ the kind is not a standalone palette block (e.g. a companion). */
|
|
36
73
|
category: v.optional(agentCategorySchema),
|
|
74
|
+
/**
|
|
75
|
+
* How specialist this kind is ({@link AGENT_TIERS}). The palette and the model-preset
|
|
76
|
+
* override list show the selected tier and everything below it, so a kind declared
|
|
77
|
+
* `basic` is offered in the default view and one declared `advanced` only at the widest
|
|
78
|
+
* setting. Omitted ⇒ {@link DEFAULT_AGENT_TIER}.
|
|
79
|
+
*/
|
|
80
|
+
tier: v.optional(agentTierSchema),
|
|
37
81
|
/**
|
|
38
82
|
* Id of a dedicated result-view component to open instead of the generic prose panel.
|
|
39
83
|
* Either a canonical BUILT-IN id ({@link RESULT_VIEW_IDS}, e.g. `generic-structured`) OR
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-presentation.js","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,8EAA8E;AAC9E,gFAAgF;AAChF,qFAAqF;AACrF,uFAAuF;AACvF,sFAAsF;AACtF,mFAAmF;AACnF,8EAA8E;AAE9E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5C,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAA;AAGF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,4CAA4C;IAC5C,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,EAAE,CAAC,CAAC;IACpE,2CAA2C;IAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,uCAAuC;IACvC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1D;;;;;OAKG;IACH,WAAW,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;IAC3E,gGAAgG;IAChG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACzC;;;;;;;;OAQG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;CACnF,CAAC,CAAA;AAGF;6DAC6D;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,eAAe;IACrB,YAAY,EAAE,uBAAuB;IACrC,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"agent-presentation.js","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"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"}
|
package/dist/consensus.d.ts
CHANGED
|
@@ -59,6 +59,16 @@ export type StepGating = v.InferOutput<typeof stepGatingSchema>;
|
|
|
59
59
|
* The consensus configuration stored on a pipeline step (set in the builder for
|
|
60
60
|
* a step whose agent kind carries a consensus trait). When `enabled` is false
|
|
61
61
|
* the step runs as the standard agent.
|
|
62
|
+
*
|
|
63
|
+
* A step declares its panel in one of two ways:
|
|
64
|
+
*
|
|
65
|
+
* - **inline** — `participants` (plus `strategy`/`rounds`/`synthesizerModelId`/`gating`)
|
|
66
|
+
* authored on the step itself. One panel, one bar.
|
|
67
|
+
* - **by GROUP** — {@link groupIds} naming entries of the workspace's reusable
|
|
68
|
+
* {@link consensusGroupSchema} library, each carrying its OWN estimate bar. At dispatch the
|
|
69
|
+
* engine picks the most demanding group the task's estimate clears and materialises its
|
|
70
|
+
* panel onto this config; none clearing ⇒ the standard single-actor agent runs. That is what
|
|
71
|
+
* makes "a light duo above 0.4 risk, the full panel above 0.8" one step rather than three.
|
|
62
72
|
*/
|
|
63
73
|
export declare const consensusStepConfigSchema: v.ObjectSchema<{
|
|
64
74
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
@@ -84,8 +94,138 @@ export declare const consensusStepConfigSchema: v.ObjectSchema<{
|
|
|
84
94
|
readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
85
95
|
readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["consensus", "standard"], undefined>, "consensus">;
|
|
86
96
|
}, undefined>, undefined>;
|
|
97
|
+
/**
|
|
98
|
+
* Ids of the workspace consensus groups this step may escalate to. Order is NOT precedence —
|
|
99
|
+
* the engine ranks the candidates by the bar each one sets, so adding a group never depends
|
|
100
|
+
* on where it lands in the array. Non-empty ⇒ the inline `participants` are ignored and the
|
|
101
|
+
* selected group's panel is used instead.
|
|
102
|
+
*/
|
|
103
|
+
readonly groupIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
104
|
+
/**
|
|
105
|
+
* The group the engine SELECTED for this dispatch, stamped onto the run's copy of the config
|
|
106
|
+
* when {@link groupIds} resolved. Never authored in the builder — it is the record of which
|
|
107
|
+
* tier fired, carried through to the session transcript so a reviewer can see why five models
|
|
108
|
+
* ran. Absent on an inline-participant step.
|
|
109
|
+
*/
|
|
110
|
+
readonly selectedGroup: v.OptionalSchema<v.ObjectSchema<{
|
|
111
|
+
readonly id: v.StringSchema<undefined>;
|
|
112
|
+
readonly name: v.StringSchema<undefined>;
|
|
113
|
+
}, undefined>, undefined>;
|
|
87
114
|
}, undefined>;
|
|
88
115
|
export type ConsensusStepConfig = v.InferOutput<typeof consensusStepConfigSchema>;
|
|
116
|
+
/**
|
|
117
|
+
* A named, reusable consensus panel ("model group") in a workspace's library: the
|
|
118
|
+
* participants (roles + framings + models), the strategy that runs them, the synthesizer, and
|
|
119
|
+
* the ESTIMATE BAR a task must clear for this group to be selected.
|
|
120
|
+
*
|
|
121
|
+
* The bar is what makes a library of groups more than a snippet store. A step names a SET of
|
|
122
|
+
* groups; each group's {@link ConsensusGroup.gating} declares how heavy a task has to be before
|
|
123
|
+
* it is worth that panel's cost, and the engine picks the most demanding one the task clears.
|
|
124
|
+
* A group whose gating is disabled is the unconditional floor — it applies to every task the
|
|
125
|
+
* step runs on, which is how "always at least a two-model review" is expressed.
|
|
126
|
+
*/
|
|
127
|
+
export declare const consensusGroupSchema: v.ObjectSchema<{
|
|
128
|
+
readonly id: v.StringSchema<undefined>;
|
|
129
|
+
readonly name: v.StringSchema<undefined>;
|
|
130
|
+
/** Optional prose note on what this panel is for, shown in the pickers. */
|
|
131
|
+
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
132
|
+
readonly strategy: v.PicklistSchema<["specialist-panel", "debate", "ranked-voting"], undefined>;
|
|
133
|
+
readonly participants: v.ArraySchema<v.ObjectSchema<{
|
|
134
|
+
readonly id: v.StringSchema<undefined>;
|
|
135
|
+
/** Human-facing role label, e.g. "Pragmatist", "Security reviewer". */
|
|
136
|
+
readonly role: v.StringSchema<undefined>;
|
|
137
|
+
/** Extra perspective framing folded into this participant's system prompt. */
|
|
138
|
+
readonly systemFraming: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
139
|
+
/** Model catalog id this participant runs on; absent ⇒ step/block default. */
|
|
140
|
+
readonly modelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
141
|
+
}, undefined>, undefined>;
|
|
142
|
+
readonly synthesizerModelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
143
|
+
readonly rounds: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* The estimate bar this group sets. `enabled: false` ⇒ no bar (the group always applies).
|
|
146
|
+
* Required — a group in a tiered set must state where it sits, and the disabled form says
|
|
147
|
+
* "at the bottom" explicitly rather than by omission.
|
|
148
|
+
*/
|
|
149
|
+
readonly gating: v.ObjectSchema<{
|
|
150
|
+
readonly enabled: v.BooleanSchema<undefined>;
|
|
151
|
+
readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
152
|
+
readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
153
|
+
readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
154
|
+
readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["consensus", "standard"], undefined>, "consensus">;
|
|
155
|
+
}, undefined>;
|
|
156
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
157
|
+
}, undefined>;
|
|
158
|
+
export type ConsensusGroup = v.InferOutput<typeof consensusGroupSchema>;
|
|
159
|
+
/** Create a consensus group in a workspace's library. */
|
|
160
|
+
export declare const createConsensusGroupSchema: v.ObjectSchema<{
|
|
161
|
+
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 60, undefined>]>;
|
|
162
|
+
readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 400, undefined>]>, undefined>;
|
|
163
|
+
readonly strategy: v.PicklistSchema<["specialist-panel", "debate", "ranked-voting"], undefined>;
|
|
164
|
+
readonly participants: v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
|
|
165
|
+
readonly id: v.StringSchema<undefined>;
|
|
166
|
+
/** Human-facing role label, e.g. "Pragmatist", "Security reviewer". */
|
|
167
|
+
readonly role: v.StringSchema<undefined>;
|
|
168
|
+
/** Extra perspective framing folded into this participant's system prompt. */
|
|
169
|
+
readonly systemFraming: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
170
|
+
/** Model catalog id this participant runs on; absent ⇒ step/block default. */
|
|
171
|
+
readonly modelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
172
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
173
|
+
id: string;
|
|
174
|
+
role: string;
|
|
175
|
+
systemFraming?: string | undefined;
|
|
176
|
+
modelId?: string | undefined;
|
|
177
|
+
}[], 2, undefined>, v.MaxLengthAction<{
|
|
178
|
+
id: string;
|
|
179
|
+
role: string;
|
|
180
|
+
systemFraming?: string | undefined;
|
|
181
|
+
modelId?: string | undefined;
|
|
182
|
+
}[], 8, undefined>]>;
|
|
183
|
+
readonly synthesizerModelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
184
|
+
readonly rounds: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
|
|
185
|
+
readonly gating: v.OptionalSchema<v.ObjectSchema<{
|
|
186
|
+
readonly enabled: v.BooleanSchema<undefined>;
|
|
187
|
+
readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
188
|
+
readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
189
|
+
readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
190
|
+
readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["consensus", "standard"], undefined>, "consensus">;
|
|
191
|
+
}, undefined>, undefined>;
|
|
192
|
+
}, undefined>;
|
|
193
|
+
export type CreateConsensusGroupInput = v.InferOutput<typeof createConsensusGroupSchema>;
|
|
194
|
+
/** Patch a consensus group (all fields optional; arrays/objects replace wholesale). */
|
|
195
|
+
export declare const updateConsensusGroupSchema: v.ObjectSchema<{
|
|
196
|
+
readonly name: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 60, undefined>]>, undefined>;
|
|
197
|
+
readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 400, undefined>]>, undefined>;
|
|
198
|
+
readonly strategy: v.OptionalSchema<v.PicklistSchema<["specialist-panel", "debate", "ranked-voting"], undefined>, undefined>;
|
|
199
|
+
readonly participants: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
|
|
200
|
+
readonly id: v.StringSchema<undefined>;
|
|
201
|
+
/** Human-facing role label, e.g. "Pragmatist", "Security reviewer". */
|
|
202
|
+
readonly role: v.StringSchema<undefined>;
|
|
203
|
+
/** Extra perspective framing folded into this participant's system prompt. */
|
|
204
|
+
readonly systemFraming: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
205
|
+
/** Model catalog id this participant runs on; absent ⇒ step/block default. */
|
|
206
|
+
readonly modelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
207
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
208
|
+
id: string;
|
|
209
|
+
role: string;
|
|
210
|
+
systemFraming?: string | undefined;
|
|
211
|
+
modelId?: string | undefined;
|
|
212
|
+
}[], 2, undefined>, v.MaxLengthAction<{
|
|
213
|
+
id: string;
|
|
214
|
+
role: string;
|
|
215
|
+
systemFraming?: string | undefined;
|
|
216
|
+
modelId?: string | undefined;
|
|
217
|
+
}[], 8, undefined>]>, undefined>;
|
|
218
|
+
readonly synthesizerModelId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
219
|
+
readonly rounds: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 5, undefined>]>, undefined>;
|
|
220
|
+
readonly gating: v.OptionalSchema<v.ObjectSchema<{
|
|
221
|
+
readonly enabled: v.BooleanSchema<undefined>;
|
|
222
|
+
readonly minComplexity: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
223
|
+
readonly minRisk: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
224
|
+
readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
225
|
+
readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["consensus", "standard"], undefined>, "consensus">;
|
|
226
|
+
}, undefined>, undefined>;
|
|
227
|
+
}, undefined>;
|
|
228
|
+
export type UpdateConsensusGroupInput = v.InferOutput<typeof updateConsensusGroupSchema>;
|
|
89
229
|
/**
|
|
90
230
|
* A `task-estimator` agent's structured triage of a task along three axes
|
|
91
231
|
* (each 0..1; higher = more complex / riskier / higher blast-radius). Produced
|
|
@@ -154,6 +294,15 @@ export declare const consensusSessionSchema: v.ObjectSchema<{
|
|
|
154
294
|
readonly agentKind: v.StringSchema<undefined>;
|
|
155
295
|
readonly strategy: v.PicklistSchema<["specialist-panel", "debate", "ranked-voting"], undefined>;
|
|
156
296
|
readonly status: v.PicklistSchema<["running", "synthesizing", "done", "failed"], undefined>;
|
|
297
|
+
/**
|
|
298
|
+
* The workspace consensus group whose panel ran, when the step resolved one from its
|
|
299
|
+
* {@link ConsensusStepConfig.groupIds} tier set. Null for an inline-participant step. Stored
|
|
300
|
+
* on the transcript rather than re-derived, because the library entry can be edited or
|
|
301
|
+
* deleted after the run and the session must still say which panel actually fired.
|
|
302
|
+
*/
|
|
303
|
+
readonly groupId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
304
|
+
/** The selected group's name AS IT WAS at dispatch (the library row may since have changed). */
|
|
305
|
+
readonly groupName: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
157
306
|
readonly participants: v.ArraySchema<v.ObjectSchema<{
|
|
158
307
|
readonly id: v.StringSchema<undefined>;
|
|
159
308
|
/** Human-facing role label, e.g. "Pragmatist", "Security reviewer". */
|
package/dist/consensus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../src/consensus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,8EAA8D,CAAA;AAClG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;IAErC,uEAAuE;;IAEvE,8EAA8E;;IAE9E,8EAA8E;;aAE9E,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;;;;aAMhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB;;;;;;aAM3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../src/consensus.ts"],"names":[],"mappings":"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"}
|
package/dist/consensus.js
CHANGED
|
@@ -67,10 +67,21 @@ export const stepGatingSchema = v.object({
|
|
|
67
67
|
minImpact: v.optional(scoreSchema),
|
|
68
68
|
onMissingEstimate: v.optional(v.picklist(['run', 'skip']), 'run'),
|
|
69
69
|
});
|
|
70
|
+
const consensusRoundsSchema = v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(5));
|
|
70
71
|
/**
|
|
71
72
|
* The consensus configuration stored on a pipeline step (set in the builder for
|
|
72
73
|
* a step whose agent kind carries a consensus trait). When `enabled` is false
|
|
73
74
|
* the step runs as the standard agent.
|
|
75
|
+
*
|
|
76
|
+
* A step declares its panel in one of two ways:
|
|
77
|
+
*
|
|
78
|
+
* - **inline** — `participants` (plus `strategy`/`rounds`/`synthesizerModelId`/`gating`)
|
|
79
|
+
* authored on the step itself. One panel, one bar.
|
|
80
|
+
* - **by GROUP** — {@link groupIds} naming entries of the workspace's reusable
|
|
81
|
+
* {@link consensusGroupSchema} library, each carrying its OWN estimate bar. At dispatch the
|
|
82
|
+
* engine picks the most demanding group the task's estimate clears and materialises its
|
|
83
|
+
* panel onto this config; none clearing ⇒ the standard single-actor agent runs. That is what
|
|
84
|
+
* makes "a light duo above 0.4 risk, the full panel above 0.8" one step rather than three.
|
|
74
85
|
*/
|
|
75
86
|
export const consensusStepConfigSchema = v.object({
|
|
76
87
|
enabled: v.boolean(),
|
|
@@ -79,9 +90,82 @@ export const consensusStepConfigSchema = v.object({
|
|
|
79
90
|
/** Model that runs the neutral synthesis / judging pass; absent ⇒ step default. */
|
|
80
91
|
synthesizerModelId: v.optional(v.string()),
|
|
81
92
|
/** Debate rounds (1..5); ignored by non-debate strategies. Default applied by the engine. */
|
|
82
|
-
rounds: v.optional(
|
|
93
|
+
rounds: v.optional(consensusRoundsSchema),
|
|
83
94
|
/** Optional gating of the process on the task estimate; absent ⇒ always run when enabled. */
|
|
84
95
|
gating: v.optional(consensusGatingSchema),
|
|
96
|
+
/**
|
|
97
|
+
* Ids of the workspace consensus groups this step may escalate to. Order is NOT precedence —
|
|
98
|
+
* the engine ranks the candidates by the bar each one sets, so adding a group never depends
|
|
99
|
+
* on where it lands in the array. Non-empty ⇒ the inline `participants` are ignored and the
|
|
100
|
+
* selected group's panel is used instead.
|
|
101
|
+
*/
|
|
102
|
+
groupIds: v.optional(v.array(v.string())),
|
|
103
|
+
/**
|
|
104
|
+
* The group the engine SELECTED for this dispatch, stamped onto the run's copy of the config
|
|
105
|
+
* when {@link groupIds} resolved. Never authored in the builder — it is the record of which
|
|
106
|
+
* tier fired, carried through to the session transcript so a reviewer can see why five models
|
|
107
|
+
* ran. Absent on an inline-participant step.
|
|
108
|
+
*/
|
|
109
|
+
selectedGroup: v.optional(v.object({ id: v.string(), name: v.string() })),
|
|
110
|
+
});
|
|
111
|
+
// ---- The workspace consensus-group library --------------------------------
|
|
112
|
+
/**
|
|
113
|
+
* A named, reusable consensus panel ("model group") in a workspace's library: the
|
|
114
|
+
* participants (roles + framings + models), the strategy that runs them, the synthesizer, and
|
|
115
|
+
* the ESTIMATE BAR a task must clear for this group to be selected.
|
|
116
|
+
*
|
|
117
|
+
* The bar is what makes a library of groups more than a snippet store. A step names a SET of
|
|
118
|
+
* groups; each group's {@link ConsensusGroup.gating} declares how heavy a task has to be before
|
|
119
|
+
* it is worth that panel's cost, and the engine picks the most demanding one the task clears.
|
|
120
|
+
* A group whose gating is disabled is the unconditional floor — it applies to every task the
|
|
121
|
+
* step runs on, which is how "always at least a two-model review" is expressed.
|
|
122
|
+
*/
|
|
123
|
+
export const consensusGroupSchema = v.object({
|
|
124
|
+
id: v.string(),
|
|
125
|
+
name: v.string(),
|
|
126
|
+
/** Optional prose note on what this panel is for, shown in the pickers. */
|
|
127
|
+
description: v.optional(v.string()),
|
|
128
|
+
strategy: consensusStrategySchema,
|
|
129
|
+
participants: v.array(consensusParticipantSchema),
|
|
130
|
+
synthesizerModelId: v.optional(v.string()),
|
|
131
|
+
rounds: v.optional(consensusRoundsSchema),
|
|
132
|
+
/**
|
|
133
|
+
* The estimate bar this group sets. `enabled: false` ⇒ no bar (the group always applies).
|
|
134
|
+
* Required — a group in a tiered set must state where it sits, and the disabled form says
|
|
135
|
+
* "at the bottom" explicitly rather than by omission.
|
|
136
|
+
*/
|
|
137
|
+
gating: consensusGatingSchema,
|
|
138
|
+
createdAt: v.number(),
|
|
139
|
+
});
|
|
140
|
+
// ---- Request bodies -------------------------------------------------------
|
|
141
|
+
const groupNameSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(60));
|
|
142
|
+
const groupDescriptionSchema = v.pipe(v.string(), v.trim(), v.maxLength(400));
|
|
143
|
+
/**
|
|
144
|
+
* A panel needs at least two distinct voices to be a panel at all (the executor's own
|
|
145
|
+
* `participants.length < 2` backstop would otherwise silently degrade the step to the standard
|
|
146
|
+
* agent — a refusal at the write boundary is the one a user can act on). Capped so one group
|
|
147
|
+
* cannot fan a single step into an unbounded number of billed model calls.
|
|
148
|
+
*/
|
|
149
|
+
const groupParticipantsSchema = v.pipe(v.array(consensusParticipantSchema), v.minLength(2), v.maxLength(8));
|
|
150
|
+
/** Create a consensus group in a workspace's library. */
|
|
151
|
+
export const createConsensusGroupSchema = v.object({
|
|
152
|
+
name: groupNameSchema,
|
|
153
|
+
description: v.optional(groupDescriptionSchema),
|
|
154
|
+
strategy: consensusStrategySchema,
|
|
155
|
+
participants: groupParticipantsSchema,
|
|
156
|
+
synthesizerModelId: v.optional(v.string()),
|
|
157
|
+
rounds: v.optional(consensusRoundsSchema),
|
|
158
|
+
gating: v.optional(consensusGatingSchema),
|
|
159
|
+
});
|
|
160
|
+
/** Patch a consensus group (all fields optional; arrays/objects replace wholesale). */
|
|
161
|
+
export const updateConsensusGroupSchema = v.object({
|
|
162
|
+
name: v.optional(groupNameSchema),
|
|
163
|
+
description: v.optional(groupDescriptionSchema),
|
|
164
|
+
strategy: v.optional(consensusStrategySchema),
|
|
165
|
+
participants: v.optional(groupParticipantsSchema),
|
|
166
|
+
synthesizerModelId: v.optional(v.string()),
|
|
167
|
+
rounds: v.optional(consensusRoundsSchema),
|
|
168
|
+
gating: v.optional(consensusGatingSchema),
|
|
85
169
|
});
|
|
86
170
|
/**
|
|
87
171
|
* A `task-estimator` agent's structured triage of a task along three axes
|
|
@@ -140,6 +224,15 @@ export const consensusSessionSchema = v.object({
|
|
|
140
224
|
agentKind: v.string(),
|
|
141
225
|
strategy: consensusStrategySchema,
|
|
142
226
|
status: consensusSessionStatusSchema,
|
|
227
|
+
/**
|
|
228
|
+
* The workspace consensus group whose panel ran, when the step resolved one from its
|
|
229
|
+
* {@link ConsensusStepConfig.groupIds} tier set. Null for an inline-participant step. Stored
|
|
230
|
+
* on the transcript rather than re-derived, because the library entry can be edited or
|
|
231
|
+
* deleted after the run and the session must still say which panel actually fired.
|
|
232
|
+
*/
|
|
233
|
+
groupId: v.optional(v.nullable(v.string())),
|
|
234
|
+
/** The selected group's name AS IT WAS at dispatch (the library row may since have changed). */
|
|
235
|
+
groupName: v.optional(v.nullable(v.string())),
|
|
143
236
|
participants: v.array(consensusParticipantSchema),
|
|
144
237
|
rounds: v.array(consensusRoundSchema),
|
|
145
238
|
/** The neutral synthesis / winning result; null until the synthesis pass completes. */
|
package/dist/consensus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consensus.js","sourceRoot":"","sources":["../src/consensus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpE,mFAAmF;AACnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;AAGlG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,uEAAuE;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,8EAA8E;IAC9E,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,8EAA8E;IAC9E,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAA;AAGF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC;CAClF,CAAC,CAAA;AAGF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;CAClE,CAAC,CAAA;AAGF
|
|
1
|
+
{"version":3,"file":"consensus.js","sourceRoot":"","sources":["../src/consensus.ts"],"names":[],"mappings":"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"}
|
package/dist/entities.d.ts
CHANGED
|
@@ -758,14 +758,13 @@ export declare const promptFragmentSchema: v.ObjectSchema<{
|
|
|
758
758
|
* re-sent on every turn — the SAME standard stated tersely, so the per-turn context cost is
|
|
759
759
|
* a fraction of the full `body`. Reviewer / deep kinds (and any kind not marked
|
|
760
760
|
* `brief-standards`) still get the full `body`, as does any fragment that omits `brief`.
|
|
761
|
-
*
|
|
762
|
-
* `@cat-factory/agents` `foldStandards`.
|
|
761
|
+
* See the fold in `@cat-factory/agents` `foldStandards`.
|
|
763
762
|
*
|
|
764
|
-
* AUTHORED
|
|
765
|
-
*
|
|
766
|
-
*
|
|
767
|
-
*
|
|
768
|
-
*
|
|
763
|
+
* This is the AUTHORED brief — a built-in's, or the one a tenant LINKED on its own row
|
|
764
|
+
* (including a repo-sourced file's `brief:` frontmatter key). It is always the condensed form
|
|
765
|
+
* of the body that actually won the tier merge, never a built-in's text pasted over a tenant's
|
|
766
|
+
* override. Absent, a body over `FRAGMENT_BRIEF_MIN_BODY_CHARS` gets a model-GENERATED brief
|
|
767
|
+
* (regenerated whenever the body changes) and a shorter body is folded in full for every kind.
|
|
769
768
|
*/
|
|
770
769
|
readonly brief: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
771
770
|
/** Optional hints for filtering which blocks/agents a fragment suits. */
|
|
@@ -827,14 +826,13 @@ export declare const promptFragmentCatalogSchema: v.ArraySchema<v.ObjectSchema<{
|
|
|
827
826
|
* re-sent on every turn — the SAME standard stated tersely, so the per-turn context cost is
|
|
828
827
|
* a fraction of the full `body`. Reviewer / deep kinds (and any kind not marked
|
|
829
828
|
* `brief-standards`) still get the full `body`, as does any fragment that omits `brief`.
|
|
830
|
-
*
|
|
831
|
-
* `@cat-factory/agents` `foldStandards`.
|
|
829
|
+
* See the fold in `@cat-factory/agents` `foldStandards`.
|
|
832
830
|
*
|
|
833
|
-
* AUTHORED
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
837
|
-
*
|
|
831
|
+
* This is the AUTHORED brief — a built-in's, or the one a tenant LINKED on its own row
|
|
832
|
+
* (including a repo-sourced file's `brief:` frontmatter key). It is always the condensed form
|
|
833
|
+
* of the body that actually won the tier merge, never a built-in's text pasted over a tenant's
|
|
834
|
+
* override. Absent, a body over `FRAGMENT_BRIEF_MIN_BODY_CHARS` gets a model-GENERATED brief
|
|
835
|
+
* (regenerated whenever the body changes) and a shorter body is folded in full for every kind.
|
|
838
836
|
*/
|
|
839
837
|
readonly brief: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
840
838
|
/** Optional hints for filtering which blocks/agents a fragment suits. */
|
|
@@ -1177,6 +1175,11 @@ export declare const pipelineSchema: v.ObjectSchema<{
|
|
|
1177
1175
|
readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
|
|
1178
1176
|
readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["consensus", "standard"], undefined>, "consensus">;
|
|
1179
1177
|
}, undefined>, undefined>;
|
|
1178
|
+
readonly groupIds: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1179
|
+
readonly selectedGroup: v.OptionalSchema<v.ObjectSchema<{
|
|
1180
|
+
readonly id: v.StringSchema<undefined>;
|
|
1181
|
+
readonly name: v.StringSchema<undefined>;
|
|
1182
|
+
}, undefined>, undefined>;
|
|
1180
1183
|
}, undefined>, undefined>, undefined>, undefined>;
|
|
1181
1184
|
/**
|
|
1182
1185
|
* Per-step gating, parallel to {@link agentKinds}: when `gating[i]` is set and its
|
package/dist/entities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"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"}
|
package/dist/entities.js
CHANGED
|
@@ -478,14 +478,13 @@ export const promptFragmentSchema = v.object({
|
|
|
478
478
|
* re-sent on every turn — the SAME standard stated tersely, so the per-turn context cost is
|
|
479
479
|
* a fraction of the full `body`. Reviewer / deep kinds (and any kind not marked
|
|
480
480
|
* `brief-standards`) still get the full `body`, as does any fragment that omits `brief`.
|
|
481
|
-
*
|
|
482
|
-
* `@cat-factory/agents` `foldStandards`.
|
|
481
|
+
* See the fold in `@cat-factory/agents` `foldStandards`.
|
|
483
482
|
*
|
|
484
|
-
* AUTHORED
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
483
|
+
* This is the AUTHORED brief — a built-in's, or the one a tenant LINKED on its own row
|
|
484
|
+
* (including a repo-sourced file's `brief:` frontmatter key). It is always the condensed form
|
|
485
|
+
* of the body that actually won the tier merge, never a built-in's text pasted over a tenant's
|
|
486
|
+
* override. Absent, a body over `FRAGMENT_BRIEF_MIN_BODY_CHARS` gets a model-GENERATED brief
|
|
487
|
+
* (regenerated whenever the body changes) and a shorter body is folded in full for every kind.
|
|
489
488
|
*/
|
|
490
489
|
brief: v.optional(v.string()),
|
|
491
490
|
/** Optional hints for filtering which blocks/agents a fragment suits. */
|