blitzreels 0.1.4 → 0.1.6

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 (214) hide show
  1. package/README.md +55 -25
  2. package/dist/agent-context.d.ts +68 -0
  3. package/dist/agent-context.d.ts.map +1 -0
  4. package/dist/agent-context.js +214 -0
  5. package/dist/agent-context.js.map +1 -0
  6. package/dist/cli-command-routing.d.ts +27 -0
  7. package/dist/cli-command-routing.d.ts.map +1 -0
  8. package/dist/cli-command-routing.js +236 -0
  9. package/dist/cli-command-routing.js.map +1 -0
  10. package/dist/cli-errors.d.ts +31 -0
  11. package/dist/cli-errors.d.ts.map +1 -0
  12. package/dist/cli-errors.js +27 -0
  13. package/dist/cli-errors.js.map +1 -0
  14. package/dist/cli-flag-reader.d.ts +61 -0
  15. package/dist/cli-flag-reader.d.ts.map +1 -0
  16. package/dist/cli-flag-reader.js +207 -0
  17. package/dist/cli-flag-reader.js.map +1 -0
  18. package/dist/cli-http.d.ts +6 -0
  19. package/dist/cli-http.d.ts.map +1 -0
  20. package/dist/cli-http.js +42 -0
  21. package/dist/cli-http.js.map +1 -0
  22. package/dist/cli-presenter.d.ts +24 -0
  23. package/dist/cli-presenter.d.ts.map +1 -0
  24. package/dist/cli-presenter.js +161 -0
  25. package/dist/cli-presenter.js.map +1 -0
  26. package/dist/cli-runtime.d.ts +1 -2
  27. package/dist/cli-runtime.d.ts.map +1 -1
  28. package/dist/cli-runtime.js +2 -2
  29. package/dist/cli-runtime.js.map +1 -1
  30. package/dist/cli-timing.d.ts +4 -0
  31. package/dist/cli-timing.d.ts.map +1 -0
  32. package/dist/cli-timing.js +6 -0
  33. package/dist/cli-timing.js.map +1 -0
  34. package/dist/cli-types.d.ts +52 -0
  35. package/dist/cli-types.d.ts.map +1 -1
  36. package/dist/cli-value-parsers.d.ts +76 -0
  37. package/dist/cli-value-parsers.d.ts.map +1 -0
  38. package/dist/cli-value-parsers.js +271 -0
  39. package/dist/cli-value-parsers.js.map +1 -0
  40. package/dist/command-metadata.d.ts +11 -5
  41. package/dist/command-metadata.d.ts.map +1 -1
  42. package/dist/command-metadata.js +64 -9
  43. package/dist/command-metadata.js.map +1 -1
  44. package/dist/command-registry.d.ts +1 -1
  45. package/dist/command-registry.d.ts.map +1 -1
  46. package/dist/command-registry.js +44 -853
  47. package/dist/command-registry.js.map +1 -1
  48. package/dist/commands/ai-edit.d.ts +45 -0
  49. package/dist/commands/ai-edit.d.ts.map +1 -0
  50. package/dist/commands/ai-edit.js +370 -0
  51. package/dist/commands/ai-edit.js.map +1 -0
  52. package/dist/commands/api.d.ts +20 -0
  53. package/dist/commands/api.d.ts.map +1 -0
  54. package/dist/commands/api.js +56 -0
  55. package/dist/commands/api.js.map +1 -0
  56. package/dist/commands/audio.d.ts +65 -0
  57. package/dist/commands/audio.d.ts.map +1 -0
  58. package/dist/commands/audio.js +264 -0
  59. package/dist/commands/audio.js.map +1 -0
  60. package/dist/commands/auth-runtime.d.ts +24 -0
  61. package/dist/commands/auth-runtime.d.ts.map +1 -0
  62. package/dist/commands/auth-runtime.js +169 -0
  63. package/dist/commands/auth-runtime.js.map +1 -0
  64. package/dist/commands/auth.d.ts +26 -0
  65. package/dist/commands/auth.d.ts.map +1 -0
  66. package/dist/commands/auth.js +59 -0
  67. package/dist/commands/auth.js.map +1 -0
  68. package/dist/commands/caption-command-types.d.ts +66 -0
  69. package/dist/commands/caption-command-types.d.ts.map +1 -0
  70. package/dist/commands/caption-command-types.js +2 -0
  71. package/dist/commands/caption-command-types.js.map +1 -0
  72. package/dist/commands/caption-dry-run.d.ts +66 -0
  73. package/dist/commands/caption-dry-run.d.ts.map +1 -0
  74. package/dist/commands/caption-dry-run.js +225 -0
  75. package/dist/commands/caption-dry-run.js.map +1 -0
  76. package/dist/commands/caption-overrides.d.ts +43 -0
  77. package/dist/commands/caption-overrides.d.ts.map +1 -0
  78. package/dist/commands/caption-overrides.js +245 -0
  79. package/dist/commands/caption-overrides.js.map +1 -0
  80. package/dist/commands/caption-selection.d.ts +72 -0
  81. package/dist/commands/caption-selection.d.ts.map +1 -0
  82. package/dist/commands/caption-selection.js +89 -0
  83. package/dist/commands/caption-selection.js.map +1 -0
  84. package/dist/commands/caption-style-commands.d.ts +3 -0
  85. package/dist/commands/caption-style-commands.d.ts.map +1 -0
  86. package/dist/commands/caption-style-commands.js +240 -0
  87. package/dist/commands/caption-style-commands.js.map +1 -0
  88. package/dist/commands/caption-style-flags.d.ts +30 -0
  89. package/dist/commands/caption-style-flags.d.ts.map +1 -0
  90. package/dist/commands/caption-style-flags.js +257 -0
  91. package/dist/commands/caption-style-flags.js.map +1 -0
  92. package/dist/commands/caption-text-updates.d.ts +21 -0
  93. package/dist/commands/caption-text-updates.d.ts.map +1 -0
  94. package/dist/commands/caption-text-updates.js +23 -0
  95. package/dist/commands/caption-text-updates.js.map +1 -0
  96. package/dist/commands/captions-specs.d.ts +3 -0
  97. package/dist/commands/captions-specs.d.ts.map +1 -0
  98. package/dist/commands/captions-specs.js +241 -0
  99. package/dist/commands/captions-specs.js.map +1 -0
  100. package/dist/commands/captions.d.ts +7 -0
  101. package/dist/commands/captions.d.ts.map +1 -0
  102. package/dist/commands/captions.js +203 -0
  103. package/dist/commands/captions.js.map +1 -0
  104. package/dist/commands/clip-runtime.d.ts +67 -0
  105. package/dist/commands/clip-runtime.d.ts.map +1 -0
  106. package/dist/commands/clip-runtime.js +194 -0
  107. package/dist/commands/clip-runtime.js.map +1 -0
  108. package/dist/commands/clips.d.ts +66 -0
  109. package/dist/commands/clips.d.ts.map +1 -0
  110. package/dist/commands/clips.js +625 -0
  111. package/dist/commands/clips.js.map +1 -0
  112. package/dist/commands/command-operation.d.ts +26 -0
  113. package/dist/commands/command-operation.d.ts.map +1 -0
  114. package/dist/commands/command-operation.js +18 -0
  115. package/dist/commands/command-operation.js.map +1 -0
  116. package/dist/commands/editing-workflow-runtime.d.ts +42 -0
  117. package/dist/commands/editing-workflow-runtime.d.ts.map +1 -0
  118. package/dist/commands/editing-workflow-runtime.js +128 -0
  119. package/dist/commands/editing-workflow-runtime.js.map +1 -0
  120. package/dist/commands/editing-workflows.d.ts +70 -0
  121. package/dist/commands/editing-workflows.d.ts.map +1 -0
  122. package/dist/commands/editing-workflows.js +252 -0
  123. package/dist/commands/editing-workflows.js.map +1 -0
  124. package/dist/commands/effects-runtime.d.ts +64 -0
  125. package/dist/commands/effects-runtime.d.ts.map +1 -0
  126. package/dist/commands/effects-runtime.js +100 -0
  127. package/dist/commands/effects-runtime.js.map +1 -0
  128. package/dist/commands/effects.d.ts +69 -0
  129. package/dist/commands/effects.d.ts.map +1 -0
  130. package/dist/commands/effects.js +281 -0
  131. package/dist/commands/effects.js.map +1 -0
  132. package/dist/commands/exports.d.ts +16 -5
  133. package/dist/commands/exports.d.ts.map +1 -1
  134. package/dist/commands/exports.js +119 -2
  135. package/dist/commands/exports.js.map +1 -1
  136. package/dist/commands/faceless.d.ts +44 -0
  137. package/dist/commands/faceless.d.ts.map +1 -0
  138. package/dist/commands/faceless.js +587 -0
  139. package/dist/commands/faceless.js.map +1 -0
  140. package/dist/commands/formats.d.ts +41 -0
  141. package/dist/commands/formats.d.ts.map +1 -0
  142. package/dist/commands/formats.js +140 -0
  143. package/dist/commands/formats.js.map +1 -0
  144. package/dist/commands/jobs.d.ts +20 -0
  145. package/dist/commands/jobs.d.ts.map +1 -0
  146. package/dist/commands/jobs.js +40 -0
  147. package/dist/commands/jobs.js.map +1 -0
  148. package/dist/commands/media-assets.d.ts +100 -0
  149. package/dist/commands/media-assets.d.ts.map +1 -0
  150. package/dist/commands/media-assets.js +644 -0
  151. package/dist/commands/media-assets.js.map +1 -0
  152. package/dist/commands/media-overlays.d.ts +52 -0
  153. package/dist/commands/media-overlays.d.ts.map +1 -0
  154. package/dist/commands/media-overlays.js +314 -0
  155. package/dist/commands/media-overlays.js.map +1 -0
  156. package/dist/commands/media-runtime.d.ts +61 -0
  157. package/dist/commands/media-runtime.d.ts.map +1 -0
  158. package/dist/commands/media-runtime.js +239 -0
  159. package/dist/commands/media-runtime.js.map +1 -0
  160. package/dist/commands/onboarding.d.ts +51 -0
  161. package/dist/commands/onboarding.d.ts.map +1 -0
  162. package/dist/commands/onboarding.js +452 -0
  163. package/dist/commands/onboarding.js.map +1 -0
  164. package/dist/commands/project-read.d.ts +40 -0
  165. package/dist/commands/project-read.d.ts.map +1 -0
  166. package/dist/commands/project-read.js +184 -0
  167. package/dist/commands/project-read.js.map +1 -0
  168. package/dist/commands/projects.d.ts +16 -5
  169. package/dist/commands/projects.d.ts.map +1 -1
  170. package/dist/commands/projects.js +139 -2
  171. package/dist/commands/projects.js.map +1 -1
  172. package/dist/commands/stock-library.d.ts +72 -0
  173. package/dist/commands/stock-library.d.ts.map +1 -0
  174. package/dist/commands/stock-library.js +175 -0
  175. package/dist/commands/stock-library.js.map +1 -0
  176. package/dist/commands/system.d.ts +16 -0
  177. package/dist/commands/system.d.ts.map +1 -0
  178. package/dist/commands/system.js +147 -0
  179. package/dist/commands/system.js.map +1 -0
  180. package/dist/commands/text-overlay-spec.d.ts +24 -0
  181. package/dist/commands/text-overlay-spec.d.ts.map +1 -0
  182. package/dist/commands/text-overlay-spec.js +228 -0
  183. package/dist/commands/text-overlay-spec.js.map +1 -0
  184. package/dist/commands/text-overlays.d.ts +67 -0
  185. package/dist/commands/text-overlays.d.ts.map +1 -0
  186. package/dist/commands/text-overlays.js +272 -0
  187. package/dist/commands/text-overlays.js.map +1 -0
  188. package/dist/commands/timeline-runtime.d.ts +105 -0
  189. package/dist/commands/timeline-runtime.d.ts.map +1 -0
  190. package/dist/commands/timeline-runtime.js +508 -0
  191. package/dist/commands/timeline-runtime.js.map +1 -0
  192. package/dist/commands/timeline.d.ts +120 -0
  193. package/dist/commands/timeline.d.ts.map +1 -0
  194. package/dist/commands/timeline.js +621 -0
  195. package/dist/commands/timeline.js.map +1 -0
  196. package/dist/commands/workspace-defaults.d.ts +12 -0
  197. package/dist/commands/workspace-defaults.d.ts.map +1 -0
  198. package/dist/commands/workspace-defaults.js +115 -0
  199. package/dist/commands/workspace-defaults.js.map +1 -0
  200. package/dist/commands/workspace.d.ts +50 -0
  201. package/dist/commands/workspace.d.ts.map +1 -0
  202. package/dist/commands/workspace.js +116 -0
  203. package/dist/commands/workspace.js.map +1 -0
  204. package/dist/index.js +485 -5035
  205. package/dist/index.js.map +1 -1
  206. package/dist/preview-first-edit.d.ts +9 -1
  207. package/dist/preview-first-edit.d.ts.map +1 -1
  208. package/dist/preview-first-edit.js +16 -4
  209. package/dist/preview-first-edit.js.map +1 -1
  210. package/dist/update-notifier.d.ts +43 -0
  211. package/dist/update-notifier.d.ts.map +1 -0
  212. package/dist/update-notifier.js +265 -0
  213. package/dist/update-notifier.js.map +1 -0
  214. package/package.json +2 -2
@@ -0,0 +1,621 @@
1
+ import { commandSpec } from "../command-metadata.js";
2
+ export const TIMELINE_COMMAND_SPECS = [
3
+ commandSpec({
4
+ command: ["timeline", "split"],
5
+ usage: "blitzreels timeline split --project-id ID --timeline-item-id ID --at 00:03 --idempotency-key KEY [--snap-to-frame true] [--expected-revision N]",
6
+ flags: [
7
+ "project-id",
8
+ "timeline-item-id",
9
+ "at",
10
+ "snap-to-frame",
11
+ {
12
+ name: "expected-revision",
13
+ type: "number",
14
+ description: "Expected non-negative sequence revision.",
15
+ },
16
+ "idempotency-key",
17
+ ],
18
+ kernelOperationIds: ["timeline.item.split"],
19
+ }),
20
+ commandSpec({
21
+ command: ["timeline", "trim"],
22
+ usage: "blitzreels timeline trim --project-id ID --timeline-item-id ID --idempotency-key KEY [--trim-start-by 1] [--extend-start-by 1] [--trim-end-by 1] [--extend-end-by 1] [--snap-to-frame true] [--expected-revision N]",
23
+ flags: [
24
+ "project-id",
25
+ "timeline-item-id",
26
+ "trim-start-by",
27
+ "extend-start-by",
28
+ "trim-end-by",
29
+ "extend-end-by",
30
+ "snap-to-frame",
31
+ {
32
+ name: "expected-revision",
33
+ type: "number",
34
+ description: "Expected non-negative sequence revision.",
35
+ },
36
+ "idempotency-key",
37
+ ],
38
+ description: "Trim or extend item edges. Positive API trim deltas shorten; CLI extend flags send negative deltas.",
39
+ kernelOperationIds: ["timeline.item.trim"],
40
+ }),
41
+ commandSpec({
42
+ command: ["timeline", "transform"],
43
+ usage: "blitzreels timeline transform --project-id ID --timeline-item-id ID [--position-x 0] [--position-y 0] [--width-px 320|null] [--height-px 180|null] [--keep-aspect-ratio true]",
44
+ flags: [
45
+ "project-id",
46
+ "timeline-item-id",
47
+ "position-x",
48
+ "position-y",
49
+ "width-px",
50
+ "height-px",
51
+ "keep-aspect-ratio",
52
+ ],
53
+ kernelOperationIds: ["timeline.item.transform"],
54
+ }),
55
+ commandSpec({
56
+ command: ["timeline", "move"],
57
+ usage: "blitzreels timeline move --project-id ID --timeline-item-id ID --at 00:03 [--layer-index 2]",
58
+ flags: ["project-id", "timeline-item-id", "at", "layer-index"],
59
+ kernelOperationIds: ["timeline.items.commit"],
60
+ }),
61
+ commandSpec({
62
+ command: ["timeline", "delete"],
63
+ usage: "blitzreels timeline delete --project-id ID --timeline-item-id ID|--timeline-item-ids ID1,ID2 [--auto-pack true]",
64
+ flags: ["project-id", "timeline-item-id", "timeline-item-ids", "auto-pack"],
65
+ kernelOperationIds: ["timeline.item.remove", "timeline.pack"],
66
+ }),
67
+ commandSpec({
68
+ command: ["timeline", "batch-move"],
69
+ usage: "blitzreels timeline batch-move --project-id ID [--move ITEM_ID:START[:LAYER],...] [--items-json JSON]",
70
+ flags: ["project-id", "move", "items-json"],
71
+ description: "Move several timeline items. Prefer --move for simple start-time moves; use --items-json for advanced fields.",
72
+ kernelOperationIds: ["timeline.items.commit"],
73
+ }),
74
+ commandSpec({
75
+ command: ["timeline", "batch-trim"],
76
+ usage: 'blitzreels timeline batch-trim --project-id ID --items-json \'[{"timeline_item_id":"...","trim_end_delta_seconds":1}]\' --idempotency-key KEY [--snap-to-frame true]',
77
+ flags: ["project-id", "items-json", "snap-to-frame", "idempotency-key"],
78
+ kernelOperationIds: ["timeline.item.trim"],
79
+ }),
80
+ commandSpec({
81
+ command: ["timeline", "batch-transform"],
82
+ usage: 'blitzreels timeline batch-transform --project-id ID --items-json \'[{"timeline_item_id":"...","position_x":0}]\'',
83
+ flags: ["project-id", "items-json"],
84
+ kernelOperationIds: ["timeline.item.transform"],
85
+ }),
86
+ commandSpec({
87
+ command: ["timeline", "batch-delete"],
88
+ usage: "blitzreels timeline batch-delete --project-id ID [--timeline-item-ids ID1,ID2|--items-json JSON] [--auto-pack true]",
89
+ flags: ["project-id", "timeline-item-ids", "items-json", "auto-pack"],
90
+ destructive: true,
91
+ kernelOperationIds: ["timeline.items.remove", "timeline.pack"],
92
+ }),
93
+ commandSpec({
94
+ command: ["timeline", "cut"],
95
+ usage: 'blitzreels timeline cut --project-id ID (--from 00:24 --to 00:38|--phrase "spoken words") --confirm-preview [--timeline-item-id ID] [--cuts-json JSON] [--no-ripple true]',
96
+ flags: [
97
+ "project-id",
98
+ "timeline-item-id",
99
+ {
100
+ name: "from",
101
+ required: false,
102
+ enum: [],
103
+ description: "Start time for a time-range cut.",
104
+ },
105
+ {
106
+ name: "to",
107
+ required: false,
108
+ enum: [],
109
+ description: "End time for a time-range cut.",
110
+ },
111
+ {
112
+ name: "phrase",
113
+ required: false,
114
+ description: "Exact contiguous caption phrase to cut.",
115
+ },
116
+ "cuts-json",
117
+ {
118
+ name: "confirm-preview",
119
+ required: true,
120
+ description: "Required confirmation for this destructive cut.",
121
+ },
122
+ "no-ripple",
123
+ "snap-to-frame",
124
+ ],
125
+ destructive: true,
126
+ description: "Cut media ranges, delete matching source caption words, rebuild captions, and ripple downstream items.",
127
+ kernelOperationIds: ["timeline.recut.apply"],
128
+ }),
129
+ ];
130
+ export function createTimelineCommandOperation({ helpers, }) {
131
+ return {
132
+ name: "timeline",
133
+ matches: ({ command }) => command[0] === "timeline",
134
+ handle: ({ context }) => handleTimelineCommand({ context, helpers }),
135
+ buildDryRun: ({ context, spec }) => buildTimelineDryRun({ context, spec, helpers }),
136
+ };
137
+ }
138
+ async function handleTimelineCommand({ context, helpers, }) {
139
+ const [group, action] = context.args.command;
140
+ if (group !== "timeline") {
141
+ return false;
142
+ }
143
+ const flags = context.args.flags;
144
+ if (action === "transform") {
145
+ const result = await context.client.timeline.transform({
146
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
147
+ timelineItemId: helpers.requireStringFlag({
148
+ flags,
149
+ name: "timeline-item-id",
150
+ }),
151
+ positionX: helpers.getNumberFlag({ flags, name: "position-x" }),
152
+ positionY: helpers.getNumberFlag({ flags, name: "position-y" }),
153
+ widthPx: helpers.parseNullableNumberFlag({ flags, name: "width-px" }),
154
+ heightPx: helpers.parseNullableNumberFlag({ flags, name: "height-px" }),
155
+ keepAspectRatio: helpers.getOptionalBooleanFlag({
156
+ flags,
157
+ name: "keep-aspect-ratio",
158
+ }),
159
+ });
160
+ helpers.printResult({
161
+ json: context.json,
162
+ value: result,
163
+ human: [JSON.stringify(result, null, 2)],
164
+ });
165
+ return true;
166
+ }
167
+ if (action === "split") {
168
+ const projectId = helpers.requireStringFlag({ flags, name: "project-id" });
169
+ const result = await context.client.timeline.executeOperation({
170
+ projectId,
171
+ operation: {
172
+ operation_id: "timeline.item.split",
173
+ timeline_item_id: helpers.requireStringFlag({
174
+ flags,
175
+ name: "timeline-item-id",
176
+ }),
177
+ split_at_seconds: helpers.parseTimecode({
178
+ value: helpers.requireStringFlag({ flags, name: "at" }),
179
+ }),
180
+ snap_to_frame: helpers.getOptionalBooleanFlag({
181
+ flags,
182
+ name: "snap-to-frame",
183
+ }) ?? true,
184
+ },
185
+ expectedRevision: helpers.parseExpectedRevision({ flags }),
186
+ idempotencyKey: helpers.requireStringFlag({
187
+ flags,
188
+ name: "idempotency-key",
189
+ }),
190
+ });
191
+ helpers.printResult({
192
+ json: context.json,
193
+ value: result,
194
+ human: [JSON.stringify(result, null, 2)],
195
+ });
196
+ return true;
197
+ }
198
+ if (action === "trim") {
199
+ const deltas = helpers.buildTimelineTrimDeltas({ flags });
200
+ const projectId = helpers.requireStringFlag({ flags, name: "project-id" });
201
+ const result = await context.client.timeline.executeOperation({
202
+ projectId,
203
+ operation: {
204
+ operation_id: "timeline.item.trim",
205
+ timeline_item_id: helpers.requireStringFlag({
206
+ flags,
207
+ name: "timeline-item-id",
208
+ }),
209
+ trim_start_delta_seconds: deltas.trimStartDeltaSeconds ?? 0,
210
+ trim_end_delta_seconds: deltas.trimEndDeltaSeconds ?? 0,
211
+ snap_to_frame: helpers.getOptionalBooleanFlag({
212
+ flags,
213
+ name: "snap-to-frame",
214
+ }) ?? true,
215
+ },
216
+ expectedRevision: helpers.parseExpectedRevision({ flags }),
217
+ idempotencyKey: helpers.requireStringFlag({
218
+ flags,
219
+ name: "idempotency-key",
220
+ }),
221
+ });
222
+ helpers.printResult({
223
+ json: context.json,
224
+ value: result,
225
+ human: [JSON.stringify(result, null, 2)],
226
+ });
227
+ return true;
228
+ }
229
+ if (action === "move") {
230
+ const result = await context.client.timeline.move({
231
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
232
+ timelineItemId: helpers.requireStringFlag({
233
+ flags,
234
+ name: "timeline-item-id",
235
+ }),
236
+ newStartSeconds: helpers.parseTimecode({
237
+ value: helpers.requireStringFlag({ flags, name: "at" }),
238
+ }),
239
+ newLayerIndex: helpers.getNumberFlag({ flags, name: "layer-index" }),
240
+ });
241
+ helpers.printResult({
242
+ json: context.json,
243
+ value: result,
244
+ human: [JSON.stringify(result, null, 2)],
245
+ });
246
+ return true;
247
+ }
248
+ if (action === "delete") {
249
+ const result = await context.client.timeline.delete({
250
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
251
+ timelineItemIds: helpers.parseTimelineItemIds({ flags }),
252
+ autoPack: helpers.getOptionalBooleanFlag({ flags, name: "auto-pack" }),
253
+ });
254
+ helpers.printResult({
255
+ json: context.json,
256
+ value: result,
257
+ human: [JSON.stringify(result, null, 2)],
258
+ });
259
+ return true;
260
+ }
261
+ if (action === "batch-move") {
262
+ const result = await context.client.timeline.executeBatchMove({
263
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
264
+ items: helpers.parseTimelineBatchMoveItems({ flags }),
265
+ });
266
+ helpers.assertNoBatchFailures({ value: result });
267
+ helpers.printResult({
268
+ json: context.json,
269
+ value: result,
270
+ human: [JSON.stringify(result, null, 2)],
271
+ });
272
+ return true;
273
+ }
274
+ if (action === "batch-trim") {
275
+ const result = await context.client.timeline.executeBatchTrim({
276
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
277
+ idempotencyKey: helpers.requireStringFlag({
278
+ flags,
279
+ name: "idempotency-key",
280
+ }),
281
+ items: helpers.parseTimelineBatchItems({ flags }).map((item) => ({
282
+ timelineItemId: helpers.requireBatchString({
283
+ item,
284
+ name: "timeline_item_id",
285
+ }),
286
+ trimStartDeltaSeconds: helpers.optionalBatchNumber({
287
+ item,
288
+ name: "trim_start_delta_seconds",
289
+ }),
290
+ trimEndDeltaSeconds: helpers.optionalBatchNumber({
291
+ item,
292
+ name: "trim_end_delta_seconds",
293
+ }),
294
+ })),
295
+ snapToFrame: helpers.getOptionalBooleanFlag({
296
+ flags,
297
+ name: "snap-to-frame",
298
+ }),
299
+ });
300
+ helpers.assertNoBatchFailures({ value: result });
301
+ helpers.printResult({
302
+ json: context.json,
303
+ value: result,
304
+ human: [JSON.stringify(result, null, 2)],
305
+ });
306
+ return true;
307
+ }
308
+ if (action === "batch-transform") {
309
+ const result = await context.client.timeline.executeBatchTransform({
310
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
311
+ items: helpers.parseTimelineBatchItems({ flags }).map((item) => ({
312
+ timelineItemId: helpers.requireBatchString({
313
+ item,
314
+ name: "timeline_item_id",
315
+ }),
316
+ positionX: helpers.optionalBatchNumber({ item, name: "position_x" }),
317
+ positionY: helpers.optionalBatchNumber({ item, name: "position_y" }),
318
+ widthPx: helpers.optionalBatchNumberOrNull({ item, name: "width_px" }),
319
+ heightPx: helpers.optionalBatchNumberOrNull({
320
+ item,
321
+ name: "height_px",
322
+ }),
323
+ keepAspectRatio: helpers.optionalBatchBoolean({
324
+ item,
325
+ name: "keep_aspect_ratio",
326
+ }),
327
+ })),
328
+ });
329
+ helpers.assertNoBatchFailures({ value: result });
330
+ helpers.printResult({
331
+ json: context.json,
332
+ value: result,
333
+ human: [JSON.stringify(result, null, 2)],
334
+ });
335
+ return true;
336
+ }
337
+ if (action === "batch-delete") {
338
+ const result = await context.client.timeline.executeBatchDelete({
339
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
340
+ timelineItemIds: helpers.parseTimelineBatchDeleteIds({ flags }),
341
+ autoPack: helpers.getOptionalBooleanFlag({ flags, name: "auto-pack" }),
342
+ });
343
+ helpers.assertNoBatchFailures({ value: result });
344
+ helpers.printResult({
345
+ json: context.json,
346
+ value: result,
347
+ human: [JSON.stringify(result, null, 2)],
348
+ });
349
+ return true;
350
+ }
351
+ if (action === "cut") {
352
+ helpers.requirePreviewFirstConfirmation({
353
+ confirmed: helpers.getBooleanFlag({
354
+ flags,
355
+ name: "confirm-preview",
356
+ }),
357
+ });
358
+ const projectId = helpers.requireStringFlag({ flags, name: "project-id" });
359
+ const timelineItemId = await helpers.resolveTimelineCutTimelineItemId({
360
+ context,
361
+ projectId,
362
+ flags,
363
+ });
364
+ const cuts = await helpers.resolveTimelineCutRanges({
365
+ context,
366
+ projectId,
367
+ timelineItemId,
368
+ flags,
369
+ });
370
+ const result = await context.client.timeline.cut({
371
+ projectId,
372
+ timelineItemId,
373
+ cuts,
374
+ snapToFrame: helpers.getOptionalBooleanFlag({
375
+ flags,
376
+ name: "snap-to-frame",
377
+ }),
378
+ ripple: helpers.getOptionalBooleanFlag({ flags, name: "no-ripple" }) === true
379
+ ? false
380
+ : undefined,
381
+ });
382
+ helpers.printResult({
383
+ json: context.json,
384
+ value: result,
385
+ human: [JSON.stringify(result, null, 2)],
386
+ });
387
+ return true;
388
+ }
389
+ return false;
390
+ }
391
+ function buildTimelineDryRun({ context, spec, helpers, }) {
392
+ const [group, action] = context.args.command;
393
+ if (group !== "timeline") {
394
+ return undefined;
395
+ }
396
+ const flags = context.args.flags;
397
+ const projectId = () => helpers.requireStringFlag({ flags, name: "project-id" });
398
+ const timelineItemId = () => helpers.requireStringFlag({ flags, name: "timeline-item-id" });
399
+ if (action === "transform") {
400
+ return helpers.dryRunRequest({
401
+ spec,
402
+ method: "POST",
403
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/edits`,
404
+ body: {
405
+ action: "transform",
406
+ timeline_item_id: timelineItemId(),
407
+ position_x: helpers.getNumberFlag({ flags, name: "position-x" }),
408
+ position_y: helpers.getNumberFlag({ flags, name: "position-y" }),
409
+ width_px: helpers.parseNullableNumberFlag({ flags, name: "width-px" }),
410
+ height_px: helpers.parseNullableNumberFlag({
411
+ flags,
412
+ name: "height-px",
413
+ }),
414
+ keep_aspect_ratio: helpers.getOptionalBooleanFlag({
415
+ flags,
416
+ name: "keep-aspect-ratio",
417
+ }),
418
+ },
419
+ });
420
+ }
421
+ if (action === "move") {
422
+ return helpers.dryRunRequest({
423
+ spec,
424
+ method: "POST",
425
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/edits`,
426
+ body: {
427
+ action: "move",
428
+ timeline_item_id: timelineItemId(),
429
+ new_start_seconds: helpers.parseTimecode({
430
+ value: helpers.requireStringFlag({ flags, name: "at" }),
431
+ }),
432
+ new_layer_index: helpers.getNumberFlag({ flags, name: "layer-index" }),
433
+ },
434
+ });
435
+ }
436
+ if (action === "delete") {
437
+ return helpers.dryRunRequest({
438
+ spec,
439
+ method: "POST",
440
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/edits`,
441
+ body: {
442
+ action: "delete",
443
+ timeline_item_ids: helpers.parseTimelineItemIds({ flags }),
444
+ auto_pack: helpers.getOptionalBooleanFlag({ flags, name: "auto-pack" }),
445
+ },
446
+ });
447
+ }
448
+ if (action === "split") {
449
+ const idempotencyKey = helpers.requireStringFlag({
450
+ flags,
451
+ name: "idempotency-key",
452
+ });
453
+ return helpers.dryRunRequest({
454
+ spec,
455
+ method: "POST",
456
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/operations/execute`,
457
+ headers: { "Idempotency-Key": idempotencyKey },
458
+ body: {
459
+ operation: {
460
+ operation_id: "timeline.item.split",
461
+ timeline_item_id: timelineItemId(),
462
+ split_at_seconds: helpers.parseTimecode({
463
+ value: helpers.requireStringFlag({ flags, name: "at" }),
464
+ }),
465
+ snap_to_frame: helpers.getOptionalBooleanFlag({
466
+ flags,
467
+ name: "snap-to-frame",
468
+ }) ?? true,
469
+ },
470
+ expected_revision: helpers.parseExpectedRevision({ flags }),
471
+ },
472
+ });
473
+ }
474
+ if (action === "trim") {
475
+ const deltas = helpers.buildTimelineTrimDeltas({ flags });
476
+ const idempotencyKey = helpers.requireStringFlag({
477
+ flags,
478
+ name: "idempotency-key",
479
+ });
480
+ return helpers.dryRunRequest({
481
+ spec,
482
+ method: "POST",
483
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/operations/execute`,
484
+ headers: { "Idempotency-Key": idempotencyKey },
485
+ body: {
486
+ operation: {
487
+ operation_id: "timeline.item.trim",
488
+ timeline_item_id: timelineItemId(),
489
+ trim_start_delta_seconds: deltas.trimStartDeltaSeconds ?? 0,
490
+ trim_end_delta_seconds: deltas.trimEndDeltaSeconds ?? 0,
491
+ snap_to_frame: helpers.getOptionalBooleanFlag({
492
+ flags,
493
+ name: "snap-to-frame",
494
+ }) ?? true,
495
+ },
496
+ expected_revision: helpers.parseExpectedRevision({ flags }),
497
+ },
498
+ });
499
+ }
500
+ if (action === "batch-move") {
501
+ return helpers.dryRunRequest({
502
+ spec,
503
+ method: "POST",
504
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/batch-move`,
505
+ body: {
506
+ items: helpers.parseTimelineBatchMoveItems({ flags }).map((item) => ({
507
+ timeline_item_id: item.timelineItemId,
508
+ new_start_seconds: item.newStartSeconds,
509
+ new_layer_index: item.newLayerIndex,
510
+ })),
511
+ },
512
+ });
513
+ }
514
+ if (action === "batch-trim") {
515
+ const idempotencyKey = helpers.requireStringFlag({
516
+ flags,
517
+ name: "idempotency-key",
518
+ });
519
+ return helpers.dryRunRequest({
520
+ spec,
521
+ method: "POST",
522
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/batch-trim`,
523
+ headers: { "Idempotency-Key": idempotencyKey },
524
+ body: {
525
+ items: helpers.parseTimelineBatchItems({ flags }).map((item) => ({
526
+ timeline_item_id: helpers.requireBatchString({
527
+ item,
528
+ name: "timeline_item_id",
529
+ }),
530
+ trim_start_delta_seconds: helpers.optionalBatchNumber({
531
+ item,
532
+ name: "trim_start_delta_seconds",
533
+ }),
534
+ trim_end_delta_seconds: helpers.optionalBatchNumber({
535
+ item,
536
+ name: "trim_end_delta_seconds",
537
+ }),
538
+ })),
539
+ snap_to_frame: helpers.getOptionalBooleanFlag({
540
+ flags,
541
+ name: "snap-to-frame",
542
+ }),
543
+ },
544
+ });
545
+ }
546
+ if (action === "batch-transform") {
547
+ return helpers.dryRunRequest({
548
+ spec,
549
+ method: "POST",
550
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/batch-transform`,
551
+ body: {
552
+ items: helpers.parseTimelineBatchItems({ flags }).map((item) => ({
553
+ timeline_item_id: helpers.requireBatchString({
554
+ item,
555
+ name: "timeline_item_id",
556
+ }),
557
+ position_x: helpers.optionalBatchNumber({ item, name: "position_x" }),
558
+ position_y: helpers.optionalBatchNumber({ item, name: "position_y" }),
559
+ width_px: helpers.optionalBatchNumberOrNull({
560
+ item,
561
+ name: "width_px",
562
+ }),
563
+ height_px: helpers.optionalBatchNumberOrNull({
564
+ item,
565
+ name: "height_px",
566
+ }),
567
+ keep_aspect_ratio: helpers.optionalBatchBoolean({
568
+ item,
569
+ name: "keep_aspect_ratio",
570
+ }),
571
+ })),
572
+ },
573
+ });
574
+ }
575
+ if (action === "batch-delete") {
576
+ return helpers.dryRunRequest({
577
+ spec,
578
+ method: "POST",
579
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/batch-delete`,
580
+ body: {
581
+ timeline_item_ids: helpers.parseTimelineBatchDeleteIds({ flags }),
582
+ auto_pack: helpers.getOptionalBooleanFlag({ flags, name: "auto-pack" }),
583
+ },
584
+ });
585
+ }
586
+ if (action === "cut") {
587
+ return helpers.dryRunRequest({
588
+ spec,
589
+ method: "POST",
590
+ path: `/projects/${encodeURIComponent(projectId())}/timeline/cut`,
591
+ body: {
592
+ timeline_item_id: getStringFlag({ flags, name: "timeline-item-id" }) ??
593
+ "<auto:primary-video>",
594
+ cuts: helpers.buildTimelineCutsForDryRun({ flags }).map((cut) => ({
595
+ start_seconds: cut.startSeconds,
596
+ end_seconds: cut.endSeconds,
597
+ trim_following_seconds: cut.trimFollowingSeconds,
598
+ })),
599
+ snap_to_frame: helpers.getOptionalBooleanFlag({
600
+ flags,
601
+ name: "snap-to-frame",
602
+ }),
603
+ ripple: helpers.getOptionalBooleanFlag({ flags, name: "no-ripple" }) === true
604
+ ? false
605
+ : undefined,
606
+ },
607
+ notes: getStringFlag({ flags, name: "phrase" }) !== undefined ||
608
+ getStringFlag({ flags, name: "timeline-item-id" }) === undefined
609
+ ? [
610
+ "Execution resolves phrase ranges and/or the primary video timeline item before mutating.",
611
+ ]
612
+ : undefined,
613
+ });
614
+ }
615
+ return undefined;
616
+ }
617
+ function getStringFlag({ flags, name, }) {
618
+ const value = flags[name];
619
+ return typeof value === "string" ? value : undefined;
620
+ }
621
+ //# sourceMappingURL=timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/commands/timeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Flags } from "../cli-types.js";
2
+ export declare function buildWorkspaceDefaults({ flags }: {
3
+ flags: Flags;
4
+ }): {
5
+ aspectRatio: "9:16" | "16:9" | "1:1" | "4:5" | null | undefined;
6
+ orientation: "landscape" | "portrait" | "square" | null | undefined;
7
+ resolution: "0.25" | "0.5" | "0.75" | "1" | "1.5" | "2" | null | undefined;
8
+ frameRate: "24" | "25" | "30" | "50" | "60" | null | undefined;
9
+ autoManageBroll: boolean | undefined;
10
+ captionThemeId: string | null | undefined;
11
+ } | undefined;
12
+ //# sourceMappingURL=workspace-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-defaults.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAC9D;IACE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,WAAW,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACpE,UAAU,EACN,MAAM,GACN,KAAK,GACL,MAAM,GACN,GAAG,GACH,KAAK,GACL,GAAG,GACH,IAAI,GACJ,SAAS,CAAC;IACd,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C,GACD,SAAS,CAoCZ"}