@cat-factory/contracts 0.285.0 → 0.287.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 +30 -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/binary-capabilities.d.ts +66 -1
- package/dist/binary-capabilities.d.ts.map +1 -1
- package/dist/binary-capabilities.js +105 -1
- package/dist/binary-capabilities.js.map +1 -1
- package/dist/binary-generators.d.ts +2 -2
- package/dist/binary-modalities.d.ts +18 -0
- package/dist/binary-modalities.d.ts.map +1 -1
- package/dist/binary-modalities.js +28 -0
- package/dist/binary-modalities.js.map +1 -1
- package/dist/binary-outputs.d.ts +38 -0
- package/dist/binary-outputs.d.ts.map +1 -1
- package/dist/binary-outputs.js +17 -1
- package/dist/binary-outputs.js.map +1 -1
- package/dist/build-ladder.d.ts +37 -0
- package/dist/build-ladder.d.ts.map +1 -0
- package/dist/build-ladder.js +46 -0
- package/dist/build-ladder.js.map +1 -0
- package/dist/entities.d.ts +39 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +26 -0
- package/dist/entities.js.map +1 -1
- package/dist/execution.d.ts +46 -6
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +17 -3
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/platform-agent-kinds.d.ts +19 -0
- package/dist/platform-agent-kinds.d.ts.map +1 -0
- package/dist/platform-agent-kinds.js +30 -0
- package/dist/platform-agent-kinds.js.map +1 -0
- package/dist/public-spec.d.ts +152 -2
- package/dist/public-spec.d.ts.map +1 -1
- package/dist/public-spec.js +74 -2
- package/dist/public-spec.js.map +1 -1
- package/dist/requests.d.ts +17 -0
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +10 -0
- package/dist/requests.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +16 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +16 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +1251 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/execution.js +13 -1
- package/dist/routes/execution.js.map +1 -1
- package/dist/routes/human-review.d.ts +8 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +40 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/pipelines.d.ts +30 -0
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/public-spec.d.ts +110 -0
- package/dist/routes/public-spec.d.ts.map +1 -1
- package/dist/routes/public-spec.js +28 -8
- package/dist/routes/public-spec.js.map +1 -1
- package/dist/routes/visual-confirm.d.ts +24 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +28 -2
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +32 -9
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +18 -8
- package/dist/snapshot.js.map +1 -1
- package/dist/step-conditions.d.ts +98 -0
- package/dist/step-conditions.d.ts.map +1 -0
- package/dist/step-conditions.js +109 -0
- package/dist/step-conditions.js.map +1 -0
- package/package.json +1 -1
|
@@ -94,6 +94,21 @@ export declare const agentPresentationSchema: v.ObjectSchema<{
|
|
|
94
94
|
* panel — the `pairById` `missing` bucket). Omitted ⇒ the generic step-detail panel.
|
|
95
95
|
*/
|
|
96
96
|
readonly resultView: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["outcome", "requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "visual-confirm", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups", "merger", "initiative-tracker", "initiative-planning", "doc-interview", "fork-decision", "binary-candidates", "judge", "pr-review", "ralph-loop"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
|
|
97
|
+
/**
|
|
98
|
+
* When true the kind is INTERNAL: the platform dispatches it for a flow of its own and the
|
|
99
|
+
* builder palette never offers it as a placeable block. The environment analyst is the model —
|
|
100
|
+
* it exists to draft a stack recipe for the setup wizard, which runs it on demand, and a step of
|
|
101
|
+
* it in a hand-built pipeline has nothing to hand its draft to.
|
|
102
|
+
*
|
|
103
|
+
* Deliberately NOT expressed by omitting {@link category}: a kind with no category is not a
|
|
104
|
+
* palette block either, but it is also how a COMPANION and a deployment kind that simply
|
|
105
|
+
* classified nothing arrive, and the palette files those under "Custom" rather than dropping
|
|
106
|
+
* them. This says the opposite thing on purpose — do not offer it, whatever else it declares —
|
|
107
|
+
* and it still carries the label/icon/result view every run view needs to RENDER the step.
|
|
108
|
+
*
|
|
109
|
+
* Absent / false ⇒ an ordinary palette block.
|
|
110
|
+
*/
|
|
111
|
+
readonly internal: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
97
112
|
}, undefined>;
|
|
98
113
|
export type AgentPresentation = v.InferOutput<typeof agentPresentationSchema>;
|
|
99
114
|
/** A registered agent kind's id + presentation + whether it runs in a container — the
|
|
@@ -153,6 +168,21 @@ export declare const customAgentKindSchema: v.ObjectSchema<{
|
|
|
153
168
|
* panel — the `pairById` `missing` bucket). Omitted ⇒ the generic step-detail panel.
|
|
154
169
|
*/
|
|
155
170
|
readonly resultView: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["outcome", "requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "visual-confirm", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups", "merger", "initiative-tracker", "initiative-planning", "doc-interview", "fork-decision", "binary-candidates", "judge", "pr-review", "ralph-loop"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
|
|
171
|
+
/**
|
|
172
|
+
* When true the kind is INTERNAL: the platform dispatches it for a flow of its own and the
|
|
173
|
+
* builder palette never offers it as a placeable block. The environment analyst is the model —
|
|
174
|
+
* it exists to draft a stack recipe for the setup wizard, which runs it on demand, and a step of
|
|
175
|
+
* it in a hand-built pipeline has nothing to hand its draft to.
|
|
176
|
+
*
|
|
177
|
+
* Deliberately NOT expressed by omitting {@link category}: a kind with no category is not a
|
|
178
|
+
* palette block either, but it is also how a COMPANION and a deployment kind that simply
|
|
179
|
+
* classified nothing arrive, and the palette files those under "Custom" rather than dropping
|
|
180
|
+
* them. This says the opposite thing on purpose — do not offer it, whatever else it declares —
|
|
181
|
+
* and it still carries the label/icon/result view every run view needs to RENDER the step.
|
|
182
|
+
*
|
|
183
|
+
* Absent / false ⇒ an ordinary palette block.
|
|
184
|
+
*/
|
|
185
|
+
readonly internal: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
156
186
|
}, undefined>;
|
|
157
187
|
/** Whether the kind runs in a container (vs an inline LLM call). */
|
|
158
188
|
readonly container: v.BooleanSchema<undefined>;
|
|
@@ -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;AAa5B,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;;;;;;;;;;;;;;;;;;OAkBG;;IAEH;;;;;OAKG;;IAEH;;;;;;;;OAQG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;6DAC6D;AAC7D,eAAO,MAAM,qBAAqB;;;
|
|
1
|
+
{"version":3,"file":"agent-presentation.d.ts","sourceRoot":"","sources":["../src/agent-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B,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;;;;;;;;;;;;;;;;;;OAkBG;;IAEH;;;;;OAKG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;;;;;;;;;OAaG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;6DAC6D;AAC7D,eAAO,MAAM,qBAAqB;;;QAxEhC,4CAA4C;;QAE5C,2CAA2C;;QAE3C,uCAAuC;;QAEvC;;;;;WAKG;;QAEH,gGAAgG;;QAEhG;;;;;;;;;;;;;;;;;;WAkBG;;QAEH;;;;;WAKG;;QAEH;;;;;;;;WAQG;;QAEH;;;;;;;;;;;;;WAaG;;;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"}
|
|
@@ -124,6 +124,21 @@ export const agentPresentationSchema = v.object({
|
|
|
124
124
|
* panel — the `pairById` `missing` bucket). Omitted ⇒ the generic step-detail panel.
|
|
125
125
|
*/
|
|
126
126
|
resultView: v.optional(v.union([v.picklist(RESULT_VIEW_IDS), namespacedIdSchema])),
|
|
127
|
+
/**
|
|
128
|
+
* When true the kind is INTERNAL: the platform dispatches it for a flow of its own and the
|
|
129
|
+
* builder palette never offers it as a placeable block. The environment analyst is the model —
|
|
130
|
+
* it exists to draft a stack recipe for the setup wizard, which runs it on demand, and a step of
|
|
131
|
+
* it in a hand-built pipeline has nothing to hand its draft to.
|
|
132
|
+
*
|
|
133
|
+
* Deliberately NOT expressed by omitting {@link category}: a kind with no category is not a
|
|
134
|
+
* palette block either, but it is also how a COMPANION and a deployment kind that simply
|
|
135
|
+
* classified nothing arrive, and the palette files those under "Custom" rather than dropping
|
|
136
|
+
* them. This says the opposite thing on purpose — do not offer it, whatever else it declares —
|
|
137
|
+
* and it still carries the label/icon/result view every run view needs to RENDER the step.
|
|
138
|
+
*
|
|
139
|
+
* Absent / false ⇒ an ordinary palette block.
|
|
140
|
+
*/
|
|
141
|
+
internal: v.optional(v.boolean()),
|
|
127
142
|
});
|
|
128
143
|
/** A registered agent kind's id + presentation + whether it runs in a container — the
|
|
129
144
|
* snapshot entry the SPA merges into its palette catalog. */
|
|
@@ -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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"}
|
|
@@ -26,7 +26,7 @@ import * as v from 'valibot';
|
|
|
26
26
|
* Anything that does not clear the bar stays prose in `description` / `guidance`, which is where
|
|
27
27
|
* "good at pixel art", "expensive above 2K" and "rate limited to 5/min" belong.
|
|
28
28
|
*/
|
|
29
|
-
export declare const binaryGeneratorCapabilitySchema: v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>;
|
|
29
|
+
export declare const binaryGeneratorCapabilitySchema: v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "exact-size", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>;
|
|
30
30
|
export type BinaryGeneratorCapability = v.InferOutput<typeof binaryGeneratorCapabilitySchema>;
|
|
31
31
|
/**
|
|
32
32
|
* Whether a value is still a member of the vocabulary, DERIVED from the picklist.
|
|
@@ -124,6 +124,32 @@ export declare const binaryEditRequestSchema: v.ObjectSchema<{
|
|
|
124
124
|
}, undefined>, undefined>;
|
|
125
125
|
}, undefined>;
|
|
126
126
|
export type BinaryEditRequest = v.InferOutput<typeof binaryEditRequestSchema>;
|
|
127
|
+
/**
|
|
128
|
+
* The largest pixel extent either axis may carry: a SANITY ceiling on the field, never a claim
|
|
129
|
+
* about what any endpoint supports.
|
|
130
|
+
*
|
|
131
|
+
* Nothing here knows Flux's 4 MP cap or Retro Diffusion's per-style range, and by design nothing
|
|
132
|
+
* will: the platform checks that a step CAN be asked for dimensions (the `exact-size` capability)
|
|
133
|
+
* and states the number to the agent, which is the party holding the vendor's contract when it
|
|
134
|
+
* writes the call. Exported so the read-back that re-checks a reported dimension bounds it against
|
|
135
|
+
* the same number the write boundary does.
|
|
136
|
+
*/
|
|
137
|
+
export declare const MAX_BINARY_PIXEL_EXTENT = 16384;
|
|
138
|
+
/**
|
|
139
|
+
* Exact output DIMENSIONS in pixels, for the deliverables where the size IS the requirement.
|
|
140
|
+
*
|
|
141
|
+
* A named schema rather than an inline object, for the reason {@link binaryEditRequestSchema} is
|
|
142
|
+
* one: this nests another object level under an already-deep chain and a named const is where
|
|
143
|
+
* `tsc` stops re-instantiating it.
|
|
144
|
+
*
|
|
145
|
+
* Both members are required together: a width with no height describes no deliverable, and half a
|
|
146
|
+
* pair would let a size comparison downstream read one axis as matching.
|
|
147
|
+
*/
|
|
148
|
+
export declare const binaryOutputSizeSchema: v.ObjectSchema<{
|
|
149
|
+
readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
150
|
+
readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
151
|
+
}, undefined>;
|
|
152
|
+
export type BinaryOutputSize = v.InferOutput<typeof binaryOutputSizeSchema>;
|
|
127
153
|
/**
|
|
128
154
|
* The per-step GENERATION OPTIONS: the parameters a step wants every generation to carry, each
|
|
129
155
|
* gated by the capability that makes it answerable ({@link BINARY_OPTION_CAPABILITIES}).
|
|
@@ -215,6 +241,19 @@ export declare const binaryGenerationOptionsObject: v.ObjectSchema<{
|
|
|
215
241
|
readonly seed: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>, undefined>;
|
|
216
242
|
/** `16:9`, `1:1`, `3:2`. Needs `aspect-ratio`. */
|
|
217
243
|
readonly aspectRatio: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 16, undefined>, v.RegexAction<string, "must be an aspect ratio of the form W:H">]>, undefined>;
|
|
244
|
+
/**
|
|
245
|
+
* Exact pixel dimensions every artifact must be delivered at. Needs `exact-size`.
|
|
246
|
+
*
|
|
247
|
+
* Mutually exclusive with `aspectRatio` and `upscale`, refused structurally at pipeline save
|
|
248
|
+
* (`assertUnambiguousOutputSize`): each of those states the final dimensions in a second,
|
|
249
|
+
* possibly disagreeing way, and the party who would reconcile them is the agent writing the
|
|
250
|
+
* call — the one with the least basis for deciding, which is the same argument that keeps
|
|
251
|
+
* `mediaTypes` from meaning "any of these".
|
|
252
|
+
*/
|
|
253
|
+
readonly outputSize: v.OptionalSchema<v.ObjectSchema<{
|
|
254
|
+
readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
255
|
+
readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
256
|
+
}, undefined>, undefined>;
|
|
218
257
|
/** Render at this multiple of the integration's native size. Needs `upscale`. */
|
|
219
258
|
readonly upscale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 2, undefined>, v.MaxValueAction<number, 8, undefined>]>, undefined>;
|
|
220
259
|
/** Deliver an alpha channel rather than a background. Needs `transparent-background`. */
|
|
@@ -245,6 +284,7 @@ export interface BinaryGenerationOptions {
|
|
|
245
284
|
negativePrompt?: string | undefined;
|
|
246
285
|
seed?: number | undefined;
|
|
247
286
|
aspectRatio?: string | undefined;
|
|
287
|
+
outputSize?: BinaryOutputSize | undefined;
|
|
248
288
|
upscale?: number | undefined;
|
|
249
289
|
transparentBackground?: true | undefined;
|
|
250
290
|
tileable?: true | undefined;
|
|
@@ -279,6 +319,31 @@ export declare const BINARY_OPTION_CAPABILITIES: Record<keyof BinaryGenerationOp
|
|
|
279
319
|
* a selection that works. The brief states which of the two the agent should do.
|
|
280
320
|
*/
|
|
281
321
|
export declare function requiredBinaryCapabilities(options: BinaryGenerationOptions | undefined): BinaryGeneratorCapability[];
|
|
322
|
+
/**
|
|
323
|
+
* A generation option that states the DELIVERED DIMENSIONS a second time, beside an exact
|
|
324
|
+
* `outputSize`. The union is the option keys themselves, so a reader on either side of the wire
|
|
325
|
+
* names the field the composer has to delete.
|
|
326
|
+
*/
|
|
327
|
+
export type ConflictingOutputSizeOption = 'aspectRatio' | 'upscale';
|
|
328
|
+
/**
|
|
329
|
+
* The options that restate the delivered dimensions beside an exact {@link BinaryOutputSize}, in a
|
|
330
|
+
* stable order. Empty when the step asks for no exact size, which stays the ordinary case.
|
|
331
|
+
*
|
|
332
|
+
* `aspectRatio` states the shape the size already fixes, and `upscale` states a multiple of
|
|
333
|
+
* whatever the integration renders natively, so either one held beside a size leaves the
|
|
334
|
+
* deliverable's actual dimensions undetermined at exactly the point the step went to the trouble of
|
|
335
|
+
* determining them. The platform refuses that rather than resolving it by precedence: the party a
|
|
336
|
+
* precedence rule hands the leftover decision to is the AGENT writing the vendor call, which reads
|
|
337
|
+
* "96x96" and "16:9" in one brief and picks. Two contradicting statements of one fact is a
|
|
338
|
+
* mis-configured step and the fix (delete one) is unambiguous, which is what makes refusing it the
|
|
339
|
+
* cheap option.
|
|
340
|
+
*
|
|
341
|
+
* Shared rather than restated on each side, like {@link binaryFormatCoverage} one axis over: the
|
|
342
|
+
* backend REFUSES the save with it and the SPA has to state the same refusal in the builder, where
|
|
343
|
+
* it is fixable without a round trip. A rule with a home on only one side becomes a hand-kept copy
|
|
344
|
+
* on the other, and the two then disagree about which selection is legal.
|
|
345
|
+
*/
|
|
346
|
+
export declare function conflictingOutputSizeOptions(options: BinaryGenerationOptions | undefined): ConflictingOutputSizeOption[];
|
|
282
347
|
/** How a step's required capabilities stand against what its selected integrations declare. */
|
|
283
348
|
export interface BinaryCapabilityCoverage {
|
|
284
349
|
/** Required capabilities no selected integration declares, judged against integrations that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-capabilities.d.ts","sourceRoot":"","sources":["../src/binary-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuB5B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"binary-capabilities.d.ts","sourceRoot":"","sources":["../src/binary-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,8 +79,46 @@ export const binaryGeneratorCapabilitySchema = v.picklist([
|
|
|
79
79
|
* rather than accidental.
|
|
80
80
|
*/
|
|
81
81
|
'seed',
|
|
82
|
-
/**
|
|
82
|
+
/**
|
|
83
|
+
* Accepts an explicit aspect SHAPE: a ratio (`16:9`), or a fixed set of size buckets it
|
|
84
|
+
* rounds to. Unlocks `generation.aspectRatio`.
|
|
85
|
+
*
|
|
86
|
+
* Deliberately NOT "a ratio or an output size", which is what this member said while it was
|
|
87
|
+
* the only one on the axis. A bucketed API (`image_size: square | portrait | landscape`,
|
|
88
|
+
* `resolution: 1k | 2k`) honours a ratio exactly and an exact pixel size not at all, so one
|
|
89
|
+
* member covering both made the two integrations that CAN be handed dimensions
|
|
90
|
+
* indistinguishable from the two that cannot — see {@link 'exact-size'}.
|
|
91
|
+
*/
|
|
83
92
|
'aspect-ratio',
|
|
93
|
+
/**
|
|
94
|
+
* Accepts exact output DIMENSIONS in pixels: a width and a height it renders at natively,
|
|
95
|
+
* rather than a shape it rounds to. Unlocks `generation.outputSize`.
|
|
96
|
+
*
|
|
97
|
+
* Its own member rather than a refinement of `aspect-ratio`, because the two partition
|
|
98
|
+
* differently and the difference is the whole deliverable for anything rendered to a fixed
|
|
99
|
+
* grid. A 96x96 inventory icon asked of a bucketed endpoint does not come back slightly
|
|
100
|
+
* wrong: it comes back as a 1K render downscaled 4x, which on pixel art is not the same asset
|
|
101
|
+
* at any level of care, and every check downstream passes (the modality is covered, the
|
|
102
|
+
* format is covered, the upload succeeded). The consumer that rejects it is the game, weeks
|
|
103
|
+
* later.
|
|
104
|
+
*
|
|
105
|
+
* The vocabulary stays FLAT: an API taking width and height can honour any ratio, so it
|
|
106
|
+
* declares BOTH members rather than this one implying the other. That is the same shape
|
|
107
|
+
* `reference-image` / `multi-reference` already has, and it is chosen for the same reason —
|
|
108
|
+
* an implication table is an ordering over a picklist that every future member would then
|
|
109
|
+
* have to be placed in, to save a deployment one word in its own registration, and the cost
|
|
110
|
+
* of forgetting that word is a loud refusal naming the capability rather than a silent
|
|
111
|
+
* mis-render.
|
|
112
|
+
*
|
|
113
|
+
* What this does NOT do is state which sizes an endpoint supports. Flux caps at 4 MP and
|
|
114
|
+
* wants multiples of 32; Retro Diffusion's range moves with the style. A per-integration size
|
|
115
|
+
* TABLE is refused on the design record's own grounds (it is the `resolutionRange`
|
|
116
|
+
* discriminator wearing a new name, and it goes stale in this repo while the vendor changes
|
|
117
|
+
* it in theirs). This member answers only the question that is a durable fact about the
|
|
118
|
+
* endpoint's REQUEST SHAPE: can it be handed dimensions at all. The rest is the integration's
|
|
119
|
+
* own `guidance`, where a sentence can say what the limits are.
|
|
120
|
+
*/
|
|
121
|
+
'exact-size',
|
|
84
122
|
/**
|
|
85
123
|
* Returns SEVERAL candidates for one prompt in ONE call. Exposes no control of its own: it
|
|
86
124
|
* changes what the candidate brief ASKS FOR (request `n` in a single call, rather than
|
|
@@ -191,6 +229,31 @@ export const binaryEditRequestSchema = v.object({
|
|
|
191
229
|
/** The mask, for `mask` mode. Absent in `mask` mode is a gap the brief STATES. */
|
|
192
230
|
mask: v.optional(binaryAssetRefSchema),
|
|
193
231
|
});
|
|
232
|
+
/**
|
|
233
|
+
* The largest pixel extent either axis may carry: a SANITY ceiling on the field, never a claim
|
|
234
|
+
* about what any endpoint supports.
|
|
235
|
+
*
|
|
236
|
+
* Nothing here knows Flux's 4 MP cap or Retro Diffusion's per-style range, and by design nothing
|
|
237
|
+
* will: the platform checks that a step CAN be asked for dimensions (the `exact-size` capability)
|
|
238
|
+
* and states the number to the agent, which is the party holding the vendor's contract when it
|
|
239
|
+
* writes the call. Exported so the read-back that re-checks a reported dimension bounds it against
|
|
240
|
+
* the same number the write boundary does.
|
|
241
|
+
*/
|
|
242
|
+
export const MAX_BINARY_PIXEL_EXTENT = 16384;
|
|
243
|
+
/**
|
|
244
|
+
* Exact output DIMENSIONS in pixels, for the deliverables where the size IS the requirement.
|
|
245
|
+
*
|
|
246
|
+
* A named schema rather than an inline object, for the reason {@link binaryEditRequestSchema} is
|
|
247
|
+
* one: this nests another object level under an already-deep chain and a named const is where
|
|
248
|
+
* `tsc` stops re-instantiating it.
|
|
249
|
+
*
|
|
250
|
+
* Both members are required together: a width with no height describes no deliverable, and half a
|
|
251
|
+
* pair would let a size comparison downstream read one axis as matching.
|
|
252
|
+
*/
|
|
253
|
+
export const binaryOutputSizeSchema = v.object({
|
|
254
|
+
width: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(MAX_BINARY_PIXEL_EXTENT)),
|
|
255
|
+
height: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(MAX_BINARY_PIXEL_EXTENT)),
|
|
256
|
+
});
|
|
194
257
|
/**
|
|
195
258
|
* The per-step GENERATION OPTIONS: the parameters a step wants every generation to carry, each
|
|
196
259
|
* gated by the capability that makes it answerable ({@link BINARY_OPTION_CAPABILITIES}).
|
|
@@ -233,6 +296,16 @@ export const binaryGenerationOptionsObject = v.object({
|
|
|
233
296
|
seed: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(4294967295))),
|
|
234
297
|
/** `16:9`, `1:1`, `3:2`. Needs `aspect-ratio`. */
|
|
235
298
|
aspectRatio: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(16), v.regex(/^[1-9][0-9]{0,3}:[1-9][0-9]{0,3}$/, 'must be an aspect ratio of the form W:H'))),
|
|
299
|
+
/**
|
|
300
|
+
* Exact pixel dimensions every artifact must be delivered at. Needs `exact-size`.
|
|
301
|
+
*
|
|
302
|
+
* Mutually exclusive with `aspectRatio` and `upscale`, refused structurally at pipeline save
|
|
303
|
+
* (`assertUnambiguousOutputSize`): each of those states the final dimensions in a second,
|
|
304
|
+
* possibly disagreeing way, and the party who would reconcile them is the agent writing the
|
|
305
|
+
* call — the one with the least basis for deciding, which is the same argument that keeps
|
|
306
|
+
* `mediaTypes` from meaning "any of these".
|
|
307
|
+
*/
|
|
308
|
+
outputSize: v.optional(binaryOutputSizeSchema),
|
|
236
309
|
/** Render at this multiple of the integration's native size. Needs `upscale`. */
|
|
237
310
|
upscale: v.optional(v.pipe(v.number(), v.integer(), v.minValue(2), v.maxValue(8))),
|
|
238
311
|
/** Deliver an alpha channel rather than a background. Needs `transparent-background`. */
|
|
@@ -261,6 +334,7 @@ export const BINARY_OPTION_CAPABILITIES = {
|
|
|
261
334
|
negativePrompt: ['negative-prompt'],
|
|
262
335
|
seed: ['seed'],
|
|
263
336
|
aspectRatio: ['aspect-ratio'],
|
|
337
|
+
outputSize: ['exact-size'],
|
|
264
338
|
upscale: ['upscale'],
|
|
265
339
|
transparentBackground: ['transparent-background'],
|
|
266
340
|
tileable: ['tileable'],
|
|
@@ -296,6 +370,8 @@ export function requiredBinaryCapabilities(options) {
|
|
|
296
370
|
required.push('seed');
|
|
297
371
|
if (options.aspectRatio)
|
|
298
372
|
required.push('aspect-ratio');
|
|
373
|
+
if (options.outputSize)
|
|
374
|
+
required.push('exact-size');
|
|
299
375
|
if (options.upscale !== undefined)
|
|
300
376
|
required.push('upscale');
|
|
301
377
|
if (options.transparentBackground)
|
|
@@ -304,6 +380,34 @@ export function requiredBinaryCapabilities(options) {
|
|
|
304
380
|
required.push('tileable');
|
|
305
381
|
return required;
|
|
306
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* The options that restate the delivered dimensions beside an exact {@link BinaryOutputSize}, in a
|
|
385
|
+
* stable order. Empty when the step asks for no exact size, which stays the ordinary case.
|
|
386
|
+
*
|
|
387
|
+
* `aspectRatio` states the shape the size already fixes, and `upscale` states a multiple of
|
|
388
|
+
* whatever the integration renders natively, so either one held beside a size leaves the
|
|
389
|
+
* deliverable's actual dimensions undetermined at exactly the point the step went to the trouble of
|
|
390
|
+
* determining them. The platform refuses that rather than resolving it by precedence: the party a
|
|
391
|
+
* precedence rule hands the leftover decision to is the AGENT writing the vendor call, which reads
|
|
392
|
+
* "96x96" and "16:9" in one brief and picks. Two contradicting statements of one fact is a
|
|
393
|
+
* mis-configured step and the fix (delete one) is unambiguous, which is what makes refusing it the
|
|
394
|
+
* cheap option.
|
|
395
|
+
*
|
|
396
|
+
* Shared rather than restated on each side, like {@link binaryFormatCoverage} one axis over: the
|
|
397
|
+
* backend REFUSES the save with it and the SPA has to state the same refusal in the builder, where
|
|
398
|
+
* it is fixable without a round trip. A rule with a home on only one side becomes a hand-kept copy
|
|
399
|
+
* on the other, and the two then disagree about which selection is legal.
|
|
400
|
+
*/
|
|
401
|
+
export function conflictingOutputSizeOptions(options) {
|
|
402
|
+
if (!options?.outputSize)
|
|
403
|
+
return [];
|
|
404
|
+
const conflicts = [];
|
|
405
|
+
if (options.aspectRatio)
|
|
406
|
+
conflicts.push('aspectRatio');
|
|
407
|
+
if (options.upscale !== undefined)
|
|
408
|
+
conflicts.push('upscale');
|
|
409
|
+
return conflicts;
|
|
410
|
+
}
|
|
307
411
|
/**
|
|
308
412
|
* Judge `required` against what `selected` declares it can do.
|
|
309
413
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-capabilities.js","sourceRoot":"","sources":["../src/binary-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,gGAAgG;AAChG,sDAAsD;AACtD,EAAE;AACF,+FAA+F;AAC/F,kGAAkG;AAClG,gGAAgG;AAChG,gGAAgG;AAChG,iGAAiG;AACjG,8FAA8F;AAC9F,6FAA6F;AAC7F,yBAAyB;AACzB,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,4FAA4F;AAC5F,gGAAgG;AAChG,+FAA+F;AAC/F,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,QAAQ,CAAC;IACxD;;;OAGG;IACH,iBAAiB;IACjB;;;;;OAKG;IACH,iBAAiB;IACjB;;;OAGG;IACH,kBAAkB;IAClB;;;;;OAKG;IACH,WAAW;IACX,yFAAyF;IACzF,iBAAiB;IACjB;;;;OAIG;IACH,MAAM;IACN
|
|
1
|
+
{"version":3,"file":"binary-capabilities.js","sourceRoot":"","sources":["../src/binary-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,7 +95,7 @@ export declare const binaryGeneratorDefinitionSchema: v.ObjectSchema<{
|
|
|
95
95
|
* platform exposes something because of it. A vendor knob nobody else has stays in
|
|
96
96
|
* {@link guidance}, where a sentence can say what it does.
|
|
97
97
|
*/
|
|
98
|
-
readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
|
|
98
|
+
readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "exact-size", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
|
|
99
99
|
/**
|
|
100
100
|
* The API's base URL. Stated to the agent so it does not have to infer one from the contract,
|
|
101
101
|
* and refused at registration unless it is `https` (or loopback) — the credential above rides
|
|
@@ -200,7 +200,7 @@ export declare const registeredBinaryGeneratorSchema: v.ObjectSchema<{
|
|
|
200
200
|
* integration IS, not how to reach it. The credential key name, the endpoint and the contracts
|
|
201
201
|
* remain absent, because a workspace viewer has no business learning them.
|
|
202
202
|
*/
|
|
203
|
-
readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
|
|
203
|
+
readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "exact-size", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
|
|
204
204
|
}, undefined>;
|
|
205
205
|
export type RegisteredBinaryGenerator = v.InferOutput<typeof registeredBinaryGeneratorSchema>;
|
|
206
206
|
export declare function binaryGeneratorDefinitionIssues(definition: unknown): string[];
|
|
@@ -46,6 +46,24 @@ export type BinaryModality = v.InferOutput<typeof binaryModalitySchema>;
|
|
|
46
46
|
* that the split exists to make someone restate.
|
|
47
47
|
*/
|
|
48
48
|
export declare function isBinaryModality(value: string): value is BinaryModality;
|
|
49
|
+
/**
|
|
50
|
+
* Whether artifacts of this content type are MEASURED in pixels, so an exact
|
|
51
|
+
* `generation.outputSize` is a statement about them at all.
|
|
52
|
+
*
|
|
53
|
+
* An exhaustive `Record` rather than a set membership test, so a new member of the vocabulary
|
|
54
|
+
* fails the build until someone decides which side of this it falls on. The answers are facts
|
|
55
|
+
* about the media, not preferences: an image and a video frame have a width and a height, while
|
|
56
|
+
* audio has a duration, a 3D asset has model units a renderer scales, and a document has a page
|
|
57
|
+
* size in millimetres. None of the last three becomes measurable by asking harder.
|
|
58
|
+
*
|
|
59
|
+
* It exists because a size requirement on a MIXED step is not a requirement on every artifact.
|
|
60
|
+
* A step selecting an image generator and an audio generator states one size, means it about the
|
|
61
|
+
* images, and a reader that judged the audio against it would report a permanent failure about a
|
|
62
|
+
* step that delivered exactly what was asked. Shared rather than restated in the SPA for the
|
|
63
|
+
* standing reason: the surface that COUNTS a size failure and the layer that states the
|
|
64
|
+
* requirement must not be able to disagree about which artifacts it covers.
|
|
65
|
+
*/
|
|
66
|
+
export declare function modalityCarriesPixelDimensions(modality: BinaryModality): boolean;
|
|
49
67
|
/** A content type that more than one of a step's selected integrations produces. */
|
|
50
68
|
export interface BinaryModalityOverlap {
|
|
51
69
|
/** The content type they share. */
|
|
@@ -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;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AAID,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,iFAAiF;IACjF,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EAAE,GAC3E,qBAAqB,EAAE,CAiBzB;AAED,gGAAgG;AAChG,MAAM,WAAW,oBAAoB;IACnC;wCACoC;IACpC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;kGAC8F;IAC9F,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,EAAE,SAAS;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAAE,GACtD,oBAAoB,CAatB;AAKD;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"binary-modalities.d.ts","sourceRoot":"","sources":["../src/binary-modalities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEhF;AAWD,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,iFAAiF;IACjF,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,EAAE,GAC3E,qBAAqB,EAAE,CAiBzB;AAED,gGAAgG;AAChG,MAAM,WAAW,oBAAoB;IACnC;wCACoC;IACpC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;kGAC8F;IAC9F,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,EAAE,SAAS;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAAE,GACtD,oBAAoB,CAatB;AAKD;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -86,6 +86,34 @@ export function isBinaryModality(value) {
|
|
|
86
86
|
return BINARY_MODALITY_SET.has(value);
|
|
87
87
|
}
|
|
88
88
|
const BINARY_MODALITY_SET = new Set(binaryModalitySchema.options);
|
|
89
|
+
/**
|
|
90
|
+
* Whether artifacts of this content type are MEASURED in pixels, so an exact
|
|
91
|
+
* `generation.outputSize` is a statement about them at all.
|
|
92
|
+
*
|
|
93
|
+
* An exhaustive `Record` rather than a set membership test, so a new member of the vocabulary
|
|
94
|
+
* fails the build until someone decides which side of this it falls on. The answers are facts
|
|
95
|
+
* about the media, not preferences: an image and a video frame have a width and a height, while
|
|
96
|
+
* audio has a duration, a 3D asset has model units a renderer scales, and a document has a page
|
|
97
|
+
* size in millimetres. None of the last three becomes measurable by asking harder.
|
|
98
|
+
*
|
|
99
|
+
* It exists because a size requirement on a MIXED step is not a requirement on every artifact.
|
|
100
|
+
* A step selecting an image generator and an audio generator states one size, means it about the
|
|
101
|
+
* images, and a reader that judged the audio against it would report a permanent failure about a
|
|
102
|
+
* step that delivered exactly what was asked. Shared rather than restated in the SPA for the
|
|
103
|
+
* standing reason: the surface that COUNTS a size failure and the layer that states the
|
|
104
|
+
* requirement must not be able to disagree about which artifacts it covers.
|
|
105
|
+
*/
|
|
106
|
+
export function modalityCarriesPixelDimensions(modality) {
|
|
107
|
+
return PIXEL_MEASURED_MODALITY[modality];
|
|
108
|
+
}
|
|
109
|
+
const PIXEL_MEASURED_MODALITY = {
|
|
110
|
+
image: true,
|
|
111
|
+
video: true,
|
|
112
|
+
audio: false,
|
|
113
|
+
'3d-model': false,
|
|
114
|
+
'3d-scene': false,
|
|
115
|
+
document: false,
|
|
116
|
+
};
|
|
89
117
|
/**
|
|
90
118
|
* The content types more than one of these integrations produces.
|
|
91
119
|
*
|
|
@@ -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,EAAE;AACF,wFAAwF;AACxF,gGAAgG;AAChG,kGAAkG;AAClG,kGAAkG;AAClG,gGAAgG;AAChG,kGAAkG;AAClG,qEAAqE;AACrE,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,+EAA+E;IAC/E,OAAO;IACP,2FAA2F;IAC3F,OAAO;IACP,mFAAmF;IACnF,OAAO;IACP;;;;OAIG;IACH,UAAU;IACV;;;;OAIG;IACH,UAAU;IACV,0DAA0D;IAC1D,UAAU;CACX,CAAC,CAAA;AAGF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;
|
|
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
|
@@ -133,6 +133,25 @@ export declare const binaryOutputArtifactSchema: v.ObjectSchema<{
|
|
|
133
133
|
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
134
134
|
/** A one-line description of what was generated. */
|
|
135
135
|
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* The artifact's pixel dimensions as the agent reports them, for the steps that asked for an
|
|
138
|
+
* exact `generation.outputSize`.
|
|
139
|
+
*
|
|
140
|
+
* The same epistemic status as {@link contentType} beside it, and recorded on the same terms:
|
|
141
|
+
* it is the agent's own claim, the platform never holds the bytes, and a reader judges it. It
|
|
142
|
+
* earns its place because the size requirement is otherwise checked only at the grain of "can
|
|
143
|
+
* this integration be ASKED for dimensions" — admission's half — and the failure the
|
|
144
|
+
* requirement exists to catch is a DELIVERY fact. `undeliveredMediaTypes` is the same
|
|
145
|
+
* judgement one axis over, made from the same kind of self-report.
|
|
146
|
+
*
|
|
147
|
+
* ABSENT is a third state and not a pass: an artifact reporting no dimensions is not judged
|
|
148
|
+
* against the step's size, because "we were not told" and "it came back wrong" are different
|
|
149
|
+
* facts and only the second is evidence of anything.
|
|
150
|
+
*/
|
|
151
|
+
readonly dimensions: v.OptionalSchema<v.ObjectSchema<{
|
|
152
|
+
readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
153
|
+
readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
154
|
+
}, undefined>, undefined>;
|
|
136
155
|
/**
|
|
137
156
|
* The generative integration the agent says PRODUCED the artifact, lowercased on read-back
|
|
138
157
|
* like {@link service}. Optional because a step may generate without a registered integration
|
|
@@ -185,6 +204,25 @@ export declare const binaryOutputReportSchema: v.ObjectSchema<{
|
|
|
185
204
|
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
186
205
|
/** A one-line description of what was generated. */
|
|
187
206
|
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
207
|
+
/**
|
|
208
|
+
* The artifact's pixel dimensions as the agent reports them, for the steps that asked for an
|
|
209
|
+
* exact `generation.outputSize`.
|
|
210
|
+
*
|
|
211
|
+
* The same epistemic status as {@link contentType} beside it, and recorded on the same terms:
|
|
212
|
+
* it is the agent's own claim, the platform never holds the bytes, and a reader judges it. It
|
|
213
|
+
* earns its place because the size requirement is otherwise checked only at the grain of "can
|
|
214
|
+
* this integration be ASKED for dimensions" — admission's half — and the failure the
|
|
215
|
+
* requirement exists to catch is a DELIVERY fact. `undeliveredMediaTypes` is the same
|
|
216
|
+
* judgement one axis over, made from the same kind of self-report.
|
|
217
|
+
*
|
|
218
|
+
* ABSENT is a third state and not a pass: an artifact reporting no dimensions is not judged
|
|
219
|
+
* against the step's size, because "we were not told" and "it came back wrong" are different
|
|
220
|
+
* facts and only the second is evidence of anything.
|
|
221
|
+
*/
|
|
222
|
+
readonly dimensions: v.OptionalSchema<v.ObjectSchema<{
|
|
223
|
+
readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
224
|
+
readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
|
|
225
|
+
}, undefined>, undefined>;
|
|
188
226
|
/**
|
|
189
227
|
* The generative integration the agent says PRODUCED the artifact, lowercased on read-back
|
|
190
228
|
* like {@link service}. Optional because a step may generate without a registered integration
|
|
@@ -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;AAqB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;OASG;;;;;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;;
|
|
1
|
+
{"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;OASG;;;;;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;;;;;;;;;;;;;;OAcG;;;;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;QAnEnC;;;;;WAKG;;QAEH;;;WAGG;;QAEH,8FAA8F;;QAE9F,uEAAuE;;QAEvE,oDAAoD;;QAEpD;;;;;;;;;;;;;;WAcG;;;;;QAEH;;;;;;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 { binaryGenerationOptionsSchema } from './binary-capabilities.js';
|
|
2
|
+
import { binaryGenerationOptionsSchema, binaryOutputSizeSchema } from './binary-capabilities.js';
|
|
3
3
|
import { binaryCandidateComparisonSchema } from './binary-candidates.js';
|
|
4
4
|
import { binaryModalitySchema, mediaTypeSchema } from './binary-modalities.js';
|
|
5
5
|
// Wire vocabulary for BINARY-OUTPUT agent steps (docs/initiatives/binary-output-foundational-storage.md):
|
|
@@ -140,6 +140,22 @@ export const binaryOutputArtifactSchema = v.object({
|
|
|
140
140
|
contentType: v.optional(v.string()),
|
|
141
141
|
/** A one-line description of what was generated. */
|
|
142
142
|
description: v.optional(v.string()),
|
|
143
|
+
/**
|
|
144
|
+
* The artifact's pixel dimensions as the agent reports them, for the steps that asked for an
|
|
145
|
+
* exact `generation.outputSize`.
|
|
146
|
+
*
|
|
147
|
+
* The same epistemic status as {@link contentType} beside it, and recorded on the same terms:
|
|
148
|
+
* it is the agent's own claim, the platform never holds the bytes, and a reader judges it. It
|
|
149
|
+
* earns its place because the size requirement is otherwise checked only at the grain of "can
|
|
150
|
+
* this integration be ASKED for dimensions" — admission's half — and the failure the
|
|
151
|
+
* requirement exists to catch is a DELIVERY fact. `undeliveredMediaTypes` is the same
|
|
152
|
+
* judgement one axis over, made from the same kind of self-report.
|
|
153
|
+
*
|
|
154
|
+
* ABSENT is a third state and not a pass: an artifact reporting no dimensions is not judged
|
|
155
|
+
* against the step's size, because "we were not told" and "it came back wrong" are different
|
|
156
|
+
* facts and only the second is evidence of anything.
|
|
157
|
+
*/
|
|
158
|
+
dimensions: v.optional(binaryOutputSizeSchema),
|
|
143
159
|
/**
|
|
144
160
|
* The generative integration the agent says PRODUCED the artifact, lowercased on read-back
|
|
145
161
|
* like {@link service}. Optional because a step may generate without a registered integration
|