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,67 @@
1
+ import type { CliContext, Flags } from "../cli-types.js";
2
+ import { type CommandSpec } from "../command-metadata.js";
3
+ import type { DryRunPreview } from "../preview-first-edit.js";
4
+ import type { CommandOperation } from "./command-operation.js";
5
+ export declare const TEXT_OVERLAY_COMMAND_SPECS: CommandSpec[];
6
+ export type TextOverlayCommandHelpers = {
7
+ buildTitleCardSpec: (params: {
8
+ text: string;
9
+ name: string | undefined;
10
+ durationSeconds: number;
11
+ flags: Flags;
12
+ }) => Record<string, unknown>;
13
+ buildTextOverlaySpec: (params: {
14
+ text: string;
15
+ name: string | undefined;
16
+ durationSeconds: number;
17
+ flags: Flags;
18
+ }) => Record<string, unknown>;
19
+ buildUpdatedTextSpec: (params: {
20
+ context: CliContext;
21
+ projectId: string;
22
+ contentItemId: string;
23
+ nextText: string | undefined;
24
+ flags: Flags;
25
+ }) => Promise<Record<string, unknown>>;
26
+ dryRunRequest: (params: {
27
+ spec: CommandSpec;
28
+ method: string;
29
+ path: string;
30
+ query?: Record<string, unknown>;
31
+ body: unknown;
32
+ followUpRequests?: DryRunPreview["follow_up_requests"];
33
+ notes?: string[];
34
+ }) => DryRunPreview;
35
+ getNumberFlag: (params: {
36
+ flags: Flags;
37
+ name: string;
38
+ }) => number | undefined;
39
+ getStringFlag: (params: {
40
+ flags: Flags;
41
+ name: string;
42
+ }) => string | undefined;
43
+ hasTextStyleFlags: (params: {
44
+ flags: Flags;
45
+ }) => boolean;
46
+ parseJsonObjectFlag: (params: {
47
+ flags: Flags;
48
+ name: string;
49
+ }) => Record<string, unknown> | undefined;
50
+ parseTimecode: (params: {
51
+ value: string;
52
+ }) => number;
53
+ printResult: (params: {
54
+ json: boolean;
55
+ value: unknown;
56
+ human: string[];
57
+ fields?: string[];
58
+ }) => void;
59
+ requireStringFlag: (params: {
60
+ flags: Flags;
61
+ name: string;
62
+ }) => string;
63
+ };
64
+ export declare function createTextOverlayCommandOperation({ helpers, }: {
65
+ helpers: TextOverlayCommandHelpers;
66
+ }): CommandOperation;
67
+ //# sourceMappingURL=text-overlays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-overlays.d.ts","sourceRoot":"","sources":["../../src/commands/text-overlays.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ import { commandSpec, TEXT_STYLE_FLAGS, } from "../command-metadata.js";
2
+ export const TEXT_OVERLAY_COMMAND_SPECS = [
3
+ commandSpec({
4
+ command: ["text", "add"],
5
+ usage: "blitzreels text add --project-id ID --text \"Hook\" [--name NAME] [--at 0] [--duration 4] [--layer-index 2] [--spec-json JSON|--spec-file spec.json] [--font-family Inter] [--font-size 64] [--font-weight 700] [--color '#fff'] [--background-color '#000'] [--padding-x 32] [--padding-y 16] [--border-radius 24] [--top '18%'] [--left '50%'] [--text-align center] [--text-shadow '0 6px 18px #000'] [--no-background]",
6
+ flags: [
7
+ "project-id",
8
+ "text",
9
+ "name",
10
+ "at",
11
+ "duration",
12
+ "layer-index",
13
+ ...TEXT_STYLE_FLAGS,
14
+ ],
15
+ kernelOperationIds: ["timeline.overlay.add"],
16
+ }),
17
+ commandSpec({
18
+ command: ["title-card", "add"],
19
+ usage: "blitzreels title-card add --project-id ID --text \"Hook\" [--name NAME] [--at 0] [--duration 2.8] [--layer-index 1] [--spec-json JSON|--spec-file spec.json] [--font-family Inter] [--font-size 56] [--font-weight 800] [--color '#000'] [--background-color '#fff'] [--padding-x 34] [--padding-y 20] [--border-radius 18] [--top '12%'] [--left '50%'] [--text-align center] [--text-shadow none] [--no-background]",
20
+ flags: [
21
+ "project-id",
22
+ "text",
23
+ "name",
24
+ "at",
25
+ "duration",
26
+ "layer-index",
27
+ ...TEXT_STYLE_FLAGS,
28
+ ],
29
+ description: "Add a title-card content item to a project timeline.",
30
+ mutates: true,
31
+ kernelOperationIds: ["timeline.overlay.add"],
32
+ }),
33
+ commandSpec({
34
+ command: ["text", "list"],
35
+ usage: "blitzreels text list --project-id ID [--json]",
36
+ flags: ["project-id"],
37
+ }),
38
+ commandSpec({
39
+ command: ["text", "update"],
40
+ usage: "blitzreels text update --project-id ID --content-item-id ID [--text \"New hook\"] [--name NAME] [--duration 4] [--spec-json JSON|--spec-file spec.json] [--font-family Pacifico] [--font-size 82] [--font-weight 700] [--color '#17FFA6'] [--background-color '#051914'] [--padding-x 32] [--padding-y 16] [--border-radius 24] [--top '18%'] [--left '50%'] [--text-align center] [--text-shadow '0 6px 18px #000'] [--no-background]",
41
+ flags: [
42
+ "project-id",
43
+ "content-item-id",
44
+ "text",
45
+ "name",
46
+ "duration",
47
+ ...TEXT_STYLE_FLAGS,
48
+ ],
49
+ kernelOperationIds: ["timeline.overlay.update", "timeline.item.commit"],
50
+ }),
51
+ commandSpec({
52
+ command: ["text", "remove"],
53
+ usage: "blitzreels text remove --project-id ID --content-item-id ID",
54
+ flags: ["project-id", "content-item-id"],
55
+ kernelOperationIds: ["timeline.overlay.remove"],
56
+ }),
57
+ ];
58
+ export function createTextOverlayCommandOperation({ helpers, }) {
59
+ return {
60
+ name: "text-overlays",
61
+ matches: ({ command }) => command[0] === "text" || command[0] === "title-card",
62
+ handle: ({ context }) => handleTextOverlayCommand({ context, helpers }),
63
+ buildDryRun: ({ context, spec }) => buildTextOverlayDryRun({ context, spec, helpers }),
64
+ };
65
+ }
66
+ async function handleTextOverlayCommand({ context, helpers, }) {
67
+ const action = context.args.command[1];
68
+ const flags = context.args.flags;
69
+ if (context.args.command[0] === "title-card" && action === "add") {
70
+ const text = helpers.requireStringFlag({ flags, name: "text" });
71
+ const durationSeconds = helpers.getNumberFlag({ flags, name: "duration" }) ?? 2.8;
72
+ const spec = helpers.parseJsonObjectFlag({ flags, name: "spec-json" }) ??
73
+ helpers.buildTitleCardSpec({
74
+ text,
75
+ name: helpers.getStringFlag({ flags, name: "name" }),
76
+ durationSeconds,
77
+ flags,
78
+ });
79
+ const result = await context.client.text.addTitleCard({
80
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
81
+ text,
82
+ name: helpers.getStringFlag({ flags, name: "name" }),
83
+ startSeconds: helpers.parseTimecode({
84
+ value: helpers.getStringFlag({ flags, name: "at" }) ?? "0",
85
+ }),
86
+ durationSeconds,
87
+ layerIndex: helpers.getNumberFlag({ flags, name: "layer-index" }),
88
+ spec,
89
+ });
90
+ helpers.printResult({
91
+ json: context.json,
92
+ value: result,
93
+ human: [`Title card added: ${result.content_item_id}`],
94
+ });
95
+ return true;
96
+ }
97
+ if (action === "add") {
98
+ const text = helpers.requireStringFlag({ flags, name: "text" });
99
+ const durationSeconds = helpers.getNumberFlag({ flags, name: "duration" }) ?? 4;
100
+ const spec = helpers.parseJsonObjectFlag({ flags, name: "spec-json" }) ??
101
+ helpers.buildTextOverlaySpec({
102
+ text,
103
+ name: helpers.getStringFlag({ flags, name: "name" }),
104
+ durationSeconds,
105
+ flags,
106
+ });
107
+ const result = await context.client.text.add({
108
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
109
+ text,
110
+ name: helpers.getStringFlag({ flags, name: "name" }),
111
+ startSeconds: helpers.parseTimecode({
112
+ value: helpers.getStringFlag({ flags, name: "at" }) ?? "0",
113
+ }),
114
+ durationSeconds,
115
+ layerIndex: helpers.getNumberFlag({ flags, name: "layer-index" }),
116
+ spec,
117
+ });
118
+ helpers.printResult({
119
+ json: context.json,
120
+ value: result,
121
+ human: [`Text added: ${result.content_item_id}`],
122
+ });
123
+ return true;
124
+ }
125
+ if (action === "list") {
126
+ const result = await context.client.text.list({
127
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
128
+ });
129
+ helpers.printResult({
130
+ json: context.json,
131
+ value: result,
132
+ human: result.data.map((item) => `${item.content_item_id} ${item.kind} ${item.name} ${item.start_seconds ?? "-"}s`),
133
+ });
134
+ return true;
135
+ }
136
+ if (action === "remove") {
137
+ const result = await context.client.text.remove({
138
+ projectId: helpers.requireStringFlag({ flags, name: "project-id" }),
139
+ contentItemId: helpers.requireStringFlag({
140
+ flags,
141
+ name: "content-item-id",
142
+ }),
143
+ });
144
+ helpers.printResult({
145
+ json: context.json,
146
+ value: result,
147
+ human: ["Text removed."],
148
+ });
149
+ return true;
150
+ }
151
+ if (action === "update") {
152
+ const explicitSpec = helpers.parseJsonObjectFlag({
153
+ flags,
154
+ name: "spec-json",
155
+ });
156
+ const projectId = helpers.requireStringFlag({ flags, name: "project-id" });
157
+ const contentItemId = helpers.requireStringFlag({
158
+ flags,
159
+ name: "content-item-id",
160
+ });
161
+ const spec = explicitSpec ??
162
+ (helpers.hasTextStyleFlags({ flags })
163
+ ? await helpers.buildUpdatedTextSpec({
164
+ context,
165
+ projectId,
166
+ contentItemId,
167
+ nextText: helpers.getStringFlag({ flags, name: "text" }),
168
+ flags,
169
+ })
170
+ : undefined);
171
+ const result = await context.client.text.update({
172
+ projectId,
173
+ contentItemId,
174
+ text: helpers.getStringFlag({ flags, name: "text" }),
175
+ name: helpers.getStringFlag({ flags, name: "name" }),
176
+ spec,
177
+ durationSeconds: helpers.getNumberFlag({ flags, name: "duration" }),
178
+ });
179
+ helpers.printResult({
180
+ json: context.json,
181
+ value: result,
182
+ human: ["Text updated."],
183
+ });
184
+ return true;
185
+ }
186
+ return false;
187
+ }
188
+ function buildTextOverlayDryRun({ context, spec, helpers, }) {
189
+ const action = context.args.command[1];
190
+ const flags = context.args.flags;
191
+ const projectId = helpers.requireStringFlag({ flags, name: "project-id" });
192
+ if (context.args.command[0] === "title-card" && action === "add") {
193
+ const text = helpers.requireStringFlag({ flags, name: "text" });
194
+ const durationSeconds = helpers.getNumberFlag({ flags, name: "duration" }) ?? 2.8;
195
+ return helpers.dryRunRequest({
196
+ spec,
197
+ method: "POST",
198
+ path: `/projects/${encodeURIComponent(projectId)}/content-items`,
199
+ body: {
200
+ kind: "title_card",
201
+ text,
202
+ name: helpers.getStringFlag({ flags, name: "name" }),
203
+ spec: helpers.parseJsonObjectFlag({ flags, name: "spec-json" }) ??
204
+ helpers.buildTitleCardSpec({
205
+ text,
206
+ name: helpers.getStringFlag({ flags, name: "name" }),
207
+ durationSeconds,
208
+ flags,
209
+ }),
210
+ start_seconds: helpers.parseTimecode({
211
+ value: helpers.getStringFlag({ flags, name: "at" }) ?? "0",
212
+ }),
213
+ duration_seconds: durationSeconds,
214
+ layer_index: helpers.getNumberFlag({ flags, name: "layer-index" }),
215
+ },
216
+ });
217
+ }
218
+ if (action === "add") {
219
+ const text = helpers.requireStringFlag({ flags, name: "text" });
220
+ const durationSeconds = helpers.getNumberFlag({ flags, name: "duration" }) ?? 4;
221
+ return helpers.dryRunRequest({
222
+ spec,
223
+ method: "POST",
224
+ path: `/projects/${encodeURIComponent(projectId)}/content-items`,
225
+ body: {
226
+ kind: "overlay",
227
+ text,
228
+ name: helpers.getStringFlag({ flags, name: "name" }),
229
+ spec: helpers.parseJsonObjectFlag({ flags, name: "spec-json" }) ??
230
+ helpers.buildTextOverlaySpec({
231
+ text,
232
+ name: helpers.getStringFlag({ flags, name: "name" }),
233
+ durationSeconds,
234
+ flags,
235
+ }),
236
+ start_seconds: helpers.parseTimecode({
237
+ value: helpers.getStringFlag({ flags, name: "at" }) ?? "0",
238
+ }),
239
+ duration_seconds: durationSeconds,
240
+ layer_index: helpers.getNumberFlag({ flags, name: "layer-index" }),
241
+ },
242
+ });
243
+ }
244
+ if (action === "update") {
245
+ return helpers.dryRunRequest({
246
+ spec,
247
+ method: "PATCH",
248
+ path: `/projects/${encodeURIComponent(projectId)}/content-items/${encodeURIComponent(helpers.requireStringFlag({ flags, name: "content-item-id" }))}`,
249
+ body: {
250
+ name: helpers.getStringFlag({ flags, name: "name" }),
251
+ text: helpers.getStringFlag({ flags, name: "text" }),
252
+ spec: helpers.parseJsonObjectFlag({ flags, name: "spec-json" }),
253
+ duration_seconds: helpers.getNumberFlag({ flags, name: "duration" }),
254
+ },
255
+ notes: helpers.hasTextStyleFlags({ flags })
256
+ ? [
257
+ "Style flags require reading the existing content item before building the final spec during real execution.",
258
+ ]
259
+ : undefined,
260
+ });
261
+ }
262
+ if (action === "remove") {
263
+ return helpers.dryRunRequest({
264
+ spec,
265
+ method: "DELETE",
266
+ path: `/projects/${encodeURIComponent(projectId)}/content-items/${encodeURIComponent(helpers.requireStringFlag({ flags, name: "content-item-id" }))}`,
267
+ body: undefined,
268
+ });
269
+ }
270
+ return undefined;
271
+ }
272
+ //# sourceMappingURL=text-overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-overlays.js","sourceRoot":"","sources":["../../src/commands/text-overlays.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import type { CliContext, Flags } from "../cli-types.js";
2
+ type TimelineCutRange = {
3
+ startSeconds: number;
4
+ endSeconds: number;
5
+ trimFollowingSeconds: number | undefined;
6
+ };
7
+ type TimelineTrimDeltas = {
8
+ trimStartDeltaSeconds: number | undefined;
9
+ trimEndDeltaSeconds: number | undefined;
10
+ };
11
+ type TimelineBatchMoveItem = {
12
+ timelineItemId: string;
13
+ newStartSeconds: number;
14
+ newLayerIndex: number | undefined;
15
+ };
16
+ export type TimelineRuntimeHelpers = {
17
+ getNumberFlag: (params: {
18
+ flags: Flags;
19
+ name: string;
20
+ }) => number | undefined;
21
+ getStringFlag: (params: {
22
+ flags: Flags;
23
+ name: string;
24
+ }) => string | undefined;
25
+ jsonFileFlagName: (params: {
26
+ name: string;
27
+ }) => string | undefined;
28
+ parseCsvFlag: (params: {
29
+ flags: Flags;
30
+ name: string;
31
+ }) => string[] | undefined;
32
+ parseJsonArrayFlag: (params: {
33
+ flags: Flags;
34
+ name: string;
35
+ fileName: string | undefined;
36
+ }) => unknown[] | undefined;
37
+ parseTimecode: (params: {
38
+ value: string;
39
+ }) => number;
40
+ requireStringFlag: (params: {
41
+ flags: Flags;
42
+ name: string;
43
+ }) => string;
44
+ };
45
+ export declare function createTimelineRuntime({ helpers, }: {
46
+ helpers: TimelineRuntimeHelpers;
47
+ }): {
48
+ assertNoBatchFailures: (params: {
49
+ value: unknown;
50
+ }) => void;
51
+ buildTimelineCutsForDryRun: (params: {
52
+ flags: Flags;
53
+ }) => TimelineCutRange[];
54
+ buildTimelineTrimDeltas: (params: {
55
+ flags: Flags;
56
+ }) => TimelineTrimDeltas;
57
+ inferPrimaryVideoTimelineItemId: (params: {
58
+ context: CliContext;
59
+ projectId: string;
60
+ }) => Promise<string>;
61
+ optionalBatchBoolean: (params: {
62
+ item: Record<string, unknown>;
63
+ name: string;
64
+ }) => boolean | undefined;
65
+ optionalBatchNumber: (params: {
66
+ item: Record<string, unknown>;
67
+ name: string;
68
+ }) => number | undefined;
69
+ optionalBatchNumberOrNull: (params: {
70
+ item: Record<string, unknown>;
71
+ name: string;
72
+ }) => number | null | undefined;
73
+ parseTimelineBatchDeleteIds: (params: {
74
+ flags: Flags;
75
+ }) => string[];
76
+ parseTimelineBatchItems: (params: {
77
+ flags: Flags;
78
+ }) => Record<string, unknown>[];
79
+ parseTimelineBatchMoveItems: (params: {
80
+ flags: Flags;
81
+ }) => TimelineBatchMoveItem[];
82
+ parseTimelineItemIds: (params: {
83
+ flags: Flags;
84
+ }) => string[];
85
+ parseExpectedRevision: (params: {
86
+ flags: Flags;
87
+ }) => number | null;
88
+ requireBatchString: (params: {
89
+ item: Record<string, unknown>;
90
+ name: string;
91
+ }) => string;
92
+ resolveTimelineCutRanges: (params: {
93
+ context: CliContext;
94
+ projectId: string;
95
+ timelineItemId: string;
96
+ flags: Flags;
97
+ }) => Promise<TimelineCutRange[]>;
98
+ resolveTimelineCutTimelineItemId: (params: {
99
+ context: CliContext;
100
+ projectId: string;
101
+ flags: Flags;
102
+ }) => Promise<string>;
103
+ };
104
+ export {};
105
+ //# sourceMappingURL=timeline-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/timeline-runtime.ts"],"names":[],"mappings":"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"}