@contenthero/cli 0.2.2 → 0.2.3
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 +2 -0
- package/dist/commands/audio.d.ts +11 -0
- package/dist/commands/audio.d.ts.map +1 -0
- package/dist/commands/audio.js +88 -0
- package/dist/commands/audio.js.map +1 -0
- package/dist/commands/brandkit.d.ts.map +1 -1
- package/dist/commands/brandkit.js +10 -27
- package/dist/commands/brandkit.js.map +1 -1
- package/dist/commands/context.d.ts +3 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +143 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/favorites.d.ts +16 -0
- package/dist/commands/favorites.d.ts.map +1 -0
- package/dist/commands/favorites.js +98 -0
- package/dist/commands/favorites.js.map +1 -0
- package/dist/commands/folder.d.ts +12 -0
- package/dist/commands/folder.d.ts.map +1 -0
- package/dist/commands/folder.js +93 -0
- package/dist/commands/folder.js.map +1 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +24 -6
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +3 -2
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/inspiration.d.ts.map +1 -1
- package/dist/commands/inspiration.js +2 -0
- package/dist/commands/inspiration.js.map +1 -1
- package/dist/commands/media.d.ts +1 -0
- package/dist/commands/media.d.ts.map +1 -1
- package/dist/commands/media.js +169 -12
- package/dist/commands/media.js.map +1 -1
- package/dist/commands/post.d.ts.map +1 -1
- package/dist/commands/post.js +0 -8
- package/dist/commands/post.js.map +1 -1
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +290 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/transcribe.d.ts +4 -3
- package/dist/commands/transcribe.d.ts.map +1 -1
- package/dist/commands/transcribe.js +5 -3
- package/dist/commands/transcribe.js.map +1 -1
- package/dist/config.d.ts +8 -28
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -41
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +3 -4
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +8 -0
- package/dist/context.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/generation.d.ts +19 -1
- package/dist/generation.d.ts.map +1 -1
- package/dist/generation.js +63 -5
- package/dist/generation.js.map +1 -1
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +10 -0
- package/dist/program.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -78,6 +78,8 @@ Exit code 4 means a render was accepted but did not finish before the timeout. T
|
|
|
78
78
|
## The rest of the surface
|
|
79
79
|
|
|
80
80
|
```
|
|
81
|
+
contenthero project list | get | create | delete | import | export | export-status
|
|
82
|
+
| export-formats | layer-types | timeline-types | apply
|
|
81
83
|
contenthero media list | get <id>
|
|
82
84
|
contenthero post list | get | create | update | archive | schedule | publish
|
|
83
85
|
| destination add|update | asset add
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero audio ...` - audio editing (existing audio -> audio).
|
|
3
|
+
*
|
|
4
|
+
* The sibling of `generate` for the audio-transform shape. `audio isolate`
|
|
5
|
+
* removes background noise and music from a recording, leaving clean speech.
|
|
6
|
+
* Isolation is synchronous (the processed URL comes back inline); --cost previews
|
|
7
|
+
* the credit charge without running.
|
|
8
|
+
*/
|
|
9
|
+
import type { Command } from 'commander';
|
|
10
|
+
export declare function registerAudio(program: Command): void;
|
|
11
|
+
//# sourceMappingURL=audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+EpD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero audio ...` - audio editing (existing audio -> audio).
|
|
3
|
+
*
|
|
4
|
+
* The sibling of `generate` for the audio-transform shape. `audio isolate`
|
|
5
|
+
* removes background noise and music from a recording, leaving clean speech.
|
|
6
|
+
* Isolation is synchronous (the processed URL comes back inline); --cost previews
|
|
7
|
+
* the credit charge without running.
|
|
8
|
+
*/
|
|
9
|
+
import { makeClient } from '../context.js';
|
|
10
|
+
import { compact, runEditAudio, renderEnhanceClips } from '../generation.js';
|
|
11
|
+
import { toFloat, toInt, toJson } from '../args.js';
|
|
12
|
+
const VOICE_ISOLATION_MODEL_ID = 'elevenlabs-voice-isolator';
|
|
13
|
+
const AUDIO_ENHANCE_MODEL_ID = 'auphonic-enhance';
|
|
14
|
+
const DEFAULT_TIMEOUT_SEC = 600;
|
|
15
|
+
export function registerAudio(program) {
|
|
16
|
+
const audio = program.command('audio').description('Audio editing (existing audio -> audio)');
|
|
17
|
+
audio
|
|
18
|
+
.command('isolate')
|
|
19
|
+
.description('Isolate vocals from an audio file (remove background noise and music)')
|
|
20
|
+
.argument('<source>', 'source audio (URL or output id) to isolate')
|
|
21
|
+
.option('--duration <seconds>', 'source audio length in seconds (required for --cost)', toFloat)
|
|
22
|
+
.option('--project <id>', 'editor project to place the result on (omit for a standalone library output)')
|
|
23
|
+
.option('--placement <json>', 'placement intent as JSON, e.g. {"mode":"atPlayhead"} (omit to place at the playhead when known, else append)', toJson)
|
|
24
|
+
.option('--playhead <frame>', 'current playhead frame, for playhead-relative placement', toInt)
|
|
25
|
+
.option('--cost', 'estimate the credit cost instead of running')
|
|
26
|
+
.option('--no-wait', 'return the outputId immediately instead of waiting')
|
|
27
|
+
.option('--timeout <seconds>', 'how long to wait before handing back the outputId', toInt, DEFAULT_TIMEOUT_SEC)
|
|
28
|
+
.action(async (source, opts, command) => {
|
|
29
|
+
const { client, ctx } = makeClient(command);
|
|
30
|
+
const request = compact({
|
|
31
|
+
modelId: VOICE_ISOLATION_MODEL_ID,
|
|
32
|
+
sourceUrl: source,
|
|
33
|
+
durationSeconds: opts.duration,
|
|
34
|
+
projectId: opts.project,
|
|
35
|
+
placement: opts.placement,
|
|
36
|
+
playheadFrame: opts.playhead,
|
|
37
|
+
});
|
|
38
|
+
await runEditAudio(client, ctx, request, {
|
|
39
|
+
cost: opts.cost === true,
|
|
40
|
+
wait: opts.wait !== false,
|
|
41
|
+
timeoutSec: opts.timeout ?? DEFAULT_TIMEOUT_SEC,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
audio
|
|
45
|
+
.command('enhance')
|
|
46
|
+
.description('Enhance an audio file (level loudness, clean up background noise). Asynchronous.')
|
|
47
|
+
.argument('<source>', 'source audio (URL or output id) to enhance')
|
|
48
|
+
.option('--duration <seconds>', 'source audio length in seconds (required for --cost, and when the source is not a stored ContentHero asset)', toFloat)
|
|
49
|
+
.option('--cost', 'estimate the credit cost instead of running')
|
|
50
|
+
.option('--no-wait', 'return the outputId immediately instead of waiting')
|
|
51
|
+
.option('--timeout <seconds>', 'how long to wait before handing back the outputId', toInt, DEFAULT_TIMEOUT_SEC)
|
|
52
|
+
.action(async (source, opts, command) => {
|
|
53
|
+
const { client, ctx } = makeClient(command);
|
|
54
|
+
const request = compact({
|
|
55
|
+
modelId: AUDIO_ENHANCE_MODEL_ID,
|
|
56
|
+
sourceUrl: source,
|
|
57
|
+
durationSeconds: opts.duration,
|
|
58
|
+
});
|
|
59
|
+
await runEditAudio(client, ctx, request, {
|
|
60
|
+
cost: opts.cost === true,
|
|
61
|
+
wait: opts.wait !== false,
|
|
62
|
+
timeoutSec: opts.timeout ?? DEFAULT_TIMEOUT_SEC,
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
audio
|
|
66
|
+
.command('enhance-clips')
|
|
67
|
+
.description('Enhance the audio OF EXISTING CLIPS on an editor timeline, in place. One job per SOURCE: a recording\'s clips are enhanced together so the level and noise floor stay consistent across cuts, while separate recordings stay separate jobs.')
|
|
68
|
+
.argument('<projectId>', 'the editor project whose clips to enhance')
|
|
69
|
+
.option('--clips <ids...>', 'clip ids to enhance (omit for every audible clip on the timeline)')
|
|
70
|
+
.option('--no-wait', 'return the outputIds immediately instead of waiting')
|
|
71
|
+
.option('--timeout <seconds>', 'how long to wait before handing back the outputIds', toInt, DEFAULT_TIMEOUT_SEC)
|
|
72
|
+
.action(async (projectId, opts, command) => {
|
|
73
|
+
const { client, ctx } = makeClient(command);
|
|
74
|
+
const result = await client.editAudio(compact({
|
|
75
|
+
modelId: AUDIO_ENHANCE_MODEL_ID,
|
|
76
|
+
projectId,
|
|
77
|
+
clipIds: opts.clips,
|
|
78
|
+
// Explicit even when clip ids are given, so the request states its MODE rather than leaving the
|
|
79
|
+
// server to infer it from which optional fields happen to be present.
|
|
80
|
+
enhanceClips: true,
|
|
81
|
+
}));
|
|
82
|
+
await renderEnhanceClips(client, ctx, result, {
|
|
83
|
+
wait: opts.wait !== false,
|
|
84
|
+
timeoutSec: opts.timeout ?? DEFAULT_TIMEOUT_SEC,
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/commands/audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brandkit.d.ts","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BxC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"brandkit.d.ts","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BxC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiRvD"}
|
|
@@ -28,16 +28,21 @@ export function registerBrandKit(program) {
|
|
|
28
28
|
const brandKit = program.command('brand-kit').description('Brand kits (brand identity documents)');
|
|
29
29
|
brandKit
|
|
30
30
|
.command('list')
|
|
31
|
-
.description('List the account\'s brand kits (default first)')
|
|
32
|
-
.
|
|
31
|
+
.description('List the account\'s brand kits (default first; excludes archived unless --archived)')
|
|
32
|
+
.option('--favorite', 'only favorited brand kits')
|
|
33
|
+
.option('--archived', 'only archived brand kits (default excludes archived)')
|
|
34
|
+
.action(async (opts, command) => {
|
|
33
35
|
const { client, ctx } = makeClient(command);
|
|
34
|
-
const kits = await client.listBrandKits(
|
|
35
|
-
|
|
36
|
+
const kits = await client.listBrandKits({
|
|
37
|
+
favorited: opts.favorite ? true : undefined,
|
|
38
|
+
archived: opts.archived ? true : undefined,
|
|
39
|
+
});
|
|
40
|
+
emit(kits, ctx, (rows) => table(['ID', 'NAME', 'BUSINESS', 'DEFAULT', 'FAV'], rows.map((k) => [
|
|
36
41
|
k.id.slice(0, 8),
|
|
37
42
|
k.name,
|
|
38
43
|
k.businessName ?? '',
|
|
39
44
|
k.isDefault ? 'yes' : '',
|
|
40
|
-
k.
|
|
45
|
+
k.isFavorited ? 'yes' : '',
|
|
41
46
|
])));
|
|
42
47
|
});
|
|
43
48
|
brandKit
|
|
@@ -99,18 +104,6 @@ export function registerBrandKit(program) {
|
|
|
99
104
|
['Id', k.id],
|
|
100
105
|
]));
|
|
101
106
|
});
|
|
102
|
-
brandKit
|
|
103
|
-
.command('archive')
|
|
104
|
-
.description('Archive a brand kit (reversible; requires brandkit:write)')
|
|
105
|
-
.argument('<id>', 'the brand kit id')
|
|
106
|
-
.action(async (id, _opts, command) => {
|
|
107
|
-
const { client, ctx } = makeClient(command);
|
|
108
|
-
const k = await client.archiveBrandKit(id);
|
|
109
|
-
emit(k, ctx, (kit) => keyValues([
|
|
110
|
-
['Archived', kit.name],
|
|
111
|
-
['Id', kit.id],
|
|
112
|
-
]));
|
|
113
|
-
});
|
|
114
107
|
// -- brand-kit section ----------------------------------------------------
|
|
115
108
|
const section = brandKit.command('section').description('Manage a brand kit\'s curated sections');
|
|
116
109
|
section
|
|
@@ -148,16 +141,6 @@ export function registerBrandKit(program) {
|
|
|
148
141
|
});
|
|
149
142
|
emit(s, ctx, (rec) => recordHuman(rec, 'Updated section'));
|
|
150
143
|
});
|
|
151
|
-
section
|
|
152
|
-
.command('archive')
|
|
153
|
-
.description('Archive a brand-kit section (soft delete, reversible; requires brandkit:write)')
|
|
154
|
-
.argument('<brandKitId>', 'the brand kit id')
|
|
155
|
-
.argument('<sectionId>', 'the section id to archive')
|
|
156
|
-
.action(async (brandKitId, sectionId, _opts, command) => {
|
|
157
|
-
const { client, ctx } = makeClient(command);
|
|
158
|
-
const s = await client.archiveBrandKitSection(brandKitId, sectionId);
|
|
159
|
-
emit(s, ctx, (rec) => recordHuman(rec, 'Archived section'));
|
|
160
|
-
});
|
|
161
144
|
// -- brand-kit knowledge --------------------------------------------------
|
|
162
145
|
const knowledge = brandKit
|
|
163
146
|
.command('knowledge')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brandkit.js","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brandkit.js","sourceRoot":"","sources":["../../src/commands/brandkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmBxC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyGtD"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero context` - read the LIVE context of what the user is currently viewing in the open app.
|
|
3
|
+
*
|
|
4
|
+
* context [--project <id>] [--capture] [--render] [--frame <n>] [--slide <id>] [--slide-index <n>]
|
|
5
|
+
* [--width <n>] [--save <path>]
|
|
6
|
+
*
|
|
7
|
+
* Returns the most-recent-active session's surface + focus + selection, plus the live participant set.
|
|
8
|
+
* Structured by default. `--capture` pings the live tab for a fresh viewport screenshot (the user's SCREEN).
|
|
9
|
+
* `--render` returns a server-side render of the COMPOSED OUTPUT (the editor frame / canvas slide) inline,
|
|
10
|
+
* ephemeral and stored nowhere; `--frame` / `--slide` / `--slide-index` target a specific point. `--width`
|
|
11
|
+
* renders at an explicit DISPLAY width so legibility can be judged at the size the output will actually be
|
|
12
|
+
* seen (height follows the aspect ratio). `--save` writes whichever image was produced (render preferred
|
|
13
|
+
* over snapshot) to a file.
|
|
14
|
+
*/
|
|
15
|
+
import { writeFileSync } from 'node:fs';
|
|
16
|
+
import { makeClient } from '../context.js';
|
|
17
|
+
import { emit } from '../output.js';
|
|
18
|
+
import { CliError, EXIT } from '../errors.js';
|
|
19
|
+
/** Split a `data:<mime>;base64,<data>` URL into a Buffer. Returns null on any non-data-URL. */
|
|
20
|
+
function bufferFromDataUrl(dataUrl) {
|
|
21
|
+
if (typeof dataUrl !== 'string')
|
|
22
|
+
return null;
|
|
23
|
+
const m = /^data:[^;]+;base64,(.+)$/s.exec(dataUrl);
|
|
24
|
+
const b64 = m?.[1];
|
|
25
|
+
return b64 ? Buffer.from(b64, 'base64') : null;
|
|
26
|
+
}
|
|
27
|
+
/** Insert `-N` before a path's extension, so filmstrip/clip frames save as file-1.jpg, file-2.jpg, ... */
|
|
28
|
+
function numberedPath(base, i) {
|
|
29
|
+
const dot = base.lastIndexOf('.');
|
|
30
|
+
return dot > 0 ? `${base.slice(0, dot)}-${i}${base.slice(dot)}` : `${base}-${i}`;
|
|
31
|
+
}
|
|
32
|
+
export function registerContext(program) {
|
|
33
|
+
program
|
|
34
|
+
.command('context')
|
|
35
|
+
.description('Read what the user is currently viewing in the open app (requires context:read)')
|
|
36
|
+
.option('--project <id>', 'scope to a specific project (editor/canvas)')
|
|
37
|
+
.option('--capture', "also capture a fresh screenshot of the live viewport (the user's screen; slower)")
|
|
38
|
+
.option('--render', 'also render your work inline; ephemeral. Use --mode filmstrip for several frames')
|
|
39
|
+
.option('--mode <mode>', "render tier: still (default) | filmstrip")
|
|
40
|
+
.option('--frame <n>', 'still (editor): which timeline frame (omit for the current playhead)', (v) => parseInt(v, 10))
|
|
41
|
+
.option('--slide <id>', 'still (canvas): which slide id (omit for the focused slide)')
|
|
42
|
+
.option('--slide-index <n>', 'still (canvas): 1-based slide index (alternative to --slide)', (v) => parseInt(v, 10))
|
|
43
|
+
.option('--from-frame <n>', 'filmstrip: start timeline frame of the range', (v) => parseInt(v, 10))
|
|
44
|
+
.option('--to-frame <n>', 'filmstrip: end timeline frame of the range', (v) => parseInt(v, 10))
|
|
45
|
+
.option('--count <n>', 'filmstrip: how many frames', (v) => parseInt(v, 10))
|
|
46
|
+
.option('--width <n>', 'still: render at this DISPLAY width in px, to judge legibility at real size (height follows the aspect ratio)', (v) => parseInt(v, 10))
|
|
47
|
+
.option('--save <path>', 'write the produced image(s) to this file (filmstrip appends -1, -2, ...)')
|
|
48
|
+
.action(async (opts, command) => {
|
|
49
|
+
const { client, ctx } = makeClient(command);
|
|
50
|
+
const render = Boolean(opts.render) || opts.mode != null || opts.frame != null || opts.slide != null || opts.slideIndex != null ||
|
|
51
|
+
opts.fromFrame != null || opts.toFrame != null || opts.width != null;
|
|
52
|
+
// --save needs an image; imply --capture only when the user did not ask for a render.
|
|
53
|
+
const capture = Boolean(opts.capture) || (Boolean(opts.save) && !render);
|
|
54
|
+
const result = await client.getContext({
|
|
55
|
+
projectId: opts.project,
|
|
56
|
+
capture,
|
|
57
|
+
render: render || undefined,
|
|
58
|
+
mode: opts.mode,
|
|
59
|
+
frame: opts.frame,
|
|
60
|
+
slideId: opts.slide,
|
|
61
|
+
slideIndex: opts.slideIndex,
|
|
62
|
+
fromFrame: opts.fromFrame,
|
|
63
|
+
toFrame: opts.toFrame,
|
|
64
|
+
count: opts.count,
|
|
65
|
+
width: opts.width,
|
|
66
|
+
});
|
|
67
|
+
let savedCount = 0;
|
|
68
|
+
if (opts.save) {
|
|
69
|
+
const c = result.context;
|
|
70
|
+
const rendered = (c?.rendered ?? null);
|
|
71
|
+
const frames = rendered && Array.isArray(rendered.frames) ? rendered.frames : null;
|
|
72
|
+
const single = rendered ? bufferFromDataUrl(rendered.dataUrl) : null;
|
|
73
|
+
if (frames && frames.length > 0) {
|
|
74
|
+
frames.forEach((f, i) => {
|
|
75
|
+
const buf = bufferFromDataUrl(f.dataUrl);
|
|
76
|
+
if (buf) {
|
|
77
|
+
writeFileSync(numberedPath(opts.save, i + 1), buf);
|
|
78
|
+
savedCount++;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else if (single) {
|
|
83
|
+
writeFileSync(opts.save, single);
|
|
84
|
+
savedCount = 1;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const url = typeof c?.snapshotUrl === 'string' ? c.snapshotUrl : null;
|
|
88
|
+
if (!url)
|
|
89
|
+
throw new CliError('No image available for the current context (try --render or --capture).', EXIT.USAGE);
|
|
90
|
+
const res = await fetch(url);
|
|
91
|
+
if (!res.ok)
|
|
92
|
+
throw new CliError(`Failed to download snapshot (HTTP ${res.status}).`, EXIT.GENERAL);
|
|
93
|
+
writeFileSync(opts.save, Buffer.from(await res.arrayBuffer()));
|
|
94
|
+
savedCount = 1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
emit(result, ctx, () => {
|
|
98
|
+
if (!result.context || !result.participant)
|
|
99
|
+
return 'No live context: no one is currently viewing this in the app.';
|
|
100
|
+
const c = result.context;
|
|
101
|
+
const saved = savedCount > 0 ? `\n${savedCount} image(s) saved to ${String(opts.save)}${savedCount > 1 ? ' (-1, -2, ...)' : ''}` : '';
|
|
102
|
+
return (`Live context on the ${String(c.surface)} surface (updated ${result.participant.updatedAt}).\n` +
|
|
103
|
+
`${result.participants.length} live participant(s).` +
|
|
104
|
+
saved);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
program
|
|
108
|
+
.command('preview')
|
|
109
|
+
.description('Render a short composed video of an editor range (ephemeral preview), polling until ready')
|
|
110
|
+
.requiredOption('--project <id>', 'the editor project to preview')
|
|
111
|
+
.option('--from-frame <n>', 'start timeline frame of the range', (v) => parseInt(v, 10))
|
|
112
|
+
.option('--to-frame <n>', 'end timeline frame of the range', (v) => parseInt(v, 10))
|
|
113
|
+
.option('--save <path>', 'download the finished mp4 to this file')
|
|
114
|
+
.option('--timeout <sec>', 'max seconds to wait for the render (default 120)', (v) => parseInt(v, 10))
|
|
115
|
+
.action(async (opts, command) => {
|
|
116
|
+
const { client, ctx } = makeClient(command);
|
|
117
|
+
const job = await client.createPreview({
|
|
118
|
+
projectId: opts.project,
|
|
119
|
+
fromFrame: opts.fromFrame,
|
|
120
|
+
toFrame: opts.toFrame,
|
|
121
|
+
});
|
|
122
|
+
const deadline = Date.now() + (Number(opts.timeout) || 120) * 1000;
|
|
123
|
+
let status = await client.getPreview(job);
|
|
124
|
+
while (status.status === 'rendering' && Date.now() < deadline) {
|
|
125
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
126
|
+
status = await client.getPreview(job);
|
|
127
|
+
}
|
|
128
|
+
if (status.status === 'done' && status.url && opts.save) {
|
|
129
|
+
const res = await fetch(status.url);
|
|
130
|
+
if (!res.ok)
|
|
131
|
+
throw new CliError(`Failed to download the preview (HTTP ${res.status}).`, EXIT.GENERAL);
|
|
132
|
+
writeFileSync(opts.save, Buffer.from(await res.arrayBuffer()));
|
|
133
|
+
}
|
|
134
|
+
emit(status, ctx, () => {
|
|
135
|
+
if (status.status === 'done')
|
|
136
|
+
return `Preview video ready: ${status.url}${opts.save ? `\nSaved to ${String(opts.save)}` : ''}`;
|
|
137
|
+
if (status.status === 'failed')
|
|
138
|
+
return `Preview render failed: ${status.error ?? 'unknown error'}`;
|
|
139
|
+
return `Still rendering after the timeout; poll again with renderId "${job.renderId}", bucketName "${job.bucketName}".`;
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE7C,+FAA+F;AAC/F,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,CAAC,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChD,CAAC;AAED,0GAA0G;AAC1G,SAAS,YAAY,CAAC,IAAY,EAAE,CAAS;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,WAAW,EAAE,kFAAkF,CAAC;SACvG,MAAM,CAAC,UAAU,EAAE,kFAAkF,CAAC;SACtG,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,aAAa,EAAE,sEAAsE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACrH,MAAM,CAAC,cAAc,EAAE,6DAA6D,CAAC;SACrF,MAAM,CAAC,mBAAmB,EAAE,8DAA8D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACnH,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAClG,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC9F,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3E,MAAM,CAAC,aAAa,EAAE,+GAA+G,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC9J,MAAM,CAAC,eAAe,EAAE,0EAA0E,CAAC;SACnG,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAChH,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAA;QACtE,sFAAsF;QACtF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,OAA6B;YAC7C,OAAO;YACP,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAyC;YACpD,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,OAAO,EAAE,IAAI,CAAC,KAA2B;YACzC,UAAU,EAAE,IAAI,CAAC,UAAgC;YACjD,SAAS,EAAE,IAAI,CAAC,SAA+B;YAC/C,OAAO,EAAE,IAAI,CAAC,OAA6B;YAC3C,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,KAAK,EAAE,IAAI,CAAC,KAA2B;SACxC,CAAC,CAAA;QAEF,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,MAAM,CAAC,OAAyC,CAAA;YAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAmC,CAAA;YACxE,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,MAAyC,CAAC,CAAC,CAAC,IAAI,CAAA;YACtH,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACpE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;oBACxC,IAAI,GAAG,EAAE,CAAC;wBAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAc,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAAC,UAAU,EAAE,CAAA;oBAAC,CAAC;gBACzF,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,CAAC,CAAA;gBAC1C,UAAU,GAAG,CAAC,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;gBACrE,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,QAAQ,CAAC,yEAAyE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,QAAQ,CAAC,qCAAqC,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBAClG,aAAa,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;gBACxE,UAAU,GAAG,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAO,+DAA+D,CAAA;YAClH,MAAM,CAAC,GAAG,MAAM,CAAC,OAAkC,CAAA;YACnD,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACrI,OAAO,CACL,uBAAuB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,MAAM,CAAC,WAAW,CAAC,SAAS,MAAM;gBAC/F,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,uBAAuB;gBACpD,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2FAA2F,CAAC;SACxG,cAAc,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;SACjE,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACvF,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACnF,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACrG,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,OAAgB,EAAE,EAAE;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,OAAiB;YACjC,SAAS,EAAE,IAAI,CAAC,SAA+B;YAC/C,OAAO,EAAE,IAAI,CAAC,OAA6B;SAC5C,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAA;QAClE,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;YAC7C,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,QAAQ,CAAC,wCAAwC,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACrG,aAAa,CAAC,IAAI,CAAC,IAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;YACrB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,wBAAwB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YAC9H,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,0BAA0B,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAA;YAClG,OAAO,gEAAgE,GAAG,CAAC,QAAQ,kBAAkB,GAAG,CAAC,UAAU,IAAI,CAAA;QACzH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero favorite | unfavorite | archive | unarchive` - the universal
|
|
3
|
+
* status verbs, one pair each across asset types.
|
|
4
|
+
*
|
|
5
|
+
* favorite <assetType> <id> [--variation <n>]
|
|
6
|
+
* unfavorite <assetType> <id> [--variation <n>]
|
|
7
|
+
* archive <assetType> <id> [--variation <n>]
|
|
8
|
+
* unarchive <assetType> <id> [--variation <n>]
|
|
9
|
+
*
|
|
10
|
+
* For a top-level asset, pass its type + id. For one studio media variation
|
|
11
|
+
* (an image/video/audio slot from `media get`), pass `media <outputId>
|
|
12
|
+
* --variation <n>` (1-based). All four require the favorites:write scope.
|
|
13
|
+
*/
|
|
14
|
+
import type { Command } from 'commander';
|
|
15
|
+
export declare function registerFavorites(program: Command): void;
|
|
16
|
+
//# sourceMappingURL=favorites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favorites.d.ts","sourceRoot":"","sources":["../../src/commands/favorites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuDxC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDxD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero favorite | unfavorite | archive | unarchive` - the universal
|
|
3
|
+
* status verbs, one pair each across asset types.
|
|
4
|
+
*
|
|
5
|
+
* favorite <assetType> <id> [--variation <n>]
|
|
6
|
+
* unfavorite <assetType> <id> [--variation <n>]
|
|
7
|
+
* archive <assetType> <id> [--variation <n>]
|
|
8
|
+
* unarchive <assetType> <id> [--variation <n>]
|
|
9
|
+
*
|
|
10
|
+
* For a top-level asset, pass its type + id. For one studio media variation
|
|
11
|
+
* (an image/video/audio slot from `media get`), pass `media <outputId>
|
|
12
|
+
* --variation <n>` (1-based). All four require the favorites:write scope.
|
|
13
|
+
*/
|
|
14
|
+
import { makeClient } from '../context.js';
|
|
15
|
+
import { emit, keyValues } from '../output.js';
|
|
16
|
+
import { CliError, EXIT } from '../errors.js';
|
|
17
|
+
import { toInt } from '../args.js';
|
|
18
|
+
/** The 'media' positional means "a studio output variation" (needs --variation). */
|
|
19
|
+
const MEDIA = 'media';
|
|
20
|
+
const FAVORITE_TYPES = ['post', 'voice', 'brand_kit', 'project', 'inspiration_content', 'gallery', 'transition'];
|
|
21
|
+
const ARCHIVE_TYPES = ['post', 'brand_kit', 'brand_kit_section', 'project'];
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the CLI args into the universal target shape. `media` routes to a
|
|
24
|
+
* studio output variation (requires --variation); every other type is a
|
|
25
|
+
* top-level asset addressed by id alone.
|
|
26
|
+
*/
|
|
27
|
+
function resolveTarget(assetType, id, variation, allowed) {
|
|
28
|
+
if (assetType === MEDIA) {
|
|
29
|
+
if (variation == null) {
|
|
30
|
+
throw new CliError('For media, pass --variation <n>: favorite/archive state is per studio output variation.', EXIT.USAGE);
|
|
31
|
+
}
|
|
32
|
+
return { id, variationIndex: variation };
|
|
33
|
+
}
|
|
34
|
+
if (!allowed.includes(assetType)) {
|
|
35
|
+
throw new CliError(`Invalid asset type "${assetType}". Expected one of: ${[...allowed, MEDIA].join(', ')}.`, EXIT.USAGE);
|
|
36
|
+
}
|
|
37
|
+
if (variation != null) {
|
|
38
|
+
throw new CliError('--variation only applies to media (studio output variations).', EXIT.USAGE);
|
|
39
|
+
}
|
|
40
|
+
return { assetType, id };
|
|
41
|
+
}
|
|
42
|
+
/** Human one-liner: "Favorited brand_kit bk1" / "Archived variation 2 of out1". */
|
|
43
|
+
function actionHuman(verb, t) {
|
|
44
|
+
const what = t.variationIndex != null ? `variation ${t.variationIndex} of ${t.id}` : `${t.assetType} ${t.id}`;
|
|
45
|
+
return keyValues([[verb, what]]);
|
|
46
|
+
}
|
|
47
|
+
const TYPES_HELP = (allowed) => `${[...allowed, MEDIA].join(' | ')}`;
|
|
48
|
+
export function registerFavorites(program) {
|
|
49
|
+
program
|
|
50
|
+
.command('favorite')
|
|
51
|
+
.description('Mark an asset as a favorite (requires favorites:write)')
|
|
52
|
+
.argument('<assetType>', TYPES_HELP(FAVORITE_TYPES))
|
|
53
|
+
.argument('<id>', 'the asset id (or studio output id when assetType is media)')
|
|
54
|
+
.option('--variation <n>', '1-based studio media variation slot (media only)', toInt)
|
|
55
|
+
.action(async (assetType, id, opts, command) => {
|
|
56
|
+
const target = resolveTarget(assetType, id, opts.variation, FAVORITE_TYPES);
|
|
57
|
+
const { client, ctx } = makeClient(command);
|
|
58
|
+
await client.favorite(target);
|
|
59
|
+
emit({ favorited: true, ...target }, ctx, () => actionHuman('Favorited', target));
|
|
60
|
+
});
|
|
61
|
+
program
|
|
62
|
+
.command('unfavorite')
|
|
63
|
+
.description('Remove the favorite flag from an asset (requires favorites:write)')
|
|
64
|
+
.argument('<assetType>', TYPES_HELP(FAVORITE_TYPES))
|
|
65
|
+
.argument('<id>', 'the asset id (or studio output id when assetType is media)')
|
|
66
|
+
.option('--variation <n>', '1-based studio media variation slot (media only)', toInt)
|
|
67
|
+
.action(async (assetType, id, opts, command) => {
|
|
68
|
+
const target = resolveTarget(assetType, id, opts.variation, FAVORITE_TYPES);
|
|
69
|
+
const { client, ctx } = makeClient(command);
|
|
70
|
+
await client.unfavorite(target);
|
|
71
|
+
emit({ favorited: false, ...target }, ctx, () => actionHuman('Unfavorited', target));
|
|
72
|
+
});
|
|
73
|
+
program
|
|
74
|
+
.command('archive')
|
|
75
|
+
.description('Archive an asset (reversible; requires favorites:write)')
|
|
76
|
+
.argument('<assetType>', TYPES_HELP(ARCHIVE_TYPES))
|
|
77
|
+
.argument('<id>', 'the asset id (or studio output id when assetType is media)')
|
|
78
|
+
.option('--variation <n>', '1-based studio media variation slot (media only)', toInt)
|
|
79
|
+
.action(async (assetType, id, opts, command) => {
|
|
80
|
+
const target = resolveTarget(assetType, id, opts.variation, ARCHIVE_TYPES);
|
|
81
|
+
const { client, ctx } = makeClient(command);
|
|
82
|
+
await client.archive(target);
|
|
83
|
+
emit({ archived: true, ...target }, ctx, () => actionHuman('Archived', target));
|
|
84
|
+
});
|
|
85
|
+
program
|
|
86
|
+
.command('unarchive')
|
|
87
|
+
.description('Unarchive an asset (restore it; requires favorites:write)')
|
|
88
|
+
.argument('<assetType>', TYPES_HELP(ARCHIVE_TYPES))
|
|
89
|
+
.argument('<id>', 'the asset id (or studio output id when assetType is media)')
|
|
90
|
+
.option('--variation <n>', '1-based studio media variation slot (media only)', toInt)
|
|
91
|
+
.action(async (assetType, id, opts, command) => {
|
|
92
|
+
const target = resolveTarget(assetType, id, opts.variation, ARCHIVE_TYPES);
|
|
93
|
+
const { client, ctx } = makeClient(command);
|
|
94
|
+
await client.unarchive(target);
|
|
95
|
+
emit({ archived: false, ...target }, ctx, () => actionHuman('Unarchived', target));
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=favorites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favorites.js","sourceRoot":"","sources":["../../src/commands/favorites.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contenthero folder` - organize the library (Unified Content Library, Phase D). No bytes move.
|
|
3
|
+
* folder list your folders + the built-in derived folders
|
|
4
|
+
* folder get <id> a folder's contents (id or derived key)
|
|
5
|
+
* folder create <name> [--smart --parent] create a manual (or smart) folder
|
|
6
|
+
* folder delete <id> delete a folder (and its subtree)
|
|
7
|
+
* folder add <folderId> <table> <recordId> [--variant] file an item
|
|
8
|
+
* folder remove <folderId> <table> <recordId> [--variant] unfile an item
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from 'commander';
|
|
11
|
+
export declare function registerFolder(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=folder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder.d.ts","sourceRoot":"","sources":["../../src/commands/folder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4FrD"}
|