blitzreels 0.1.10 → 0.1.12

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 CHANGED
@@ -141,6 +141,15 @@ blitzreels recording-sets clips create --recording-set-id SET_ID --max-clip-coun
141
141
  --studio-sound \
142
142
  --idempotency-key recording-set:clips:v1
143
143
 
144
+ blitzreels characters create --name "Virgile" \
145
+ --reference-asset-ids CHARACTER_SHEET_ASSET_ID \
146
+ --primary-reference-asset-id CHARACTER_SHEET_ASSET_ID \
147
+ --idempotency-key character:virgile:v1
148
+ blitzreels characters list --json
149
+ blitzreels faceless plans create --project-id PROJECT_ID --script-file ./script.txt \
150
+ --character-ids CHARACTER_ID --video-model seedance-2.0-ref2v \
151
+ --idempotency-key faceless:PROJECT_ID:v1
152
+
144
153
  blitzreels project inspect --project-id PROJECT_ID --json
145
154
  blitzreels project timeline --project-id PROJECT_ID --json
146
155
  blitzreels project snapshot --project-id PROJECT_ID --at 00:03
@@ -302,8 +311,8 @@ auth.
302
311
  ## Source, releases, and license
303
312
 
304
313
  The npm package is publicly installable, but its canonical source is private and proprietary.
305
- Workspace `0.1.10` adds large-media upload recovery, media download and verification, Recording Set discovery,
306
- share-download controls, and simple-clip Studio Sound.
314
+ Workspace `0.1.12` adds reusable character commands and character selection for faceless generation.
315
+ It includes the `0.1.11` large-media upload, Recording Set, share-download, and Studio Sound changes.
307
316
 
308
317
  Admin recovery and other internal operator commands are not part of the public CLI artifact.
309
318
 
@@ -1 +1 @@
1
- {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA0BzD,eAAO,MAAM,aAAa,EAAE,WAAW,EAyBtC,CAAC"}
1
+ {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA2BzD,eAAO,MAAM,aAAa,EAAE,WAAW,EA0BtC,CAAC"}
@@ -3,6 +3,7 @@ import { API_COMMAND_SPECS } from "./commands/api.js";
3
3
  import { AUDIO_COMMAND_SPECS } from "./commands/audio.js";
4
4
  import { AUTH_COMMAND_SPECS } from "./commands/auth.js";
5
5
  import { CAPTIONS_COMMAND_SPECS } from "./commands/captions.js";
6
+ import { CHARACTER_COMMAND_SPECS } from "./commands/characters.js";
6
7
  import { CLIPS_COMMAND_SPECS } from "./commands/clips.js";
7
8
  import { EDITING_WORKFLOW_COMMAND_SPECS } from "./commands/editing-workflows.js";
8
9
  import { EFFECTS_COMMAND_SPECS } from "./commands/effects.js";
@@ -40,6 +41,7 @@ export const COMMAND_SPECS = [
40
41
  ...STOCK_LIBRARY_COMMAND_SPECS,
41
42
  ...EDITING_WORKFLOW_COMMAND_SPECS,
42
43
  ...CAPTIONS_COMMAND_SPECS,
44
+ ...CHARACTER_COMMAND_SPECS,
43
45
  ...EXPORTS_COMMAND_SPECS,
44
46
  ...FACELESS_COMMAND_SPECS,
45
47
  ...FORMATS_COMMAND_SPECS,
@@ -1 +1 @@
1
- {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,GAAG,oBAAoB;IACvB,GAAG,kBAAkB;IACrB,GAAG,wBAAwB;IAC3B,GAAG,uBAAuB;IAC1B,GAAG,sBAAsB;IACzB,GAAG,2BAA2B;IAC9B,GAAG,yBAAyB;IAC5B,GAAG,2BAA2B;IAC9B,GAAG,mBAAmB;IACtB,GAAG,0BAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,0BAA0B;IAC7B,GAAG,mBAAmB;IACtB,GAAG,qBAAqB;IACxB,GAAG,2BAA2B;IAC9B,GAAG,8BAA8B;IACjC,GAAG,sBAAsB;IACzB,GAAG,qBAAqB;IACxB,GAAG,sBAAsB;IACzB,GAAG,qBAAqB;IACxB,GAAG,wBAAwB;IAC3B,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,iBAAiB;CACrB,CAAC"}
1
+ {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,GAAG,oBAAoB;IACvB,GAAG,kBAAkB;IACrB,GAAG,wBAAwB;IAC3B,GAAG,uBAAuB;IAC1B,GAAG,sBAAsB;IACzB,GAAG,2BAA2B;IAC9B,GAAG,yBAAyB;IAC5B,GAAG,2BAA2B;IAC9B,GAAG,mBAAmB;IACtB,GAAG,0BAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,0BAA0B;IAC7B,GAAG,mBAAmB;IACtB,GAAG,qBAAqB;IACxB,GAAG,2BAA2B;IAC9B,GAAG,8BAA8B;IACjC,GAAG,sBAAsB;IACzB,GAAG,uBAAuB;IAC1B,GAAG,qBAAqB;IACxB,GAAG,sBAAsB;IACzB,GAAG,qBAAqB;IACxB,GAAG,wBAAwB;IAC3B,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,iBAAiB;CACrB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { Flags } from "../cli-types.js";
2
+ import { type CommandSpec } from "../command-metadata.js";
3
+ import type { DryRunPreview } from "../preview-first-edit.js";
4
+ import type { CommandOperation } from "./command-operation.js";
5
+ export declare const CHARACTER_COMMAND_SPECS: CommandSpec[];
6
+ type CharacterCommandHelpers = {
7
+ dryRunRequest: (params: {
8
+ spec: CommandSpec;
9
+ method: string;
10
+ path: string;
11
+ body: unknown;
12
+ }) => DryRunPreview;
13
+ getNumberFlag: (params: {
14
+ flags: Flags;
15
+ name: string;
16
+ }) => number | undefined;
17
+ getOptionalBooleanFlag: (params: {
18
+ flags: Flags;
19
+ name: string;
20
+ }) => boolean | undefined;
21
+ getStringFlag: (params: {
22
+ flags: Flags;
23
+ name: string;
24
+ }) => string | undefined;
25
+ requireStringFlag: (params: {
26
+ flags: Flags;
27
+ name: string;
28
+ }) => string;
29
+ printResult: (params: {
30
+ json: boolean;
31
+ value: unknown;
32
+ human: string[];
33
+ fields?: string[];
34
+ }) => void;
35
+ };
36
+ export declare function createCharactersCommandOperation({ helpers, }: {
37
+ helpers: CharacterCommandHelpers;
38
+ }): CommandOperation;
39
+ export {};
40
+ //# sourceMappingURL=characters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../../src/commands/characters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,uBAAuB,EAAE,WAAW,EAgFhD,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;KACf,KAAK,aAAa,CAAC;IACpB,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,sBAAsB,EAAE,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,OAAO,GAAG,SAAS,CAAC;IAC1B,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9E,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IACtE,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,KAAK,IAAI,CAAC;CACZ,CAAC;AAsGF,wBAAgB,gCAAgC,CAAC,EAC/C,OAAO,GACR,EAAE;IACD,OAAO,EAAE,uBAAuB,CAAC;CAClC,GAAG,gBAAgB,CAyMnB"}
@@ -0,0 +1,344 @@
1
+ import { CliUsageError } from "../cli-errors.js";
2
+ import { commandSpec } from "../command-metadata.js";
3
+ export const CHARACTER_COMMAND_SPECS = [
4
+ commandSpec({
5
+ command: ["characters", "list"],
6
+ usage: "blitzreels characters list [--include-archived] [--limit 50] [--offset 0] [--json]",
7
+ description: "List reusable workspace characters and reference asset IDs.",
8
+ flags: [{ name: "include-archived", type: "boolean" }, "limit", "offset"],
9
+ }),
10
+ commandSpec({
11
+ command: ["characters", "get"],
12
+ usage: "blitzreels characters get --character-id ID [--json]",
13
+ description: "Get one workspace character and its reference asset IDs.",
14
+ flags: ["character-id"],
15
+ }),
16
+ commandSpec({
17
+ command: ["characters", "create"],
18
+ usage: "blitzreels characters create --name NAME [--type human] [--reference-asset-ids ID,ID] [--primary-reference-asset-id ID] --idempotency-key KEY [--dry-run] [--json]",
19
+ description: "Create a reusable character from workspace image assets.",
20
+ mutates: true,
21
+ dryRunSupported: true,
22
+ flags: [
23
+ "name",
24
+ "type",
25
+ "consistency-mode",
26
+ "reference-asset-ids",
27
+ "primary-reference-asset-id",
28
+ { name: "idempotency-key", required: true },
29
+ ],
30
+ }),
31
+ commandSpec({
32
+ command: ["characters", "update"],
33
+ usage: "blitzreels characters update --character-id ID [--name NAME] [--type human] [--consistency-mode reference] --idempotency-key KEY [--dry-run] [--json]",
34
+ description: "Update one workspace character.",
35
+ mutates: true,
36
+ dryRunSupported: true,
37
+ flags: [
38
+ "character-id",
39
+ "name",
40
+ "type",
41
+ "consistency-mode",
42
+ { name: "idempotency-key", required: true },
43
+ ],
44
+ }),
45
+ commandSpec({
46
+ command: ["characters", "references", "add"],
47
+ usage: "blitzreels characters references add --character-id ID --asset-ids ID,ID --idempotency-key KEY [--dry-run] [--json]",
48
+ description: "Add existing workspace image assets as character references.",
49
+ mutates: true,
50
+ dryRunSupported: true,
51
+ flags: [
52
+ "character-id",
53
+ "asset-ids",
54
+ { name: "idempotency-key", required: true },
55
+ ],
56
+ }),
57
+ commandSpec({
58
+ command: ["characters", "primary-reference", "set"],
59
+ usage: "blitzreels characters primary-reference set --character-id ID --asset-id ID --idempotency-key KEY [--dry-run] [--json]",
60
+ description: "Set one attached image as the primary character reference.",
61
+ mutates: true,
62
+ dryRunSupported: true,
63
+ flags: [
64
+ "character-id",
65
+ "asset-id",
66
+ { name: "idempotency-key", required: true },
67
+ ],
68
+ }),
69
+ commandSpec({
70
+ command: ["characters", "archive"],
71
+ usage: "blitzreels characters archive --character-id ID --idempotency-key KEY [--dry-run] [--json]",
72
+ description: "Archive one workspace character without deleting its assets.",
73
+ mutates: true,
74
+ dryRunSupported: true,
75
+ flags: ["character-id", { name: "idempotency-key", required: true }],
76
+ }),
77
+ ];
78
+ function parseIds({ value, name }) {
79
+ const ids = Array.from(new Set(value
80
+ .split(",")
81
+ .map((item) => item.trim())
82
+ .filter(Boolean)));
83
+ if (ids.length === 0) {
84
+ throw new CliUsageError({
85
+ code: "invalid_flag_value",
86
+ message: `--${name} must contain at least one ID.`,
87
+ });
88
+ }
89
+ return ids;
90
+ }
91
+ function parseCharacterType({ value, }) {
92
+ if (value === undefined)
93
+ return undefined;
94
+ if (value === "human" || value === "fictional" || value === "other") {
95
+ return value;
96
+ }
97
+ throw new CliUsageError({
98
+ code: "invalid_flag_value",
99
+ message: "--type must be human, fictional, or other.",
100
+ });
101
+ }
102
+ function parseConsistencyMode({ value, }) {
103
+ if (value === undefined)
104
+ return undefined;
105
+ if (value === "reference" || value === "trained_lora")
106
+ return value;
107
+ throw new CliUsageError({
108
+ code: "invalid_flag_value",
109
+ message: "--consistency-mode must be reference or trained_lora.",
110
+ });
111
+ }
112
+ function buildCharacterSummary({ character, }) {
113
+ return [
114
+ `Character: ${character.id}`,
115
+ `Name: ${character.name}`,
116
+ `Status: ${character.status}`,
117
+ `References: ${character.references.length}`,
118
+ `Primary reference: ${character.primary_reference_asset_id ?? "none"}`,
119
+ ];
120
+ }
121
+ function buildCreateInput({ context, helpers, }) {
122
+ const flags = context.args.flags;
123
+ const referenceIds = helpers.getStringFlag({
124
+ flags,
125
+ name: "reference-asset-ids",
126
+ });
127
+ return {
128
+ name: helpers.requireStringFlag({ flags, name: "name" }),
129
+ type: parseCharacterType({
130
+ value: helpers.getStringFlag({ flags, name: "type" }),
131
+ }),
132
+ consistencyMode: parseConsistencyMode({
133
+ value: helpers.getStringFlag({ flags, name: "consistency-mode" }),
134
+ }),
135
+ referenceAssetIds: referenceIds
136
+ ? parseIds({ value: referenceIds, name: "reference-asset-ids" })
137
+ : undefined,
138
+ primaryReferenceAssetId: helpers.getStringFlag({
139
+ flags,
140
+ name: "primary-reference-asset-id",
141
+ }),
142
+ idempotencyKey: helpers.requireStringFlag({
143
+ flags,
144
+ name: "idempotency-key",
145
+ }),
146
+ };
147
+ }
148
+ export function createCharactersCommandOperation({ helpers, }) {
149
+ return {
150
+ name: "characters",
151
+ matches: ({ command }) => command[0] === "characters",
152
+ handle: async ({ context }) => {
153
+ const [domain, action, nestedAction] = context.args.command;
154
+ const flags = context.args.flags;
155
+ if (domain !== "characters")
156
+ return false;
157
+ if (action === "list") {
158
+ const result = await context.client.characters.list({
159
+ includeArchived: helpers.getOptionalBooleanFlag({
160
+ flags,
161
+ name: "include-archived",
162
+ }),
163
+ limit: helpers.getNumberFlag({ flags, name: "limit" }),
164
+ offset: helpers.getNumberFlag({ flags, name: "offset" }),
165
+ });
166
+ helpers.printResult({
167
+ json: context.json,
168
+ value: result,
169
+ human: result.items.map((character) => `${character.id} | ${character.name} | ${character.status} | refs=${character.references.length}`),
170
+ });
171
+ return true;
172
+ }
173
+ const characterId = action === "create"
174
+ ? undefined
175
+ : helpers.requireStringFlag({ flags, name: "character-id" });
176
+ if (action === "get" && characterId) {
177
+ const result = await context.client.characters.get({ characterId });
178
+ helpers.printResult({
179
+ json: context.json,
180
+ value: result,
181
+ human: buildCharacterSummary({ character: result }),
182
+ });
183
+ return true;
184
+ }
185
+ if (action === "create") {
186
+ const result = await context.client.characters.create(buildCreateInput({ context, helpers }));
187
+ helpers.printResult({
188
+ json: context.json,
189
+ value: result,
190
+ human: buildCharacterSummary({ character: result }),
191
+ });
192
+ return true;
193
+ }
194
+ const idempotencyKey = helpers.requireStringFlag({
195
+ flags,
196
+ name: "idempotency-key",
197
+ });
198
+ if (action === "update" && characterId) {
199
+ const result = await context.client.characters.update({
200
+ characterId,
201
+ name: helpers.getStringFlag({ flags, name: "name" }),
202
+ type: parseCharacterType({
203
+ value: helpers.getStringFlag({ flags, name: "type" }),
204
+ }),
205
+ consistencyMode: parseConsistencyMode({
206
+ value: helpers.getStringFlag({ flags, name: "consistency-mode" }),
207
+ }),
208
+ idempotencyKey,
209
+ });
210
+ helpers.printResult({
211
+ json: context.json,
212
+ value: result,
213
+ human: buildCharacterSummary({ character: result }),
214
+ });
215
+ return true;
216
+ }
217
+ if (action === "references" && nestedAction === "add" && characterId) {
218
+ const result = await context.client.characters.addReferences({
219
+ characterId,
220
+ assetIds: parseIds({
221
+ value: helpers.requireStringFlag({ flags, name: "asset-ids" }),
222
+ name: "asset-ids",
223
+ }),
224
+ idempotencyKey,
225
+ });
226
+ helpers.printResult({
227
+ json: context.json,
228
+ value: result,
229
+ human: [
230
+ ...buildCharacterSummary({ character: result.character }),
231
+ `Added: ${result.added_count}`,
232
+ `Skipped: ${result.skipped_count}`,
233
+ ],
234
+ });
235
+ return true;
236
+ }
237
+ if (action === "primary-reference" &&
238
+ nestedAction === "set" &&
239
+ characterId) {
240
+ const result = await context.client.characters.setPrimaryReference({
241
+ characterId,
242
+ assetId: helpers.requireStringFlag({ flags, name: "asset-id" }),
243
+ idempotencyKey,
244
+ });
245
+ helpers.printResult({
246
+ json: context.json,
247
+ value: result,
248
+ human: buildCharacterSummary({ character: result }),
249
+ });
250
+ return true;
251
+ }
252
+ if (action === "archive" && characterId) {
253
+ const result = await context.client.characters.archive({
254
+ characterId,
255
+ idempotencyKey,
256
+ });
257
+ helpers.printResult({
258
+ json: context.json,
259
+ value: result,
260
+ human: buildCharacterSummary({ character: result }),
261
+ });
262
+ return true;
263
+ }
264
+ return false;
265
+ },
266
+ buildDryRun: ({ context, spec }) => {
267
+ const [domain, action, nestedAction] = context.args.command;
268
+ const flags = context.args.flags;
269
+ if (domain !== "characters")
270
+ return undefined;
271
+ if (action === "create") {
272
+ const input = buildCreateInput({ context, helpers });
273
+ return helpers.dryRunRequest({
274
+ spec,
275
+ method: "POST",
276
+ path: "/characters",
277
+ body: {
278
+ name: input.name,
279
+ type: input.type,
280
+ consistency_mode: input.consistencyMode,
281
+ reference_asset_ids: input.referenceAssetIds,
282
+ primary_reference_asset_id: input.primaryReferenceAssetId,
283
+ },
284
+ });
285
+ }
286
+ const characterId = helpers.requireStringFlag({
287
+ flags,
288
+ name: "character-id",
289
+ });
290
+ if (action === "update") {
291
+ return helpers.dryRunRequest({
292
+ spec,
293
+ method: "PATCH",
294
+ path: `/characters/${encodeURIComponent(characterId)}`,
295
+ body: {
296
+ name: helpers.getStringFlag({ flags, name: "name" }),
297
+ type: parseCharacterType({
298
+ value: helpers.getStringFlag({ flags, name: "type" }),
299
+ }),
300
+ consistency_mode: parseConsistencyMode({
301
+ value: helpers.getStringFlag({
302
+ flags,
303
+ name: "consistency-mode",
304
+ }),
305
+ }),
306
+ },
307
+ });
308
+ }
309
+ if (action === "references" && nestedAction === "add") {
310
+ return helpers.dryRunRequest({
311
+ spec,
312
+ method: "POST",
313
+ path: `/characters/${encodeURIComponent(characterId)}/references`,
314
+ body: {
315
+ asset_ids: parseIds({
316
+ value: helpers.requireStringFlag({ flags, name: "asset-ids" }),
317
+ name: "asset-ids",
318
+ }),
319
+ },
320
+ });
321
+ }
322
+ if (action === "primary-reference" && nestedAction === "set") {
323
+ return helpers.dryRunRequest({
324
+ spec,
325
+ method: "POST",
326
+ path: `/characters/${encodeURIComponent(characterId)}/primary-reference`,
327
+ body: {
328
+ asset_id: helpers.requireStringFlag({ flags, name: "asset-id" }),
329
+ },
330
+ });
331
+ }
332
+ if (action === "archive") {
333
+ return helpers.dryRunRequest({
334
+ spec,
335
+ method: "POST",
336
+ path: `/characters/${encodeURIComponent(characterId)}/archive`,
337
+ body: {},
338
+ });
339
+ }
340
+ return undefined;
341
+ },
342
+ };
343
+ }
344
+ //# sourceMappingURL=characters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characters.js","sourceRoot":"","sources":["../../src/commands/characters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clips.d.ts","sourceRoot":"","sources":["../../src/commands/clips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clips.d.ts","sourceRoot":"","sources":["../../src/commands/clips.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,18 @@ export const CLIPS_COMMAND_SPECS = [
21
21
  mutates: true,
22
22
  dryRunSupported: true,
23
23
  }),
24
+ commandSpec({
25
+ command: ["clip-share-pages", "update"],
26
+ usage: "blitzreels clip-share-pages update --asset-id ID --allow-downloads true|false --idempotency-key KEY [--dry-run] [--json]",
27
+ flags: [
28
+ "asset-id",
29
+ { name: "allow-downloads", type: "boolean", required: true },
30
+ { name: "idempotency-key", required: true },
31
+ ],
32
+ description: "Update download access for a published clip share page.",
33
+ mutates: true,
34
+ dryRunSupported: true,
35
+ }),
24
36
  commandSpec({
25
37
  command: ["clip-share-pages", "unpublish"],
26
38
  usage: "blitzreels clip-share-pages unpublish --asset-id ID --idempotency-key KEY [--dry-run] [--json]",
@@ -456,10 +468,10 @@ async function handleClipsCommand({ context, helpers, }) {
456
468
  });
457
469
  return true;
458
470
  }
459
- if (action === "publish" || action === "unpublish") {
471
+ if (action === "publish" || action === "update" || action === "unpublish") {
460
472
  const result = await context.client.clipSharePages.setEnabled({
461
473
  assetId,
462
- enabled: action === "publish",
474
+ enabled: action !== "unpublish",
463
475
  allowDownloads: helpers.getOptionalBooleanFlag({
464
476
  flags,
465
477
  name: "allow-downloads",
@@ -847,7 +859,7 @@ function buildClipsDryRun({ context, spec, helpers, }) {
847
859
  }
848
860
  if (context.args.command[0] === "clip-share-pages") {
849
861
  const assetId = helpers.requireStringFlag({ flags, name: "asset-id" });
850
- if (action === "publish" || action === "unpublish") {
862
+ if (action === "publish" || action === "update" || action === "unpublish") {
851
863
  return helpers.dryRunRequest({
852
864
  spec,
853
865
  method: "POST",
@@ -859,7 +871,7 @@ function buildClipsDryRun({ context, spec, helpers, }) {
859
871
  }),
860
872
  },
861
873
  body: {
862
- enabled: action === "publish",
874
+ enabled: action !== "unpublish",
863
875
  allow_downloads: helpers.getOptionalBooleanFlag({
864
876
  flags,
865
877
  name: "allow-downloads",