@cat-factory/contracts 0.212.0 → 0.214.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/binary-generators.d.ts +2 -2
- package/dist/binary-modalities.d.ts +77 -9
- package/dist/binary-modalities.d.ts.map +1 -1
- package/dist/binary-modalities.js +116 -23
- package/dist/binary-modalities.js.map +1 -1
- package/dist/binary-outputs.d.ts +49 -3
- package/dist/binary-outputs.d.ts.map +1 -1
- package/dist/binary-outputs.js +47 -1
- package/dist/binary-outputs.js.map +1 -1
- package/dist/entities.d.ts +4 -2
- package/dist/entities.d.ts.map +1 -1
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +24 -0
- package/dist/errors.js.map +1 -1
- package/dist/execution.d.ts +8 -4
- package/dist/execution.d.ts.map +1 -1
- package/dist/requests.d.ts +4 -2
- package/dist/requests.d.ts.map +1 -1
- package/dist/routes/agent-runs.d.ts +8 -4
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +8 -4
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +32 -16
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +4 -2
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +20 -10
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/pipelines.d.ts +16 -8
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +12 -6
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +16 -8
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +17 -4
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +10 -0
- package/dist/snapshot.js.map +1 -1
- package/package.json +1 -1
|
@@ -54,7 +54,7 @@ export declare const binaryGeneratorDefinitionSchema: v.ObjectSchema<{
|
|
|
54
54
|
* The content types it produces. At least one: a generator that produces nothing is not a
|
|
55
55
|
* generator, and an empty list would make it match every step's requirements by vacuity.
|
|
56
56
|
*/
|
|
57
|
-
readonly modalities: v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>, v.MinLengthAction<("3d" | "audio" | "document" | "image" | "video")[], 1, undefined>]>;
|
|
57
|
+
readonly modalities: v.SchemaWithPipe<readonly [v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, v.MinLengthAction<("3d-model" | "3d-scene" | "audio" | "document" | "image" | "video")[], 1, undefined>]>;
|
|
58
58
|
/**
|
|
59
59
|
* The concrete media types it can emit (`image/png`, `audio/mpeg`), when the integration
|
|
60
60
|
* pins them down. Absent ⇒ only the coarse {@link modalities} are known, which the brief
|
|
@@ -133,7 +133,7 @@ export declare const registeredBinaryGeneratorSchema: v.ObjectSchema<{
|
|
|
133
133
|
readonly name: v.StringSchema<undefined>;
|
|
134
134
|
readonly summary: v.StringSchema<undefined>;
|
|
135
135
|
/** What it produces — what the builder checks a step's declared content types against. */
|
|
136
|
-
readonly modalities: v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>;
|
|
136
|
+
readonly modalities: v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>;
|
|
137
137
|
/** The concrete formats it pins down, when it declares any. Shown as detail, never a filter. */
|
|
138
138
|
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
139
139
|
}, undefined>;
|
|
@@ -14,20 +14,88 @@ import * as v from 'valibot';
|
|
|
14
14
|
* is the whole integration, its media types and what a step can do with the result. A
|
|
15
15
|
* deployment that must tell a music generator from a speech generator says so in the
|
|
16
16
|
* definition's `mediaTypes` and its description.
|
|
17
|
+
*
|
|
18
|
+
* **3D is TWO members, and the reason is that nothing else can carry the distinction.** A single
|
|
19
|
+
* asset and a composed scene are different products of different integrations, and what a step
|
|
20
|
+
* does with the result is not comparable — one is attached to an entity, the other is loaded as
|
|
21
|
+
* an environment. That passes the audio-versus-video test on the ground that matters. It fails it
|
|
22
|
+
* on one: their MEDIA TYPES are identical. GLB, FBX, USDZ and `.blend` each carry either an
|
|
23
|
+
* object or a whole scene graph, so no format tells you which you were handed and
|
|
24
|
+
* {@link modalitiesOfMediaType} does not pretend otherwise. That is exactly why the split has to
|
|
25
|
+
* live HERE: if the container could say it, a media type would already have said it, and a step
|
|
26
|
+
* that must deliver a level could go on being admitted against a prop generator.
|
|
27
|
+
*
|
|
28
|
+
* What the split is NOT is a licence to slice the others by scope. `image` does not become
|
|
29
|
+
* sprite-versus-background, because a step's format requirement (`binaryOutput.mediaTypes`) is
|
|
30
|
+
* what distinguishes a PNG from a JPEG and a prompt is what distinguishes a sprite from a
|
|
31
|
+
* backdrop. A member earns its place only when neither of those can tell two deliverables apart.
|
|
17
32
|
*/
|
|
18
|
-
export declare const binaryModalitySchema: v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>;
|
|
33
|
+
export declare const binaryModalitySchema: v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>;
|
|
19
34
|
export type BinaryModality = v.InferOutput<typeof binaryModalitySchema>;
|
|
20
35
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* what
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
36
|
+
* Whether a stored value is still a member of the vocabulary — DERIVED from the picklist, so it
|
|
37
|
+
* cannot drift from it the way a hand-written second list would.
|
|
38
|
+
*
|
|
39
|
+
* This vocabulary is closed but PERSISTED (`stepOptions.binaryOutput.modalities`), and those two
|
|
40
|
+
* facts together are what makes the guard necessary: a member retired from the union goes on
|
|
41
|
+
* existing in saved pipelines, as `3d` did when it split into `3d-model` and `3d-scene`. A reader
|
|
42
|
+
* that maps a modality through an exhaustive `Record` or `switch` is therefore total against the
|
|
43
|
+
* TYPE and partial against the DATA — the gap where a lookup returns `undefined` and a call on it
|
|
44
|
+
* throws. Narrow with this first, and render the negative case as the retired value it is: nothing
|
|
45
|
+
* can know which current member was meant, and guessing one would quietly rewrite a requirement
|
|
46
|
+
* that the split exists to make someone restate.
|
|
47
|
+
*/
|
|
48
|
+
export declare function isBinaryModality(value: string): value is BinaryModality;
|
|
49
|
+
/**
|
|
50
|
+
* Every {@link BinaryModality} a media type is CONSISTENT with — empty when nothing here
|
|
51
|
+
* recognises it.
|
|
52
|
+
*
|
|
53
|
+
* A LIST rather than one answer, because for 3D there is genuinely more than one and saying so
|
|
54
|
+
* is the whole point. `model/gltf-binary` is a GLB; a GLB is one prop or an entire environment
|
|
55
|
+
* and the container does not record which. Returning `3d-model` for it would classify every
|
|
56
|
+
* delivered scene as an asset, and picking either would make the boot check below refuse a
|
|
57
|
+
* correct registration.
|
|
58
|
+
*
|
|
59
|
+
* Empty is a REAL answer and callers must keep it apart from a modality: it means the platform
|
|
60
|
+
* does not know what this content is, which is different from knowing it is not an image. Two
|
|
61
|
+
* things read this — a registration's declared media types are checked against its declared
|
|
62
|
+
* modalities (a generator claiming `audio` while listing `image/png` is a configuration error,
|
|
63
|
+
* not a judgement call), and a settled step's declared artifacts are CLASSIFIED in code rather
|
|
64
|
+
* than by asking the model what kind of thing it just made. Each has to say what it does with a
|
|
65
|
+
* MULTI-member answer: the first passes when the sets INTERSECT, the second declines to classify
|
|
66
|
+
* at all, because an ambiguous answer is not a verdict.
|
|
67
|
+
*/
|
|
68
|
+
export declare function modalitiesOfMediaType(value: string): BinaryModality[];
|
|
69
|
+
/**
|
|
70
|
+
* The modality a media type UNAMBIGUOUSLY identifies, or `null` when it identifies none or more
|
|
71
|
+
* than one.
|
|
72
|
+
*
|
|
73
|
+
* For classifying something that already exists — a stored artifact — where a guess is worse than
|
|
74
|
+
* an absence. A `.glb` collapses `3d-model` and `3d-scene`, so it classifies as neither and the
|
|
75
|
+
* artifact carries no modality: "we cannot tell what this is" is not "this is not an image", and
|
|
76
|
+
* the step's own declaration is the only thing that ever knew which of the two was being made.
|
|
29
77
|
*/
|
|
30
78
|
export declare function modalityOfMediaType(value: string): BinaryModality | null;
|
|
79
|
+
/**
|
|
80
|
+
* A media type reduced to the `type/subtype` two people mean the same thing by — lowercased,
|
|
81
|
+
* trimmed, parameters dropped — or `null` when there is no `type/subtype` in it at all.
|
|
82
|
+
*
|
|
83
|
+
* The ONE definition of "the same format", because three places compare media types and two of
|
|
84
|
+
* them receive text nobody normalised. A step's declared formats and a generator's declared
|
|
85
|
+
* formats both come through {@link mediaTypeSchema}, which already lowercases and refuses
|
|
86
|
+
* parameters, so those two match on plain equality; a SETTLED artifact's `contentType` is the
|
|
87
|
+
* agent's own prose (`image/PNG`, `model/gltf-binary; charset=binary`) and matches nothing until
|
|
88
|
+
* it comes through here. A second copy of this reduction is how `model/GLTF-binary` becomes a
|
|
89
|
+
* format the platform reports as undelivered while the file sits exactly where it was asked for.
|
|
90
|
+
*
|
|
91
|
+
* Note what it deliberately does NOT do: it maps no synonyms. `model/obj` and
|
|
92
|
+
* `application/x-tgif` are the same file and stay different values here, because a step's format
|
|
93
|
+
* requirement is checked by EXACT match against what a generator declared, and a matcher that
|
|
94
|
+
* quietly accepted a near-neighbour would admit a GLB where an OBJ was required — which is the
|
|
95
|
+
* failure the requirement exists to prevent. The two sides agree by spelling the format the same
|
|
96
|
+
* way, and the brief tells the agent the exact string.
|
|
97
|
+
*/
|
|
98
|
+
export declare function normalizeMediaType(value: string): string | null;
|
|
31
99
|
/**
|
|
32
100
|
* A media type as `type/subtype` (parameters are NOT accepted — a generator declares what it
|
|
33
101
|
* produces, not how one request happened to be encoded).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-modalities.d.ts","sourceRoot":"","sources":["../src/binary-modalities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B
|
|
1
|
+
{"version":3,"file":"binary-modalities.d.ts","sourceRoot":"","sources":["../src/binary-modalities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,oBAAoB,8FAqB/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAuBrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/D;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,uPAU3B,CAAA"}
|
|
@@ -23,6 +23,21 @@ import * as v from 'valibot';
|
|
|
23
23
|
* is the whole integration, its media types and what a step can do with the result. A
|
|
24
24
|
* deployment that must tell a music generator from a speech generator says so in the
|
|
25
25
|
* definition's `mediaTypes` and its description.
|
|
26
|
+
*
|
|
27
|
+
* **3D is TWO members, and the reason is that nothing else can carry the distinction.** A single
|
|
28
|
+
* asset and a composed scene are different products of different integrations, and what a step
|
|
29
|
+
* does with the result is not comparable — one is attached to an entity, the other is loaded as
|
|
30
|
+
* an environment. That passes the audio-versus-video test on the ground that matters. It fails it
|
|
31
|
+
* on one: their MEDIA TYPES are identical. GLB, FBX, USDZ and `.blend` each carry either an
|
|
32
|
+
* object or a whole scene graph, so no format tells you which you were handed and
|
|
33
|
+
* {@link modalitiesOfMediaType} does not pretend otherwise. That is exactly why the split has to
|
|
34
|
+
* live HERE: if the container could say it, a media type would already have said it, and a step
|
|
35
|
+
* that must deliver a level could go on being admitted against a prop generator.
|
|
36
|
+
*
|
|
37
|
+
* What the split is NOT is a licence to slice the others by scope. `image` does not become
|
|
38
|
+
* sprite-versus-background, because a step's format requirement (`binaryOutput.mediaTypes`) is
|
|
39
|
+
* what distinguishes a PNG from a JPEG and a prompt is what distinguishes a sprite from a
|
|
40
|
+
* backdrop. A member earns its place only when neither of those can tell two deliverables apart.
|
|
26
41
|
*/
|
|
27
42
|
export const binaryModalitySchema = v.picklist([
|
|
28
43
|
/** Still images — `image/png`, `image/webp`, `image/jpeg`, `image/svg+xml`. */
|
|
@@ -31,49 +46,127 @@ export const binaryModalitySchema = v.picklist([
|
|
|
31
46
|
'audio',
|
|
32
47
|
/** Moving pictures, with or without an audio track — `video/mp4`, `video/webm`. */
|
|
33
48
|
'video',
|
|
34
|
-
/**
|
|
35
|
-
|
|
49
|
+
/**
|
|
50
|
+
* ONE 3D asset: a prop, a character, a part — the thing an inventory counts and a scene places.
|
|
51
|
+
* Its container is `model/gltf-binary`, `model/obj`, `application/x-blender`, and so on; which
|
|
52
|
+
* one matters to whoever opens it, and that is what `binaryOutput.mediaTypes` is for.
|
|
53
|
+
*/
|
|
54
|
+
'3d-model',
|
|
55
|
+
/**
|
|
56
|
+
* A composed 3D scene: several assets with a hierarchy, and typically transforms, materials,
|
|
57
|
+
* cameras or lights. The SAME containers as {@link '3d-model'} — the difference is in what the
|
|
58
|
+
* file holds, which no media type states, so it is stated here or nowhere.
|
|
59
|
+
*/
|
|
60
|
+
'3d-scene',
|
|
36
61
|
/** A rendered, paginated document — `application/pdf`. */
|
|
37
62
|
'document',
|
|
38
63
|
]);
|
|
39
64
|
/**
|
|
40
|
-
*
|
|
65
|
+
* Whether a stored value is still a member of the vocabulary — DERIVED from the picklist, so it
|
|
66
|
+
* cannot drift from it the way a hand-written second list would.
|
|
41
67
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
68
|
+
* This vocabulary is closed but PERSISTED (`stepOptions.binaryOutput.modalities`), and those two
|
|
69
|
+
* facts together are what makes the guard necessary: a member retired from the union goes on
|
|
70
|
+
* existing in saved pipelines, as `3d` did when it split into `3d-model` and `3d-scene`. A reader
|
|
71
|
+
* that maps a modality through an exhaustive `Record` or `switch` is therefore total against the
|
|
72
|
+
* TYPE and partial against the DATA — the gap where a lookup returns `undefined` and a call on it
|
|
73
|
+
* throws. Narrow with this first, and render the negative case as the retired value it is: nothing
|
|
74
|
+
* can know which current member was meant, and guessing one would quietly rewrite a requirement
|
|
75
|
+
* that the split exists to make someone restate.
|
|
48
76
|
*/
|
|
49
|
-
export function
|
|
50
|
-
|
|
77
|
+
export function isBinaryModality(value) {
|
|
78
|
+
return BINARY_MODALITY_SET.has(value);
|
|
79
|
+
}
|
|
80
|
+
const BINARY_MODALITY_SET = new Set(binaryModalitySchema.options);
|
|
81
|
+
/** The 3D containers, which say the content is 3D and DELIBERATELY nothing more. */
|
|
82
|
+
const THREE_D = ['3d-model', '3d-scene'];
|
|
83
|
+
/**
|
|
84
|
+
* Every {@link BinaryModality} a media type is CONSISTENT with — empty when nothing here
|
|
85
|
+
* recognises it.
|
|
86
|
+
*
|
|
87
|
+
* A LIST rather than one answer, because for 3D there is genuinely more than one and saying so
|
|
88
|
+
* is the whole point. `model/gltf-binary` is a GLB; a GLB is one prop or an entire environment
|
|
89
|
+
* and the container does not record which. Returning `3d-model` for it would classify every
|
|
90
|
+
* delivered scene as an asset, and picking either would make the boot check below refuse a
|
|
91
|
+
* correct registration.
|
|
92
|
+
*
|
|
93
|
+
* Empty is a REAL answer and callers must keep it apart from a modality: it means the platform
|
|
94
|
+
* does not know what this content is, which is different from knowing it is not an image. Two
|
|
95
|
+
* things read this — a registration's declared media types are checked against its declared
|
|
96
|
+
* modalities (a generator claiming `audio` while listing `image/png` is a configuration error,
|
|
97
|
+
* not a judgement call), and a settled step's declared artifacts are CLASSIFIED in code rather
|
|
98
|
+
* than by asking the model what kind of thing it just made. Each has to say what it does with a
|
|
99
|
+
* MULTI-member answer: the first passes when the sets INTERSECT, the second declines to classify
|
|
100
|
+
* at all, because an ambiguous answer is not a verdict.
|
|
101
|
+
*/
|
|
102
|
+
export function modalitiesOfMediaType(value) {
|
|
103
|
+
const type = normalizeMediaType(value) ?? '';
|
|
51
104
|
const [top, subtype] = type.split('/');
|
|
52
105
|
if (!top || !subtype)
|
|
53
|
-
return
|
|
106
|
+
return [];
|
|
54
107
|
if (top === 'image')
|
|
55
|
-
return 'image';
|
|
108
|
+
return ['image'];
|
|
56
109
|
if (top === 'audio')
|
|
57
|
-
return 'audio';
|
|
110
|
+
return ['audio'];
|
|
58
111
|
if (top === 'video')
|
|
59
|
-
return 'video';
|
|
112
|
+
return ['video'];
|
|
60
113
|
if (top === 'model')
|
|
61
|
-
return
|
|
114
|
+
return THREE_D;
|
|
62
115
|
if (top === 'application') {
|
|
63
116
|
if (subtype === 'pdf')
|
|
64
|
-
return 'document';
|
|
117
|
+
return ['document'];
|
|
65
118
|
// The 3D formats that predate `model/*` and are still what tooling emits: `sla` is STL, and
|
|
66
119
|
// `x-tgif` is what the shared mime database maps `.obj` to (an old collision with the TGIF
|
|
67
120
|
// drawing format, but it IS the type an OBJ file is served as, so recognising it is right).
|
|
68
|
-
// `octet-stream` stays
|
|
121
|
+
// `octet-stream` stays empty on purpose — it is the "no idea" type, and guessing 3D from it
|
|
69
122
|
// would classify every unlabelled download as a model.
|
|
70
123
|
if (subtype === 'octet-stream')
|
|
71
|
-
return
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
124
|
+
return [];
|
|
125
|
+
// `x-blender` is the shared mime database's type for a `.blend` file, which is what an
|
|
126
|
+
// EDITABLE 3D deliverable looks like when the consumer is an artist rather than an engine —
|
|
127
|
+
// the same reason `sla` and `x-tgif` are here rather than only the registered `model/*` names.
|
|
128
|
+
if (['gltf+json', 'x-gltf', 'sla', 'x-tgif', 'x-blender'].includes(subtype))
|
|
129
|
+
return THREE_D;
|
|
130
|
+
return [];
|
|
75
131
|
}
|
|
76
|
-
return
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The modality a media type UNAMBIGUOUSLY identifies, or `null` when it identifies none or more
|
|
136
|
+
* than one.
|
|
137
|
+
*
|
|
138
|
+
* For classifying something that already exists — a stored artifact — where a guess is worse than
|
|
139
|
+
* an absence. A `.glb` collapses `3d-model` and `3d-scene`, so it classifies as neither and the
|
|
140
|
+
* artifact carries no modality: "we cannot tell what this is" is not "this is not an image", and
|
|
141
|
+
* the step's own declaration is the only thing that ever knew which of the two was being made.
|
|
142
|
+
*/
|
|
143
|
+
export function modalityOfMediaType(value) {
|
|
144
|
+
const modalities = modalitiesOfMediaType(value);
|
|
145
|
+
return modalities.length === 1 ? (modalities[0] ?? null) : null;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* A media type reduced to the `type/subtype` two people mean the same thing by — lowercased,
|
|
149
|
+
* trimmed, parameters dropped — or `null` when there is no `type/subtype` in it at all.
|
|
150
|
+
*
|
|
151
|
+
* The ONE definition of "the same format", because three places compare media types and two of
|
|
152
|
+
* them receive text nobody normalised. A step's declared formats and a generator's declared
|
|
153
|
+
* formats both come through {@link mediaTypeSchema}, which already lowercases and refuses
|
|
154
|
+
* parameters, so those two match on plain equality; a SETTLED artifact's `contentType` is the
|
|
155
|
+
* agent's own prose (`image/PNG`, `model/gltf-binary; charset=binary`) and matches nothing until
|
|
156
|
+
* it comes through here. A second copy of this reduction is how `model/GLTF-binary` becomes a
|
|
157
|
+
* format the platform reports as undelivered while the file sits exactly where it was asked for.
|
|
158
|
+
*
|
|
159
|
+
* Note what it deliberately does NOT do: it maps no synonyms. `model/obj` and
|
|
160
|
+
* `application/x-tgif` are the same file and stay different values here, because a step's format
|
|
161
|
+
* requirement is checked by EXACT match against what a generator declared, and a matcher that
|
|
162
|
+
* quietly accepted a near-neighbour would admit a GLB where an OBJ was required — which is the
|
|
163
|
+
* failure the requirement exists to prevent. The two sides agree by spelling the format the same
|
|
164
|
+
* way, and the brief tells the agent the exact string.
|
|
165
|
+
*/
|
|
166
|
+
export function normalizeMediaType(value) {
|
|
167
|
+
const type = value.trim().toLowerCase().split(';')[0]?.trim() ?? '';
|
|
168
|
+
const [top, subtype] = type.split('/');
|
|
169
|
+
return top && subtype ? `${top}/${subtype}` : null;
|
|
77
170
|
}
|
|
78
171
|
/**
|
|
79
172
|
* A media type as `type/subtype` (parameters are NOT accepted — a generator declares what it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-modalities.js","sourceRoot":"","sources":["../src/binary-modalities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,kGAAkG;AAClG,8FAA8F;AAC9F,0CAA0C;AAC1C,EAAE;AACF,kGAAkG;AAClG,gGAAgG;AAChG,kDAAkD;AAClD,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"binary-modalities.js","sourceRoot":"","sources":["../src/binary-modalities.ts"],"names":[],"mappings":"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"}
|
package/dist/binary-outputs.d.ts
CHANGED
|
@@ -43,7 +43,43 @@ export declare const binaryOutputConfigSchema: v.ObjectSchema<{
|
|
|
43
43
|
* audio" is a statement about the WORK, and deriving it from the current selection would make
|
|
44
44
|
* removing the audio generator look like a change of requirements rather than a break.
|
|
45
45
|
*/
|
|
46
|
-
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>, undefined>;
|
|
46
|
+
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, undefined>;
|
|
47
|
+
/**
|
|
48
|
+
* The concrete FORMATS this step must deliver, one notch finer than {@link modalities}, for the
|
|
49
|
+
* deliverables where the container IS the requirement rather than a rendering preference.
|
|
50
|
+
*
|
|
51
|
+
* 3D is why this exists. PNG versus WebP is a genre question and belongs in a prompt, but GLB,
|
|
52
|
+
* USDZ and FBX are all one modality and none of them substitutes for another: a Godot importer
|
|
53
|
+
* takes the first, a RealityKit pipeline the second, an art pipeline the third. A step whose
|
|
54
|
+
* mesh must load in the game can otherwise be admitted against an integration that cannot emit a
|
|
55
|
+
* loadable container, and the failure arrives at the end of a paid run as an asset nobody can
|
|
56
|
+
* open — which reads as a bad generation rather than as a selection nothing checked.
|
|
57
|
+
*
|
|
58
|
+
* Note the direction that gives this axis its scope: it is what the modality vocabulary does NOT
|
|
59
|
+
* have to split for. `3d-model` and `3d-scene` are two members precisely because no format tells
|
|
60
|
+
* them apart, and `image` stays one because a format tells PNG from JPEG — so a distinction any
|
|
61
|
+
* container can carry is stated HERE, and only what none can carry earns a modality.
|
|
62
|
+
*
|
|
63
|
+
* EVERY entry must be covered, not any one of them: a step needing a GLB for the engine AND an
|
|
64
|
+
* FBX the artists can open in Blender declares both, and both are checked. "Any of these will
|
|
65
|
+
* do" is deliberately not expressible — the agent has to name concrete formats on the vendor
|
|
66
|
+
* call, and a requirement that leaves it a choice hands that decision to the party with the
|
|
67
|
+
* least basis for making it. Declare the format you need, not the set you would accept.
|
|
68
|
+
*
|
|
69
|
+
* Checked by EXACT match against the {@link BinaryGeneratorDefinition.mediaTypes} a selected
|
|
70
|
+
* integration declares (both sides come through `mediaTypeSchema`, so case and parameters are
|
|
71
|
+
* already reconciled), and NOT translated into a modality: `modalityOfMediaType` recognises only
|
|
72
|
+
* the formats the platform happens to know, so inferring one here would make the strength of the
|
|
73
|
+
* check depend on whether we recognise the string — a requirement spelled with a brand-new
|
|
74
|
+
* container would silently lose the coarse check its neighbour keeps. The two lists are
|
|
75
|
+
* independent statements and both are enforced as written.
|
|
76
|
+
*
|
|
77
|
+
* Absent ⇒ no format requirement, which is the ordinary case and stays the ordinary case:
|
|
78
|
+
* {@link modalities} is the statement about the WORK. Like it, this is never defaulted from the
|
|
79
|
+
* current selection — deriving a requirement from what is selected would make REMOVING a
|
|
80
|
+
* generator look like a change of requirements rather than a break.
|
|
81
|
+
*/
|
|
82
|
+
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
47
83
|
}, undefined>;
|
|
48
84
|
export type BinaryOutputConfig = v.InferOutput<typeof binaryOutputConfigSchema>;
|
|
49
85
|
/** One stored artifact a binary-generating step declared in its reply's machine-read block. */
|
|
@@ -80,7 +116,7 @@ export declare const binaryOutputArtifactSchema: v.ObjectSchema<{
|
|
|
80
116
|
* one the platform recognises: "we do not know what this is" and "this is not an image" are
|
|
81
117
|
* different answers, and only the second could justify a warning.
|
|
82
118
|
*/
|
|
83
|
-
readonly modality: v.OptionalSchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>;
|
|
119
|
+
readonly modality: v.OptionalSchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>;
|
|
84
120
|
}, undefined>;
|
|
85
121
|
export type BinaryOutputArtifact = v.InferOutput<typeof binaryOutputArtifactSchema>;
|
|
86
122
|
/**
|
|
@@ -132,7 +168,7 @@ export declare const binaryOutputReportSchema: v.ObjectSchema<{
|
|
|
132
168
|
* one the platform recognises: "we do not know what this is" and "this is not an image" are
|
|
133
169
|
* different answers, and only the second could justify a warning.
|
|
134
170
|
*/
|
|
135
|
-
readonly modality: v.OptionalSchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>;
|
|
171
|
+
readonly modality: v.OptionalSchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>;
|
|
136
172
|
}, undefined>, undefined>;
|
|
137
173
|
/** Distinct `service` ids named in entries that the resolved catalog does not contain. */
|
|
138
174
|
readonly unknownServices: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -144,6 +180,16 @@ export declare const binaryOutputReportSchema: v.ObjectSchema<{
|
|
|
144
180
|
* agent claimed and a reader judges it.
|
|
145
181
|
*/
|
|
146
182
|
readonly unknownGenerators: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
183
|
+
/**
|
|
184
|
+
* Set when the deployment's registered integrations could not be READ at settlement, so no
|
|
185
|
+
* claimed `generator` id could be checked against them (a mothership-mode node whose mothership
|
|
186
|
+
* was unreachable). Its own field rather than an empty {@link unknownGenerators}, for the
|
|
187
|
+
* reason that runs through this whole feature: "every id checked out" and "nothing could be
|
|
188
|
+
* checked" are the same value and opposite facts, and only one of them is evidence. The
|
|
189
|
+
* artifacts themselves — and the STORAGE half's verdict, which resolves against a different
|
|
190
|
+
* catalog and is unaffected — are recorded either way, because what could be derived must be.
|
|
191
|
+
*/
|
|
192
|
+
readonly generatorsUnverified: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
147
193
|
/** Entries dropped because they were not an object with `service` + `location` strings. */
|
|
148
194
|
readonly invalidEntries: v.NumberSchema<undefined>;
|
|
149
195
|
/** Valid entries dropped past the per-report cap. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B;IACrC;;;;;OAKG;;IAEH;;;OAGG;;IAEH,8FAA8F;;IAE9F,uEAAuE;;IAEvE,oDAAoD;;IAEpD;;;;;;OAMG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;QAnDnC;;;;;WAKG;;QAEH;;;WAGG;;QAEH,8FAA8F;;QAE9F,uEAAuE;;QAEvE,oDAAoD;;QAEpD;;;;;;WAMG;;QAEH;;;;;WAKG;;;IAsBH,0FAA0F;;IAE1F;;;;;;OAMG;;IAEH,2FAA2F;;IAE3F,qDAAqD;;IAErD,0FAA0F;;IAE1F,qEAAqE;;aAErE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;aAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B;IACrC;;;;;OAKG;;IAEH;;;OAGG;;IAEH,8FAA8F;;IAE9F,uEAAuE;;IAEvE,oDAAoD;;IAEpD;;;;;;OAMG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;QAnDnC;;;;;WAKG;;QAEH;;;WAGG;;QAEH,8FAA8F;;QAE9F,uEAAuE;;QAEvE,oDAAoD;;QAEpD;;;;;;WAMG;;QAEH;;;;;WAKG;;;IAsBH,0FAA0F;;IAE1F;;;;;;OAMG;;IAEH;;;;;;;;OAQG;;IAEH,2FAA2F;;IAE3F,qDAAqD;;IAErD,0FAA0F;;IAE1F,qEAAqE;;aAErE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
package/dist/binary-outputs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { binaryModalitySchema } from './binary-modalities.js';
|
|
2
|
+
import { binaryModalitySchema, mediaTypeSchema } from './binary-modalities.js';
|
|
3
3
|
// Wire vocabulary for BINARY-OUTPUT agent steps (docs/initiatives/binary-output-foundational-storage.md):
|
|
4
4
|
// a step whose kind GENERATES binary artifacts (image generation is the canonical example) and
|
|
5
5
|
// stores them through a FOUNDATIONAL SERVICE the step selected from the workspace's catalog —
|
|
@@ -53,6 +53,42 @@ export const binaryOutputConfigSchema = v.object({
|
|
|
53
53
|
* removing the audio generator look like a change of requirements rather than a break.
|
|
54
54
|
*/
|
|
55
55
|
modalities: v.optional(v.array(binaryModalitySchema)),
|
|
56
|
+
/**
|
|
57
|
+
* The concrete FORMATS this step must deliver, one notch finer than {@link modalities}, for the
|
|
58
|
+
* deliverables where the container IS the requirement rather than a rendering preference.
|
|
59
|
+
*
|
|
60
|
+
* 3D is why this exists. PNG versus WebP is a genre question and belongs in a prompt, but GLB,
|
|
61
|
+
* USDZ and FBX are all one modality and none of them substitutes for another: a Godot importer
|
|
62
|
+
* takes the first, a RealityKit pipeline the second, an art pipeline the third. A step whose
|
|
63
|
+
* mesh must load in the game can otherwise be admitted against an integration that cannot emit a
|
|
64
|
+
* loadable container, and the failure arrives at the end of a paid run as an asset nobody can
|
|
65
|
+
* open — which reads as a bad generation rather than as a selection nothing checked.
|
|
66
|
+
*
|
|
67
|
+
* Note the direction that gives this axis its scope: it is what the modality vocabulary does NOT
|
|
68
|
+
* have to split for. `3d-model` and `3d-scene` are two members precisely because no format tells
|
|
69
|
+
* them apart, and `image` stays one because a format tells PNG from JPEG — so a distinction any
|
|
70
|
+
* container can carry is stated HERE, and only what none can carry earns a modality.
|
|
71
|
+
*
|
|
72
|
+
* EVERY entry must be covered, not any one of them: a step needing a GLB for the engine AND an
|
|
73
|
+
* FBX the artists can open in Blender declares both, and both are checked. "Any of these will
|
|
74
|
+
* do" is deliberately not expressible — the agent has to name concrete formats on the vendor
|
|
75
|
+
* call, and a requirement that leaves it a choice hands that decision to the party with the
|
|
76
|
+
* least basis for making it. Declare the format you need, not the set you would accept.
|
|
77
|
+
*
|
|
78
|
+
* Checked by EXACT match against the {@link BinaryGeneratorDefinition.mediaTypes} a selected
|
|
79
|
+
* integration declares (both sides come through `mediaTypeSchema`, so case and parameters are
|
|
80
|
+
* already reconciled), and NOT translated into a modality: `modalityOfMediaType` recognises only
|
|
81
|
+
* the formats the platform happens to know, so inferring one here would make the strength of the
|
|
82
|
+
* check depend on whether we recognise the string — a requirement spelled with a brand-new
|
|
83
|
+
* container would silently lose the coarse check its neighbour keeps. The two lists are
|
|
84
|
+
* independent statements and both are enforced as written.
|
|
85
|
+
*
|
|
86
|
+
* Absent ⇒ no format requirement, which is the ordinary case and stays the ordinary case:
|
|
87
|
+
* {@link modalities} is the statement about the WORK. Like it, this is never defaulted from the
|
|
88
|
+
* current selection — deriving a requirement from what is selected would make REMOVING a
|
|
89
|
+
* generator look like a change of requirements rather than a break.
|
|
90
|
+
*/
|
|
91
|
+
mediaTypes: v.optional(v.array(mediaTypeSchema)),
|
|
56
92
|
});
|
|
57
93
|
/** One stored artifact a binary-generating step declared in its reply's machine-read block. */
|
|
58
94
|
export const binaryOutputArtifactSchema = v.object({
|
|
@@ -117,6 +153,16 @@ export const binaryOutputReportSchema = v.object({
|
|
|
117
153
|
* agent claimed and a reader judges it.
|
|
118
154
|
*/
|
|
119
155
|
unknownGenerators: v.array(v.string()),
|
|
156
|
+
/**
|
|
157
|
+
* Set when the deployment's registered integrations could not be READ at settlement, so no
|
|
158
|
+
* claimed `generator` id could be checked against them (a mothership-mode node whose mothership
|
|
159
|
+
* was unreachable). Its own field rather than an empty {@link unknownGenerators}, for the
|
|
160
|
+
* reason that runs through this whole feature: "every id checked out" and "nothing could be
|
|
161
|
+
* checked" are the same value and opposite facts, and only one of them is evidence. The
|
|
162
|
+
* artifacts themselves — and the STORAGE half's verdict, which resolves against a different
|
|
163
|
+
* catalog and is unaffected — are recorded either way, because what could be derived must be.
|
|
164
|
+
*/
|
|
165
|
+
generatorsUnverified: v.optional(v.literal(true)),
|
|
120
166
|
/** Entries dropped because they were not an object with `service` + `location` strings. */
|
|
121
167
|
invalidEntries: v.number(),
|
|
122
168
|
/** Valid entries dropped past the per-report cap. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"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"}
|
package/dist/entities.d.ts
CHANGED
|
@@ -1177,7 +1177,8 @@ export declare const stepOptionsSchema: v.ObjectSchema<{
|
|
|
1177
1177
|
readonly storageServiceId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>;
|
|
1178
1178
|
readonly contextServiceIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
1179
1179
|
readonly generatorIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
1180
|
-
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>, undefined>;
|
|
1180
|
+
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, undefined>;
|
|
1181
|
+
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
1181
1182
|
}, undefined>, undefined>;
|
|
1182
1183
|
}, undefined>;
|
|
1183
1184
|
export type StepOptions = v.InferOutput<typeof stepOptionsSchema>;
|
|
@@ -1364,7 +1365,8 @@ export declare const pipelineSchema: v.ObjectSchema<{
|
|
|
1364
1365
|
readonly storageServiceId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>;
|
|
1365
1366
|
readonly contextServiceIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
1366
1367
|
readonly generatorIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
1367
|
-
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d", "document"], undefined>, undefined>, undefined>;
|
|
1368
|
+
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, undefined>;
|
|
1369
|
+
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
1368
1370
|
}, undefined>, undefined>;
|
|
1369
1371
|
}, undefined>, undefined>, undefined>, undefined>;
|
|
1370
1372
|
/**
|
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/errors.d.ts
CHANGED
|
@@ -31,6 +31,28 @@ export type ApiErrorCode = (typeof API_ERROR_CODES)[number];
|
|
|
31
31
|
*/
|
|
32
32
|
export declare const CONFLICT_REASONS: readonly ['providers_unconfigured', 'preset_unsatisfiable', 'dependencies_unmet', 'task_limit_reached', 'tester_infra_unsupported', 'binary_storage_unconfigured', 'agent_backend_unconfigured', 'run_not_retryable', 'no_pr_to_merge', 'github_not_connected', 'bootstrap_not_retryable', 'bootstrap_reference_missing', 'provision_type_unhandled', 'visual_pipeline_no_frontend', 'model_policy_blocked', 'model_policy_unsupported', 'deployer_required_before_tester', 'deployer_service_provisioning_incomplete', 'deployer_connection_test_failed', 'env_test_not_a_frame', 'env_test_infraless', 'env_test_not_provisionable', 'env_test_no_vcs', 'env_test_connection_failed', 'review_debt_warn', 'review_debt_blocked', 'prompt_revision_conflict', 'pipeline_schedule_attached', 'pipeline_schedule_requires_recurring', 'pipeline_schedule_intake_unconfigured', 'foundational_service_exists', 'binary_output_service_invalid', 'binary_output_generator_invalid', 'foundational_service_not_inherited'];
|
|
33
33
|
export type ConflictReason = (typeof CONFLICT_REASONS)[number];
|
|
34
|
+
/**
|
|
35
|
+
* Machine-readable reasons behind a 503 (`error.details.reason` on an `UnavailableError`), for
|
|
36
|
+
* the ones a USER can reach — the SPA keys an exhaustive `Record<UnavailableReason, …>` of
|
|
37
|
+
* message keys off this, exactly as it does for {@link CONFLICT_REASONS}.
|
|
38
|
+
*
|
|
39
|
+
* A 503 without a reason is left to the status class's generic copy, and that copy has to say
|
|
40
|
+
* something — today "this deployment has not configured the capability this action needs". For
|
|
41
|
+
* an outage that is the WRONG claim, and precisely the misattribution the reasons below exist to
|
|
42
|
+
* prevent one layer down: a node whose mothership is unreachable would tell an operator their
|
|
43
|
+
* deployment is misconfigured, sending them to a build with nothing wrong in it. So a 503 whose
|
|
44
|
+
* cause is "reachable, just not right now" belongs here rather than on the generic fallback.
|
|
45
|
+
*
|
|
46
|
+
* - `binary_generators_unreachable` — the deployment's generative binary integrations could
|
|
47
|
+
* not be read. On a mothership-mode node they are read
|
|
48
|
+
* from the mothership, and run admission refuses rather
|
|
49
|
+
* than resolving a step's `generatorIds` against an
|
|
50
|
+
* unknown set. Retryable; nothing is misconfigured.
|
|
51
|
+
* - `foundational_builtins_unreachable` — the same shape for the deployment's `builtin`
|
|
52
|
+
* foundational-services tier.
|
|
53
|
+
*/
|
|
54
|
+
export declare const UNAVAILABLE_REASONS: readonly ['binary_generators_unreachable', 'foundational_builtins_unreachable'];
|
|
55
|
+
export type UnavailableReason = (typeof UNAVAILABLE_REASONS)[number];
|
|
34
56
|
/**
|
|
35
57
|
* Machine-readable reasons a `review` task's target pull request is refused at creation
|
|
36
58
|
* (`error.details.reason` on the 422). Same contract as {@link CONFLICT_REASONS} — the code is
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,YAC7B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,CACN,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iJAA+C,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,YAC3B,wBAAwB,EAKxB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAG7B,0BAA0B,EAG1B,6BAA6B,EAG7B,sBAAsB,EAGtB,0BAA0B,EAI1B,iCAAiC,EAKjC,0CAA0C,EAK1C,iCAAiC,EAGjC,sBAAsB,EAGtB,oBAAoB,EAGpB,4BAA4B,EAG5B,iBAAiB,EAMjB,4BAA4B,EAK5B,kBAAkB,EAIlB,qBAAqB,EAKrB,0BAA0B,EAO1B,4BAA4B,EAG5B,sCAAsC,EAItC,uCAAuC,EAKvC,6BAA6B,EAS7B,+BAA+B,EAY/B,iCAAiC,EAOjC,oCAAoC,CAC5B,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,YAAI,qBAAqB,EAAE,yBAAyB,CAAU,CAAA;AAEhG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,YAC7B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,CACN,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iJAA+C,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,YAC3B,wBAAwB,EAKxB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAG7B,0BAA0B,EAG1B,6BAA6B,EAG7B,sBAAsB,EAGtB,0BAA0B,EAI1B,iCAAiC,EAKjC,0CAA0C,EAK1C,iCAAiC,EAGjC,sBAAsB,EAGtB,oBAAoB,EAGpB,4BAA4B,EAG5B,iBAAiB,EAMjB,4BAA4B,EAK5B,kBAAkB,EAIlB,qBAAqB,EAKrB,0BAA0B,EAO1B,4BAA4B,EAG5B,sCAAsC,EAItC,uCAAuC,EAKvC,6BAA6B,EAS7B,+BAA+B,EAY/B,iCAAiC,EAOjC,oCAAoC,CAC5B,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,mBAAmB,YAC9B,+BAA+B,EAC/B,mCAAmC,CAC3B,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,YAAI,qBAAqB,EAAE,yBAAyB,CAAU,CAAA;AAEhG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA"}
|