@clipwright/cli 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -16,6 +16,20 @@ a customer reading it should not miss what appeared in the product. Like *Server
16
16
  they are live from the day the web app was deployed, not from the package release they are
17
17
  listed under.
18
18
 
19
+ ## [0.20.0] - 2026-09-25
20
+
21
+ The MCP server is ready for directories: it has a name in the official MCP
22
+ Registry, and every tool tells the host whether it only reads or writes.
23
+
24
+ ### Added
25
+
26
+ - Every MCP tool now carries a `title` and the `readOnlyHint`/`destructiveHint`
27
+ annotations: quotes, lists and reads are read-only, `delete_actor` is
28
+ destructive, and `make_ugc`, `create_actor`, `upload_image` and
29
+ `set_actor_defaults` write.
30
+ - `@clipwright/mcp-server` declares `mcpName: io.clipwright/mcp` for the official
31
+ MCP Registry.
32
+
19
33
  ## [0.19.0] - 2026-09-22
20
34
 
21
35
  A paid video that arrived after we stopped waiting can now be collected: the run
package/dist/format.js CHANGED
@@ -1,14 +1,6 @@
1
1
  import { FAILED_STATE, isTerminal } from "@clipwright/core";
2
- /**
3
- * Чистый форматтер вывода `clipwright runs <id>` — вынесен из команды, чтобы
4
- * тестировать терминальные/нетерминальные/неизвестные стадии без сети
5
- * (US-502, заметка Critic №1: выделенный тест CLI-поверхности, а не только
6
- * транзитивное покрытие через SDK).
7
- *
8
- * Терминальность определяется через `isTerminal`/`FAILED_STATE` из core, а
9
- * не строковыми литералами: неизвестная стадия (расширение enum на сервере,
10
- * напр. `"publishing"`) просто печатается как есть и НЕ роняет команду.
11
- */
2
+ /** Pure formatter for `clipwright runs <id>`. Terminality comes from core, so an */
3
+ /** unknown server stage (e.g. `"publishing"`) prints as is and does not crash. */
12
4
  export function formatRun(run) {
13
5
  const lines = [];
14
6
  if (isTerminal(run.state)) {
@@ -29,24 +21,8 @@ export function formatRun(run) {
29
21
  }
30
22
  return lines.join("\n");
31
23
  }
32
- /**
33
- * Чистый форматтер `clipwright voices` (US-516) — тестируемый без сети, тот
34
- * же паттерн, что `formatRun`. Каталог курируемый по дизайну (план §5): это
35
- * не полный список голосов вендора, остальные достижимы сырым `voice_id`.
36
- */
37
- /**
38
- * Отказ API для ЧЕЛОВЕКА (US-622) — из того же развёртывания, что видит агент.
39
- *
40
- * ЧИСЛА БЕРУТСЯ ИЗ `report()`, А НЕ СОБИРАЮТСЯ ЗДЕСЬ ЗАНОВО. Соблазн написать
41
- * `Balance: ${err.failure.balanceCredits}` велик и стоил бы третьего источника
42
- * правды о том, что значит отказ: MCP говорил бы агенту одно, CLI человеку —
43
- * другое, и разошлись бы они молча, при первой же правке формулировки.
44
- *
45
- * ЧТО ДОБАВЛЯЕТ CLI СВЕРХ ОТЧЁТА — только оформление: код отказа отдельной
46
- * строкой (человек ищет его в доках) и `next_action` как совет. Стек-трейс не
47
- * печатается: у отказа сервера он показывает наши внутренности вместо ответа на
48
- * вопрос «что делать».
49
- */
24
+ /** An API refusal for a human, built from the same `report()` the agent sees so */
25
+ /** CLI and MCP cannot drift. No stack trace: it answers nothing about what to do. */
50
26
  export function formatApiError(error) {
51
27
  const report = error.report();
52
28
  const lines = [`error: ${report.message}`, `code: ${report.code} (HTTP ${error.status})`];
@@ -54,21 +30,8 @@ export function formatApiError(error) {
54
30
  lines.push(report.next_action);
55
31
  return lines.join("\n");
56
32
  }
57
- /**
58
- * Отказ СХЕМЫ для человека (US-622, внешнее ревью круга 8).
59
- *
60
- * Вход отвергается схемой ещё до сети: `--script ""` короче минимума,
61
- * `--voice-id nosuch` не проходит формат вендорского идентификатора. До этой
62
- * ветки такой отказ долетал до пользователя необработанным `ZodError` — стеком
63
- * с путями `core/dist/idempotency.js` и внутренностями регулярок. Человек
64
- * спрашивал про видео, а получал наши кадры стека.
65
- *
66
- * ОПОЗНАЁТСЯ ПО ИМЕНИ, А НЕ ЧЕРЕЗ `instanceof`, и это не небрежность. `zod`
67
- * приходит сюда транзитивно через два пакета, и при разных копиях модуля в
68
- * дереве `instanceof` вернул бы `false` — проверка молча перестала бы работать
69
- * ровно там, где её труднее всего заметить: у потребителя после установки, а не
70
- * у нас. Имя класса и форма `issues` — часть публичного контракта zod.
71
- */
33
+ /** A schema refusal for a human instead of a raw `ZodError` stack. Matched by */
34
+ /** name, not `instanceof`: two zod copies in one install would break `instanceof`. */
72
35
  export function formatSchemaError(error) {
73
36
  if (!(error instanceof Error) || error.name !== "ZodError")
74
37
  return undefined;
@@ -81,8 +44,9 @@ export function formatSchemaError(error) {
81
44
  });
82
45
  return ["error: the request was rejected before it was sent", ...lines].join("\n");
83
46
  }
84
- // Описание голоса каталога бывает абзацем: в строку списка идёт его начало.
47
+ // A catalog description can be a paragraph; the list line shows its start.
85
48
  const VOICE_DESCRIPTION_WIDTH = 100;
49
+ /** Pure formatter for `clipwright voices`. */
86
50
  export function formatVoices(voices) {
87
51
  return voices
88
52
  .map((v) => {
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { Command, Option } from "commander";
6
6
  import { ACTOR_GENDERS_ACCEPTED, ACTOR_QUALITIES_ACCEPTED, apiBaseUrlFromEnv, ASPECT_RATIOS, CATALOG_GENDERS, CATALOG_LANGUAGES, PUBLIC_APP_BASE_URL, RESOLUTIONS, TTS_MODELS, UPLOAD_MAX_BYTES, VOICE_NAME_PATTERN, VOICE_PRESET_NAMES, sniffUploadMediaType, } from "@clipwright/core";
7
7
  import { ClipwrightApiError, ClipwrightClient, ClipwrightResponseError } from "@clipwright/sdk";
8
8
  import { formatApiError, formatRun, formatSchemaError, formatVoices } from "./format.js";
9
- // Версия — из манифеста: литерал расходился с ним молча, а импорт JSON не проходит `rootDir`.
9
+ // Version from the manifest: a literal drifts, and a JSON import breaks `rootDir`.
10
10
  const { version } = createRequire(import.meta.url)("../package.json");
11
11
  const program = new Command();
12
12
  program.name("clipwright").description("UGC video platform CLI").version(version);
@@ -27,7 +27,7 @@ function client() {
27
27
  }
28
28
  return new ClipwrightClient({ apiKey, baseUrl });
29
29
  }
30
- /** Файл читается и проверяется по сигнатуре ДО сети: расширению и заголовку веры нет. */
30
+ /** Reads the file and checks its signature BEFORE the network; extensions are not trusted. */
31
31
  async function uploadFile(path) {
32
32
  const bytes = new Uint8Array(readFileSync(path));
33
33
  const mediaType = sniffUploadMediaType(bytes);
@@ -46,13 +46,13 @@ async function uploadFile(path) {
46
46
  async function resolveImage(opts) {
47
47
  return opts.imageFile ? uploadFile(opts.imageFile) : opts.image;
48
48
  }
49
- /** Картинка и формат общие у `quote` и `make`: оценка обязана видеть тот же источник, что рендер. */
49
+ /** Image and format options shared by `quote` and `make`, so the quote sees the render's source. */
50
50
  function withSourceOptions(command) {
51
51
  return command
52
52
  .addOption(new Option("--actor-id <id>", "saved actor from the actors catalog").conflicts(["image", "imageFile", "person", "actorGender"]))
53
53
  .addOption(new Option("--image <url>", "public https url of the actor's photo").conflicts("imageFile"))
54
54
  .option("--image-file <path>", "local PNG/JPEG: uploaded first (POST /v1/uploads), then used as --image")
55
- // «Только с --image» Commander не выражает: этот отказ приходит от схемы до сети.
55
+ // Commander cannot express "only with --image"; the schema rejects it before the network.
56
56
  .addOption(new Option("--actor-gender <gender>", "gender of the face in --image; picks the default voice of that gender")
57
57
  .choices(["female", "male"])
58
58
  .conflicts("actorId"))
@@ -84,13 +84,10 @@ withSourceOptions(program
84
84
  .description("generate a UGC video and wait for the result")
85
85
  .requiredOption("--script <text>", "the spoken script"))
86
86
  .option("--person <description>", "who says it, in words")
87
- // `--character` СНЯТ вместе с прокидыванием: диспозиция поля — `rejected`
88
- // (реестр в @clipwright/core), сервер отбивает его четырёхсотым. Флаг,
89
- // оставшийся в `--help`, предлагал бы пользователю то, за что мы его
90
- // накажем (блокер B4). Вернётся вместе с персистентными персонажами.
87
+ // No `--character`: the server rejects that field, so offering it would invite a 400.
91
88
  .option("--captions", "burn in word-synced captions")
92
- // Каталог даёт `clipwright voices`; `--voice-id` — escape hatch для голосов вне каталога.
93
- // Здесь проверяется только форма имени: список знает сервер и отвечает 400 до резерва (#164).
89
+ // Only the name's shape is checked here; the server knows the catalog and
90
+ // answers 400 before reserving credits.
94
91
  .option("--voice <name>", `voice name from "clipwright voices" (presets: ${VOICE_PRESET_NAMES.join(", ")})`, (raw) => {
95
92
  if (!VOICE_NAME_PATTERN.test(raw)) {
96
93
  console.error(`--voice expects a voice name (letters, digits, "_" or "-"), got ${JSON.stringify(raw)}; ` +
@@ -99,28 +96,15 @@ withSourceOptions(program
99
96
  }
100
97
  return raw;
101
98
  })
102
- // Взаимную исключительность ловит Commander, а НЕ сервер (внешнее ревью,
103
- // круг 6). Пропусти мы оба флага дальше — `makeUgcInput.parse` отверг бы их
104
- // `ZodError`, который CLI не обрабатывает, и человек вместо «эти два флага
105
- // несовместимы» получил бы стек.
99
+ // Commander catches the conflict, so the user gets "incompatible flags"
100
+ // instead of a schema error.
106
101
  .addOption(new Option("--voice-id <id>", "raw vendor voice id, for voices outside the catalog").conflicts("voice"))
107
102
  .addOption(new Option("--tts-model <model>", "speech model; omitted = the preset's model").choices(TTS_MODELS))
108
- // --retry — НОМЕР попытки (не булев флаг): булев упёрся бы в attempt=2 навсегда
109
- // и второй ретрай вернул бы тот же ран.
110
- //
111
- // РАЗБОР СТРОГИЙ, И ЭТО ДЕНЕЖНЫЙ ВОПРОС. Прежний `parseInt` молча возвращал
112
- // `NaN` на `--retry banana` и `2` на `--retry 2junk`. `NaN` доезжал до
113
- // суффикса ключа идемпотентности, ключ отличался от обычного, и сервер
114
- // запускал ВТОРОЙ платный рендер вместо того, чтобы отбить опечатку.
103
+ // --retry is an attempt NUMBER, parsed strictly: the value enters the
104
+ // idempotency key, so a lenient parse could buy a second render.
115
105
  .option("--retry <n>", "retry attempt number (forces a fresh run)", (raw) => {
116
- // ПРОВЕРЯЕТСЯ И ФОРМА ЗАПИСИ, И САМО ЧИСЛО — граница здесь ровно та же, что
117
- // в `attemptSuffix` у SDK, и разъехаться им нельзя: расхождение означает
118
- // стек вместо отказа.
119
- // `[1-9]` в начале, а не `\d` — иначе ноль проезжал регулярку и падал уже
120
- // в SDK (внешнее ревью, круг 6);
121
- // `isSafeInteger` после разбора — иначе строка из трёхсот девяток давала
122
- // `Infinity`, а соседние огромные целые сливались в одно и переставали
123
- // различать попытки (круг 7).
106
+ // Same bound as the SDK's `attemptSuffix`: a leading `[1-9]` rejects zero,
107
+ // `isSafeInteger` rejects values too large to stay distinct.
124
108
  const parsed = Number.parseInt(raw, 10);
125
109
  if (!/^[1-9]\d*$/.test(raw) || !Number.isSafeInteger(parsed)) {
126
110
  console.error(`--retry expects a whole number of 1 or more, got ${raw}`);
@@ -142,10 +126,8 @@ withSourceOptions(program
142
126
  voice_id: opts.voiceId,
143
127
  tts_model: opts.ttsModel,
144
128
  }, { attempt: opts.retry }, (r) => console.error(`state: ${r.state}`));
145
- // Warnings — в stderr, ролик — в stdout: несоблюдённый параметр обязан
146
- // быть виден человеку, но не должен попадать в пайп, из которого читают
147
- // URL. Молча их проглатывать нельзя (правило проекта №3): CLI —
148
- // единственная поверхность, где их больше никто не покажет.
129
+ // Warnings go to stderr, the URL to stdout: visible to the human, kept
130
+ // out of the pipe that reads the URL.
149
131
  for (const warning of run.warnings) {
150
132
  console.error(`warning: ${warning}`);
151
133
  }
@@ -161,8 +143,7 @@ program
161
143
  program.command("actors").description("list saved actors and verified formats").action(async () => {
162
144
  console.log(JSON.stringify({ actors: await client().listActors() }, null, 2));
163
145
  });
164
- /** Опции описания актёра — одни и те же у оценки и у создания. */
165
- /** Разойдись они, оценка считала бы цену не того, что потом создаётся. */
146
+ /** Actor options shared by quote and create, so the quote prices what gets created. */
166
147
  const withActorOptions = (command) => command
167
148
  .requiredOption("--name <text>", "name shown in the actor list")
168
149
  .requiredOption("--description <text>", "words describing a fictional adult")
@@ -220,54 +201,28 @@ program
220
201
  });
221
202
  console.log(formatVoices(voices));
222
203
  });
223
- /**
224
- * Отказ API печатается ответом, а не стек-трейсом (US-622).
225
- *
226
- * До этой обработки `clipwright make` на 402 падал необработанным промисом: имя
227
- * класса, стек до `node:internal`, код выхода 1. Числа отказа в этой куче есть,
228
- * но найти их человек не обязан — он спрашивал про видео, а не про наши кадры
229
- * стека. Прочие ошибки (сеть, отсутствующий `CLIPWRIGHT_CLIENT_ID`) намеренно
230
- * летят как раньше: у них стек и есть полезная часть.
231
- */
232
- /**
233
- * ПРОГРАММА ЭКСПОРТИРУЕТСЯ, А АВТОЗАПУСК ОХРАНЯЕТСЯ (US-614, круг 13 внешней
234
- * приёмки).
235
- *
236
- * ЗАЧЕМ. Лендинг утверждает, что продукт вызывается из CLI, и приёмка
237
- * справедливо возразила: опорой стояли имя пакета и реестр команд, то есть
238
- * ИМЕНА. Мутант «оставить команду, а действие заменить выводом фиктивного
239
- * идентификатора» их не трогал. Проверить поведение можно только вызвав
240
- * программу — а вызвать её из теста было нельзя: `parseAsync()` исполнялся НА
241
- * ИМПОРТЕ, и тест запускал бы саму команду.
242
- *
243
- * Охрана сравнивает исполняемый файл процесса с этим модулем: под `node
244
- * dist/index.js` (и под `bin` пакета) автозапуск происходит как раньше, а
245
- * `import` из теста его не вызывает. Публичное поведение не меняется —
246
- * `bin` остаётся тем же файлом.
247
- */
204
+ /** Exported so tests can drive the program; autorun happens only when this */
205
+ /** module is the process entry point, so importing it runs nothing. */
248
206
  export { program };
249
207
  const isDirectRun = () => {
250
208
  const entry = process.argv[1];
251
209
  if (entry === undefined)
252
210
  return false;
253
- // ⚠️ СРАВНИВАЮТСЯ РЕАЛЬНЫЕ ПУТИ, А НЕ СТРОКИ URL (блокер внешней приёмки,
254
- // круг 14). Первая редакция сравнивала `import.meta.url` с `argv[1]` как есть, и
255
- // под установленным `bin` это ломалось: npm кладёт СИМВОЛЬНУЮ ССЫЛКУ, Node
256
- // разрешает главный модуль до настоящего файла (см. `--preserve-symlinks-main`),
257
- // и пути расходились — то есть `clipwright make` молча не делал ничего. Тест это
258
- // не поймал, потому что звал `program.parseAsync()` в обход охраны; теперь есть
259
- // кейс, запускающий CLI ЧЕРЕЗ ССЫЛКУ.
211
+ // Real paths, not URL strings: npm installs `bin` as a symlink, and Node
212
+ // resolves the main module to the real file.
260
213
  try {
261
214
  return realpathSync(fileURLToPath(import.meta.url)) === realpathSync(entry);
262
215
  }
263
216
  catch {
264
- // Путь не разрешился (файл удалён на ходу) — считаем запуск прямым: молчащий
265
- // CLI хуже лишнего запуска.
217
+ // Unresolvable path (file removed mid-run): assume a direct run, since a
218
+ // silent CLI is worse than an extra run.
266
219
  return true;
267
220
  }
268
221
  };
269
222
  if (isDirectRun())
270
223
  run();
224
+ /** API refusals print as an answer, not a stack; network and other errors */
225
+ /** still throw, since their stack is the useful part. */
271
226
  function run() {
272
227
  program.parseAsync().catch((error) => {
273
228
  if (error instanceof ClipwrightApiError) {
@@ -275,15 +230,14 @@ function run() {
275
230
  process.exitCode = 1;
276
231
  return;
277
232
  }
278
- // Битый ответ сервера — НЕ отказ ввода, и путать их нельзя (внешнее ревью,
279
- // круг 9): на `POST /run` запрос уже ушёл, ран мог быть создан и оплачен.
280
- // Собственное сообщение класса это и говорит; стек тут ничего не добавит.
233
+ // A broken server response is NOT an input error: after `POST /run` the run
234
+ // may be charged, and the class's own message says so.
281
235
  if (error instanceof ClipwrightResponseError) {
282
236
  console.error(`error: ${error.message}`);
283
237
  process.exitCode = 1;
284
238
  return;
285
239
  }
286
- // Отказ схемы — тоже ответ пользователю, а не наш баг (внешнее ревью, круг 8).
240
+ // A schema refusal is an answer to the user too, not our bug.
287
241
  const schema = formatSchemaError(error);
288
242
  if (schema !== undefined) {
289
243
  console.error(schema);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EAEb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GAMrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzF,mFAAmF;AACnF,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAElF,SAAS,MAAM;IACb,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,kDAAkD,mBAAmB,aAAa;YAChF,kDAAkD,CACrD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,8FAA8F;AAC9F,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,qEAAqE,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,UAAU,0BAA0B,gBAAgB,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,UAAU,EAAE,CACnG,CAAC;IACF,OAAO,MAAM,CAAC,GAAG,CAAC;AACpB,CAAC;AAWD,KAAK,UAAU,YAAY,CAAC,IAAmB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAClE,CAAC;AAED,oGAAoG;AACpG,SAAS,iBAAiB,CAAC,OAAgB;IACzC,OAAO,OAAO;SACX,SAAS,CACR,IAAI,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAChI;SACA,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAC5F;SACA,MAAM,CAAC,qBAAqB,EAAE,yEAAyE,CAAC;QACzG,0FAA0F;SACzF,SAAS,CACR,IAAI,MAAM,CAAC,yBAAyB,EAAE,uEAAuE,CAAC;SAC3G,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3B,SAAS,CAAC,SAAS,CAAC,CACxB;SACA,SAAS,CACR,IAAI,MAAM,CAAC,wBAAwB,EAAE,kDAAkD,CAAC,CAAC,OAAO,CAC9F,aAAa,CACd,CACF;SACA,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEL,iBAAiB,CACf,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,cAAc,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAC1D,CAAC,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;IAC1D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;QAC/B,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,iBAAiB,CACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,cAAc,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAC1D;KACE,MAAM,CAAC,wBAAwB,EAAE,uBAAuB,CAAC;IAC1D,sFAAsF;KACrF,MAAM,CAAC,YAAY,EAAE,8BAA8B,CAAC;IACrD,0EAA0E;IAC1E,wCAAwC;KACvC,MAAM,CAAC,gBAAgB,EACtB,iDAAiD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACjF,CAAC,GAAG,EAAE,EAAE;IACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CACX,mEAAmE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;YACxF,yCAAyC,CAC5C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CACF;IACD,wEAAwE;IACxE,6BAA6B;KAC5B,SAAS,CACR,IAAI,MAAM,CACR,iBAAiB,EACjB,qDAAqD,CACtD,CAAC,SAAS,CAAC,OAAO,CAAC,CACrB;KACA,SAAS,CACR,IAAI,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC,CAAC,OAAO,CACrF,UAAU,CACX,CACF;IACD,sEAAsE;IACtE,iEAAiE;KAChE,MAAM,CAAC,aAAa,EAAE,2CAA2C,EAAE,CAAC,GAAG,EAAE,EAAE;IAC1E,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CACL,KAAK,EACH,IAQiB,EACjB,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,OAAO,CAChC;QACE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;QAC/B,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;QAChC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI,CAAC,QAAQ;KACzB,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAC1C,CAAC;IACF,uEAAuE;IACvE,sCAAsC;IACtC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IAChG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAWH,uFAAuF;AACvF,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAW,EAAE,CACrD,OAAO;KACJ,cAAc,CAAC,eAAe,EAAE,8BAA8B,CAAC;KAC/D,cAAc,CAAC,sBAAsB,EAAE,oCAAoC,CAAC;KAC5E,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,EAAE,CACjH;KACA,cAAc,CAAC,eAAe,EAAE,0BAA0B,CAAC;KAC3D,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;KACpG,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElG,SAAS,UAAU,CAAC,IAAkB;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAwC;QACrD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAA0C,EAAE,CAAC;QACnG,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAgD,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,gBAAgB,CACd,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC,CAC1G,CAAC,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;IACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEH,gBAAgB,CACd,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CACjG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;IACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAUL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4DAA4D,CAAC;KACzE,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC,CAAC,OAAO,CAC7F,iBAAiB,CAClB,CACF;KACA,SAAS,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KAChG,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;KACpE,MAAM,CAAC,oBAAoB,EAAE,0DAA0D,CAAC;KACxF,SAAS,CACR,IAAI,MAAM,CAAC,iBAAiB,EAAE,uDAAuD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAC3G;KACA,MAAM,CAAC,KAAK,EAAE,IAAmB,EAAE,EAAE;IACpC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC;QACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEL,8EAA8E;AAC9E,uEAAuE;AACvE,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,MAAM,WAAW,GAAG,GAAY,EAAE;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,yEAAyE;IACzE,6CAA6C;IAC7C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,yCAAyC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,WAAW,EAAE;IAAE,GAAG,EAAE,CAAC;AAEzB,6EAA6E;AAC7E,yDAAyD;AACzD,SAAS,GAAG;IACV,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC9C,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,uDAAuD;QACvD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/cli",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "Command-line client for the Clipwright UGC video API",
5
5
  "keywords": [
6
6
  "cli",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "commander": "^15.0.0",
31
- "@clipwright/core": "0.19.0",
32
- "@clipwright/sdk": "0.19.0"
31
+ "@clipwright/core": "0.20.0",
32
+ "@clipwright/sdk": "0.20.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^26.1.1"