@cat-factory/contracts 0.275.0 → 0.277.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 +12 -0
- package/dist/agent-presentation.d.ts.map +1 -1
- package/dist/agent-presentation.js +15 -0
- package/dist/agent-presentation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline-purpose.d.ts +37 -6
- package/dist/pipeline-purpose.d.ts.map +1 -1
- package/dist/pipeline-purpose.js +106 -10
- package/dist/pipeline-purpose.js.map +1 -1
- package/dist/public-api.d.ts +137 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +74 -0
- package/dist/public-api.js.map +1 -1
- package/dist/public-board.d.ts +276 -0
- package/dist/public-board.d.ts.map +1 -0
- package/dist/public-board.js +215 -0
- package/dist/public-board.js.map +1 -0
- package/dist/public-evidence.d.ts +30 -3
- package/dist/public-evidence.d.ts.map +1 -1
- package/dist/public-evidence.js +27 -3
- package/dist/public-evidence.js.map +1 -1
- package/dist/requests.d.ts +19 -2
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +18 -1
- package/dist/requests.js.map +1 -1
- package/dist/routes/board.d.ts +6 -2
- package/dist/routes/board.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/public-api.d.ts +18 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/public-board.d.ts +369 -0
- package/dist/routes/public-board.d.ts.map +1 -0
- package/dist/routes/public-board.js +112 -0
- package/dist/routes/public-board.js.map +1 -0
- package/dist/routes/public-evidence.d.ts +1 -0
- package/dist/routes/public-evidence.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/gate-parking.d.ts +0 -30
- package/dist/gate-parking.d.ts.map +0 -1
- package/dist/gate-parking.js +0 -58
- package/dist/gate-parking.js.map +0 -1
|
@@ -2,6 +2,18 @@ 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
|
+
* Whether a value is a category THIS BUILD knows, DERIVED from the picklist so it cannot drift
|
|
7
|
+
* from it the way a hand-written second list would.
|
|
8
|
+
*
|
|
9
|
+
* The vocabulary is closed, but the values reaching a reader are not this build's alone: a
|
|
10
|
+
* `presentation.category` arrives in the workspace snapshot from a kind a DEPLOYMENT registered,
|
|
11
|
+
* and a category retired from the union goes on living in stored pipelines. A reader that maps one
|
|
12
|
+
* through an exhaustive `Record` is therefore total against the TYPE and partial against the DATA,
|
|
13
|
+
* which is the gap where the lookup returns `undefined` and whatever reads it renders a blank or
|
|
14
|
+
* throws. Narrow with this first and state the negative case as the unknown it is.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isAgentCategory(value: string): value is AgentCategory;
|
|
5
17
|
/**
|
|
6
18
|
* The agent tiers, WIDEST LAST. The order is load-bearing: {@link agentTierVisibleAt}
|
|
7
19
|
* compares positions in this array, so a level includes every tier at or before it.
|
|
@@ -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;AAIrE;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAaD;;;;;;;;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;;IAEpE;;;;;;;;;;;;;;OAcG;;IAEH;;;;;;;;;;;;;;OAcG;;aAEH,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;;;;;aAKjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
|
|
@@ -17,6 +17,21 @@ export const agentCategorySchema = v.picklist([
|
|
|
17
17
|
'docs',
|
|
18
18
|
'gates',
|
|
19
19
|
]);
|
|
20
|
+
const AGENT_CATEGORY_SET = new Set(agentCategorySchema.options);
|
|
21
|
+
/**
|
|
22
|
+
* Whether a value is a category THIS BUILD knows, DERIVED from the picklist so it cannot drift
|
|
23
|
+
* from it the way a hand-written second list would.
|
|
24
|
+
*
|
|
25
|
+
* The vocabulary is closed, but the values reaching a reader are not this build's alone: a
|
|
26
|
+
* `presentation.category` arrives in the workspace snapshot from a kind a DEPLOYMENT registered,
|
|
27
|
+
* and a category retired from the union goes on living in stored pipelines. A reader that maps one
|
|
28
|
+
* through an exhaustive `Record` is therefore total against the TYPE and partial against the DATA,
|
|
29
|
+
* which is the gap where the lookup returns `undefined` and whatever reads it renders a blank or
|
|
30
|
+
* throws. Narrow with this first and state the negative case as the unknown it is.
|
|
31
|
+
*/
|
|
32
|
+
export function isAgentCategory(value) {
|
|
33
|
+
return AGENT_CATEGORY_SET.has(value);
|
|
34
|
+
}
|
|
20
35
|
// ---------------------------------------------------------------------------
|
|
21
36
|
// Agent TIER — how specialist a kind is, in three cumulative levels. Orthogonal to
|
|
22
37
|
// `category` (which section a kind groups under) and to the interface mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-presentation.js","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-presentation.js","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -61,7 +61,6 @@ export * from './doc-interview.js';
|
|
|
61
61
|
export * from './followUp.js';
|
|
62
62
|
export * from './forkDecision.js';
|
|
63
63
|
export * from './gate.js';
|
|
64
|
-
export * from './gate-parking.js';
|
|
65
64
|
export * from './judge.js';
|
|
66
65
|
export * from './ralph.js';
|
|
67
66
|
export * from './validation-checks.js';
|
|
@@ -112,6 +111,7 @@ export * from './vendor-credentials.js';
|
|
|
112
111
|
export * from './api-keys.js';
|
|
113
112
|
export * from './public-api-keys.js';
|
|
114
113
|
export * from './public-api.js';
|
|
114
|
+
export * from './public-board.js';
|
|
115
115
|
export * from './public-evidence.js';
|
|
116
116
|
export * from './debug-api.js';
|
|
117
117
|
export * from './public-decisions.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -61,7 +61,6 @@ export * from './doc-interview.js';
|
|
|
61
61
|
export * from './followUp.js';
|
|
62
62
|
export * from './forkDecision.js';
|
|
63
63
|
export * from './gate.js';
|
|
64
|
-
export * from './gate-parking.js';
|
|
65
64
|
export * from './judge.js';
|
|
66
65
|
export * from './ralph.js';
|
|
67
66
|
export * from './validation-checks.js';
|
|
@@ -112,6 +111,7 @@ export * from './vendor-credentials.js';
|
|
|
112
111
|
export * from './api-keys.js';
|
|
113
112
|
export * from './public-api-keys.js';
|
|
114
113
|
export * from './public-api.js';
|
|
114
|
+
export * from './public-board.js';
|
|
115
115
|
export * from './public-evidence.js';
|
|
116
116
|
export * from './debug-api.js';
|
|
117
117
|
export * from './public-decisions.js';
|
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,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import type
|
|
2
|
+
import { type AgentCategory } from './agent-presentation.js';
|
|
3
3
|
import type { Pipeline } from './entities.js';
|
|
4
4
|
import type { BlockLevel, TaskType } from './primitives.js';
|
|
5
5
|
/**
|
|
@@ -16,19 +16,50 @@ import type { BlockLevel, TaskType } from './primitives.js';
|
|
|
16
16
|
* - `planning` — decomposes and plans an initiative (no code, no repo write of its own).
|
|
17
17
|
*
|
|
18
18
|
* A non-`build` purpose hides the Implementation/Testing agent kinds in the builder
|
|
19
|
-
* ({@link purposeAllowsAgentCategory})
|
|
19
|
+
* ({@link purposeAllowsAgentCategory}), narrows what its palette offers
|
|
20
|
+
* ({@link purposeSuggestsAgentCategory}) and scopes the pipeline in the task pickers
|
|
20
21
|
* ({@link pipelineAllowedForTaskType}). The `Pipeline.purpose` field references this schema.
|
|
21
22
|
*/
|
|
22
23
|
export declare const PIPELINE_PURPOSES: readonly ['build', 'document', 'review', 'research', 'planning'];
|
|
23
24
|
export declare const pipelinePurposeSchema: v.PicklistSchema<readonly ["build", "document", "review", "research", "planning"], undefined>;
|
|
24
25
|
export type PipelinePurpose = v.InferOutput<typeof pipelinePurposeSchema>;
|
|
25
26
|
/**
|
|
26
|
-
* Whether a
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* Whether a value is a purpose THIS BUILD knows, DERIVED from the picklist for the same reason
|
|
28
|
+
* {@link isAgentCategory} is: the vocabulary is closed but PERSISTED, on `Pipeline.purpose`, so a
|
|
29
|
+
* member retired from the union goes on living in stored rows and in the SPA bundle a browser
|
|
30
|
+
* cached before a new member shipped. Narrow with this before indexing anything by a purpose.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isPipelinePurpose(value: string): value is PipelinePurpose;
|
|
33
|
+
/**
|
|
34
|
+
* Whether a pipeline of `purpose` may use an agent kind in `category`: the builder's SAVE
|
|
35
|
+
* gate. A `build` (or unclassified) pipeline may use anything; every other purpose refuses the
|
|
36
|
+
* Implementation (`build`) and Testing (`test`) categories, the two that contradict the
|
|
37
|
+
* classifier outright. Uncategorized kinds (no `category`) are always allowed, the caller
|
|
38
|
+
* showing them regardless.
|
|
39
|
+
*
|
|
40
|
+
* For what the palette OFFERS, see {@link purposeSuggestsAgentCategory}: it narrows further,
|
|
41
|
+
* and the difference is what keeps a stored pipeline editable after this file gets an opinion
|
|
42
|
+
* it did not have when that pipeline was built. A purpose this build does not RECOGNISE is the
|
|
43
|
+
* limit case of the same rule ({@link classifierFor}), and refusing there would be the worst
|
|
44
|
+
* version of it: a save blocked over a classifier the editor cannot even name.
|
|
30
45
|
*/
|
|
31
46
|
export declare function purposeAllowsAgentCategory(purpose: Pipeline['purpose'] | null | undefined, category: AgentCategory): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether an agent kind in `category` is worth OFFERING to a pipeline of `purpose`: the
|
|
49
|
+
* builder palette's filter, sitting beside the agent-tier dial on the same control row.
|
|
50
|
+
*
|
|
51
|
+
* Unclassified (absent or unrecognised `purpose`, see {@link classifierFor}) offers everything,
|
|
52
|
+
* for the same reason it saves everything: a pipeline nobody classified has told us nothing to
|
|
53
|
+
* narrow by. A category this build does not recognise is offered for the mirror reason: the
|
|
54
|
+
* table has no cell to read for it, and the honest reading of a missing cell is that a kind a
|
|
55
|
+
* deployment registered stays visible in the palette, rather than vanishing from a catalog whose
|
|
56
|
+
* save gate would have accepted it.
|
|
57
|
+
*
|
|
58
|
+
* Both narrowings are DEFAULT-OPEN on an unknown value, and deliberately: the compile-time guard
|
|
59
|
+
* (the doubly-exhaustive table below) is what forces a decision for every member this build has,
|
|
60
|
+
* and the runtime one exists only for the values it structurally cannot have.
|
|
61
|
+
*/
|
|
62
|
+
export declare function purposeSuggestsAgentCategory(purpose: Pipeline['purpose'] | null | undefined, category: AgentCategory): boolean;
|
|
32
63
|
/**
|
|
33
64
|
* Whether `pipeline` should be offered when starting a task of `taskType` — the pickers' gate.
|
|
34
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-purpose.d.ts","sourceRoot":"","sources":["../src/pipeline-purpose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pipeline-purpose.d.ts","sourceRoot":"","sources":["../src/pipeline-purpose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,yBAAyB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,YAAI,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAA;AACjG,eAAO,MAAM,qBAAqB,+FAAgC,CAAA;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAIzE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAqDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/C,QAAQ,EAAE,aAAa,GACtB,OAAO,CAIT;AA8BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/C,QAAQ,EAAE,aAAa,GACtB,OAAO,CAIT;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EACnC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,OAAO,CAOT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EACnC,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAIT"}
|
package/dist/pipeline-purpose.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
import { isAgentCategory } from './agent-presentation.js';
|
|
2
3
|
/**
|
|
3
4
|
* The USE-CASE of a pipeline — what kind of work it exists to do. Chosen in the pipeline
|
|
4
5
|
* builder and stamped on every built-in preset, it is the classifier the SPA filters on:
|
|
@@ -13,39 +14,134 @@ import * as v from 'valibot';
|
|
|
13
14
|
* - `planning` — decomposes and plans an initiative (no code, no repo write of its own).
|
|
14
15
|
*
|
|
15
16
|
* A non-`build` purpose hides the Implementation/Testing agent kinds in the builder
|
|
16
|
-
* ({@link purposeAllowsAgentCategory})
|
|
17
|
+
* ({@link purposeAllowsAgentCategory}), narrows what its palette offers
|
|
18
|
+
* ({@link purposeSuggestsAgentCategory}) and scopes the pipeline in the task pickers
|
|
17
19
|
* ({@link pipelineAllowedForTaskType}). The `Pipeline.purpose` field references this schema.
|
|
18
20
|
*/
|
|
19
21
|
export const PIPELINE_PURPOSES = ['build', 'document', 'review', 'research', 'planning'];
|
|
20
22
|
export const pipelinePurposeSchema = v.picklist(PIPELINE_PURPOSES);
|
|
23
|
+
const PIPELINE_PURPOSE_SET = new Set(pipelinePurposeSchema.options);
|
|
24
|
+
/**
|
|
25
|
+
* Whether a value is a purpose THIS BUILD knows, DERIVED from the picklist for the same reason
|
|
26
|
+
* {@link isAgentCategory} is: the vocabulary is closed but PERSISTED, on `Pipeline.purpose`, so a
|
|
27
|
+
* member retired from the union goes on living in stored rows and in the SPA bundle a browser
|
|
28
|
+
* cached before a new member shipped. Narrow with this before indexing anything by a purpose.
|
|
29
|
+
*/
|
|
30
|
+
export function isPipelinePurpose(value) {
|
|
31
|
+
return PIPELINE_PURPOSE_SET.has(value);
|
|
32
|
+
}
|
|
21
33
|
// ---------------------------------------------------------------------------
|
|
22
34
|
// Pipeline-purpose gating (shared by the SPA pickers + the builder palette).
|
|
23
35
|
//
|
|
24
36
|
// A pipeline's `purpose` (see `PIPELINE_PURPOSES` in entities) is its use-case
|
|
25
|
-
// classifier
|
|
26
|
-
// key off it, and
|
|
37
|
+
// classifier, set in the builder and stamped on every built-in preset. Three surfaces
|
|
38
|
+
// key off it, and all share these pure predicates so they can't drift:
|
|
27
39
|
// - the task pickers: a `document` task authors a document, so it is offered ONLY
|
|
28
40
|
// `purpose: 'document'` pipelines (a build/test pipeline makes no sense for it);
|
|
29
|
-
// - the builder palette
|
|
30
|
-
//
|
|
41
|
+
// - the builder palette, which offers only the categories the purpose makes sense of
|
|
42
|
+
// ({@link purposeSuggestsAgentCategory});
|
|
43
|
+
// - the builder's save gate, which refuses a draft holding a step the purpose is
|
|
44
|
+
// INCOMPATIBLE with ({@link purposeAllowsAgentCategory}).
|
|
45
|
+
//
|
|
46
|
+
// The last two are deliberately different questions. RELEVANCE narrows a catalog of ~30
|
|
47
|
+
// kinds to the ones worth offering, and is free to be opinionated because a wrong guess
|
|
48
|
+
// costs one purpose switch. COMPATIBILITY blocks a save, so it states only what is
|
|
49
|
+
// actually contradictory (a pipeline that writes no code carrying an implementation
|
|
50
|
+
// step), or tightening the relevance table would make somebody's stored pipeline
|
|
51
|
+
// unsaveable in the editor it was built in. Relevance is a SUBSET of compatibility
|
|
52
|
+
// (asserted in the tests): the palette may hide what the save gate tolerates, never the
|
|
53
|
+
// reverse, which would offer a kind that cannot then be saved.
|
|
31
54
|
//
|
|
32
55
|
// An absent `purpose` means UNCLASSIFIED (a legacy/custom pipeline never given one):
|
|
33
56
|
// treated as `build` for the palette (unrestricted) and hidden from a `document` task
|
|
34
57
|
// (which requires the explicit classifier), rather than silently narrowing everything.
|
|
58
|
+
//
|
|
59
|
+
// Both narrowing predicates take a value that is TYPED as a member and only DECLARED to be
|
|
60
|
+
// one. See {@link classifierFor} for what an unrecognised value means and why.
|
|
35
61
|
// ---------------------------------------------------------------------------
|
|
36
62
|
/** The agent-palette categories hidden from a non-`build` pipeline (writes no code, runs no tests). */
|
|
37
63
|
const NON_BUILD_HIDDEN_CATEGORIES = ['build', 'test'];
|
|
38
64
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
65
|
+
* The purpose to narrow BY, or `null` for "this build has nothing to narrow by".
|
|
66
|
+
*
|
|
67
|
+
* Absent and UNRECOGNISED collapse to the same answer, and stating that once is the point of the
|
|
68
|
+
* helper. Both predicates are typed against `PipelinePurpose`, but the value reaching them is a
|
|
69
|
+
* stored `Pipeline.purpose` that no boundary re-checks against the union THIS build compiled: a
|
|
70
|
+
* browser holding a cached bundle sees a member shipped after it, and a member retired from the
|
|
71
|
+
* union goes on living in saved rows. Neither is a value to guess a current member from.
|
|
72
|
+
*
|
|
73
|
+
* The two predicates must agree about that, not merely each handle it: relevance is a SUBSET of
|
|
74
|
+
* compatibility, so a purpose the palette stops narrowing by while the save gate keeps narrowing
|
|
75
|
+
* by it would offer exactly the kind whose step then blocks the save. Reading through one helper
|
|
76
|
+
* is what keeps them from drifting into opposite readings of the same unknown value.
|
|
77
|
+
*/
|
|
78
|
+
function classifierFor(purpose) {
|
|
79
|
+
return purpose && isPipelinePurpose(purpose) ? purpose : null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Whether a pipeline of `purpose` may use an agent kind in `category`: the builder's SAVE
|
|
83
|
+
* gate. A `build` (or unclassified) pipeline may use anything; every other purpose refuses the
|
|
84
|
+
* Implementation (`build`) and Testing (`test`) categories, the two that contradict the
|
|
85
|
+
* classifier outright. Uncategorized kinds (no `category`) are always allowed, the caller
|
|
86
|
+
* showing them regardless.
|
|
87
|
+
*
|
|
88
|
+
* For what the palette OFFERS, see {@link purposeSuggestsAgentCategory}: it narrows further,
|
|
89
|
+
* and the difference is what keeps a stored pipeline editable after this file gets an opinion
|
|
90
|
+
* it did not have when that pipeline was built. A purpose this build does not RECOGNISE is the
|
|
91
|
+
* limit case of the same rule ({@link classifierFor}), and refusing there would be the worst
|
|
92
|
+
* version of it: a save blocked over a classifier the editor cannot even name.
|
|
43
93
|
*/
|
|
44
94
|
export function purposeAllowsAgentCategory(purpose, category) {
|
|
45
|
-
|
|
95
|
+
const classifier = classifierFor(purpose);
|
|
96
|
+
if (classifier === null || classifier === 'build')
|
|
46
97
|
return true;
|
|
47
98
|
return !NON_BUILD_HIDDEN_CATEGORIES.includes(category);
|
|
48
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Which palette categories each purpose is worth offering. A doubly-exhaustive `Record`
|
|
102
|
+
* rather than a per-purpose deny list: adding a purpose OR an {@link AgentCategory} fails to
|
|
103
|
+
* compile until every cell has been decided, which is the whole value of the table: the
|
|
104
|
+
* silent outcome is a new category quietly offered to every purpose, or a new purpose
|
|
105
|
+
* quietly offered the whole catalog, and neither reads as a missing decision at the call site.
|
|
106
|
+
*/
|
|
107
|
+
const PURPOSE_SUGGESTED_CATEGORIES = {
|
|
108
|
+
// Ships product code: every category is in play.
|
|
109
|
+
build: { review: true, design: true, build: true, test: true, docs: true, gates: true },
|
|
110
|
+
// Authors a document: researched, drafted, reviewed and merged like any change, but
|
|
111
|
+
// nothing is implemented or tested.
|
|
112
|
+
document: { review: true, design: true, build: false, test: false, docs: true, gates: true },
|
|
113
|
+
// Reviews an EXISTING pull request and opens none: it designs nothing and builds nothing,
|
|
114
|
+
// so only the judging kinds apply. `docs` stays because the Domain Rules Reviewer is a
|
|
115
|
+
// review activity that groups under Documentation.
|
|
116
|
+
review: { review: true, design: false, build: false, test: false, docs: true, gates: true },
|
|
117
|
+
// Timeboxed investigation: the design kinds (spike, researcher, brainstorms) do the work
|
|
118
|
+
// and it lands as a findings document.
|
|
119
|
+
research: { review: true, design: true, build: false, test: false, docs: true, gates: true },
|
|
120
|
+
// Decomposes an initiative: no code, no repo documentation of its own (the plan is the
|
|
121
|
+
// in-repo tracker its own steps commit) and no pull request, so nothing to gate either.
|
|
122
|
+
planning: { review: true, design: true, build: false, test: false, docs: false, gates: false },
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Whether an agent kind in `category` is worth OFFERING to a pipeline of `purpose`: the
|
|
126
|
+
* builder palette's filter, sitting beside the agent-tier dial on the same control row.
|
|
127
|
+
*
|
|
128
|
+
* Unclassified (absent or unrecognised `purpose`, see {@link classifierFor}) offers everything,
|
|
129
|
+
* for the same reason it saves everything: a pipeline nobody classified has told us nothing to
|
|
130
|
+
* narrow by. A category this build does not recognise is offered for the mirror reason: the
|
|
131
|
+
* table has no cell to read for it, and the honest reading of a missing cell is that a kind a
|
|
132
|
+
* deployment registered stays visible in the palette, rather than vanishing from a catalog whose
|
|
133
|
+
* save gate would have accepted it.
|
|
134
|
+
*
|
|
135
|
+
* Both narrowings are DEFAULT-OPEN on an unknown value, and deliberately: the compile-time guard
|
|
136
|
+
* (the doubly-exhaustive table below) is what forces a decision for every member this build has,
|
|
137
|
+
* and the runtime one exists only for the values it structurally cannot have.
|
|
138
|
+
*/
|
|
139
|
+
export function purposeSuggestsAgentCategory(purpose, category) {
|
|
140
|
+
const classifier = classifierFor(purpose);
|
|
141
|
+
if (classifier === null || !isAgentCategory(category))
|
|
142
|
+
return true;
|
|
143
|
+
return PURPOSE_SUGGESTED_CATEGORIES[classifier][category];
|
|
144
|
+
}
|
|
49
145
|
/**
|
|
50
146
|
* The purposes a PROGRAMMATIC task (`feature` / `bug`) may be offered. It ships code, so a
|
|
51
147
|
* `document` or `review` pipeline is meaningless for it — the reverse of the narrowing those task
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-purpose.js","sourceRoot":"","sources":["../src/pipeline-purpose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"pipeline-purpose.js","sourceRoot":"","sources":["../src/pipeline-purpose.ts"],"names":[],"mappings":"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"}
|
package/dist/public-api.d.ts
CHANGED
|
@@ -199,6 +199,22 @@ export declare const publicTaskSchema: v.ObjectSchema<{
|
|
|
199
199
|
readonly runId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
200
200
|
/** The web URL of the PR the run opened, once one exists; null otherwise. */
|
|
201
201
|
readonly pullRequestUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
202
|
+
/**
|
|
203
|
+
* Task ids this task WAITS FOR: it cannot start until every one of them is `done`, and the
|
|
204
|
+
* engine's start gate refuses it until they are.
|
|
205
|
+
*
|
|
206
|
+
* Served so a caller that declared an ordering can read back what the board holds, which is what
|
|
207
|
+
* makes `POST /api/v1/tasks/{taskId}/dependencies` verifiable rather than fire-and-forget. Empty
|
|
208
|
+
* for a task nothing blocks, which is the normal state.
|
|
209
|
+
*/
|
|
210
|
+
readonly dependsOn: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
211
|
+
/**
|
|
212
|
+
* Whether merging this task's pull request STARTS the tasks that depend on it.
|
|
213
|
+
*
|
|
214
|
+
* The other half of an ordering, and the one that makes a declared chain run itself: without it a
|
|
215
|
+
* dependent is merely refused until its blocker lands, and something has to notice and start it.
|
|
216
|
+
*/
|
|
217
|
+
readonly autoStartDependents: v.BooleanSchema<undefined>;
|
|
202
218
|
}, undefined>;
|
|
203
219
|
export type PublicTask = v.InferOutput<typeof publicTaskSchema>;
|
|
204
220
|
export declare const publicTaskListSchema: v.ObjectSchema<{
|
|
@@ -220,6 +236,22 @@ export declare const publicTaskListSchema: v.ObjectSchema<{
|
|
|
220
236
|
readonly runId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
221
237
|
/** The web URL of the PR the run opened, once one exists; null otherwise. */
|
|
222
238
|
readonly pullRequestUrl: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
239
|
+
/**
|
|
240
|
+
* Task ids this task WAITS FOR: it cannot start until every one of them is `done`, and the
|
|
241
|
+
* engine's start gate refuses it until they are.
|
|
242
|
+
*
|
|
243
|
+
* Served so a caller that declared an ordering can read back what the board holds, which is what
|
|
244
|
+
* makes `POST /api/v1/tasks/{taskId}/dependencies` verifiable rather than fire-and-forget. Empty
|
|
245
|
+
* for a task nothing blocks, which is the normal state.
|
|
246
|
+
*/
|
|
247
|
+
readonly dependsOn: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
248
|
+
/**
|
|
249
|
+
* Whether merging this task's pull request STARTS the tasks that depend on it.
|
|
250
|
+
*
|
|
251
|
+
* The other half of an ordering, and the one that makes a declared chain run itself: without it a
|
|
252
|
+
* dependent is merely refused until its blocker lands, and something has to notice and start it.
|
|
253
|
+
*/
|
|
254
|
+
readonly autoStartDependents: v.BooleanSchema<undefined>;
|
|
223
255
|
}, undefined>, undefined>;
|
|
224
256
|
/**
|
|
225
257
|
* Cursor to pass as `?cursor=` for the next page, or null when this was the last page.
|
|
@@ -500,6 +532,17 @@ export declare const updatePublicTaskSchema: v.ObjectSchema<{
|
|
|
500
532
|
* run does not review; send the description you want alongside the new target to resolve it.
|
|
501
533
|
*/
|
|
502
534
|
readonly fields: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>, v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>, undefined>;
|
|
535
|
+
/**
|
|
536
|
+
* Whether merging this task's pull request STARTS the tasks that depend on it (the toggle
|
|
537
|
+
* {@link publicTaskSchema} reports).
|
|
538
|
+
*
|
|
539
|
+
* Here rather than on the create call because it is a property of the ORDERING, and an ordering
|
|
540
|
+
* is declared after both ends exist: a caller filing a batch of related tasks creates them all,
|
|
541
|
+
* links them with `POST /api/v1/tasks/{taskId}/dependencies`, and then decides which blockers
|
|
542
|
+
* pull their dependents along. Offering it at creation would ask for the answer at the one moment
|
|
543
|
+
* the caller cannot have it.
|
|
544
|
+
*/
|
|
545
|
+
readonly autoStartDependents: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
503
546
|
}, undefined>;
|
|
504
547
|
export type UpdatePublicTaskInput = v.InferOutput<typeof updatePublicTaskSchema>;
|
|
505
548
|
/**
|
|
@@ -525,6 +568,53 @@ export declare const publicRunStepSchema: v.ObjectSchema<{
|
|
|
525
568
|
readonly inProgress: v.NumberSchema<undefined>;
|
|
526
569
|
readonly total: v.NumberSchema<undefined>;
|
|
527
570
|
}, undefined>, undefined>;
|
|
571
|
+
/**
|
|
572
|
+
* The step's prose output (the agent's final reply), or null while it has produced none.
|
|
573
|
+
*
|
|
574
|
+
* This is what a board task running an INLINE-only pipeline delivers, and until it was served
|
|
575
|
+
* here the API could not read it: `publicJob` carries a `result` because a headless job is a
|
|
576
|
+
* one-step inline run, while a board run's deliverable had to be inferred from the pull request
|
|
577
|
+
* the pipeline opened. A pipeline that opens none (a research pass, an estimate, a written
|
|
578
|
+
* assessment) produced a result readable only in the app.
|
|
579
|
+
*
|
|
580
|
+
* Served WHOLE by the POINT READ (`GET /api/v1/tasks/{taskId}/run`), which is deliberate:
|
|
581
|
+
* `publicJobResult.output` already serves the same class of content whole, and two surfaces that
|
|
582
|
+
* disagree about the same fact are worse than a large response. The size is a step's own output
|
|
583
|
+
* budget, not a log tail (`GET /api/v1/debug/runs/:runId` is where raw diagnostics live, and it
|
|
584
|
+
* reports `outputChars` for exactly this reason).
|
|
585
|
+
*
|
|
586
|
+
* The SSE stream is the one place it is not, and {@link publicRunStepSchema} `truncated` says so
|
|
587
|
+
* per step. See that field for why.
|
|
588
|
+
*/
|
|
589
|
+
readonly output: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
590
|
+
/**
|
|
591
|
+
* The step's STRUCTURED result (`step.custom`), when the agent produced one; null otherwise.
|
|
592
|
+
*
|
|
593
|
+
* The counterpart of {@link publicJobResultSchema}'s `data`, and the same rule applies: what a
|
|
594
|
+
* step puts here is decided by its agent kind, so it is `unknown` on the wire rather than a
|
|
595
|
+
* shape this contract would have to keep in step with every kind a deployment registers.
|
|
596
|
+
*
|
|
597
|
+
* Null and an empty object are DIFFERENT facts: null means the step produced no structured
|
|
598
|
+
* result at all, which is the normal state for an agent whose deliverable is its prose.
|
|
599
|
+
*/
|
|
600
|
+
readonly data: v.NullableSchema<v.UnknownSchema, undefined>;
|
|
601
|
+
/**
|
|
602
|
+
* True when THIS PROJECTION reduced the step's deliverable for size: {@link output} is clipped
|
|
603
|
+
* to a leading preview and {@link data} is withheld as null. Absent/false ⇒ both are whole.
|
|
604
|
+
*
|
|
605
|
+
* Set only on the SSE stream (`GET /api/v1/tasks/{taskId}/events`), never on a point read. The
|
|
606
|
+
* stream re-sends the WHOLE run on every change, so carrying every step's output in every frame
|
|
607
|
+
* is quadratic in the run's own length: a late frame repeats every output produced so far, and a
|
|
608
|
+
* long pipeline turns a progress channel into a repeated bulk transfer. The platform already
|
|
609
|
+
* settles this trade the same way for the run's own `detail` JSON, which is re-serialized on
|
|
610
|
+
* every step-progress write and clips a recorded output with a `truncated` flag for it.
|
|
611
|
+
*
|
|
612
|
+
* A caller that needs the whole deliverable reads `GET /api/v1/tasks/{taskId}/run`, which serves
|
|
613
|
+
* it and every step's `data` untouched. The flag exists so a clipped preview can never be
|
|
614
|
+
* mistaken for the output itself: an absent tail and a step that wrote nothing more are
|
|
615
|
+
* different facts, and only the flag distinguishes them.
|
|
616
|
+
*/
|
|
617
|
+
readonly truncated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
528
618
|
}, undefined>;
|
|
529
619
|
export type PublicRunStep = v.InferOutput<typeof publicRunStepSchema>;
|
|
530
620
|
/**
|
|
@@ -553,6 +643,53 @@ export declare const publicRunSchema: v.ObjectSchema<{
|
|
|
553
643
|
readonly inProgress: v.NumberSchema<undefined>;
|
|
554
644
|
readonly total: v.NumberSchema<undefined>;
|
|
555
645
|
}, undefined>, undefined>;
|
|
646
|
+
/**
|
|
647
|
+
* The step's prose output (the agent's final reply), or null while it has produced none.
|
|
648
|
+
*
|
|
649
|
+
* This is what a board task running an INLINE-only pipeline delivers, and until it was served
|
|
650
|
+
* here the API could not read it: `publicJob` carries a `result` because a headless job is a
|
|
651
|
+
* one-step inline run, while a board run's deliverable had to be inferred from the pull request
|
|
652
|
+
* the pipeline opened. A pipeline that opens none (a research pass, an estimate, a written
|
|
653
|
+
* assessment) produced a result readable only in the app.
|
|
654
|
+
*
|
|
655
|
+
* Served WHOLE by the POINT READ (`GET /api/v1/tasks/{taskId}/run`), which is deliberate:
|
|
656
|
+
* `publicJobResult.output` already serves the same class of content whole, and two surfaces that
|
|
657
|
+
* disagree about the same fact are worse than a large response. The size is a step's own output
|
|
658
|
+
* budget, not a log tail (`GET /api/v1/debug/runs/:runId` is where raw diagnostics live, and it
|
|
659
|
+
* reports `outputChars` for exactly this reason).
|
|
660
|
+
*
|
|
661
|
+
* The SSE stream is the one place it is not, and {@link publicRunStepSchema} `truncated` says so
|
|
662
|
+
* per step. See that field for why.
|
|
663
|
+
*/
|
|
664
|
+
readonly output: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
665
|
+
/**
|
|
666
|
+
* The step's STRUCTURED result (`step.custom`), when the agent produced one; null otherwise.
|
|
667
|
+
*
|
|
668
|
+
* The counterpart of {@link publicJobResultSchema}'s `data`, and the same rule applies: what a
|
|
669
|
+
* step puts here is decided by its agent kind, so it is `unknown` on the wire rather than a
|
|
670
|
+
* shape this contract would have to keep in step with every kind a deployment registers.
|
|
671
|
+
*
|
|
672
|
+
* Null and an empty object are DIFFERENT facts: null means the step produced no structured
|
|
673
|
+
* result at all, which is the normal state for an agent whose deliverable is its prose.
|
|
674
|
+
*/
|
|
675
|
+
readonly data: v.NullableSchema<v.UnknownSchema, undefined>;
|
|
676
|
+
/**
|
|
677
|
+
* True when THIS PROJECTION reduced the step's deliverable for size: {@link output} is clipped
|
|
678
|
+
* to a leading preview and {@link data} is withheld as null. Absent/false ⇒ both are whole.
|
|
679
|
+
*
|
|
680
|
+
* Set only on the SSE stream (`GET /api/v1/tasks/{taskId}/events`), never on a point read. The
|
|
681
|
+
* stream re-sends the WHOLE run on every change, so carrying every step's output in every frame
|
|
682
|
+
* is quadratic in the run's own length: a late frame repeats every output produced so far, and a
|
|
683
|
+
* long pipeline turns a progress channel into a repeated bulk transfer. The platform already
|
|
684
|
+
* settles this trade the same way for the run's own `detail` JSON, which is re-serialized on
|
|
685
|
+
* every step-progress write and clips a recorded output with a `truncated` flag for it.
|
|
686
|
+
*
|
|
687
|
+
* A caller that needs the whole deliverable reads `GET /api/v1/tasks/{taskId}/run`, which serves
|
|
688
|
+
* it and every step's `data` untouched. The flag exists so a clipped preview can never be
|
|
689
|
+
* mistaken for the output itself: an absent tail and a step that wrote nothing more are
|
|
690
|
+
* different facts, and only the flag distinguishes them.
|
|
691
|
+
*/
|
|
692
|
+
readonly truncated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
556
693
|
}, undefined>, undefined>;
|
|
557
694
|
/** Who this run was started for ({@link publicRunExternalIdentitySchema}). */
|
|
558
695
|
readonly externalIdentity: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA8D5B,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB;IAChC,wEAAwE;;IAExE,+EAA+E;;IAE/E,kFAAkF;;aAElF,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,iEAAiD,CAAA;AACnF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB;IAChC,kDAAkD;;IAElD,iFAAiF;;aAEjF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,wDAAyB,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uCAAuC,4BAAc,CAAA;AAElE,4EAA4E;AAC5E,eAAO,MAAM,eAAe;;;;;IAK1B,8EAA8E;;IAE9E;6DACyD;;IAEzD,kFAAkF;;QA3DlF,kDAAkD;;QAElD,iFAAiF;;;IA2DjF,yDAAyD;;;;;aAEzD,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;QApB9B,8EAA8E;;QAE9E;iEACyD;;QAEzD,kFAAkF;;YA3DlF,kDAAkD;;YAElD,iFAAiF;;;QA2DjF,yDAAyD;;;;;;IAezD,iGAAiG;;aAEjG,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4CAA4C;;IAE5C,yDAAyD;;IAEzD,8CAA8C;;IAE9C,8FAA8F;;aAE9F,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB;;;;;;;aAIlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAM7E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iGAOjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,uGAAuG;AACvG,eAAO,MAAM,mBAAmB;;;;IAI9B,qFAAqF;;;aAGrF,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;;;;QANlC,qFAAqF;;;;aAMI,CAAA;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,iFAAiF;AACjF,eAAO,MAAM,gBAAgB;;IAE3B,wDAAwD;;;;;;IAMxD,mEAAmE;;IAEnE;;;;OAIG;;IAEH,6EAA6E;;
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA8D5B,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB;IAChC,wEAAwE;;IAExE,+EAA+E;;IAE/E,kFAAkF;;aAElF,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,iEAAiD,CAAA;AACnF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB;IAChC,kDAAkD;;IAElD,iFAAiF;;aAEjF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,wDAAyB,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uCAAuC,4BAAc,CAAA;AAElE,4EAA4E;AAC5E,eAAO,MAAM,eAAe;;;;;IAK1B,8EAA8E;;IAE9E;6DACyD;;IAEzD,kFAAkF;;QA3DlF,kDAAkD;;QAElD,iFAAiF;;;IA2DjF,yDAAyD;;;;;aAEzD,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;QApB9B,8EAA8E;;QAE9E;iEACyD;;QAEzD,kFAAkF;;YA3DlF,kDAAkD;;YAElD,iFAAiF;;;QA2DjF,yDAAyD;;;;;;IAezD,iGAAiG;;aAEjG,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACpC,4CAA4C;;IAE5C,yDAAyD;;IAEzD,8CAA8C;;IAE9C,8FAA8F;;aAE9F,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB;;;;;;;aAIlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAM7E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iGAOjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,uGAAuG;AACvG,eAAO,MAAM,mBAAmB;;;;IAI9B,qFAAqF;;;aAGrF,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;;;;QANlC,qFAAqF;;;;aAMI,CAAA;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,iFAAiF;AACjF,eAAO,MAAM,gBAAgB;;IAE3B,wDAAwD;;;;;;IAMxD,mEAAmE;;IAEnE;;;;OAIG;;IAEH,6EAA6E;;IAE7E;;;;;;;OAOG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,oBAAoB;;;QAnC/B,wDAAwD;;;;;;QAMxD,mEAAmE;;QAEnE;;;;WAIG;;QAEH,6EAA6E;;QAE7E;;;;;;;WAOG;;QAEH;;;;;WAKG;;;IAOH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC;IAC5C,4CAA4C;;IAE5C,yDAAyD;;IAEzD,kDAAkD;;aAElD,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB;IACjC,4FAA4F;;IAE5F,wDAAwD;;aAExD,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,4GAA4G;AAC5G,eAAO,MAAM,2BAA2B,SAAU,CAAA;AAElD,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC,2GAA2G;AAC3G,eAAO,MAAM,8BAA8B;;IAEzC,sDAAsD;;IAEtD;;;OAGG;;aAEH,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F,mFAAmF;AACnF,eAAO,MAAM,gCAAgC;;IAE3C,2FAA2F;;IAE3F;;;OAGG;;aAEH,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB;;IA3CnC,sDAAsD;;IAEtD;;;OAGG;;;;IAQH,2FAA2F;;IAE3F;;;OAGG;;0BA4BH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;IAGjC,gFAAgF;;IAEhF;;;;;;;;;OASG;;QArFH,4FAA4F;;QAE5F,wDAAwD;;;IAqFxD;;;;;;;;;;;;OAYG;;;QAnFH,sDAAsD;;QAEtD;;;WAGG;;;;QAQH,2FAA2F;;QAE3F;;;WAGG;;;;;;;;;;;IAmEH;;;;;;;;;;;;;;;;;;;OAmBG;;aAEH,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;IAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;;IAEH;;;;;;;;;OASG;;aAEH,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAMhF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,iFAAiE,CAAA;AACnG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,uFAAuF;AACvF,eAAO,MAAM,mBAAmB;IAC9B,sFAAsF;;IAEtF,4EAA4E;;IAE5E,kCAAkC;;IAElC,gFAAgF;;;;;;IAIhF;;;;;;;;;;;;;;;;;OAiBG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;;;;;;OAeG;;aAEH,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;IAK1B,iDAAiD;;;QAvEjD,sFAAsF;;QAEtF,4EAA4E;;QAE5E,kCAAkC;;QAElC,gFAAgF;;;;;;QAIhF;;;;;;;;;;;;;;;;;WAiBG;;QAEH;;;;;;;;;WASG;;QAEH;;;;;;;;;;;;;;;WAeG;;;IAmBH,8EAA8E;;IAE9E;6DACyD;;IAEzD,8DAA8D;;;;;IAE9D,sFAAsF;;;;;aAEtF,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAM7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;IAG/B,6DAA6D;;IAE7D;;;OAGG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,eAAO,MAAM,wBAAwB;;;;QAhBnC,6DAA6D;;QAE7D;;;WAGG;;QAEH;;;;WAIG;;;aAKyF,CAAA;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAEvC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAMvF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;;OAKG;;IAEH,iGAAiG;;;;IAIjG,6FAA6F;;;IAG7F;;;;OAIG;;IAEH,wCAAwC;;aAExC,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAClC,4FAA4F;;;IAG5F,6EAA6E;;IAE7E,oFAAoF;;IAEpF,uFAAuF;;aAEvF,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;IAC5B,2EAA2E;;IAE3E,qEAAqE;;;QAxBrE,4FAA4F;;;QAG5F,6EAA6E;;QAE7E,oFAAoF;;QAEpF,uFAAuF;;;;QA1CvF;;;;;WAKG;;QAEH,iGAAiG;;;;QAIjG,6FAA6F;;;QAG7F;;;;WAIG;;QAEH,wCAAwC;;;aA2CxC,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB;IAC/B,oFAAoF;;IAEpF,sCAAsC;;IAEtC,+DAA+D;;IAE/D;;;OAGG;;IAEH,gGAAgG;;IAEhG;;;;;OAKG;;IAEH,0CAA0C;;aAE1C,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|