@clipwright/core 0.27.0 → 0.28.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/api-failure.d.ts +49 -2
  3. package/dist/api-failure.js +82 -1
  4. package/dist/api-failure.js.map +1 -1
  5. package/dist/contract-dispositions.js +3 -3
  6. package/dist/contract-dispositions.js.map +1 -1
  7. package/dist/contracts/v1/workflow-brief.d.ts +402 -0
  8. package/dist/contracts/v1/workflow-brief.js +40 -0
  9. package/dist/contracts/v1/workflow-brief.js.map +1 -0
  10. package/dist/contracts/v1/workflow-catalog.d.ts +1060 -0
  11. package/dist/contracts/v1/workflow-catalog.js +45 -0
  12. package/dist/contracts/v1/workflow-catalog.js.map +1 -0
  13. package/dist/contracts/v1/workflow-dto.d.ts +18 -0
  14. package/dist/contracts/v1/workflow-dto.js +25 -0
  15. package/dist/contracts/v1/workflow-dto.js.map +1 -0
  16. package/dist/contracts/v1/workflow-evidence.d.ts +115 -0
  17. package/dist/contracts/v1/workflow-evidence.js +33 -0
  18. package/dist/contracts/v1/workflow-evidence.js.map +1 -0
  19. package/dist/contracts/v1/workflow-execution.d.ts +235 -0
  20. package/dist/contracts/v1/workflow-execution.js +33 -0
  21. package/dist/contracts/v1/workflow-execution.js.map +1 -0
  22. package/dist/contracts/v1/workflow-plan.d.ts +1057 -0
  23. package/dist/contracts/v1/workflow-plan.js +26 -0
  24. package/dist/contracts/v1/workflow-plan.js.map +1 -0
  25. package/dist/contracts/v1/workflow-primitives.d.ts +62 -0
  26. package/dist/contracts/v1/workflow-primitives.js +16 -0
  27. package/dist/contracts/v1/workflow-primitives.js.map +1 -0
  28. package/dist/edit-billing.d.ts +65 -0
  29. package/dist/edit-billing.js +30 -0
  30. package/dist/edit-billing.js.map +1 -0
  31. package/dist/edit-revision.d.ts +162 -0
  32. package/dist/edit-revision.js +36 -0
  33. package/dist/edit-revision.js.map +1 -0
  34. package/dist/edit.d.ts +2 -0
  35. package/dist/edit.js +3 -1
  36. package/dist/edit.js.map +1 -1
  37. package/dist/endpoints.js +6 -4
  38. package/dist/endpoints.js.map +1 -1
  39. package/dist/errors.d.ts +95 -1
  40. package/dist/errors.js +87 -0
  41. package/dist/errors.js.map +1 -1
  42. package/dist/faceless-public.d.ts +254 -0
  43. package/dist/faceless-public.js +11 -0
  44. package/dist/faceless-public.js.map +1 -1
  45. package/dist/idempotency.d.ts +2 -0
  46. package/dist/idempotency.js +9 -0
  47. package/dist/idempotency.js.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.js +1 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/runs.d.ts +52 -0
  52. package/dist/runs.js +15 -2
  53. package/dist/runs.js.map +1 -1
  54. package/dist/workflows/catalog.d.ts +4 -0
  55. package/dist/workflows/catalog.js +57 -0
  56. package/dist/workflows/catalog.js.map +1 -0
  57. package/dist/workflows/index.d.ts +9 -0
  58. package/dist/workflows/index.js +10 -0
  59. package/dist/workflows/index.js.map +1 -0
  60. package/dist/workflows/methods/faceless-explainer.d.ts +175 -0
  61. package/dist/workflows/methods/faceless-explainer.js +20 -0
  62. package/dist/workflows/methods/faceless-explainer.js.map +1 -0
  63. package/dist/workflows/methods/kinetic-launch.d.ts +175 -0
  64. package/dist/workflows/methods/kinetic-launch.js +19 -0
  65. package/dist/workflows/methods/kinetic-launch.js.map +1 -0
  66. package/dist/workflows/methods/product-image-story.d.ts +175 -0
  67. package/dist/workflows/methods/product-image-story.js +20 -0
  68. package/dist/workflows/methods/product-image-story.js.map +1 -0
  69. package/dist/workflows/methods/shared.d.ts +190 -0
  70. package/dist/workflows/methods/shared.js +13 -0
  71. package/dist/workflows/methods/shared.js.map +1 -0
  72. package/dist/workflows/methods/ugc-faq-answer.d.ts +175 -0
  73. package/dist/workflows/methods/ugc-faq-answer.js +19 -0
  74. package/dist/workflows/methods/ugc-faq-answer.js.map +1 -0
  75. package/dist/workflows/methods/ugc-product-intro.d.ts +175 -0
  76. package/dist/workflows/methods/ugc-product-intro.js +19 -0
  77. package/dist/workflows/methods/ugc-product-intro.js.map +1 -0
  78. package/dist/workflows/methods/website-proof-demo.d.ts +175 -0
  79. package/dist/workflows/methods/website-proof-demo.js +19 -0
  80. package/dist/workflows/methods/website-proof-demo.js.map +1 -0
  81. package/dist/workflows/validate.d.ts +10 -0
  82. package/dist/workflows/validate.js +203 -0
  83. package/dist/workflows/validate.js.map +1 -0
  84. package/dist/workflows.d.ts +1 -0
  85. package/dist/workflows.js +2 -0
  86. package/dist/workflows.js.map +1 -0
  87. package/package.json +5 -1
@@ -0,0 +1,402 @@
1
+ import { z } from 'zod';
2
+ export declare const workflowNativeInput: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ skill: z.ZodLiteral<"make_ugc">;
4
+ input: z.ZodObject<{
5
+ script: z.ZodOptional<z.ZodString>;
6
+ inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
7
+ id: z.ZodString;
8
+ media_url: z.ZodString;
9
+ media_type: z.ZodEnum<{
10
+ image: "image";
11
+ video: "video";
12
+ }>;
13
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
14
+ startWord: z.ZodNumber;
15
+ endWord: z.ZodNumber;
16
+ }, z.core.$strict>, z.ZodObject<{
17
+ quote: z.ZodString;
18
+ occurrence: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strict>]>;
20
+ cover_words: z.ZodOptional<z.ZodNumber>;
21
+ image_motion: z.ZodOptional<z.ZodObject<{
22
+ direction: z.ZodEnum<{
23
+ in: "in";
24
+ out: "out";
25
+ }>;
26
+ amount: z.ZodNumber;
27
+ }, z.core.$strict>>;
28
+ }, z.core.$strict>>>;
29
+ person: z.ZodOptional<z.ZodString>;
30
+ actor_id: z.ZodOptional<z.ZodString>;
31
+ image: z.ZodOptional<z.ZodString>;
32
+ actor_gender: z.ZodOptional<z.ZodEnum<{
33
+ female: "female";
34
+ male: "male";
35
+ }>>;
36
+ character: z.ZodOptional<z.ZodString>;
37
+ name: z.ZodOptional<z.ZodString>;
38
+ broll_url: z.ZodOptional<z.ZodString>;
39
+ broll_policy: z.ZodOptional<z.ZodEnum<{
40
+ anyone: "anyone";
41
+ no_actor: "no_actor";
42
+ no_people: "no_people";
43
+ }>>;
44
+ captions: z.ZodDefault<z.ZodBoolean>;
45
+ caption_style: z.ZodDefault<z.ZodEnum<{
46
+ hormozi: "hormozi";
47
+ minimal: "minimal";
48
+ tiktok: "tiktok";
49
+ }>>;
50
+ look: z.ZodDefault<z.ZodEnum<{
51
+ commercial: "commercial";
52
+ natural: "natural";
53
+ raw_iphone: "raw_iphone";
54
+ }>>;
55
+ aspect_ratio: z.ZodOptional<z.ZodEnum<{
56
+ "16:9": "16:9";
57
+ "1:1": "1:1";
58
+ "9:16": "9:16";
59
+ }>>;
60
+ resolution: z.ZodOptional<z.ZodEnum<{
61
+ "1080p": "1080p";
62
+ "4k": "4k";
63
+ "720p": "720p";
64
+ }>>;
65
+ voice: z.ZodOptional<z.ZodString>;
66
+ voice_id: z.ZodOptional<z.ZodString>;
67
+ tts_model: z.ZodOptional<z.ZodEnum<{
68
+ eleven_flash_v2_5: "eleven_flash_v2_5";
69
+ eleven_turbo_v2_5: "eleven_turbo_v2_5";
70
+ eleven_v3: "eleven_v3";
71
+ eleven_v4: "eleven_v4";
72
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
73
+ }>>;
74
+ webhook_url: z.ZodOptional<z.ZodString>;
75
+ disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
76
+ background: z.ZodOptional<z.ZodEnum<{
77
+ blur: "blur";
78
+ contain: "contain";
79
+ white: "white";
80
+ }>>;
81
+ segments: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodObject<{
82
+ kind: z.ZodEnum<{
83
+ actor: "actor";
84
+ media: "media";
85
+ }>;
86
+ script: z.ZodOptional<z.ZodString>;
87
+ media_url: z.ZodOptional<z.ZodString>;
88
+ media_type: z.ZodOptional<z.ZodEnum<{
89
+ image: "image";
90
+ video: "video";
91
+ }>>;
92
+ duration_seconds: z.ZodOptional<z.ZodNumber>;
93
+ image_motion: z.ZodOptional<z.ZodObject<{
94
+ direction: z.ZodEnum<{
95
+ in: "in";
96
+ out: "out";
97
+ }>;
98
+ amount: z.ZodNumber;
99
+ }, z.core.$strict>>;
100
+ }, z.core.$strict>>, z.ZodArray<z.ZodObject<{
101
+ kind: z.ZodEnum<{
102
+ actor: "actor";
103
+ media: "media";
104
+ }>;
105
+ script: z.ZodOptional<z.ZodString>;
106
+ media_url: z.ZodOptional<z.ZodString>;
107
+ media_type: z.ZodOptional<z.ZodEnum<{
108
+ image: "image";
109
+ video: "video";
110
+ }>>;
111
+ duration_seconds: z.ZodOptional<z.ZodNumber>;
112
+ image_motion: z.ZodOptional<z.ZodObject<{
113
+ direction: z.ZodEnum<{
114
+ in: "in";
115
+ out: "out";
116
+ }>;
117
+ amount: z.ZodNumber;
118
+ }, z.core.$strip>>;
119
+ }, z.core.$strip>>>>;
120
+ }, z.core.$strict>;
121
+ }, z.core.$strict>, z.ZodObject<{
122
+ skill: z.ZodLiteral<"make_faceless">;
123
+ input: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ duration_seconds: z.ZodNumber;
125
+ style_reference: z.ZodOptional<z.ZodString>;
126
+ character_reference: z.ZodOptional<z.ZodString>;
127
+ character_details: z.ZodOptional<z.ZodString>;
128
+ scene_images: z.ZodOptional<z.ZodArray<z.ZodObject<{
129
+ image_url: z.ZodString;
130
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
131
+ startWord: z.ZodNumber;
132
+ endWord: z.ZodNumber;
133
+ }, z.core.$strict>, z.ZodObject<{
134
+ quote: z.ZodString;
135
+ occurrence: z.ZodOptional<z.ZodNumber>;
136
+ }, z.core.$strict>]>;
137
+ }, z.core.$strict>>>;
138
+ captions: z.ZodDefault<z.ZodBoolean>;
139
+ voice: z.ZodOptional<z.ZodString>;
140
+ voice_id: z.ZodOptional<z.ZodNever>;
141
+ input_mode: z.ZodLiteral<"script">;
142
+ script: z.ZodString;
143
+ }, z.core.$strict>, z.ZodObject<{
144
+ duration_seconds: z.ZodNumber;
145
+ style_reference: z.ZodOptional<z.ZodString>;
146
+ character_reference: z.ZodOptional<z.ZodString>;
147
+ character_details: z.ZodOptional<z.ZodString>;
148
+ scene_images: z.ZodOptional<z.ZodArray<z.ZodObject<{
149
+ image_url: z.ZodString;
150
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
151
+ startWord: z.ZodNumber;
152
+ endWord: z.ZodNumber;
153
+ }, z.core.$strict>, z.ZodObject<{
154
+ quote: z.ZodString;
155
+ occurrence: z.ZodOptional<z.ZodNumber>;
156
+ }, z.core.$strict>]>;
157
+ }, z.core.$strict>>>;
158
+ captions: z.ZodDefault<z.ZodBoolean>;
159
+ voice: z.ZodOptional<z.ZodString>;
160
+ voice_id: z.ZodOptional<z.ZodNever>;
161
+ input_mode: z.ZodLiteral<"brief">;
162
+ brief: z.ZodString;
163
+ }, z.core.$strict>], "input_mode">;
164
+ }, z.core.$strict>], "skill">;
165
+ export type WorkflowNativeInput = z.infer<typeof workflowNativeInput>;
166
+ export declare const workflowRequirement: z.ZodObject<{
167
+ feature: z.ZodString;
168
+ required: z.ZodBoolean;
169
+ }, z.core.$strict>;
170
+ export declare const workflowBrief: z.ZodObject<{
171
+ audience: z.ZodString;
172
+ message: z.ZodString;
173
+ script: z.ZodOptional<z.ZodString>;
174
+ cta: z.ZodOptional<z.ZodString>;
175
+ question: z.ZodOptional<z.ZodString>;
176
+ product: z.ZodOptional<z.ZodString>;
177
+ topic: z.ZodOptional<z.ZodString>;
178
+ brand_intent: z.ZodOptional<z.ZodString>;
179
+ required_terms: z.ZodDefault<z.ZodArray<z.ZodString>>;
180
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
181
+ feature: z.ZodString;
182
+ required: z.ZodBoolean;
183
+ }, z.core.$strict>>>;
184
+ requested_format: z.ZodOptional<z.ZodObject<{
185
+ aspect_ratio: z.ZodEnum<{
186
+ "16:9": "16:9";
187
+ "1:1": "1:1";
188
+ "9:16": "9:16";
189
+ }>;
190
+ resolution: z.ZodEnum<{
191
+ "1080p": "1080p";
192
+ "4k": "4k";
193
+ "720p": "720p";
194
+ }>;
195
+ }, z.core.$strict>>;
196
+ native: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
197
+ skill: z.ZodLiteral<"make_ugc">;
198
+ input: z.ZodObject<{
199
+ script: z.ZodOptional<z.ZodString>;
200
+ inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
201
+ id: z.ZodString;
202
+ media_url: z.ZodString;
203
+ media_type: z.ZodEnum<{
204
+ image: "image";
205
+ video: "video";
206
+ }>;
207
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
208
+ startWord: z.ZodNumber;
209
+ endWord: z.ZodNumber;
210
+ }, z.core.$strict>, z.ZodObject<{
211
+ quote: z.ZodString;
212
+ occurrence: z.ZodOptional<z.ZodNumber>;
213
+ }, z.core.$strict>]>;
214
+ cover_words: z.ZodOptional<z.ZodNumber>;
215
+ image_motion: z.ZodOptional<z.ZodObject<{
216
+ direction: z.ZodEnum<{
217
+ in: "in";
218
+ out: "out";
219
+ }>;
220
+ amount: z.ZodNumber;
221
+ }, z.core.$strict>>;
222
+ }, z.core.$strict>>>;
223
+ person: z.ZodOptional<z.ZodString>;
224
+ actor_id: z.ZodOptional<z.ZodString>;
225
+ image: z.ZodOptional<z.ZodString>;
226
+ actor_gender: z.ZodOptional<z.ZodEnum<{
227
+ female: "female";
228
+ male: "male";
229
+ }>>;
230
+ character: z.ZodOptional<z.ZodString>;
231
+ name: z.ZodOptional<z.ZodString>;
232
+ broll_url: z.ZodOptional<z.ZodString>;
233
+ broll_policy: z.ZodOptional<z.ZodEnum<{
234
+ anyone: "anyone";
235
+ no_actor: "no_actor";
236
+ no_people: "no_people";
237
+ }>>;
238
+ captions: z.ZodDefault<z.ZodBoolean>;
239
+ caption_style: z.ZodDefault<z.ZodEnum<{
240
+ hormozi: "hormozi";
241
+ minimal: "minimal";
242
+ tiktok: "tiktok";
243
+ }>>;
244
+ look: z.ZodDefault<z.ZodEnum<{
245
+ commercial: "commercial";
246
+ natural: "natural";
247
+ raw_iphone: "raw_iphone";
248
+ }>>;
249
+ aspect_ratio: z.ZodOptional<z.ZodEnum<{
250
+ "16:9": "16:9";
251
+ "1:1": "1:1";
252
+ "9:16": "9:16";
253
+ }>>;
254
+ resolution: z.ZodOptional<z.ZodEnum<{
255
+ "1080p": "1080p";
256
+ "4k": "4k";
257
+ "720p": "720p";
258
+ }>>;
259
+ voice: z.ZodOptional<z.ZodString>;
260
+ voice_id: z.ZodOptional<z.ZodString>;
261
+ tts_model: z.ZodOptional<z.ZodEnum<{
262
+ eleven_flash_v2_5: "eleven_flash_v2_5";
263
+ eleven_turbo_v2_5: "eleven_turbo_v2_5";
264
+ eleven_v3: "eleven_v3";
265
+ eleven_v4: "eleven_v4";
266
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
267
+ }>>;
268
+ webhook_url: z.ZodOptional<z.ZodString>;
269
+ disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
270
+ background: z.ZodOptional<z.ZodEnum<{
271
+ blur: "blur";
272
+ contain: "contain";
273
+ white: "white";
274
+ }>>;
275
+ segments: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodObject<{
276
+ kind: z.ZodEnum<{
277
+ actor: "actor";
278
+ media: "media";
279
+ }>;
280
+ script: z.ZodOptional<z.ZodString>;
281
+ media_url: z.ZodOptional<z.ZodString>;
282
+ media_type: z.ZodOptional<z.ZodEnum<{
283
+ image: "image";
284
+ video: "video";
285
+ }>>;
286
+ duration_seconds: z.ZodOptional<z.ZodNumber>;
287
+ image_motion: z.ZodOptional<z.ZodObject<{
288
+ direction: z.ZodEnum<{
289
+ in: "in";
290
+ out: "out";
291
+ }>;
292
+ amount: z.ZodNumber;
293
+ }, z.core.$strict>>;
294
+ }, z.core.$strict>>, z.ZodArray<z.ZodObject<{
295
+ kind: z.ZodEnum<{
296
+ actor: "actor";
297
+ media: "media";
298
+ }>;
299
+ script: z.ZodOptional<z.ZodString>;
300
+ media_url: z.ZodOptional<z.ZodString>;
301
+ media_type: z.ZodOptional<z.ZodEnum<{
302
+ image: "image";
303
+ video: "video";
304
+ }>>;
305
+ duration_seconds: z.ZodOptional<z.ZodNumber>;
306
+ image_motion: z.ZodOptional<z.ZodObject<{
307
+ direction: z.ZodEnum<{
308
+ in: "in";
309
+ out: "out";
310
+ }>;
311
+ amount: z.ZodNumber;
312
+ }, z.core.$strip>>;
313
+ }, z.core.$strip>>>>;
314
+ }, z.core.$strict>;
315
+ }, z.core.$strict>, z.ZodObject<{
316
+ skill: z.ZodLiteral<"make_faceless">;
317
+ input: z.ZodDiscriminatedUnion<[z.ZodObject<{
318
+ duration_seconds: z.ZodNumber;
319
+ style_reference: z.ZodOptional<z.ZodString>;
320
+ character_reference: z.ZodOptional<z.ZodString>;
321
+ character_details: z.ZodOptional<z.ZodString>;
322
+ scene_images: z.ZodOptional<z.ZodArray<z.ZodObject<{
323
+ image_url: z.ZodString;
324
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
325
+ startWord: z.ZodNumber;
326
+ endWord: z.ZodNumber;
327
+ }, z.core.$strict>, z.ZodObject<{
328
+ quote: z.ZodString;
329
+ occurrence: z.ZodOptional<z.ZodNumber>;
330
+ }, z.core.$strict>]>;
331
+ }, z.core.$strict>>>;
332
+ captions: z.ZodDefault<z.ZodBoolean>;
333
+ voice: z.ZodOptional<z.ZodString>;
334
+ voice_id: z.ZodOptional<z.ZodNever>;
335
+ input_mode: z.ZodLiteral<"script">;
336
+ script: z.ZodString;
337
+ }, z.core.$strict>, z.ZodObject<{
338
+ duration_seconds: z.ZodNumber;
339
+ style_reference: z.ZodOptional<z.ZodString>;
340
+ character_reference: z.ZodOptional<z.ZodString>;
341
+ character_details: z.ZodOptional<z.ZodString>;
342
+ scene_images: z.ZodOptional<z.ZodArray<z.ZodObject<{
343
+ image_url: z.ZodString;
344
+ anchor: z.ZodUnion<readonly [z.ZodObject<{
345
+ startWord: z.ZodNumber;
346
+ endWord: z.ZodNumber;
347
+ }, z.core.$strict>, z.ZodObject<{
348
+ quote: z.ZodString;
349
+ occurrence: z.ZodOptional<z.ZodNumber>;
350
+ }, z.core.$strict>]>;
351
+ }, z.core.$strict>>>;
352
+ captions: z.ZodDefault<z.ZodBoolean>;
353
+ voice: z.ZodOptional<z.ZodString>;
354
+ voice_id: z.ZodOptional<z.ZodNever>;
355
+ input_mode: z.ZodLiteral<"brief">;
356
+ brief: z.ZodString;
357
+ }, z.core.$strict>], "input_mode">;
358
+ }, z.core.$strict>], "skill">>;
359
+ references: z.ZodDefault<z.ZodArray<z.ZodObject<{
360
+ kind: z.ZodEnum<{
361
+ capture: "capture";
362
+ owner: "owner";
363
+ url: "url";
364
+ }>;
365
+ reference: z.ZodString;
366
+ url: z.ZodOptional<z.ZodString>;
367
+ observed_at: z.ZodOptional<z.ZodString>;
368
+ product_state: z.ZodOptional<z.ZodString>;
369
+ }, z.core.$strict>>>;
370
+ }, z.core.$strict>;
371
+ export type WorkflowBrief = z.infer<typeof workflowBrief>;
372
+ export type WorkflowBriefArgs = z.input<typeof workflowBrief>;
373
+ export declare const workflowBriefRead: z.ZodObject<{
374
+ audience: z.ZodString;
375
+ message: z.ZodString;
376
+ script: z.ZodOptional<z.ZodString>;
377
+ cta: z.ZodOptional<z.ZodString>;
378
+ question: z.ZodOptional<z.ZodString>;
379
+ product: z.ZodOptional<z.ZodString>;
380
+ topic: z.ZodOptional<z.ZodString>;
381
+ brand_intent: z.ZodOptional<z.ZodString>;
382
+ required_terms: z.ZodDefault<z.ZodArray<z.ZodString>>;
383
+ requested_format: z.ZodOptional<z.ZodObject<{
384
+ aspect_ratio: z.ZodString;
385
+ resolution: z.ZodString;
386
+ }, z.core.$strip>>;
387
+ native: z.ZodOptional<z.ZodObject<{
388
+ skill: z.ZodString;
389
+ input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
390
+ }, z.core.$strip>>;
391
+ requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
392
+ feature: z.ZodString;
393
+ required: z.ZodBoolean;
394
+ }, z.core.$strip>>>;
395
+ references: z.ZodDefault<z.ZodArray<z.ZodObject<{
396
+ kind: z.ZodString;
397
+ reference: z.ZodString;
398
+ url: z.ZodOptional<z.ZodString>;
399
+ observed_at: z.ZodOptional<z.ZodString>;
400
+ product_state: z.ZodOptional<z.ZodString>;
401
+ }, z.core.$strip>>>;
402
+ }, z.core.$strip>;
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { makeUgcInput, ugcSegment } from '../../skills.js';
3
+ import { makeFacelessInput } from '../../faceless-public.js';
4
+ import { workflowEvidenceSource } from './workflow-evidence.js';
5
+ import { workflowFormat, workflowFormatRead, workflowText } from './workflow-primitives.js';
6
+ const nativeUgcSegments = makeUgcInput.shape.segments.unwrap();
7
+ const { minItems, maxItems } = z.toJSONSchema(nativeUgcSegments, { io: 'input' });
8
+ const strictUgcSegments = z.array(ugcSegment.strict().safeExtend({
9
+ image_motion: ugcSegment.shape.image_motion.unwrap().strict().optional(),
10
+ })).meta({ minItems, maxItems }).pipe(nativeUgcSegments).optional();
11
+ const workflowUgcInput = makeUgcInput.strict().safeExtend({ segments: strictUgcSegments });
12
+ const [nativeFacelessScript, nativeFacelessBrief] = makeFacelessInput.options;
13
+ const nativeScript = nativeFacelessScript.shape.script;
14
+ const { minLength, maxLength } = z.toJSONSchema(nativeScript, { io: 'input' });
15
+ const exactFacelessScript = z.string().superRefine((value, context) => {
16
+ const parsed = nativeScript.safeParse(value);
17
+ if (!parsed.success)
18
+ for (const issue of parsed.error.issues)
19
+ context.addIssue({ code: z.ZodIssueCode.custom, path: issue.path, message: issue.message });
20
+ }).meta({ minLength, maxLength });
21
+ // Reuse native validation while preserving raw text and a visible input shape for tools/list.
22
+ const workflowFacelessInput = z.discriminatedUnion('input_mode', [nativeFacelessScript.safeExtend({ script: exactFacelessScript }), nativeFacelessBrief]);
23
+ export const workflowNativeInput = z.discriminatedUnion('skill', [
24
+ z.strictObject({ skill: z.literal('make_ugc'), input: workflowUgcInput }),
25
+ z.strictObject({ skill: z.literal('make_faceless'), input: workflowFacelessInput }),
26
+ ]);
27
+ export const workflowRequirement = z.strictObject({ feature: workflowText(80), required: z.boolean() });
28
+ const briefShape = {
29
+ audience: workflowText(2000), message: workflowText(4000), script: workflowText(10_000).optional(), cta: workflowText(2000).optional(),
30
+ question: workflowText(2000).optional(), product: workflowText(2000).optional(), topic: workflowText(2000).optional(), brand_intent: workflowText(2000).optional(),
31
+ required_terms: z.array(workflowText(200)).max(100).default([]), requirements: z.array(workflowRequirement).max(100).default([]),
32
+ requested_format: workflowFormat.optional(), native: workflowNativeInput.optional(), references: z.array(workflowEvidenceSource).max(100).default([]),
33
+ };
34
+ export const workflowBrief = z.strictObject(briefShape);
35
+ export const workflowBriefRead = z.object({ ...briefShape,
36
+ requested_format: workflowFormatRead.optional(), native: z.object({ skill: z.string(), input: z.record(z.string(), z.unknown()) }).optional(),
37
+ requirements: z.array(z.object({ feature: z.string(), required: z.boolean() })).default([]),
38
+ references: z.array(z.object({ kind: z.string(), reference: z.string(), url: z.string().optional(), observed_at: z.string().optional(), product_state: z.string().optional() })).default([]),
39
+ });
40
+ //# sourceMappingURL=workflow-brief.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-brief.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-brief.ts"],"names":[],"mappings":"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"}