@civitai/app-sdk 0.31.0 → 0.33.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/README.md +21 -3
- package/dist/blocks/index.d.ts +8 -2
- package/dist/blocks/index.d.ts.map +1 -1
- package/dist/blocks/index.js +6 -0
- package/dist/blocks/index.js.map +1 -1
- package/dist/blocks/messages.d.ts +112 -3
- package/dist/blocks/messages.d.ts.map +1 -1
- package/dist/blocks/messages.js.map +1 -1
- package/dist/blocks/types.d.ts +436 -41
- package/dist/blocks/types.d.ts.map +1 -1
- package/dist/blocks/types.js +54 -1
- package/dist/blocks/types.js.map +1 -1
- package/dist/orchestrator/index.d.ts +61 -4
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +68 -4
- package/dist/orchestrator/index.js.map +1 -1
- package/package.json +1 -1
package/dist/blocks/types.d.ts
CHANGED
|
@@ -6,19 +6,68 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { BlockCategory } from './scopes.js';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* The slot ids the host renders a block into TODAY, as a closed union.
|
|
10
10
|
*
|
|
11
|
-
* `
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* (e.g. {@link ModelSlotContext}) rather than reaching into the index
|
|
15
|
-
* signature.
|
|
11
|
+
* Mirrors `SLOT_REGISTRY` in civitai/civitai's
|
|
12
|
+
* `src/shared/constants/slot-registry.ts`. Keep in lockstep — the registry is
|
|
13
|
+
* the authority, this is the mirror.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
15
|
+
* `model.actions_extra` is registered and live but has no production producer
|
|
16
|
+
* yet; it is listed because the registry lists it, not because a page emits it.
|
|
18
17
|
*/
|
|
19
|
-
export
|
|
18
|
+
export type ModelSlotId = 'model.sidebar_top' | 'model.below_images' | 'model.actions_extra';
|
|
19
|
+
/** The single PAGE slot (`<slug>.civit.ai` / `/apps/run/<slug>`). */
|
|
20
|
+
export type PageSlotId = 'app.page';
|
|
21
|
+
/** Every slot id this SDK version knows a context shape for. */
|
|
22
|
+
export type KnownSlotId = ModelSlotId | PageSlotId;
|
|
23
|
+
/**
|
|
24
|
+
* Per-instance context the host page passes to the block at mount time — a
|
|
25
|
+
* DISCRIMINATED UNION keyed on `slotId`.
|
|
26
|
+
*
|
|
27
|
+
* v1 shipped this as `{ slotId: string; [key: string]: unknown }`. An untyped
|
|
28
|
+
* index signature in a public third-party contract can't be relied on (it types
|
|
29
|
+
* every misspelling as a legal `unknown` read) and it leaks by accident (any
|
|
30
|
+
* field a producer happens to set is typed as readable, whether or not the host
|
|
31
|
+
* actually forwards it). It is replaced by named per-slot members:
|
|
32
|
+
*
|
|
33
|
+
* - {@link ModelSlotContext} — the three `model.*` slots.
|
|
34
|
+
* - {@link PageSlotContext} — the `app.page` slot.
|
|
35
|
+
* - {@link UnknownSlotContext} — the FORWARD-COMPAT arm: a slot this SDK
|
|
36
|
+
* version has no shape for. It carries `slotId` and NOTHING else, so a host
|
|
37
|
+
* that adds a slot cannot break a block's typecheck, and reading a field off
|
|
38
|
+
* it requires an explicit, visible cast rather than an accidental
|
|
39
|
+
* index-signature read.
|
|
40
|
+
*
|
|
41
|
+
* NARROW WITH THE GUARDS, not with a bare `===`. {@link isModelSlotContext} /
|
|
42
|
+
* {@link isPageSlotContext} narrow exactly (and are real RUNTIME checks — the
|
|
43
|
+
* value crossed a `postMessage` boundary, so its static type is a claim, not a
|
|
44
|
+
* fact). A bare `ctx.slotId === 'model.sidebar_top'` cannot exclude
|
|
45
|
+
* {@link UnknownSlotContext}, whose `slotId` is a plain `string`, so it narrows
|
|
46
|
+
* to `ModelSlotContext | UnknownSlotContext` and the model fields stay
|
|
47
|
+
* unreadable. That is the cost of staying open to new slots; the guards pay it.
|
|
48
|
+
*
|
|
49
|
+
* Mirrors `BlockSlotContext` in civitai/civitai's
|
|
50
|
+
* `src/components/AppBlocks/types.ts`.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const { context } = useBlockContext();
|
|
54
|
+
* if (isModelSlotContext(context)) {
|
|
55
|
+
* // context.modelId is `number` here
|
|
56
|
+
* submit({ kind: 'textToImage', modelId: context.modelId, ... });
|
|
57
|
+
* }
|
|
58
|
+
*/
|
|
59
|
+
export type BlockContext = ModelSlotContext | PageSlotContext | UnknownSlotContext;
|
|
60
|
+
/**
|
|
61
|
+
* A slot this SDK version has no named shape for — the forward-compat arm of
|
|
62
|
+
* {@link BlockContext}.
|
|
63
|
+
*
|
|
64
|
+
* DELIBERATELY has no index signature. A host that adds a slot id keeps
|
|
65
|
+
* typechecking (the arm absorbs it), but nothing becomes silently readable: to
|
|
66
|
+
* read a field the author must cast, which is a visible, reviewable act rather
|
|
67
|
+
* than the accidental `ctx.whatever` an index signature permits.
|
|
68
|
+
*/
|
|
69
|
+
export interface UnknownSlotContext {
|
|
20
70
|
slotId: string;
|
|
21
|
-
[key: string]: unknown;
|
|
22
71
|
}
|
|
23
72
|
/**
|
|
24
73
|
* Snapshot of the effective Checkpoint the block will generate against —
|
|
@@ -256,38 +305,41 @@ export interface ShowcaseImage {
|
|
|
256
305
|
* The shape the host delivers for the three model-page slots
|
|
257
306
|
* (`model.sidebar_top`, `model.below_images`, `model.actions_extra`).
|
|
258
307
|
*
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
308
|
+
* Every field here is one the host's `projectBlockInitContext` ALLOWLIST
|
|
309
|
+
* actually forwards — see the note below; the v1 shape of this interface named
|
|
310
|
+
* five more that no longer arrive. (They DID arrive once: before the
|
|
311
|
+
* data-minimisation projection landed, `IframeHost` spread the entire producer
|
|
312
|
+
* context onto the wire, which is what the allowlist was written to stop. So the
|
|
313
|
+
* accurate claim is "not forwarded since the projection", not "never sent".)
|
|
263
314
|
*
|
|
264
|
-
*
|
|
315
|
+
* Narrow to it with {@link isModelSlotContext}:
|
|
265
316
|
*
|
|
266
|
-
* const
|
|
317
|
+
* const { context } = useBlockContext();
|
|
318
|
+
* if (isModelSlotContext(context)) { context.modelId // number }
|
|
267
319
|
*
|
|
268
|
-
* Mirrors `ModelSlotContext` in civitai/civitai
|
|
269
|
-
*
|
|
320
|
+
* Mirrors `ModelSlotContext` in civitai/civitai, INTERSECTED WITH that repo's
|
|
321
|
+
* `CONTEXT_ALLOWLIST` (`src/components/AppBlocks/projectBlockInit.ts`). Keep in
|
|
322
|
+
* lockstep — and note the two sides are not the same set: the host's interface
|
|
323
|
+
* describes what a PRODUCER passes to `<BlockSlot>`, this one describes what
|
|
324
|
+
* survives the projection and reaches the iframe.
|
|
270
325
|
*/
|
|
271
|
-
export interface ModelSlotContext
|
|
272
|
-
slotId:
|
|
326
|
+
export interface ModelSlotContext {
|
|
327
|
+
slotId: ModelSlotId;
|
|
273
328
|
modelId: number;
|
|
274
329
|
modelVersionId: number;
|
|
275
330
|
modelName: string;
|
|
276
331
|
modelType: string;
|
|
277
332
|
modelNsfwLevel: number;
|
|
278
|
-
creatorUserId: number;
|
|
279
|
-
viewerUserId: number | null;
|
|
280
|
-
viewerNsfwEnabled: boolean;
|
|
281
|
-
viewerUsername?: string | null;
|
|
282
|
-
/** Coarse status surface; authoritative re-check is `/api/v1/blocks/me`. */
|
|
283
|
-
viewerStatus?: 'active' | 'banned' | 'muted';
|
|
284
333
|
/** Host-page color scheme; lets the iframe match without a flicker. */
|
|
285
|
-
theme?:
|
|
334
|
+
theme?: Theme;
|
|
286
335
|
/**
|
|
287
336
|
* Effective Checkpoint after publisher-default ∪ viewer-override merge.
|
|
288
337
|
* `null` when no checkpoint is configured (publisher hasn't set one AND
|
|
289
338
|
* the bound model isn't a Checkpoint itself) — block should render a
|
|
290
339
|
* "missing checkpoint" state and prompt the user to ask the model owner.
|
|
340
|
+
*
|
|
341
|
+
* The host sets this EXPLICITLY on every model-slot init (never spread from
|
|
342
|
+
* the producer), so on a model slot it is always present — `null` or a value.
|
|
291
343
|
*/
|
|
292
344
|
checkpoint?: BlockCheckpointInfo | null;
|
|
293
345
|
/**
|
|
@@ -299,6 +351,76 @@ export interface ModelSlotContext extends BlockContext {
|
|
|
299
351
|
*/
|
|
300
352
|
showcaseImages?: ShowcaseImage[];
|
|
301
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* The shape the host delivers for the PAGE slot (`app.page`) — a per-app page
|
|
356
|
+
* at `<slug>.civit.ai` / `/apps/run/<slug>`.
|
|
357
|
+
*
|
|
358
|
+
* 🔴 This member is NEW in the SDK, not new on the wire. `PageBlockHost` has
|
|
359
|
+
* been sending exactly this object since the page surface shipped; v1's
|
|
360
|
+
* `BlockContext` index signature simply meant page blocks read it untyped. So
|
|
361
|
+
* adding it changes no runtime behaviour on either side — it only stops page
|
|
362
|
+
* authors from guessing.
|
|
363
|
+
*
|
|
364
|
+
* Unlike the model slots, this context is NOT run through
|
|
365
|
+
* `projectBlockInitContext` — `PageBlockHost.buildContext()` builds it directly,
|
|
366
|
+
* which is why `viewerUserId` / `viewerUsername` DO arrive here even though the
|
|
367
|
+
* model-slot allowlist drops them.
|
|
368
|
+
*
|
|
369
|
+
* Mirrors `PageContext` in civitai/civitai's `src/components/AppBlocks/types.ts`.
|
|
370
|
+
*/
|
|
371
|
+
export interface PageSlotContext {
|
|
372
|
+
slotId: PageSlotId;
|
|
373
|
+
/** Always `'none'` — a page slot is not bound to an entity. */
|
|
374
|
+
entityType?: 'none';
|
|
375
|
+
/** The app's slug (the `<slug>` in `<slug>.civit.ai`). */
|
|
376
|
+
slug: string;
|
|
377
|
+
/**
|
|
378
|
+
* The path segment BELOW the app root, from `router.query.path` — `''` on the
|
|
379
|
+
* app's own index. Lets a page app route internally without owning history.
|
|
380
|
+
*/
|
|
381
|
+
subPath: string;
|
|
382
|
+
/** `null` for an anonymous viewer. */
|
|
383
|
+
viewerUserId: number | null;
|
|
384
|
+
/** Absent/`null` when the viewer has no handle. */
|
|
385
|
+
viewerUsername?: string | null;
|
|
386
|
+
/** Host-page color scheme; lets the iframe match without a flicker. */
|
|
387
|
+
theme?: Theme;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Narrow a {@link BlockContext} to {@link ModelSlotContext}.
|
|
391
|
+
*
|
|
392
|
+
* A real runtime check, not just a cast: the context arrived over
|
|
393
|
+
* `postMessage`, so its static type is the host's claim about it. Returning
|
|
394
|
+
* `true` here is what lets the block render a useful "wrong slot" state instead
|
|
395
|
+
* of `undefined`-ing its way through a generation body.
|
|
396
|
+
*
|
|
397
|
+
* 🔴 IT CHECKS EVERY FIELD IT ASSERTS, not just `slotId`. A `slotId`-only check
|
|
398
|
+
* is not enough, because {@link UnknownSlotContext} declares `slotId: string` —
|
|
399
|
+
* so a structurally-incomplete known slot (`{ slotId: 'model.sidebar_top' }` and
|
|
400
|
+
* nothing else) is a legal `BlockContext` that COMPILES, passes a `slotId`-only
|
|
401
|
+
* guard, and then hands the block `ctx.modelId` typed `number` and valued
|
|
402
|
+
* `undefined`. The five required fields are asserted individually so the
|
|
403
|
+
* predicate is true exactly when the type it claims is true.
|
|
404
|
+
*
|
|
405
|
+
* No legitimate host payload is rejected by the extra checks. The only
|
|
406
|
+
* production producer of a model slot (civitai/civitai
|
|
407
|
+
* `ModelVersionDetails.tsx`) sets all five unconditionally, and the host's own
|
|
408
|
+
* pinned allowlist test (`__tests__/projectBlockInit.test.ts`) asserts the
|
|
409
|
+
* projected context carries them as an EXACT key set. A payload that somehow
|
|
410
|
+
* lacked one is precisely the case the block must not treat as a model context.
|
|
411
|
+
*/
|
|
412
|
+
export declare function isModelSlotContext(ctx: BlockContext): ctx is ModelSlotContext;
|
|
413
|
+
/**
|
|
414
|
+
* Narrow a {@link BlockContext} to {@link PageSlotContext}. Same shape and same
|
|
415
|
+
* reasoning as {@link isModelSlotContext}: the three fields `PageSlotContext`
|
|
416
|
+
* declares REQUIRED are checked, not just `slotId`.
|
|
417
|
+
*
|
|
418
|
+
* `subPath` is checked as a string, not a NON-EMPTY one — `''` is the real value
|
|
419
|
+
* on an app's own index (`PageBlockHost.buildContext()`), and rejecting it would
|
|
420
|
+
* make every app's landing route fail to narrow. `viewerUserId` is `number |
|
|
421
|
+
* null`, and `null` is the genuine anonymous value.
|
|
422
|
+
*/
|
|
423
|
+
export declare function isPageSlotContext(ctx: BlockContext): ctx is PageSlotContext;
|
|
302
424
|
/**
|
|
303
425
|
* Short-lived, block-scoped JWT minted by civitai.com for a single block
|
|
304
426
|
* instance. Carries the scopes the user consented to plus an optional
|
|
@@ -321,6 +443,38 @@ export interface BlockSettings {
|
|
|
321
443
|
/**
|
|
322
444
|
* The signed-in viewer. `null` in `BlockInitPayload.viewer` means anonymous.
|
|
323
445
|
*
|
|
446
|
+
* 🔴 DATA-MINIMISATION IN PROGRESS — never read `id`/`username` to answer "is
|
|
447
|
+
* someone signed in?". WHICH sign-in gate to write depends on which host you are
|
|
448
|
+
* against, and {@link ViewerInfo.signedIn} states the rule in full. Short
|
|
449
|
+
* version: gate on `viewer !== null` TODAY (that is what production emits, and
|
|
450
|
+
* it means exactly the same thing); move to `viewer?.signedIn === true` once the
|
|
451
|
+
* host counterpart ships.
|
|
452
|
+
*
|
|
453
|
+
* `BLOCK_INIT` discloses the viewer's identity to EVERY block unconditionally
|
|
454
|
+
* on load, before any interaction. Almost every block only needs to know
|
|
455
|
+
* *whether* someone is signed in (to choose between a real UI and a
|
|
456
|
+
* sign-in CTA) — and for that, a boolean is sufficient. A block that genuinely
|
|
457
|
+
* needs the identity should call {@link BlockViewer} via `GET_VIEWER` /
|
|
458
|
+
* `useViewer()`, which is scope-gated and auditable PER CALL rather than
|
|
459
|
+
* broadcast to everyone on mount.
|
|
460
|
+
*
|
|
461
|
+
* `id` and `username` are therefore `@deprecated` and will be removed in a
|
|
462
|
+
* later release — but they are still SENT, and this interface is still an
|
|
463
|
+
* OBJECT-OR-NULL on the wire. Both of those are load-bearing: the
|
|
464
|
+
* `isValidBlockInitPayload` guard compiled into every already-deployed block
|
|
465
|
+
* bundle rejects a `viewer` that is not `null` and not an object with a numeric
|
|
466
|
+
* `id`. A rejected `BLOCK_INIT` is re-sent — the host re-posts it every
|
|
467
|
+
* `INIT_RETRY_INTERVAL_MS` (400ms) until the block acks `BLOCK_READY`, ~25 times
|
|
468
|
+
* inside one `BLOCK_READY_TIMEOUT_MS` (10s) window — and each re-post carries
|
|
469
|
+
* the FRESHEST payload, not a byte-identical copy (both hosts re-point
|
|
470
|
+
* `buildInitPayloadRef` on every render). That freshness only ever varies
|
|
471
|
+
* query-resolved VALUES, never whether a required FIELD is present, so a guard
|
|
472
|
+
* rejecting for a missing field rejects every retry too. What happens at the end
|
|
473
|
+
* of the window is per-surface: `IframeHost` (model slot) has no auto-retry and
|
|
474
|
+
* renders `null`; `PageBlockHost` auto-retries the whole handshake twice more.
|
|
475
|
+
* See the `BlockInitPayload.blockId` doc in `messages.ts` for the per-surface
|
|
476
|
+
* detail, and the migration note in the changeset.
|
|
477
|
+
*
|
|
324
478
|
* `status` is OPTIONAL and a coarse surface — `/api/v1/blocks/me` is the
|
|
325
479
|
* authoritative re-check if the block needs to gate on it. The platform omits
|
|
326
480
|
* it from BLOCK_INIT to third-party iframes for privacy (civitai #2521), so
|
|
@@ -330,8 +484,55 @@ export interface BlockSettings {
|
|
|
330
484
|
* side (civitai/civitai `src/components/AppBlocks/types.ts`).
|
|
331
485
|
*/
|
|
332
486
|
export interface ViewerInfo {
|
|
487
|
+
/**
|
|
488
|
+
* Whether a viewer is signed in. The MINIMAL signal, and the one this
|
|
489
|
+
* contract is migrating TO: it is what replaces `id`/`username` once those
|
|
490
|
+
* are removed. It exists as a field rather than as "non-null means signed in"
|
|
491
|
+
* so that a block reading it keeps compiling, and keeps meaning the same
|
|
492
|
+
* thing, after `id`/`username` go away.
|
|
493
|
+
*
|
|
494
|
+
* 🔴 WHICH GATE TO WRITE, AND HOW TO TELL WHICH WORLD YOU ARE IN.
|
|
495
|
+
*
|
|
496
|
+
* - TODAY, against production: write `viewer !== null`. The field is NOT on
|
|
497
|
+
* the wire yet. `signedIn` appears ZERO times under
|
|
498
|
+
* `src/components/AppBlocks/` on civitai/civitai `main`, and that repo's
|
|
499
|
+
* own contract test (`__tests__/projectBlockInit.test.ts`) pins the
|
|
500
|
+
* BLOCK_INIT viewer key set as exactly `['id', 'username']`. The field
|
|
501
|
+
* arrives with civitai/civitai#3707, which is OPEN and unmerged. A block
|
|
502
|
+
* that gates on `viewer?.signedIn` before that lands reads `undefined` —
|
|
503
|
+
* i.e. false — and renders its anonymous branch to every signed-in user.
|
|
504
|
+
* This is why the migrated starter and `hello-world` use `viewer !== null`.
|
|
505
|
+
* - AFTER #3707 ships: the two gates agree, and `signedIn` becomes the one to
|
|
506
|
+
* write. `viewer: null` stays the anonymous case, so the field is only ever
|
|
507
|
+
* the literal `true` on a present viewer; #3707 moves the host's pinned key
|
|
508
|
+
* set to `['id', 'signedIn', 'username']`.
|
|
509
|
+
* - HOW TO TELL, at runtime: `viewer !== null && viewer.signedIn === undefined`
|
|
510
|
+
* IS the probe — there is no version handshake. 🔴 Do NOT answer it with the
|
|
511
|
+
* dev hosts: `createMockHost` and `createLiveHost` both emit `signedIn`
|
|
512
|
+
* deliberately, ahead of the host, so the field is exercisable locally.
|
|
513
|
+
* Local presence is not evidence of production presence.
|
|
514
|
+
*
|
|
515
|
+
* OPTIONAL for exactly that reason — a host that predates #3707 omits it
|
|
516
|
+
* entirely, and that must stay assignable.
|
|
517
|
+
*
|
|
518
|
+
* A malformed value is not rejected at the trust boundary — see the note on
|
|
519
|
+
* `isValidBlockInitPayload` in `@civitai/blocks-react`: failing the whole init
|
|
520
|
+
* over one advisory flag would cost the block every other field. So a block
|
|
521
|
+
* that reads it should compare to `true` rather than treat it as a boolean.
|
|
522
|
+
*/
|
|
523
|
+
signedIn?: true;
|
|
524
|
+
/**
|
|
525
|
+
* @deprecated Init-time identity disclosure. Use `useViewer()` (`GET_VIEWER`)
|
|
526
|
+
* for the viewer id — it is scope-gated and audited per call. Still sent;
|
|
527
|
+
* scheduled for removal once block adoption of `useViewer()` is measured.
|
|
528
|
+
*/
|
|
333
529
|
id: number;
|
|
530
|
+
/**
|
|
531
|
+
* @deprecated Init-time identity disclosure. Use `useViewer()` (`GET_VIEWER`)
|
|
532
|
+
* for the username. Still sent; scheduled for removal alongside `id`.
|
|
533
|
+
*/
|
|
334
534
|
username: string | null;
|
|
535
|
+
/** @deprecated Not sent by the platform to third-party iframes (civitai #2521). */
|
|
335
536
|
status?: 'active' | 'banned' | 'muted';
|
|
336
537
|
}
|
|
337
538
|
/**
|
|
@@ -496,20 +697,22 @@ export type WorkflowBodyTextToImage = {
|
|
|
496
697
|
params: BlockTextToImageParams;
|
|
497
698
|
};
|
|
498
699
|
/**
|
|
499
|
-
* The
|
|
500
|
-
*
|
|
501
|
-
* recipe
|
|
502
|
-
*
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
*
|
|
507
|
-
*
|
|
700
|
+
* The RECIPE arm of {@link WorkflowBodyCustomComfy} — runs a
|
|
701
|
+
* **server-registered, code-reviewed ComfyUI recipe** end-to-end. The block
|
|
702
|
+
* sends only a registered `recipe` id plus a small, per-recipe-validated
|
|
703
|
+
* `params` object; the civitai server owns the entire graph (built by object
|
|
704
|
+
* construction, so the prompt is a leaf value that cannot perturb graph
|
|
705
|
+
* topology).
|
|
706
|
+
*
|
|
707
|
+
* This is the DEFAULT arm. `mode` is optional here and a body that omits it
|
|
708
|
+
* lands on this arm, so every body written before the inline arm existed is
|
|
709
|
+
* unchanged and keeps working byte-for-byte.
|
|
710
|
+
*
|
|
711
|
+
* Trust / safety model (all SERVER-ENFORCED — mirrors civitai's
|
|
508
712
|
* `blockCustomComfyBodySchema`):
|
|
509
713
|
* - `recipe` is a **registered recipe id** resolved against a code-reviewed,
|
|
510
714
|
* in-repo recipe registry. An unknown id is **rejected server-side, fail-
|
|
511
|
-
* closed** (the schema enum is derived from the registry keys)
|
|
512
|
-
* no way for a block to run an arbitrary/unreviewed graph.
|
|
715
|
+
* closed** (the schema enum is derived from the registry keys).
|
|
513
716
|
* - `params` are **bounded and validated per-recipe** by the server's
|
|
514
717
|
* `.strict()` Zod param schema (extra fields rejected); each recipe pins
|
|
515
718
|
* its own resources (checkpoint/LoRA/diffusion AIRs) — the block cannot
|
|
@@ -525,8 +728,20 @@ export type WorkflowBodyTextToImage = {
|
|
|
525
728
|
* the host gates `maxBuzz <= token.buzzBudget` before submit. A single job
|
|
526
729
|
* therefore cannot exceed the recipe's declared ceiling no matter what.
|
|
527
730
|
*/
|
|
528
|
-
export type
|
|
731
|
+
export type WorkflowBodyCustomComfyRecipe = {
|
|
529
732
|
kind: 'customComfy';
|
|
733
|
+
/**
|
|
734
|
+
* The arm discriminator, OPTIONAL on this arm. Omit it (the normal case) or
|
|
735
|
+
* set it to `'recipe'`; both land here. It exists so the inline arm can be
|
|
736
|
+
* selected explicitly with `mode: 'inline'`.
|
|
737
|
+
*
|
|
738
|
+
* 🔴 The host's schema declares this `z.literal('recipe').optional()` — NOT
|
|
739
|
+
* `.default('recipe')` — precisely so a body with no `mode` key still parses
|
|
740
|
+
* as a recipe. Do not "helpfully" send `mode: undefined` as a spread from an
|
|
741
|
+
* optional variable if you can avoid it; it parses fine today, but omitting
|
|
742
|
+
* the key entirely is the shape every deployed block sends.
|
|
743
|
+
*/
|
|
744
|
+
mode?: 'recipe';
|
|
530
745
|
/**
|
|
531
746
|
* A **registered recipe id** (e.g. `'seamless-pano-360'`). Resolved server-
|
|
532
747
|
* side against the code-reviewed recipe registry; an unknown id is rejected
|
|
@@ -554,6 +769,184 @@ export type WorkflowBodyCustomComfy = {
|
|
|
554
769
|
accountType?: BuzzAccountType;
|
|
555
770
|
};
|
|
556
771
|
};
|
|
772
|
+
/**
|
|
773
|
+
* One node of a ComfyUI `/prompt` graph, as it travels on the wire.
|
|
774
|
+
*
|
|
775
|
+
* Mirrors the host's `inlineComfyNodeSchema`, which is `.strict()` with exactly
|
|
776
|
+
* these two fields — so a node carrying anything else (a `_meta` key from a
|
|
777
|
+
* ComfyUI export, for instance) is REJECTED at the wire, not dropped. Strip
|
|
778
|
+
* extras before submitting.
|
|
779
|
+
*
|
|
780
|
+
* `inputs` values are whatever ComfyUI accepts: literals, or a
|
|
781
|
+
* `[nodeId, outputIndex]` pair wiring this input to another node's output.
|
|
782
|
+
*/
|
|
783
|
+
export type InlineComfyNode = {
|
|
784
|
+
/** The ComfyUI node class, e.g. `'KSampler'`, `'CLIPTextEncode'`. */
|
|
785
|
+
class_type: string;
|
|
786
|
+
/** The node's inputs, keyed by input name. */
|
|
787
|
+
inputs: Record<string, unknown>;
|
|
788
|
+
};
|
|
789
|
+
/**
|
|
790
|
+
* The INLINE-GRAPH arm of {@link WorkflowBodyCustomComfy} (`kind:
|
|
791
|
+
* 'customComfy'`, `mode: 'inline'`) — the block ships **the ComfyUI graph
|
|
792
|
+
* itself**, so it can run a workflow the server's recipe registry does not
|
|
793
|
+
* contain.
|
|
794
|
+
*
|
|
795
|
+
* 🔴 THIS IS LIVE IN PRODUCTION. An earlier revision of this doc comment
|
|
796
|
+
* asserted that "there is no way for a block to run an arbitrary/unreviewed
|
|
797
|
+
* graph". That is FALSE and was removed: it predates the inline arm and cost a
|
|
798
|
+
* developer a dogfooding session, who trusted it over a working feature.
|
|
799
|
+
*
|
|
800
|
+
* WHO CAN USE IT. Narrower than the recipe arm, and both gates are server-side:
|
|
801
|
+
* - **App developers only** — the host runs `assertViewerIsAppDeveloper` on
|
|
802
|
+
* every `customComfy` estimate AND submit. A non-developer viewer of your
|
|
803
|
+
* published block cannot submit one.
|
|
804
|
+
* - **Page tokens only** — a model-bound token is rejected.
|
|
805
|
+
* So treat inline as a build/iterate primitive today. If you need a graph
|
|
806
|
+
* available to every viewer, get it registered as a recipe.
|
|
807
|
+
*
|
|
808
|
+
* WHAT REPLACED CODE REVIEW. A recipe is reviewed in-repo, and that review was
|
|
809
|
+
* the trust root. An inline graph has none, so the host substitutes three
|
|
810
|
+
* mechanical, fail-closed gates that all run BEFORE any spend or orchestrator
|
|
811
|
+
* call (a rejection therefore costs nothing):
|
|
812
|
+
* 1. **AIR containment.** Every AIR URN appearing anywhere in the graph —
|
|
813
|
+
* including as an object KEY — must also appear in {@link resources}. The
|
|
814
|
+
* match is whole-string (trimmed, case-insensitive), so an AIR embedded in
|
|
815
|
+
* a longer string does not count as declared and the body is rejected.
|
|
816
|
+
* 2. **Entitlement**, over the declared `resources`. Stricter than the onsite
|
|
817
|
+
* generator: early-access `hasAccess` and Private/epoch subscription are
|
|
818
|
+
* both folded in, an unresolvable version id is a hard `FORBIDDEN`, and a
|
|
819
|
+
* resource the site would silently SUBSTITUTE with a sibling version is
|
|
820
|
+
* REJECTED instead — your graph names one specific AIR and nothing rewrites
|
|
821
|
+
* it.
|
|
822
|
+
* 3. **Moderation sweep.** The audit reads the declared `prompt` AND every
|
|
823
|
+
* distinct string leaf in the graph, because a real graph carries its
|
|
824
|
+
* prompts inside `CLIPTextEncode` nodes. A clean declared `prompt` cannot
|
|
825
|
+
* launder a graph prompt.
|
|
826
|
+
*
|
|
827
|
+
* @example A minimal inline body.
|
|
828
|
+
* ```ts
|
|
829
|
+
* const body: WorkflowBody = {
|
|
830
|
+
* kind: 'customComfy',
|
|
831
|
+
* mode: 'inline',
|
|
832
|
+
* resources: ['urn:air:sdxl:checkpoint:civitai:101055@128078'],
|
|
833
|
+
* workflow: {
|
|
834
|
+
* '1': {
|
|
835
|
+
* class_type: 'CheckpointLoaderSimple',
|
|
836
|
+
* inputs: { ckpt_name: 'urn:air:sdxl:checkpoint:civitai:101055@128078' },
|
|
837
|
+
* },
|
|
838
|
+
* '2': {
|
|
839
|
+
* class_type: 'CLIPTextEncode',
|
|
840
|
+
* inputs: { text: 'a mountain at dawn', clip: ['1', 1] },
|
|
841
|
+
* },
|
|
842
|
+
* // …sampler, VAE decode, SaveImage…
|
|
843
|
+
* },
|
|
844
|
+
* prompt: 'a mountain at dawn',
|
|
845
|
+
* maxBuzz: 60,
|
|
846
|
+
* };
|
|
847
|
+
* ```
|
|
848
|
+
*/
|
|
849
|
+
export type WorkflowBodyCustomComfyInline = {
|
|
850
|
+
kind: 'customComfy';
|
|
851
|
+
/**
|
|
852
|
+
* The arm discriminator. REQUIRED and exactly `'inline'` — omitting it does
|
|
853
|
+
* not "default to inline because a `workflow` is present"; it routes the body
|
|
854
|
+
* to the recipe arm, which then rejects it for a missing `recipe`.
|
|
855
|
+
*/
|
|
856
|
+
mode: 'inline';
|
|
857
|
+
/**
|
|
858
|
+
* The ComfyUI `/prompt` graph, keyed by node id (the same object shape
|
|
859
|
+
* ComfyUI's "Save (API Format)" export produces).
|
|
860
|
+
*
|
|
861
|
+
* Server-enforced bounds — all three REJECT, none truncates:
|
|
862
|
+
* - at least **1** node, at most **300**;
|
|
863
|
+
* - the serialized graph must be at most **262144 bytes** (256 KB);
|
|
864
|
+
* - nesting at most **128** levels deep (the gate walks the graph, and a
|
|
865
|
+
* graph it cannot finish walking is one it cannot prove safe).
|
|
866
|
+
*/
|
|
867
|
+
workflow: Record<string, InlineComfyNode>;
|
|
868
|
+
/**
|
|
869
|
+
* The DECLARED DOWNLOAD MANIFEST: every resource the graph needs, as an AIR
|
|
870
|
+
* URN. This is the array the entitlement gate runs over, and gate 1 above is
|
|
871
|
+
* what makes gating it sufficient.
|
|
872
|
+
*
|
|
873
|
+
* 🔴 **Declaring is not optional and it is not inferred.** Every AIR your
|
|
874
|
+
* graph names must ALSO be listed here or the submit is rejected — and
|
|
875
|
+
* anything the graph references that is missing from this list would fail at
|
|
876
|
+
* load time inside ComfyUI anyway. At most **24** entries, each at most 512
|
|
877
|
+
* characters.
|
|
878
|
+
*
|
|
879
|
+
* A `civitai`-sourced AIR MUST carry a model VERSION id
|
|
880
|
+
* (`urn:air:<ecosystem>:<type>:civitai:<modelId>@<versionId>`) — without one
|
|
881
|
+
* there is no version to check entitlement against and the body is rejected.
|
|
882
|
+
* The AIR grammar is read strictly here: all of
|
|
883
|
+
* `urn:air:<ecosystem>:<type>:<source>:<id>[@<version>]` is required, unlike
|
|
884
|
+
* the lenient parser used elsewhere.
|
|
885
|
+
*
|
|
886
|
+
* The permitted AIR `type`s are model WEIGHTS — `checkpoint`,
|
|
887
|
+
* `diffusion_model`, `unet`, `lora`, `lycoris`, `dora`, `embedding`,
|
|
888
|
+
* `hypernet`, `controlnet`, `vae`, `upscaler`, `clip`, `clipvision`,
|
|
889
|
+
* `text_encoders`, `motion` and a few siblings. An `oci:image` container AIR
|
|
890
|
+
* is NOT permitted. Anything the allowlist does not name is rejected rather
|
|
891
|
+
* than passed through.
|
|
892
|
+
*
|
|
893
|
+
* Duplicate entries are rejected, not deduped.
|
|
894
|
+
*/
|
|
895
|
+
resources: string[];
|
|
896
|
+
/**
|
|
897
|
+
* The prompt to surface and to audit alongside the graph sweep. Optional
|
|
898
|
+
* (defaults to `''` server-side) and at most 1500 characters.
|
|
899
|
+
*
|
|
900
|
+
* It is NOT the moderation surface on its own — the graph's own strings are
|
|
901
|
+
* swept too — and it is NOT what generates: the text that generates is
|
|
902
|
+
* whatever your `CLIPTextEncode` node carries. Set it to the same text so
|
|
903
|
+
* what you show the user matches what ran.
|
|
904
|
+
*/
|
|
905
|
+
prompt?: string;
|
|
906
|
+
/** Optional declared negative prompt, at most 1500 characters. Same posture as {@link prompt}. */
|
|
907
|
+
negativePrompt?: string;
|
|
908
|
+
/**
|
|
909
|
+
* The per-job Buzz ceiling. Required, an integer in **1…250**.
|
|
910
|
+
*
|
|
911
|
+
* 🔴 **IT IS ALSO THE STEP TIMEOUT, IN SECONDS.** The host stamps
|
|
912
|
+
* `stepTimeoutSeconds = maxBuzz` — there is only one number, which is exactly
|
|
913
|
+
* what makes the ceiling physically enforceable rather than merely asserted.
|
|
914
|
+
* So `maxBuzz: 10` does not buy a cheap generation; it buys a job that is
|
|
915
|
+
* KILLED after 10 seconds and comes back `expired`. Size it to the wall-clock
|
|
916
|
+
* time your graph actually needs, not to what you hope to pay.
|
|
917
|
+
*
|
|
918
|
+
* You are billed the REAL cost. Billing is post-paid against measured GPU
|
|
919
|
+
* seconds and settles to actual, refunding the unused remainder of the
|
|
920
|
+
* ceiling — so a generous `maxBuzz` costs nothing extra when the job finishes
|
|
921
|
+
* early. The only thing a low value guarantees is a timeout.
|
|
922
|
+
*
|
|
923
|
+
* `estimate` on an inline body echoes this number back as `cost.total`. That
|
|
924
|
+
* is an upper bound, not a price — surface it as "up to N Buzz". There is no
|
|
925
|
+
* honest per-graph estimate: the orchestrator forwards the graph opaquely and
|
|
926
|
+
* cannot price it.
|
|
927
|
+
*
|
|
928
|
+
* The host additionally requires `maxBuzz <= token.buzzBudget` before submit;
|
|
929
|
+
* over-budget comes back as a `failed` snapshot naming both numbers.
|
|
930
|
+
*/
|
|
931
|
+
maxBuzz: number;
|
|
932
|
+
};
|
|
933
|
+
/**
|
|
934
|
+
* The `customComfy` member of the {@link WorkflowBody} discriminated union
|
|
935
|
+
* (`kind: 'customComfy'`) — itself a discriminated union on `mode`, mirroring
|
|
936
|
+
* the host's `blockCustomComfyMemberSchema`:
|
|
937
|
+
*
|
|
938
|
+
* - {@link WorkflowBodyCustomComfyRecipe} (`mode` omitted, or `'recipe'`) —
|
|
939
|
+
* names a server-registered, code-reviewed recipe. The default.
|
|
940
|
+
* - {@link WorkflowBodyCustomComfyInline} (`mode: 'inline'`) — ships the
|
|
941
|
+
* ComfyUI graph itself. Developer-only, page-tokens-only, and fenced by
|
|
942
|
+
* three server-side gates instead of code review.
|
|
943
|
+
*
|
|
944
|
+
* Both arms are `.strict()` server-side, so a body naming BOTH `recipe` and
|
|
945
|
+
* `workflow` is rejected by both rather than resolved to a winner. Narrow on
|
|
946
|
+
* `body.mode === 'inline'` — NOT on the presence of a `mode` key, and not on
|
|
947
|
+
* the presence of a `workflow` key.
|
|
948
|
+
*/
|
|
949
|
+
export type WorkflowBodyCustomComfy = WorkflowBodyCustomComfyRecipe | WorkflowBodyCustomComfyInline;
|
|
557
950
|
/**
|
|
558
951
|
* A **registered orchestrator step**, submitted through the host's step
|
|
559
952
|
* registry — the uniform bridge for step types that are not full generation
|
|
@@ -613,9 +1006,11 @@ export type WorkflowBodyStep = {
|
|
|
613
1006
|
* discriminated union keyed by `kind`:
|
|
614
1007
|
* - {@link WorkflowBodyTextToImage} (`kind: 'textToImage'`) — the original
|
|
615
1008
|
* checkpoint/LoRA/img2img generation body (unchanged, back-compatible).
|
|
616
|
-
* - {@link WorkflowBodyCustomComfy} (`kind: 'customComfy'`) —
|
|
617
|
-
*
|
|
618
|
-
*
|
|
1009
|
+
* - {@link WorkflowBodyCustomComfy} (`kind: 'customComfy'`) — post-paid ComfyUI,
|
|
1010
|
+
* itself a union on `mode`: a bounded, server-registered
|
|
1011
|
+
* {@link WorkflowBodyCustomComfyRecipe} (the default), or a
|
|
1012
|
+
* {@link WorkflowBodyCustomComfyInline} graph the block ships itself
|
|
1013
|
+
* (`mode: 'inline'`; developer-only).
|
|
619
1014
|
* - {@link WorkflowBodyStep} (`kind: 'step'`) — a bounded, server-registered
|
|
620
1015
|
* orchestrator step (the host's step registry; billing mode and moderation
|
|
621
1016
|
* posture are declared per entry).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blocks/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blocks/types.ts"],"names":[],"mappings":"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"}
|