@clipwright/core 0.28.0 → 0.30.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 +59 -0
- package/dist/api-failure.d.ts +24 -6
- package/dist/api-failure.js +30 -7
- package/dist/api-failure.js.map +1 -1
- package/dist/contracts/v1/workflow-brief.d.ts +5 -5
- package/dist/contracts/v1/workflow-brief.js +4 -4
- package/dist/contracts/v1/workflow-brief.js.map +1 -1
- package/dist/contracts/v1/workflow-catalog.d.ts +51 -49
- package/dist/contracts/v1/workflow-catalog.js +10 -10
- package/dist/contracts/v1/workflow-catalog.js.map +1 -1
- package/dist/contracts/v1/workflow-client.d.ts +319 -0
- package/dist/contracts/v1/workflow-client.js +37 -0
- package/dist/contracts/v1/workflow-client.js.map +1 -0
- package/dist/contracts/v1/workflow-evidence.d.ts +8 -8
- package/dist/contracts/v1/workflow-evidence.js +6 -6
- package/dist/contracts/v1/workflow-evidence.js.map +1 -1
- package/dist/contracts/v1/workflow-execution.d.ts +606 -19
- package/dist/contracts/v1/workflow-execution.js +42 -11
- package/dist/contracts/v1/workflow-execution.js.map +1 -1
- package/dist/contracts/v1/workflow-plan.d.ts +55 -34
- package/dist/contracts/v1/workflow-plan.js +10 -5
- package/dist/contracts/v1/workflow-plan.js.map +1 -1
- package/dist/contracts/v1/workflow-primitives.d.ts +4 -3
- package/dist/contracts/v1/workflow-primitives.js +7 -4
- package/dist/contracts/v1/workflow-primitives.js.map +1 -1
- package/dist/contracts/v1/workflow-run-read.d.ts +929 -0
- package/dist/contracts/v1/workflow-run-read.js +23 -0
- package/dist/contracts/v1/workflow-run-read.js.map +1 -0
- package/dist/edit-candidate.d.ts +158 -0
- package/dist/edit-candidate.js +64 -0
- package/dist/edit-candidate.js.map +1 -0
- package/dist/edit-long-form.d.ts +38 -0
- package/dist/edit-long-form.js +83 -0
- package/dist/edit-long-form.js.map +1 -0
- package/dist/edit-shots.d.ts +2 -0
- package/dist/edit-shots.js +2 -1
- package/dist/edit-shots.js.map +1 -1
- package/dist/edit.d.ts +2 -0
- package/dist/edit.js +3 -1
- package/dist/edit.js.map +1 -1
- package/dist/endpoints.d.ts +8 -0
- package/dist/endpoints.js +23 -3
- package/dist/endpoints.js.map +1 -1
- package/dist/errors.d.ts +17 -3
- package/dist/errors.js +11 -6
- package/dist/errors.js.map +1 -1
- package/dist/faceless-customer-anchors.d.ts +7 -0
- package/dist/faceless-customer-anchors.js +31 -0
- package/dist/faceless-customer-anchors.js.map +1 -0
- package/dist/faceless-image-placement.d.ts +23 -0
- package/dist/faceless-image-placement.js +30 -0
- package/dist/faceless-image-placement.js.map +1 -0
- package/dist/faceless-public-plan.d.ts +2 -0
- package/dist/faceless-public-plan.js +6 -2
- package/dist/faceless-public-plan.js.map +1 -1
- package/dist/faceless-public.d.ts +3 -0
- package/dist/faceless-public.js +9 -0
- package/dist/faceless-public.js.map +1 -1
- package/dist/idempotency.d.ts +2 -0
- package/dist/idempotency.js +8 -0
- package/dist/idempotency.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/media-timebase.d.ts +4 -0
- package/dist/media-timebase.js +24 -0
- package/dist/media-timebase.js.map +1 -1
- package/dist/resolved-timeline.d.ts +86 -0
- package/dist/resolved-timeline.js +127 -0
- package/dist/resolved-timeline.js.map +1 -0
- package/dist/run-static-warnings.js +3 -0
- package/dist/run-static-warnings.js.map +1 -1
- package/dist/runs.d.ts +58 -1
- package/dist/runs.js +13 -0
- package/dist/runs.js.map +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.js +1 -1
- package/dist/skills.js.map +1 -1
- package/dist/uploads.d.ts +34 -0
- package/dist/uploads.js +16 -0
- package/dist/uploads.js.map +1 -1
- package/dist/workflows/index.d.ts +2 -0
- package/dist/workflows/index.js +2 -0
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/validate.js +35 -9
- package/dist/workflows/validate.js.map +1 -1
- package/package.json +7 -2
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { quoteResponse } from '../../skills.js';
|
|
3
3
|
import { facelessQuoteResponse } from '../../faceless-public.js';
|
|
4
|
-
import { runId } from '../../runs.js';
|
|
5
|
-
import {
|
|
4
|
+
import { run, runId, runRead, runStep } from '../../runs.js';
|
|
5
|
+
import { faceBillingTariffSchema } from '../../face-billing.js';
|
|
6
|
+
import { speechRhythmResult } from '../../speech-rhythm-contract.js';
|
|
7
|
+
import { workflowDigest, workflowFormatRead, workflowId, workflowIssue, workflowIssueRead, workflowLocalId, workflowMethodPin, workflowMethodPinRead, workflowRevision, workflowText } from './workflow-primitives.js';
|
|
6
8
|
export const workflowQuoteBinding = z.strictObject({
|
|
7
9
|
v: z.literal(1), quote_id: z.string().regex(/^wq_[a-zA-Z0-9_-]{1,64}$/), plan_id: workflowId, revision: workflowRevision, content_digest: workflowDigest,
|
|
8
10
|
method: workflowMethodPin, semantic_input_digest: workflowDigest, expires_at: z.string().datetime(),
|
|
9
11
|
native_quote: z.discriminatedUnion('skill', [z.strictObject({ skill: z.literal('make_ugc'), quote: quoteResponse }), z.strictObject({ skill: z.literal('make_faceless'), quote: facelessQuoteResponse })]),
|
|
10
12
|
});
|
|
11
13
|
const nativeQuoteRead = z.union([
|
|
12
|
-
z.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
z.
|
|
14
|
+
z.looseObject({ skill: z.literal('make_ugc'), quote: z.looseObject({ ...quoteResponse.shape, resolved_aspect_ratio: z.string(),
|
|
15
|
+
source: quoteResponse.shape.source.unwrap().loose().nullable(),
|
|
16
|
+
actor: z.looseObject({ ...quoteResponse.shape.actor.unwrap().shape, gender: z.string() }).nullable() }) }),
|
|
17
|
+
z.looseObject({ skill: z.literal('make_faceless'), quote: z.looseObject({ ...facelessQuoteResponse.shape, tariffId: z.string(), skill: z.string() }) }),
|
|
18
|
+
z.looseObject({ skill: z.string().refine(skill => skill !== 'make_ugc' && skill !== 'make_faceless'), quote: z.record(z.string(), z.unknown()) }),
|
|
16
19
|
]);
|
|
17
|
-
export const workflowQuoteBindingRead = z.
|
|
20
|
+
export const workflowQuoteBindingRead = z.looseObject({ ...workflowQuoteBinding.shape, v: z.number(), method: workflowMethodPinRead, native_quote: nativeQuoteRead });
|
|
18
21
|
export const launchWorkflow = z.strictObject({
|
|
19
22
|
revision: workflowRevision, content_digest: workflowDigest, semantic_input_digest: workflowDigest,
|
|
20
23
|
quote_id: workflowQuoteBinding.shape.quote_id, idempotency_key: workflowText(200),
|
|
@@ -23,11 +26,39 @@ export const workflowReceipt = z.strictObject({
|
|
|
23
26
|
v: z.literal(1), account_id: workflowText(200), plan_id: workflowId, revision: workflowRevision, content_digest: workflowDigest, method: workflowMethodPin,
|
|
24
27
|
semantic_input_digest: workflowDigest, transport_request_digest: workflowDigest, run_id: runId, skill: z.enum(['make_ugc', 'make_faceless']), admitted_at: z.string().datetime(),
|
|
25
28
|
});
|
|
26
|
-
export const workflowReceiptRead = z.
|
|
27
|
-
export const
|
|
29
|
+
export const workflowReceiptRead = z.looseObject({ ...workflowReceipt.shape, v: z.number(), method: workflowMethodPinRead, skill: z.string() });
|
|
30
|
+
export const workflowLaunchResponse = z.strictObject({ receipt: workflowReceipt, run })
|
|
31
|
+
.refine(value => value.receipt.run_id === value.run.run_id && value.receipt.skill === value.run.skill, 'Receipt must identify the native run');
|
|
32
|
+
const [legacyTariff, currentTariff] = faceBillingTariffSchema.options;
|
|
33
|
+
const tariffRead = z.union([
|
|
34
|
+
legacyTariff.unwrap().extend({ version: z.number(), rounding: z.string() }).loose(),
|
|
35
|
+
currentTariff.unwrap().extend({ version: z.number(), rounding: z.string(), failurePolicy: z.string() }).loose(),
|
|
36
|
+
]);
|
|
37
|
+
const rhythmRead = z.union([
|
|
38
|
+
speechRhythmResult.options[0].loose(), speechRhythmResult.options[1].extend({ reason: z.string() }).loose(),
|
|
39
|
+
z.looseObject({ status: z.string().refine(status => status !== 'available' && status !== 'unavailable') }),
|
|
40
|
+
]);
|
|
41
|
+
/** Workflow readers accept informational enums from newer native executors; financial writers stay strict. */
|
|
42
|
+
export const workflowNativeRunRead = runRead.extend({
|
|
43
|
+
actor: run.shape.actor.unwrap().extend({ aspect_ratio: z.string() }).loose().optional(),
|
|
44
|
+
faceless_billing: run.shape.faceless_billing.unwrap().extend({ tariffId: z.string() }).loose().optional(),
|
|
45
|
+
billing_terms: z.looseObject({ ...run.shape.billing_terms.unwrap().unwrap().shape,
|
|
46
|
+
mode: z.string(), tariffSnapshot: tariffRead }).optional(),
|
|
47
|
+
resolved_broll_policy: z.string().optional(),
|
|
48
|
+
steps: z.array(runStep.extend({ state: z.string() }).loose()).default([]),
|
|
49
|
+
final_output: run.shape.final_output.unwrap().extend({ speech_timing_gaps: rhythmRead.optional() }).loose().nullable(),
|
|
50
|
+
}).loose();
|
|
51
|
+
export const workflowLaunchResponseRead = z.looseObject({ receipt: workflowReceiptRead, run: workflowNativeRunRead })
|
|
52
|
+
.refine(value => value.receipt.run_id === value.run.run_id && value.receipt.skill === value.run.skill, 'Receipt must identify the native run');
|
|
53
|
+
export const workflowCommandError = z.strictObject({ error: z.strictObject({
|
|
54
|
+
code: z.enum(['workflow_invalid', 'workflow_conflict', 'workflow_not_ready']), message: z.string().min(1),
|
|
55
|
+
issues: z.array(workflowIssue), warnings: z.array(z.string()),
|
|
56
|
+
}) });
|
|
57
|
+
export const workflowCommandErrorRead = z.looseObject({ error: z.looseObject({ ...workflowCommandError.shape.error.shape, issues: z.array(workflowIssueRead) }) });
|
|
58
|
+
export const workflowOutcomeRead = z.looseObject({
|
|
28
59
|
receipt: workflowReceiptRead, state: z.string(), warnings: z.array(z.string()),
|
|
29
|
-
actual_output: z.
|
|
30
|
-
beat_dispositions: z.array(z.
|
|
60
|
+
actual_output: z.looseObject({ format: workflowFormatRead, duration_seconds: z.number().positive(), artifact_id: z.string(), content_digest: workflowDigest }).nullable(),
|
|
61
|
+
beat_dispositions: z.array(z.looseObject({ beat_id: workflowLocalId, disposition: z.string(), reason: z.string().optional() })),
|
|
31
62
|
validation_issues: z.array(workflowIssueRead), creative_acceptance: z.string(),
|
|
32
63
|
});
|
|
33
64
|
//# sourceMappingURL=workflow-execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-execution.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-execution.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -292,7 +292,7 @@ export declare const workflowPlanDocumentRead: z.ZodObject<{
|
|
|
292
292
|
version: z.ZodNumber;
|
|
293
293
|
content_digest: z.ZodString;
|
|
294
294
|
capability_digest: z.ZodString;
|
|
295
|
-
}, z.core.$
|
|
295
|
+
}, z.core.$loose>;
|
|
296
296
|
brief: z.ZodObject<{
|
|
297
297
|
audience: z.ZodString;
|
|
298
298
|
message: z.ZodString;
|
|
@@ -306,36 +306,36 @@ export declare const workflowPlanDocumentRead: z.ZodObject<{
|
|
|
306
306
|
requested_format: z.ZodOptional<z.ZodObject<{
|
|
307
307
|
aspect_ratio: z.ZodString;
|
|
308
308
|
resolution: z.ZodString;
|
|
309
|
-
}, z.core.$
|
|
309
|
+
}, z.core.$loose>>;
|
|
310
310
|
native: z.ZodOptional<z.ZodObject<{
|
|
311
311
|
skill: z.ZodString;
|
|
312
312
|
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
313
|
-
}, z.core.$
|
|
313
|
+
}, z.core.$loose>>;
|
|
314
314
|
requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
315
315
|
feature: z.ZodString;
|
|
316
316
|
required: z.ZodBoolean;
|
|
317
|
-
}, z.core.$
|
|
317
|
+
}, z.core.$loose>>>;
|
|
318
318
|
references: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
319
319
|
kind: z.ZodString;
|
|
320
320
|
reference: z.ZodString;
|
|
321
321
|
url: z.ZodOptional<z.ZodString>;
|
|
322
322
|
observed_at: z.ZodOptional<z.ZodString>;
|
|
323
323
|
product_state: z.ZodOptional<z.ZodString>;
|
|
324
|
-
}, z.core.$
|
|
325
|
-
}, z.core.$
|
|
324
|
+
}, z.core.$loose>>>;
|
|
325
|
+
}, z.core.$loose>;
|
|
326
326
|
beats: z.ZodArray<z.ZodObject<{
|
|
327
327
|
id: z.ZodString;
|
|
328
328
|
role: z.ZodString;
|
|
329
329
|
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
330
330
|
startWord: z.ZodNumber;
|
|
331
331
|
endWord: z.ZodNumber;
|
|
332
|
-
}, z.core.$
|
|
332
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
333
333
|
quote: z.ZodString;
|
|
334
334
|
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
335
|
-
}, z.core.$
|
|
335
|
+
}, z.core.$loose>]>;
|
|
336
336
|
required: z.ZodBoolean;
|
|
337
337
|
visual: z.ZodOptional<z.ZodString>;
|
|
338
|
-
}, z.core.$
|
|
338
|
+
}, z.core.$loose>>;
|
|
339
339
|
claims: z.ZodArray<z.ZodObject<{
|
|
340
340
|
id: z.ZodString;
|
|
341
341
|
text: z.ZodString;
|
|
@@ -347,8 +347,8 @@ export declare const workflowPlanDocumentRead: z.ZodObject<{
|
|
|
347
347
|
url: z.ZodOptional<z.ZodString>;
|
|
348
348
|
observed_at: z.ZodOptional<z.ZodString>;
|
|
349
349
|
product_state: z.ZodOptional<z.ZodString>;
|
|
350
|
-
}, z.core.$
|
|
351
|
-
}, z.core.$
|
|
350
|
+
}, z.core.$loose>;
|
|
351
|
+
}, z.core.$loose>>;
|
|
352
352
|
assets: z.ZodArray<z.ZodObject<{
|
|
353
353
|
instance_id: z.ZodString;
|
|
354
354
|
asset_id: z.ZodString;
|
|
@@ -356,10 +356,10 @@ export declare const workflowPlanDocumentRead: z.ZodObject<{
|
|
|
356
356
|
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
357
357
|
startWord: z.ZodNumber;
|
|
358
358
|
endWord: z.ZodNumber;
|
|
359
|
-
}, z.core.$
|
|
359
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
360
360
|
quote: z.ZodString;
|
|
361
361
|
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
362
|
-
}, z.core.$
|
|
362
|
+
}, z.core.$loose>]>;
|
|
363
363
|
provenance: z.ZodString;
|
|
364
364
|
rights: z.ZodString;
|
|
365
365
|
purpose: z.ZodString;
|
|
@@ -368,9 +368,9 @@ export declare const workflowPlanDocumentRead: z.ZodObject<{
|
|
|
368
368
|
y: z.ZodNumber;
|
|
369
369
|
width: z.ZodNumber;
|
|
370
370
|
height: z.ZodNumber;
|
|
371
|
-
}, z.core.$
|
|
372
|
-
}, z.core.$
|
|
373
|
-
}, z.core.$
|
|
371
|
+
}, z.core.$loose>>;
|
|
372
|
+
}, z.core.$loose>>;
|
|
373
|
+
}, z.core.$loose>;
|
|
374
374
|
export declare const createWorkflowPlan: z.ZodObject<{
|
|
375
375
|
document: z.ZodObject<{
|
|
376
376
|
v: z.ZodLiteral<1>;
|
|
@@ -961,7 +961,7 @@ export declare const workflowPlanRead: z.ZodObject<{
|
|
|
961
961
|
version: z.ZodNumber;
|
|
962
962
|
content_digest: z.ZodString;
|
|
963
963
|
capability_digest: z.ZodString;
|
|
964
|
-
}, z.core.$
|
|
964
|
+
}, z.core.$loose>;
|
|
965
965
|
brief: z.ZodObject<{
|
|
966
966
|
audience: z.ZodString;
|
|
967
967
|
message: z.ZodString;
|
|
@@ -975,36 +975,36 @@ export declare const workflowPlanRead: z.ZodObject<{
|
|
|
975
975
|
requested_format: z.ZodOptional<z.ZodObject<{
|
|
976
976
|
aspect_ratio: z.ZodString;
|
|
977
977
|
resolution: z.ZodString;
|
|
978
|
-
}, z.core.$
|
|
978
|
+
}, z.core.$loose>>;
|
|
979
979
|
native: z.ZodOptional<z.ZodObject<{
|
|
980
980
|
skill: z.ZodString;
|
|
981
981
|
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
982
|
-
}, z.core.$
|
|
982
|
+
}, z.core.$loose>>;
|
|
983
983
|
requirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
984
984
|
feature: z.ZodString;
|
|
985
985
|
required: z.ZodBoolean;
|
|
986
|
-
}, z.core.$
|
|
986
|
+
}, z.core.$loose>>>;
|
|
987
987
|
references: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
988
988
|
kind: z.ZodString;
|
|
989
989
|
reference: z.ZodString;
|
|
990
990
|
url: z.ZodOptional<z.ZodString>;
|
|
991
991
|
observed_at: z.ZodOptional<z.ZodString>;
|
|
992
992
|
product_state: z.ZodOptional<z.ZodString>;
|
|
993
|
-
}, z.core.$
|
|
994
|
-
}, z.core.$
|
|
993
|
+
}, z.core.$loose>>>;
|
|
994
|
+
}, z.core.$loose>;
|
|
995
995
|
beats: z.ZodArray<z.ZodObject<{
|
|
996
996
|
id: z.ZodString;
|
|
997
997
|
role: z.ZodString;
|
|
998
998
|
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
999
999
|
startWord: z.ZodNumber;
|
|
1000
1000
|
endWord: z.ZodNumber;
|
|
1001
|
-
}, z.core.$
|
|
1001
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
1002
1002
|
quote: z.ZodString;
|
|
1003
1003
|
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
1004
|
-
}, z.core.$
|
|
1004
|
+
}, z.core.$loose>]>;
|
|
1005
1005
|
required: z.ZodBoolean;
|
|
1006
1006
|
visual: z.ZodOptional<z.ZodString>;
|
|
1007
|
-
}, z.core.$
|
|
1007
|
+
}, z.core.$loose>>;
|
|
1008
1008
|
claims: z.ZodArray<z.ZodObject<{
|
|
1009
1009
|
id: z.ZodString;
|
|
1010
1010
|
text: z.ZodString;
|
|
@@ -1016,8 +1016,8 @@ export declare const workflowPlanRead: z.ZodObject<{
|
|
|
1016
1016
|
url: z.ZodOptional<z.ZodString>;
|
|
1017
1017
|
observed_at: z.ZodOptional<z.ZodString>;
|
|
1018
1018
|
product_state: z.ZodOptional<z.ZodString>;
|
|
1019
|
-
}, z.core.$
|
|
1020
|
-
}, z.core.$
|
|
1019
|
+
}, z.core.$loose>;
|
|
1020
|
+
}, z.core.$loose>>;
|
|
1021
1021
|
assets: z.ZodArray<z.ZodObject<{
|
|
1022
1022
|
instance_id: z.ZodString;
|
|
1023
1023
|
asset_id: z.ZodString;
|
|
@@ -1025,10 +1025,10 @@ export declare const workflowPlanRead: z.ZodObject<{
|
|
|
1025
1025
|
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
1026
1026
|
startWord: z.ZodNumber;
|
|
1027
1027
|
endWord: z.ZodNumber;
|
|
1028
|
-
}, z.core.$
|
|
1028
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
1029
1029
|
quote: z.ZodString;
|
|
1030
1030
|
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
1031
|
-
}, z.core.$
|
|
1031
|
+
}, z.core.$loose>]>;
|
|
1032
1032
|
provenance: z.ZodString;
|
|
1033
1033
|
rights: z.ZodString;
|
|
1034
1034
|
purpose: z.ZodString;
|
|
@@ -1037,19 +1037,40 @@ export declare const workflowPlanRead: z.ZodObject<{
|
|
|
1037
1037
|
y: z.ZodNumber;
|
|
1038
1038
|
width: z.ZodNumber;
|
|
1039
1039
|
height: z.ZodNumber;
|
|
1040
|
-
}, z.core.$
|
|
1041
|
-
}, z.core.$
|
|
1042
|
-
}, z.core.$
|
|
1040
|
+
}, z.core.$loose>>;
|
|
1041
|
+
}, z.core.$loose>>;
|
|
1042
|
+
}, z.core.$loose>;
|
|
1043
1043
|
status: z.ZodString;
|
|
1044
1044
|
issues: z.ZodArray<z.ZodObject<{
|
|
1045
1045
|
kind: z.ZodString;
|
|
1046
1046
|
path: z.ZodString;
|
|
1047
1047
|
message: z.ZodString;
|
|
1048
|
-
}, z.core.$
|
|
1048
|
+
}, z.core.$loose>>;
|
|
1049
1049
|
warnings: z.ZodArray<z.ZodString>;
|
|
1050
1050
|
approved_at: z.ZodNullable<z.ZodString>;
|
|
1051
1051
|
created_at: z.ZodString;
|
|
1052
|
-
|
|
1052
|
+
capability_snapshot: z.ZodOptional<z.ZodObject<{
|
|
1053
|
+
v: z.ZodNumber;
|
|
1054
|
+
content_digest: z.ZodString;
|
|
1055
|
+
executors: z.ZodArray<z.ZodObject<{
|
|
1056
|
+
skill: z.ZodString;
|
|
1057
|
+
configured: z.ZodBoolean;
|
|
1058
|
+
qualified: z.ZodBoolean;
|
|
1059
|
+
enabled: z.ZodBoolean;
|
|
1060
|
+
profiles: z.ZodArray<z.ZodString>;
|
|
1061
|
+
features: z.ZodArray<z.ZodString>;
|
|
1062
|
+
formats: z.ZodArray<z.ZodObject<{
|
|
1063
|
+
aspect_ratio: z.ZodString;
|
|
1064
|
+
resolution: z.ZodString;
|
|
1065
|
+
}, z.core.$loose>>;
|
|
1066
|
+
field_dispositions: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
1067
|
+
}, z.core.$loose>>;
|
|
1068
|
+
}, z.core.$loose>>;
|
|
1069
|
+
}, z.core.$loose>;
|
|
1070
|
+
export type CreateWorkflowPlanArgs = z.input<typeof createWorkflowPlan>;
|
|
1071
|
+
export type SaveWorkflowPlanArgs = z.input<typeof saveWorkflowPlan>;
|
|
1072
|
+
export type ApproveWorkflowPlanArgs = z.input<typeof approveWorkflowPlan>;
|
|
1073
|
+
export type WorkflowPlanRead = z.infer<typeof workflowPlanRead>;
|
|
1053
1074
|
export declare const WORKFLOW_DOCUMENT_MAX_BYTES = 256000;
|
|
1054
1075
|
export declare function serializeWorkflowDocument(document: WorkflowPlanDocument): {
|
|
1055
1076
|
json: string;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { workflowBrief, workflowBriefRead } from './workflow-brief.js';
|
|
3
|
-
import { workflowBeat, workflowBeatRead } from './workflow-catalog.js';
|
|
3
|
+
import { workflowBeat, workflowBeatRead, workflowMethodResponseRead } from './workflow-catalog.js';
|
|
4
4
|
import { assetBinding, assetBindingRead, claimEvidence, claimEvidenceRead } from './workflow-evidence.js';
|
|
5
|
-
import { workflowDigest, workflowId, workflowIssueRead, workflowMethodPin, workflowMethodPinRead, workflowRevision, workflowText } from './workflow-primitives.js';
|
|
5
|
+
import { isWorkflowTextStorable, workflowDigest, workflowId, workflowIssueRead, workflowMethodPin, workflowMethodPinRead, workflowRevision, workflowText } from './workflow-primitives.js';
|
|
6
|
+
const storableJson = (value) => typeof value === 'string' ? isWorkflowTextStorable(value)
|
|
7
|
+
: Array.isArray(value) ? value.every(storableJson)
|
|
8
|
+
: value !== null && typeof value === 'object' ? Object.entries(value).every(([key, child]) => isWorkflowTextStorable(key) && storableJson(child)) : true;
|
|
6
9
|
export const workflowPlanDocument = z.strictObject({
|
|
7
10
|
v: z.literal(1), method: workflowMethodPin, brief: workflowBrief, beats: z.array(workflowBeat).max(100),
|
|
8
11
|
claims: z.array(claimEvidence).max(100), assets: z.array(assetBinding).max(30),
|
|
9
12
|
}).refine(document => new Set(document.beats.map(beat => beat.id)).size === document.beats.length, 'Beat IDs must be unique')
|
|
13
|
+
.refine(storableJson, 'Workflow document contains text that cannot be stored')
|
|
10
14
|
.refine(document => new Set(document.claims.map(claim => claim.id)).size === document.claims.length, 'Claim IDs must be unique')
|
|
11
15
|
.refine(document => new TextEncoder().encode(JSON.stringify(document)).length <= WORKFLOW_DOCUMENT_MAX_BYTES, 'Workflow document exceeds the byte limit');
|
|
12
|
-
export const workflowPlanDocumentRead = z.
|
|
16
|
+
export const workflowPlanDocumentRead = z.looseObject({ v: z.number(), method: workflowMethodPinRead, brief: workflowBriefRead,
|
|
13
17
|
beats: z.array(workflowBeatRead), claims: z.array(claimEvidenceRead), assets: z.array(assetBindingRead) });
|
|
14
18
|
export const createWorkflowPlan = z.strictObject({ document: workflowPlanDocument });
|
|
15
|
-
export const saveWorkflowPlan = z.strictObject({ base_version: z.number().int().
|
|
19
|
+
export const saveWorkflowPlan = z.strictObject({ base_version: z.number().int().min(0).max(Number.MAX_SAFE_INTEGER), document: workflowPlanDocument });
|
|
16
20
|
export const approveWorkflowPlan = z.strictObject({ revision: workflowRevision, content_digest: workflowDigest });
|
|
17
|
-
export const workflowPlanRead = z.
|
|
21
|
+
export const workflowPlanRead = z.looseObject({
|
|
18
22
|
v: z.number(), plan_id: workflowId, account_id: workflowText(200), revision: workflowRevision, content_digest: workflowDigest, document: workflowPlanDocumentRead,
|
|
19
23
|
status: z.string(), issues: z.array(workflowIssueRead), warnings: z.array(z.string()), approved_at: z.string().datetime().nullable(), created_at: z.string().datetime(),
|
|
24
|
+
capability_snapshot: workflowMethodResponseRead.shape.capabilities.optional(),
|
|
20
25
|
});
|
|
21
26
|
export const WORKFLOW_DOCUMENT_MAX_BYTES = 256_000;
|
|
22
27
|
export function serializeWorkflowDocument(document) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-plan.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-plan.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare const workflowDigest: z.ZodString;
|
|
|
12
12
|
export declare const workflowId: z.ZodString;
|
|
13
13
|
export declare const workflowRevision: z.ZodNumber;
|
|
14
14
|
export declare const workflowLocalId: z.ZodString;
|
|
15
|
+
export declare const isWorkflowTextStorable: (text: string) => boolean;
|
|
15
16
|
export declare const workflowText: (max: number) => z.ZodString;
|
|
16
17
|
export declare const workflowFormat: z.ZodObject<{
|
|
17
18
|
aspect_ratio: z.ZodEnum<{
|
|
@@ -28,7 +29,7 @@ export declare const workflowFormat: z.ZodObject<{
|
|
|
28
29
|
export declare const workflowFormatRead: z.ZodObject<{
|
|
29
30
|
aspect_ratio: z.ZodString;
|
|
30
31
|
resolution: z.ZodString;
|
|
31
|
-
}, z.core.$
|
|
32
|
+
}, z.core.$loose>;
|
|
32
33
|
export declare const workflowMethodPin: z.ZodObject<{
|
|
33
34
|
method_id: z.ZodEnum<{
|
|
34
35
|
"faceless-explainer": "faceless-explainer";
|
|
@@ -47,7 +48,7 @@ export declare const workflowMethodPinRead: z.ZodObject<{
|
|
|
47
48
|
version: z.ZodNumber;
|
|
48
49
|
content_digest: z.ZodString;
|
|
49
50
|
capability_digest: z.ZodString;
|
|
50
|
-
}, z.core.$
|
|
51
|
+
}, z.core.$loose>;
|
|
51
52
|
export type WorkflowMethodPin = z.infer<typeof workflowMethodPin>;
|
|
52
53
|
export declare const workflowIssue: z.ZodObject<{
|
|
53
54
|
kind: z.ZodString;
|
|
@@ -59,4 +60,4 @@ export declare const workflowIssueRead: z.ZodObject<{
|
|
|
59
60
|
kind: z.ZodString;
|
|
60
61
|
path: z.ZodString;
|
|
61
62
|
message: z.ZodString;
|
|
62
|
-
}, z.core.$
|
|
63
|
+
}, z.core.$loose>;
|
|
@@ -6,11 +6,14 @@ export const workflowDigest = z.string().regex(/^[a-f0-9]{64}$/);
|
|
|
6
6
|
export const workflowId = z.string().regex(/^wfp_[a-zA-Z0-9_-]{1,64}$/);
|
|
7
7
|
export const workflowRevision = z.number().int().positive().safe();
|
|
8
8
|
export const workflowLocalId = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/);
|
|
9
|
-
|
|
9
|
+
const HALF_PAIR = /[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;
|
|
10
|
+
export const isWorkflowTextStorable = (text) => !text.includes('\u0000') && !HALF_PAIR.test(text);
|
|
11
|
+
export const workflowText = (max) => z.string().min(1).max(max).refine(text => text.trim().length > 0, 'Text must not be blank')
|
|
12
|
+
.refine(isWorkflowTextStorable, 'Text contains U+0000 or an unpaired surrogate and cannot be stored');
|
|
10
13
|
export const workflowFormat = z.strictObject({ aspect_ratio: z.enum(ASPECT_RATIOS), resolution: z.enum(RESOLUTIONS) });
|
|
11
|
-
export const workflowFormatRead = z.
|
|
14
|
+
export const workflowFormatRead = z.looseObject({ aspect_ratio: z.string(), resolution: z.string() });
|
|
12
15
|
export const workflowMethodPin = z.strictObject({ method_id: workflowMethodId, version: workflowRevision, content_digest: workflowDigest, capability_digest: workflowDigest });
|
|
13
|
-
export const workflowMethodPinRead = z.
|
|
16
|
+
export const workflowMethodPinRead = z.looseObject({ method_id: z.string(), version: workflowRevision, content_digest: workflowDigest, capability_digest: workflowDigest });
|
|
14
17
|
export const workflowIssue = z.strictObject({ kind: workflowText(80), path: z.string().max(500), message: workflowText(2000) });
|
|
15
|
-
export const workflowIssueRead = z.
|
|
18
|
+
export const workflowIssueRead = z.looseObject({ kind: z.string(), path: z.string(), message: z.string() });
|
|
16
19
|
//# sourceMappingURL=workflow-primitives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-primitives.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,CAAU,CAAC;AACzK,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-primitives.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-primitives.ts"],"names":[],"mappings":"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"}
|