@civitai/app-sdk 0.13.1 → 0.15.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.
Files changed (41) hide show
  1. package/README.md +16 -10
  2. package/dist/blocks/browsingLevel.d.ts +1 -1
  3. package/dist/blocks/browsingLevel.js +1 -1
  4. package/dist/blocks/defineBlock.d.ts +22 -1
  5. package/dist/blocks/defineBlock.d.ts.map +1 -1
  6. package/dist/blocks/defineBlock.js +52 -9
  7. package/dist/blocks/defineBlock.js.map +1 -1
  8. package/dist/blocks/index.d.ts +3 -3
  9. package/dist/blocks/index.d.ts.map +1 -1
  10. package/dist/blocks/index.js +1 -1
  11. package/dist/blocks/messages.d.ts +138 -0
  12. package/dist/blocks/messages.d.ts.map +1 -1
  13. package/dist/blocks/messages.js.map +1 -1
  14. package/dist/blocks/scopes.d.ts +14 -3
  15. package/dist/blocks/scopes.d.ts.map +1 -1
  16. package/dist/blocks/scopes.js +17 -3
  17. package/dist/blocks/scopes.js.map +1 -1
  18. package/dist/blocks/types.d.ts +30 -0
  19. package/dist/blocks/types.d.ts.map +1 -1
  20. package/dist/oauth/authorize.d.ts +13 -0
  21. package/dist/oauth/authorize.d.ts.map +1 -1
  22. package/dist/oauth/authorize.js +13 -0
  23. package/dist/oauth/authorize.js.map +1 -1
  24. package/dist/oauth/pkce.d.ts +11 -1
  25. package/dist/oauth/pkce.d.ts.map +1 -1
  26. package/dist/oauth/pkce.js +11 -1
  27. package/dist/oauth/pkce.js.map +1 -1
  28. package/dist/oauth/token.d.ts +45 -4
  29. package/dist/oauth/token.d.ts.map +1 -1
  30. package/dist/oauth/token.js +45 -4
  31. package/dist/oauth/token.js.map +1 -1
  32. package/dist/orchestrator/index.d.ts +62 -4
  33. package/dist/orchestrator/index.d.ts.map +1 -1
  34. package/dist/orchestrator/index.js +62 -4
  35. package/dist/orchestrator/index.js.map +1 -1
  36. package/dist/scopes/index.d.ts +28 -4
  37. package/dist/scopes/index.d.ts.map +1 -1
  38. package/dist/scopes/index.js +28 -4
  39. package/dist/scopes/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/schemas/app-block/v1.json +145 -134
package/README.md CHANGED
@@ -18,7 +18,7 @@ pnpm add @civitai/app-sdk
18
18
  | `scopes/*` — `TokenScope`, `TokenScopePresets`, `bitmaskFromScopes`, `scopesFromBitmask`, `hasScope`, `getScopeLabel` | Civitai scopes are stored as bitmasks. These helpers let you compose scope sets from named flags rather than magic numbers. |
19
19
  | `cookies/*` — `sealCookie`, `unsealCookie`, `buildSetCookieHeader`, `readCookie` | AES-256-CTR encrypted cookie crypto. Use to seal a session blob (refresh token, expiry, scope) into an `httpOnly` cookie with zero external session store. |
20
20
  | `orchestrator/*` — `createOrchestratorClient`, `estimateWorkflow`, `submitWorkflow`, `getWorkflow`, `pollWorkflow`, `buildTextToImageBody`, `buildImageGenBody`, `buildWorkflowBody`, `WORKFLOW_STEP_TYPES`, `IMAGE_GEN_ENGINES`, `isTerminal`, `extractImageUrls`, `OrchestratorError`, `WorkflowSnapshot`, `GenerateInput`, `ImageGenInput`, `WorkflowStepType`, `ImageGenEngine`, `DEFAULT_MODEL_AIR` | Orchestrator workflow glue — types, body builders, raw HTTP, and long-poll helper. Client + server safe (fetch-only). `estimateWorkflow` calls `?whatif=true` to preview Buzz cost without spending. `pollWorkflow` long-polls to terminal status. `WORKFLOW_STEP_TYPES` is the catalog of every step `$type` the orchestrator accepts. |
21
- | `blocks/*` — `defineBlock`, `BlockManifestError`, `BLOCK_SCOPES`, `BLOCK_SCOPE_PATTERN`, `isMessage`, types (`BlockManifestV1`, `BlockContext`, `BlockToken`, `BlockSettings`, `ViewerInfo`, `ThemeInfo`, `BlockWorkflowSnapshot`, `BlockInitPayload`, `ParentToBlockMessage`, `BlockToParentMessage`, …) | Framework-agnostic contract for [Civitai App Blocks](https://github.com/civitai/civitai-app-starters/blob/main/docs/build-your-first-app-block.md). `defineBlock(config)` validates a `BlockManifestV1` at startup so authoring mistakes surface in `pnpm dev` instead of at `civitai app validate`/submit. Ships the JSON Schema (draft-07) at the `./schemas/app-block/v1.json` subpath for offline validation. Runtime-agnostic — no React or DOM types. Hooks and the iframe transport live in a separate package. |
21
+ | `blocks/*` — `defineBlock`, `BlockManifestError`, `BLOCK_SCOPES`, `BLOCK_SCOPE_PATTERN`, `isMessage`, types (`BlockManifestV1`, `BlockContext`, `BlockToken`, `BlockSettings`, `ViewerInfo`, `ThemeInfo`, `BlockWorkflowSnapshot`, `BlockInitPayload`, `ParentToBlockMessage`, `BlockToParentMessage`, …) | Framework-agnostic contract for [Civitai Apps](https://github.com/civitai/civitai-app-starters/blob/main/docs/build-your-first-app-block.md). `defineBlock(config)` validates a `BlockManifestV1` at startup so authoring mistakes surface in `pnpm dev` instead of at `civitai app validate`/submit. Ships a byte-identical copy of the server-published canonical JSON Schema (draft 2020-12, https://civitai.com/schemas/app-block/v1.json) at the `./schemas/app-block/v1.json` subpath for offline validation; a CI drift-check keeps it in sync. Runtime-agnostic — no React or DOM types. Hooks and the iframe transport live in a separate package. |
22
22
 
23
23
  ## Subpath imports
24
24
 
@@ -28,9 +28,9 @@ import { defineBlock, BLOCK_SCOPES } from '@civitai/app-sdk/blocks';
28
28
  import manifestSchema from '@civitai/app-sdk/schemas/app-block/v1.json' with { type: 'json' };
29
29
  ```
30
30
 
31
- ## App Blocks contract (`@civitai/app-sdk/blocks`)
31
+ ## Civitai Apps contract (`@civitai/app-sdk/blocks`)
32
32
 
33
- > Building an **App Block** (an iframe-embedded UI on a civitai.com page)? This
33
+ > Building a **Civitai App** (an iframe-embedded UI on a civitai.com page)? This
34
34
  > subpath is the framework-agnostic contract — manifest types, scope strings,
35
35
  > the `postMessage` protocol, and the `defineBlock` validator. The React hooks +
36
36
  > transport that consume it live in
@@ -88,7 +88,7 @@ interface BlockInitPayload {
88
88
  | Export | What |
89
89
  |---|---|
90
90
  | `defineBlock({ manifest })` | Validates a `BlockManifestV1` (subset of the server checks) and returns it. Call at module scope so authoring mistakes throw before mount. Throws `BlockManifestError` (has a `.field` dot-path). |
91
- | `BLOCK_SCOPES` / `BLOCK_SCOPE_PATTERN` | The known block scope strings + the `domain:verb:target` regex. |
91
+ | `BLOCK_SCOPES` / `BLOCK_SCOPE_PATTERN` | The 10 known block scope strings (the authoritative enum `defineBlock` validates against) + the `domain:verb:target` format-helper regex. A scope is valid only if it's a member of `BLOCK_SCOPES`, matching the [canonical schema](https://civitai.com/schemas/app-block/v1.json). |
92
92
  | `isMessage(data, type)` | Discriminator-only message narrowing (see above). |
93
93
  | types | `BlockManifestV1`, `ManifestSettings` (+ field types), `BlockContext`, `ModelSlotContext`, `BlockCheckpointInfo`, `ShowcaseImage`, `BlockToken`, `WrappedToken`, `BlockSettings`, `ViewerInfo`, `Theme`, `WorkflowBody`, `BlockTextToImageParams`, `BlockWorkflowSnapshot`, `WorkflowStatus`, `BlockInitPayload`, `ParentToBlockMessage`, `BlockToParentMessage`. |
94
94
 
@@ -99,10 +99,14 @@ Mirrors a strict subset of the civitai/civitai server gate. It throws on:
99
99
  - A missing **required** field: `$schema`, `appId`, `blockId`, `version`, `name`,
100
100
  `type`, `targets`, `scopes`, `iframe`, `contentRating`, `minApiVersion`.
101
101
  - `$schema` ≠ `https://civitai.com/schemas/app-block/v1.json`.
102
- - `blockId` not matching `/^[a-z0-9-]{3,64}$/`; `version` not semver; `name` > 80 chars.
102
+ - `blockId` not matching the canonical `/^[a-z][a-z0-9-]*[a-z0-9]$/` (DNS-subdomain-safe:
103
+ lowercase, starts with a letter, ends alphanumeric) or outside 3–40 chars —
104
+ the blockId becomes `<blockId>.civit.ai`; `version` not semver; `name` > 80 chars.
103
105
  - `type` not `block` | `embed`; `contentRating` not `g|pg|pg13|r|x`.
104
- - **Empty `scopes`** (must be a non-empty array) or any scope not matching
105
- `domain:verb:target` lowercase PascalCase like `ModelsReadSelf` gets a
106
+ - **Empty `scopes`** (must be a non-empty array) or any scope that isn't one of
107
+ the 10 known block scopes (`BLOCK_SCOPES`). The [canonical schema](https://civitai.com/schemas/app-block/v1.json)
108
+ validates `scopes` by **enum membership**, so a well-formed but unknown scope
109
+ (e.g. `models:read:all`) is rejected; PascalCase like `ModelsReadSelf` gets a
106
110
  pointed error.
107
111
  - **Empty `targets`**, or a target with a non-string `slotId` / non-integer `priority`.
108
112
  - `iframe.src` not https (http only for `localhost`/`127.0.0.1`/`[::1]`/`*.localhost`);
@@ -169,8 +173,10 @@ const setCookie = buildSetCookieHeader('civ_session', sealed, { maxAge: 3600 });
169
173
 
170
174
  // 4. Use the token to make orchestrator calls
171
175
  const client = createOrchestratorClient({ accessToken: tokens.access_token });
172
- const me = await fetchMe({ accessToken: tokens.access_token });
173
- console.log(`Hi ${me.username}, you have ${me.balance} Buzz`);
176
+ // fetchMe returns `unknown` narrow it to the fields you read. Note `/api/v1/me`
177
+ // does NOT include Buzz balance; use `fetchBuzzAccount` (needs `BuzzRead`) for that.
178
+ const me = (await fetchMe({ accessToken: tokens.access_token })) as { username: string };
179
+ console.log(`Hi ${me.username}`);
174
180
 
175
181
  // 5. Estimate cost, then submit
176
182
  const body = buildTextToImageBody({ prompt: 'a fox' }, { tags: ['my-app'] });
@@ -233,7 +239,7 @@ Pass `clientSecret` to `exchangeCode` / `refreshToken` / `revokeToken` for confi
233
239
  When your app calls the orchestrator with a user's OAuth access token, the orchestrator debits **the user's Buzz**, not yours. This is the right tenant model for a third-party app, but it means:
234
240
 
235
241
  1. **Request `AIServicesWrite` scope at consent time.** Without it the user can't grant their Buzz for generation.
236
- 2. **Show cost before spending.** Call `estimateCost` first — it returns `cost.total` in Buzz without debiting. Display it. Let the user confirm.
242
+ 2. **Show cost before spending.** Call `estimateWorkflow` first — it returns `cost.total` in Buzz without debiting. Display it. Let the user confirm.
237
243
  3. **Show balance.** Request `BuzzRead` scope, then call Civitai's balance endpoint. Don't surprise users.
238
244
  4. **Handle the cap-denial case.** Per-app spending caps (set by the user at consent and at Account → Connected Apps) can cause a successful `whatif` to be rejected at real submit time with a generic `BAD_REQUEST`. Treat that as "insufficient or denied" in your UI.
239
245
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Browsing-level bit constants + ceiling helpers for App Blocks.
2
+ * Browsing-level bit constants + ceiling helpers for Civitai Apps.
3
3
  *
4
4
  * The host (civitai/civitai) projects an authoritative `maxBrowsingLevel`
5
5
  * BITMASK into `BLOCK_INIT` — the max NSFW levels the surrounding color-domain
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Browsing-level bit constants + ceiling helpers for App Blocks.
2
+ * Browsing-level bit constants + ceiling helpers for Civitai Apps.
3
3
  *
4
4
  * The host (civitai/civitai) projects an authoritative `maxBrowsingLevel`
5
5
  * BITMASK into `BLOCK_INIT` — the max NSFW levels the surrounding color-domain
@@ -26,7 +26,28 @@ export interface DefineBlockConfig {
26
26
  /**
27
27
  * Validates the manifest and returns it unchanged. Acts as a typed identity
28
28
  * function — call it at module scope in the block app so violations throw
29
- * before the app mounts.
29
+ * before the app mounts. Mirrors a strict subset of the civitai/civitai server
30
+ * gate, so authoring mistakes surface in `pnpm dev` instead of at submit time.
31
+ * Throws {@link BlockManifestError} (with a `.field` dot-path) on a bad manifest.
32
+ *
33
+ * @example
34
+ * import { defineBlock } from '@civitai/app-sdk/blocks';
35
+ *
36
+ * export const manifest = defineBlock({
37
+ * manifest: {
38
+ * $schema: 'https://civitai.com/schemas/app-block/v1.json',
39
+ * appId: 'my-app',
40
+ * blockId: 'my-block',
41
+ * version: '1.0.0',
42
+ * name: 'My Block',
43
+ * type: 'block',
44
+ * targets: [{ slotId: 'model.sidebar_top', priority: 100 }],
45
+ * scopes: ['ai:write:budgeted'],
46
+ * iframe: { src: 'https://my-block.civit.ai/', minHeight: 200 },
47
+ * contentRating: 'pg',
48
+ * minApiVersion: '1.0',
49
+ * },
50
+ * });
30
51
  */
31
52
  export declare function defineBlock(config: DefineBlockConfig): BlockManifest;
32
53
  //# sourceMappingURL=defineBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defineBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/defineBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAkD/D,0DAA0D;AAC1D,qBAAa,kBAAmB,SAAQ,KAAK;IAIzC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IAJzB,SAAkB,IAAI,wBAAwB;gBAE5C,OAAO,EAAE,MAAM;IACf,8DAA8D;IACrD,KAAK,CAAC,EAAE,MAAM,YAAA;CAI1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;CAIzB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAmFpE"}
1
+ {"version":3,"file":"defineBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/defineBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AA4D/D,0DAA0D;AAC1D,qBAAa,kBAAmB,SAAQ,KAAK;IAIzC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IAJzB,SAAkB,IAAI,wBAAwB;gBAE5C,OAAO,EAAE,MAAM;IACf,8DAA8D;IACrD,KAAK,CAAC,EAAE,MAAM,YAAA;CAI1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;CAIzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CA2FpE"}
@@ -10,8 +10,18 @@
10
10
  * caller is `JSON.parse(fs.readFileSync('block.manifest.json'))`, where
11
11
  * the TypeScript type is a lie.
12
12
  */
13
- import { BLOCK_SCOPE_PATTERN } from './scopes.js';
14
- const BLOCK_ID_PATTERN = /^[a-z0-9-]{3,64}$/;
13
+ import { BLOCK_SCOPES, BLOCK_SCOPE_PATTERN } from './scopes.js';
14
+ /**
15
+ * Canonical `blockId` rule (https://civitai.com/schemas/app-block/v1.json):
16
+ * lowercase, must start with a letter, end alphanumeric, hyphen-separated,
17
+ * 3–40 chars. This is the DNS-subdomain-safe rule — the blockId becomes
18
+ * `<blockId>.civit.ai`, so it must be a valid DNS label.
19
+ */
20
+ const BLOCK_ID_PATTERN = /^[a-z][a-z0-9-]*[a-z0-9]$/;
21
+ const BLOCK_ID_MIN_LENGTH = 3;
22
+ const BLOCK_ID_MAX_LENGTH = 40;
23
+ /** The 10 canonical block scopes (enum the schema validates `scopes` against). */
24
+ const KNOWN_BLOCK_SCOPES = new Set(Object.values(BLOCK_SCOPES));
15
25
  const NAME_MAX_LENGTH = 80;
16
26
  const SEMVER_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
17
27
  /** Detects the SubresourceIntegrity hash format (sha256/384/512 + base64). */
@@ -68,7 +78,28 @@ export class BlockManifestError extends Error {
68
78
  /**
69
79
  * Validates the manifest and returns it unchanged. Acts as a typed identity
70
80
  * function — call it at module scope in the block app so violations throw
71
- * before the app mounts.
81
+ * before the app mounts. Mirrors a strict subset of the civitai/civitai server
82
+ * gate, so authoring mistakes surface in `pnpm dev` instead of at submit time.
83
+ * Throws {@link BlockManifestError} (with a `.field` dot-path) on a bad manifest.
84
+ *
85
+ * @example
86
+ * import { defineBlock } from '@civitai/app-sdk/blocks';
87
+ *
88
+ * export const manifest = defineBlock({
89
+ * manifest: {
90
+ * $schema: 'https://civitai.com/schemas/app-block/v1.json',
91
+ * appId: 'my-app',
92
+ * blockId: 'my-block',
93
+ * version: '1.0.0',
94
+ * name: 'My Block',
95
+ * type: 'block',
96
+ * targets: [{ slotId: 'model.sidebar_top', priority: 100 }],
97
+ * scopes: ['ai:write:budgeted'],
98
+ * iframe: { src: 'https://my-block.civit.ai/', minHeight: 200 },
99
+ * contentRating: 'pg',
100
+ * minApiVersion: '1.0',
101
+ * },
102
+ * });
72
103
  */
73
104
  export function defineBlock(config) {
74
105
  const { manifest } = config;
@@ -85,9 +116,12 @@ export function defineBlock(config) {
85
116
  }
86
117
  requireNonEmptyString(manifest.appId, 'appId');
87
118
  requireNonEmptyString(manifest.blockId, 'blockId');
88
- if (!BLOCK_ID_PATTERN.test(manifest.blockId)) {
89
- throw new BlockManifestError(`manifest.blockId must match ${BLOCK_ID_PATTERN} ` +
90
- `(lowercase letters, digits, and hyphens; 3-64 chars). Got: ${JSON.stringify(manifest.blockId)}`, 'blockId');
119
+ if (manifest.blockId.length < BLOCK_ID_MIN_LENGTH ||
120
+ manifest.blockId.length > BLOCK_ID_MAX_LENGTH ||
121
+ !BLOCK_ID_PATTERN.test(manifest.blockId)) {
122
+ throw new BlockManifestError(`manifest.blockId must match ${BLOCK_ID_PATTERN} and be ${BLOCK_ID_MIN_LENGTH}-${BLOCK_ID_MAX_LENGTH} chars ` +
123
+ `(lowercase, starts with a letter, ends alphanumeric, hyphen-separated — DNS-subdomain-safe since it becomes <blockId>.civit.ai). ` +
124
+ `Got: ${JSON.stringify(manifest.blockId)}`, 'blockId');
91
125
  }
92
126
  requireNonEmptyString(manifest.version, 'version');
93
127
  if (!SEMVER_PATTERN.test(manifest.version)) {
@@ -104,7 +138,10 @@ export function defineBlock(config) {
104
138
  throw new BlockManifestError('manifest.scopes must be a non-empty array', 'scopes');
105
139
  }
106
140
  for (const scope of manifest.scopes) {
107
- if (typeof scope !== 'string' || !BLOCK_SCOPE_PATTERN.test(scope)) {
141
+ // Authoritative validity = membership in the canonical enum (BLOCK_SCOPES),
142
+ // matching how the published schema validates `scopes`. The format pattern
143
+ // is only used to pick a pointed error message.
144
+ if (typeof scope !== 'string' || !KNOWN_BLOCK_SCOPES.has(scope)) {
108
145
  throw new BlockManifestError(buildScopeError(scope), 'scopes');
109
146
  }
110
147
  }
@@ -130,12 +167,18 @@ function requireNonEmptyString(value, field) {
130
167
  }
131
168
  function buildScopeError(scope) {
132
169
  const shown = JSON.stringify(scope);
170
+ const known = Object.values(BLOCK_SCOPES).join(', ');
133
171
  if (typeof scope === 'string' && PASCAL_CASE_PATTERN.test(scope)) {
134
172
  return (`Block scope strings must use colon-separated lowercase format ` +
135
173
  `(e.g. "models:read:self"), not PascalCase (e.g. "ModelsReadSelf"). Got: ${shown}`);
136
174
  }
137
- return (`Block scope strings must match ${BLOCK_SCOPE_PATTERN} ` +
138
- `(three colon-separated lowercase segments, e.g. "models:read:self"). Got: ${shown}`);
175
+ if (typeof scope === 'string' && !BLOCK_SCOPE_PATTERN.test(scope)) {
176
+ return (`Block scope strings must match ${BLOCK_SCOPE_PATTERN} ` +
177
+ `(three colon-separated lowercase segments, e.g. "models:read:self"). Got: ${shown}`);
178
+ }
179
+ // Well-formed but not one of the known/approved scopes.
180
+ return (`manifest.scopes contains an unknown block scope ${shown}. ` +
181
+ `Must be one of: ${known}.`);
139
182
  }
140
183
  function validateTarget(target, index) {
141
184
  const path = `targets[${index}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"defineBlock.js","sourceRoot":"","sources":["../../src/blocks/defineBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineBlock.js","sourceRoot":"","sources":["../../src/blocks/defineBlock.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/app-sdk/blocks` — framework-agnostic contract for Civitai App Blocks.
2
+ * `@civitai/app-sdk/blocks` — framework-agnostic contract for Civitai Apps.
3
3
  *
4
4
  * This subpath exports the manifest type, scope strings, postMessage protocol,
5
5
  * and the `defineBlock` validator. Hooks and transport implementations live in
@@ -13,6 +13,6 @@ export type { BlockScope, BlockScopeKey } from './scopes.js';
13
13
  export { BrowsingLevel, SFW_LEVELS, NSFW_LEVELS, isSfwCeiling, isLevelAllowed, } from './browsingLevel.js';
14
14
  export type { BrowsingLevelKey, BrowsingLevelBit, ColorDomain } from './browsingLevel.js';
15
15
  export { isMessage } from './messages.js';
16
- export type { BlockInitPayload, BlockToParentMessage, BlockToParentMessageType, ParentToBlockMessage, ParentToBlockMessageType, WrappedToken, } from './messages.js';
17
- export type { BlockContext, BlockManifest, BlockManifestV1, BlockSettings, BlockToken, ContentRating, ManifestAsset, ManifestBooleanField, ManifestIframe, ManifestNumberField, ManifestPreview, ManifestSettingField, ManifestSettings, ManifestStringField, ManifestTarget, ModelSlotContext, SettingScope, SettingWidget, Theme, ViewerInfo, BlockCheckpointInfo, BlockResourceInfo, BlockResourcePickerType, BlockTextToImageParams, BlockWorkflowSnapshot, ShowcaseImage, WorkflowBody, WorkflowStatus, } from './types.js';
16
+ export type { BlockInitPayload, BlockToParentMessage, BlockToParentMessageType, ParentToBlockMessage, ParentToBlockMessageType, SharedStorageItemWire, SharedStorageValue, WrappedToken, } from './messages.js';
17
+ export type { BlockContext, BlockManifest, BlockManifestV1, BlockSettings, BlockToken, ContentRating, ManifestAsset, ManifestBooleanField, ManifestIframe, ManifestNumberField, ManifestPreview, ManifestSettingField, ManifestSettings, ManifestStringField, ManifestTarget, ModelSlotContext, SettingScope, SettingWidget, Theme, ViewerInfo, BlockCheckpointInfo, BlockResourceInfo, BlockResourcePickerType, BlockTextToImageParams, BlockWorkflowSnapshot, BuzzAccountType, ShowcaseImage, WorkflowBody, WorkflowStatus, } from './types.js';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,EACL,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,EACL,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/app-sdk/blocks` — framework-agnostic contract for Civitai App Blocks.
2
+ * `@civitai/app-sdk/blocks` — framework-agnostic contract for Civitai Apps.
3
3
  *
4
4
  * This subpath exports the manifest type, scope strings, postMessage protocol,
5
5
  * and the `defineBlock` validator. Hooks and transport implementations live in
@@ -68,6 +68,33 @@ export interface BlockInitPayload {
68
68
  */
69
69
  maxBrowsingLevel?: number;
70
70
  }
71
+ /**
72
+ * The freeform value carried by one SHARED-storage entry. Unlike the per-user
73
+ * `APP_STORAGE_*` KV (arbitrary JSON), the SHARED store is a structured,
74
+ * append-only, community-votable list — every entry is a `{ title, body? }`
75
+ * record contributed by one viewer and vote-counted across all viewers. `title`
76
+ * is required; `body` is optional long-form.
77
+ */
78
+ export interface SharedStorageValue {
79
+ title: string;
80
+ body?: string;
81
+ }
82
+ /**
83
+ * One SHARED-storage entry as it appears on the wire in `SHARED_LIST_RESULT`.
84
+ * `createdAt`/`updatedAt` are ISO-8601 strings; the block-side hook rehydrates
85
+ * them to `Date` (mirrors `APP_STORAGE_LIST_RESULT`'s `updatedAt`). `count` is
86
+ * the current vote total; `authorUserId` is the contributing viewer.
87
+ */
88
+ export interface SharedStorageItemWire {
89
+ key: string;
90
+ authorUserId: number;
91
+ value: SharedStorageValue;
92
+ count: number;
93
+ /** ISO-8601; consumers rehydrate to Date. */
94
+ createdAt: string;
95
+ /** ISO-8601; consumers rehydrate to Date. */
96
+ updatedAt: string;
97
+ }
71
98
  export type ParentToBlockMessage = {
72
99
  type: 'BLOCK_INIT';
73
100
  payload: BlockInitPayload;
@@ -113,6 +140,17 @@ export type ParentToBlockMessage = {
113
140
  purchased: boolean;
114
141
  newBalance?: number;
115
142
  };
143
+ } | {
144
+ type: 'BUZZ_BALANCE_RESULT';
145
+ payload: {
146
+ requestId: string;
147
+ balance?: {
148
+ blue: number;
149
+ green: number;
150
+ yellow: number;
151
+ };
152
+ error?: string;
153
+ };
116
154
  } | {
117
155
  type: 'CHECKPOINT_PICKER_RESULT';
118
156
  payload: {
@@ -176,6 +214,57 @@ export type ParentToBlockMessage = {
176
214
  limitRows: number;
177
215
  error?: string;
178
216
  };
217
+ } | {
218
+ type: 'SHARED_LIST_RESULT';
219
+ payload: {
220
+ requestId: string;
221
+ items: SharedStorageItemWire[];
222
+ nextCursor?: string;
223
+ error?: string;
224
+ };
225
+ } | {
226
+ type: 'SHARED_GET_COUNT_RESULT';
227
+ payload: {
228
+ requestId: string;
229
+ count: number;
230
+ error?: string;
231
+ };
232
+ } | {
233
+ type: 'SHARED_GET_COUNTS_RESULT';
234
+ payload: {
235
+ requestId: string;
236
+ counts: Record<string, number>;
237
+ error?: string;
238
+ };
239
+ } | {
240
+ type: 'SHARED_APPEND_RESULT';
241
+ payload: {
242
+ requestId: string;
243
+ key: string;
244
+ error?: string;
245
+ };
246
+ } | {
247
+ type: 'SHARED_VOTE_RESULT';
248
+ payload: {
249
+ requestId: string;
250
+ count: number;
251
+ error?: string;
252
+ };
253
+ } | {
254
+ type: 'SHARED_UNVOTE_RESULT';
255
+ payload: {
256
+ requestId: string;
257
+ count: number;
258
+ error?: string;
259
+ };
260
+ } | {
261
+ type: 'SHARED_WITHDRAW_RESULT';
262
+ payload: {
263
+ requestId: string;
264
+ ok: boolean;
265
+ deleted: boolean;
266
+ error?: string;
267
+ };
179
268
  } | {
180
269
  type: 'SUSPEND';
181
270
  payload?: undefined;
@@ -236,6 +325,11 @@ export type BlockToParentMessage = {
236
325
  requestId: string;
237
326
  suggestedAmount?: number;
238
327
  };
328
+ } | {
329
+ type: 'GET_BUZZ_BALANCE';
330
+ payload: {
331
+ requestId: string;
332
+ };
239
333
  } | {
240
334
  type: 'OPEN_CHECKPOINT_PICKER';
241
335
  payload: {
@@ -312,6 +406,50 @@ export type BlockToParentMessage = {
312
406
  payload: {
313
407
  requestId: string;
314
408
  };
409
+ } | {
410
+ type: 'SHARED_LIST';
411
+ payload: {
412
+ requestId: string;
413
+ prefix?: string;
414
+ limit?: number;
415
+ cursor?: string;
416
+ };
417
+ } | {
418
+ type: 'SHARED_GET_COUNT';
419
+ payload: {
420
+ requestId: string;
421
+ key: string;
422
+ };
423
+ } | {
424
+ type: 'SHARED_GET_COUNTS';
425
+ payload: {
426
+ requestId: string;
427
+ keys: string[];
428
+ };
429
+ } | {
430
+ type: 'SHARED_APPEND';
431
+ payload: {
432
+ requestId: string;
433
+ value: SharedStorageValue;
434
+ };
435
+ } | {
436
+ type: 'SHARED_VOTE';
437
+ payload: {
438
+ requestId: string;
439
+ key: string;
440
+ };
441
+ } | {
442
+ type: 'SHARED_UNVOTE';
443
+ payload: {
444
+ requestId: string;
445
+ key: string;
446
+ };
447
+ } | {
448
+ type: 'SHARED_WITHDRAW';
449
+ payload: {
450
+ requestId: string;
451
+ key: string;
452
+ };
315
453
  };
316
454
  export type BlockToParentMessageType = BlockToParentMessage['type'];
317
455
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/blocks/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/blocks/messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/blocks/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqTH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CACvB,IAAa,EACb,IAAO;IAEP,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACb,IAA0B,CAAC,IAAI,KAAK,IAAI,CAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/blocks/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4bH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CACvB,IAAa,EACb,IAAO;IAEP,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACb,IAA0B,CAAC,IAAI,KAAK,IAAI,CAC1C,CAAC;AACJ,CAAC"}
@@ -19,17 +19,28 @@ export declare const BLOCK_SCOPES: {
19
19
  readonly BLOCK_SETTINGS_READ: "block:settings:read";
20
20
  readonly BLOCK_SETTINGS_WRITE: "block:settings:write";
21
21
  readonly SOCIAL_TIP_SELF: "social:tip:self";
22
+ readonly APPS_STORAGE_READ: "apps:storage:read";
23
+ readonly APPS_STORAGE_WRITE: "apps:storage:write";
22
24
  };
23
25
  export type BlockScopeKey = keyof typeof BLOCK_SCOPES;
24
26
  export type BlockScope = (typeof BLOCK_SCOPES)[BlockScopeKey];
25
27
  /**
26
- * Regex enforced by `defineBlock` and the JSON schema.
28
+ * Format helper for the `domain:verb:target` block-scope shape.
29
+ *
30
+ * NOTE: this regex is **not** the authoritative validity contract. The
31
+ * canonical manifest schema (https://civitai.com/schemas/app-block/v1.json)
32
+ * validates `scopes` by MEMBERSHIP in a fixed enum — i.e. the 10 values in
33
+ * {@link BLOCK_SCOPES}. `defineBlock` therefore gates on membership in
34
+ * `BLOCK_SCOPES`; this pattern is kept only to give a pointed error message
35
+ * (e.g. distinguishing a malformed/PascalCase scope from a well-formed but
36
+ * unknown one). A scope can match this pattern and still be rejected for not
37
+ * being a known block scope.
27
38
  *
28
39
  * The 3-segment shape (`domain:verb:target`) is **intentional**: scope
29
40
  * comparisons in token validation rely on it. Relaxing this (e.g. to allow
30
41
  * 4+ segments like `ai:write:image:budgeted`) requires a coordinated change
31
- * across the SDK, the JSON schema, the civitai/civitai token validator,
32
- * and a `@civitai/app-sdk` major bump.
42
+ * across the SDK, the canonical JSON schema, the civitai/civitai token
43
+ * validator, and a `@civitai/app-sdk` major bump.
33
44
  */
34
45
  export declare const BLOCK_SCOPE_PATTERN: RegExp;
35
46
  //# sourceMappingURL=scopes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/blocks/scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,YAAY,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,QAA2B,CAAC"}
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/blocks/scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;CAcf,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,YAAY,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,QAA2B,CAAC"}
@@ -19,15 +19,29 @@ export const BLOCK_SCOPES = {
19
19
  BLOCK_SETTINGS_READ: 'block:settings:read',
20
20
  BLOCK_SETTINGS_WRITE: 'block:settings:write',
21
21
  SOCIAL_TIP_SELF: 'social:tip:self',
22
+ // apps:storage:* — the per-app KV datastore (W4). These have no OAuth bit
23
+ // (storage never touches the user's civitai resources); the server gates them
24
+ // by presence in the block's approved scope set, not a bitmask.
25
+ APPS_STORAGE_READ: 'apps:storage:read',
26
+ APPS_STORAGE_WRITE: 'apps:storage:write',
22
27
  };
23
28
  /**
24
- * Regex enforced by `defineBlock` and the JSON schema.
29
+ * Format helper for the `domain:verb:target` block-scope shape.
30
+ *
31
+ * NOTE: this regex is **not** the authoritative validity contract. The
32
+ * canonical manifest schema (https://civitai.com/schemas/app-block/v1.json)
33
+ * validates `scopes` by MEMBERSHIP in a fixed enum — i.e. the 10 values in
34
+ * {@link BLOCK_SCOPES}. `defineBlock` therefore gates on membership in
35
+ * `BLOCK_SCOPES`; this pattern is kept only to give a pointed error message
36
+ * (e.g. distinguishing a malformed/PascalCase scope from a well-formed but
37
+ * unknown one). A scope can match this pattern and still be rejected for not
38
+ * being a known block scope.
25
39
  *
26
40
  * The 3-segment shape (`domain:verb:target`) is **intentional**: scope
27
41
  * comparisons in token validation rely on it. Relaxing this (e.g. to allow
28
42
  * 4+ segments like `ai:write:image:budgeted`) requires a coordinated change
29
- * across the SDK, the JSON schema, the civitai/civitai token validator,
30
- * and a `@civitai/app-sdk` major bump.
43
+ * across the SDK, the canonical JSON schema, the civitai/civitai token
44
+ * validator, and a `@civitai/app-sdk` major bump.
31
45
  */
32
46
  export const BLOCK_SCOPE_PATTERN = /^[a-z]+:[a-z]+:[a-z]+$/;
33
47
  //# sourceMappingURL=scopes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/blocks/scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAKX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/blocks/scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,0EAA0E;IAC1E,8EAA8E;IAC9E,gEAAgE;IAChE,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAKX;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC"}