@civitai/app-sdk 0.51.0 → 0.51.1
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 +8 -4
- package/dist/blocks/types.d.ts +29 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -150,10 +150,14 @@ own key:
|
|
|
150
150
|
omits `mode` entirely and still lands here, unchanged.
|
|
151
151
|
- **`WorkflowBodyCustomComfyInline`** (`mode: 'inline'`) — the block ships the ComfyUI graph
|
|
152
152
|
itself as `workflow`, with a declared `resources` AIR manifest and a `maxBuzz` ceiling
|
|
153
|
-
that is **also the step timeout in seconds**. Server-side this arm is **
|
|
154
|
-
and
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
that is **also the step timeout in seconds**. Server-side this arm is **page-token-only**,
|
|
154
|
+
and code review is replaced by three fail-closed gates (AIR containment, entitlement, and a
|
|
155
|
+
moderation sweep over every string leaf in the graph). 🔴 It is **not** app-developer-only —
|
|
156
|
+
this line said it was, and nothing on either `customComfy` arm checks app-developer status,
|
|
157
|
+
so an ordinary viewer of your published block can reach it. `WorkflowBodyCustomComfyInline`'s
|
|
158
|
+
doc comment enumerates the refusals that DO run. A registered recipe is how you get a
|
|
159
|
+
reviewed graph you do not have to ship in the body, not a way onto a surface inline cannot
|
|
160
|
+
reach.
|
|
157
161
|
|
|
158
162
|
`WorkflowBody`'s `step` member is likewise a union of two arms, mirroring the host's
|
|
159
163
|
`blockStepMemberSchema`. Here the discriminator is the **presence of `step`**, so narrow with
|
package/dist/blocks/types.d.ts
CHANGED
|
@@ -856,13 +856,30 @@ export type InlineComfyNode = {
|
|
|
856
856
|
* graph". That is FALSE and was removed: it predates the inline arm and cost a
|
|
857
857
|
* developer a dogfooding session, who trusted it over a working feature.
|
|
858
858
|
*
|
|
859
|
-
*
|
|
860
|
-
*
|
|
861
|
-
*
|
|
862
|
-
*
|
|
859
|
+
* 🔴 IT IS NOT "APP DEVELOPERS ONLY", AND THAT CLAIM USED TO BE HERE. This
|
|
860
|
+
* block read "**App developers only** — the host runs
|
|
861
|
+
* `assertViewerIsAppDeveloper` on every `customComfy` estimate AND submit. A
|
|
862
|
+
* non-developer viewer of your published block cannot submit one." Both
|
|
863
|
+
* sentences are FALSE: NEITHER `customComfy` arm runs any app-developer check,
|
|
864
|
+
* on the estimate or on the submit. The host's own schema module records the
|
|
865
|
+
* same retraction. Do not reintroduce it, in any wording — it is a SECURITY
|
|
866
|
+
* claim, and believing it is what makes an author ship an inline graph they
|
|
867
|
+
* would not ship to every viewer. An ordinary viewer of your published block
|
|
868
|
+
* CAN reach this arm once the refusals below pass.
|
|
869
|
+
*
|
|
870
|
+
* WHO CAN USE IT — stated as the refusals the host actually runs, before either
|
|
871
|
+
* arm's body is inspected. Each is a path your block has to handle:
|
|
863
872
|
* - **Page tokens only** — a model-bound token is rejected.
|
|
864
|
-
*
|
|
865
|
-
*
|
|
873
|
+
* - The token must carry the **`ai:write:budgeted`** consent scope.
|
|
874
|
+
* - The viewer must be **signed in** — a token whose subject does not resolve
|
|
875
|
+
* is refused.
|
|
876
|
+
* - The viewer must be **enabled for Apps** (the runtime kill-switch, evaluated
|
|
877
|
+
* on the token's subject; this is a closed beta).
|
|
878
|
+
* - On **submit** only: the token must carry a **positive per-call Buzz
|
|
879
|
+
* budget**. That budget is minted from YOUR OWN manifest
|
|
880
|
+
* (`page.buzzBudgetPerGen`) — it is not a property of the viewer.
|
|
881
|
+
* A registered recipe is how you get a reviewed graph you do not have to ship in
|
|
882
|
+
* the body. It is not a way onto a surface the inline arm cannot reach.
|
|
866
883
|
*
|
|
867
884
|
* WHAT REPLACED CODE REVIEW. A recipe is reviewed in-repo, and that review was
|
|
868
885
|
* the trust root. An inline graph has none, so the host substitutes three
|
|
@@ -997,8 +1014,10 @@ export type WorkflowBodyCustomComfyInline = {
|
|
|
997
1014
|
* - {@link WorkflowBodyCustomComfyRecipe} (`mode` omitted, or `'recipe'`) —
|
|
998
1015
|
* names a server-registered, code-reviewed recipe. The default.
|
|
999
1016
|
* - {@link WorkflowBodyCustomComfyInline} (`mode: 'inline'`) — ships the
|
|
1000
|
-
* ComfyUI graph itself.
|
|
1001
|
-
*
|
|
1017
|
+
* ComfyUI graph itself. Page-tokens-only, and fenced by three server-side
|
|
1018
|
+
* gates instead of code review. 🔴 NOT developer-only — this line said it was,
|
|
1019
|
+
* and no `customComfy` arm runs an app-developer check. See that type's own
|
|
1020
|
+
* doc comment for the refusals that DO run.
|
|
1002
1021
|
*
|
|
1003
1022
|
* Both arms are `.strict()` server-side, so a body naming BOTH `recipe` and
|
|
1004
1023
|
* `workflow` is rejected by both rather than resolved to a winner. Narrow on
|
|
@@ -1193,7 +1212,8 @@ export type WorkflowBodyPassThroughStep = {
|
|
|
1193
1212
|
* itself a union on `mode`: a bounded, server-registered
|
|
1194
1213
|
* {@link WorkflowBodyCustomComfyRecipe} (the default), or a
|
|
1195
1214
|
* {@link WorkflowBodyCustomComfyInline} graph the block ships itself
|
|
1196
|
-
* (`mode: 'inline'`; developer-only
|
|
1215
|
+
* (`mode: 'inline'`; page-tokens-only, and NOT developer-only — that claim
|
|
1216
|
+
* used to be here and is false).
|
|
1197
1217
|
* - {@link WorkflowBodyStep} (`kind: 'step'`, `step` PRESENT) — a bounded,
|
|
1198
1218
|
* server-registered orchestrator step (the host's step registry; billing mode
|
|
1199
1219
|
* and moderation posture are declared per entry).
|
package/package.json
CHANGED