@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.
- package/CHANGELOG.md +31 -0
- package/dist/api-failure.d.ts +49 -2
- package/dist/api-failure.js +82 -1
- package/dist/api-failure.js.map +1 -1
- package/dist/contract-dispositions.js +3 -3
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/contracts/v1/workflow-brief.d.ts +402 -0
- package/dist/contracts/v1/workflow-brief.js +40 -0
- package/dist/contracts/v1/workflow-brief.js.map +1 -0
- package/dist/contracts/v1/workflow-catalog.d.ts +1060 -0
- package/dist/contracts/v1/workflow-catalog.js +45 -0
- package/dist/contracts/v1/workflow-catalog.js.map +1 -0
- package/dist/contracts/v1/workflow-dto.d.ts +18 -0
- package/dist/contracts/v1/workflow-dto.js +25 -0
- package/dist/contracts/v1/workflow-dto.js.map +1 -0
- package/dist/contracts/v1/workflow-evidence.d.ts +115 -0
- package/dist/contracts/v1/workflow-evidence.js +33 -0
- package/dist/contracts/v1/workflow-evidence.js.map +1 -0
- package/dist/contracts/v1/workflow-execution.d.ts +235 -0
- package/dist/contracts/v1/workflow-execution.js +33 -0
- package/dist/contracts/v1/workflow-execution.js.map +1 -0
- package/dist/contracts/v1/workflow-plan.d.ts +1057 -0
- package/dist/contracts/v1/workflow-plan.js +26 -0
- package/dist/contracts/v1/workflow-plan.js.map +1 -0
- package/dist/contracts/v1/workflow-primitives.d.ts +62 -0
- package/dist/contracts/v1/workflow-primitives.js +16 -0
- package/dist/contracts/v1/workflow-primitives.js.map +1 -0
- package/dist/edit-billing.d.ts +65 -0
- package/dist/edit-billing.js +30 -0
- package/dist/edit-billing.js.map +1 -0
- package/dist/edit-revision.d.ts +162 -0
- package/dist/edit-revision.js +36 -0
- package/dist/edit-revision.js.map +1 -0
- package/dist/edit.d.ts +2 -0
- package/dist/edit.js +3 -1
- package/dist/edit.js.map +1 -1
- package/dist/endpoints.js +6 -4
- package/dist/endpoints.js.map +1 -1
- package/dist/errors.d.ts +95 -1
- package/dist/errors.js +87 -0
- package/dist/errors.js.map +1 -1
- package/dist/faceless-public.d.ts +254 -0
- package/dist/faceless-public.js +11 -0
- package/dist/faceless-public.js.map +1 -1
- package/dist/idempotency.d.ts +2 -0
- package/dist/idempotency.js +9 -0
- package/dist/idempotency.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runs.d.ts +52 -0
- package/dist/runs.js +15 -2
- package/dist/runs.js.map +1 -1
- package/dist/workflows/catalog.d.ts +4 -0
- package/dist/workflows/catalog.js +57 -0
- package/dist/workflows/catalog.js.map +1 -0
- package/dist/workflows/index.d.ts +9 -0
- package/dist/workflows/index.js +10 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/methods/faceless-explainer.d.ts +175 -0
- package/dist/workflows/methods/faceless-explainer.js +20 -0
- package/dist/workflows/methods/faceless-explainer.js.map +1 -0
- package/dist/workflows/methods/kinetic-launch.d.ts +175 -0
- package/dist/workflows/methods/kinetic-launch.js +19 -0
- package/dist/workflows/methods/kinetic-launch.js.map +1 -0
- package/dist/workflows/methods/product-image-story.d.ts +175 -0
- package/dist/workflows/methods/product-image-story.js +20 -0
- package/dist/workflows/methods/product-image-story.js.map +1 -0
- package/dist/workflows/methods/shared.d.ts +190 -0
- package/dist/workflows/methods/shared.js +13 -0
- package/dist/workflows/methods/shared.js.map +1 -0
- package/dist/workflows/methods/ugc-faq-answer.d.ts +175 -0
- package/dist/workflows/methods/ugc-faq-answer.js +19 -0
- package/dist/workflows/methods/ugc-faq-answer.js.map +1 -0
- package/dist/workflows/methods/ugc-product-intro.d.ts +175 -0
- package/dist/workflows/methods/ugc-product-intro.js +19 -0
- package/dist/workflows/methods/ugc-product-intro.js.map +1 -0
- package/dist/workflows/methods/website-proof-demo.d.ts +175 -0
- package/dist/workflows/methods/website-proof-demo.js +19 -0
- package/dist/workflows/methods/website-proof-demo.js.map +1 -0
- package/dist/workflows/validate.d.ts +10 -0
- package/dist/workflows/validate.js +203 -0
- package/dist/workflows/validate.js.map +1 -0
- package/dist/workflows.d.ts +1 -0
- package/dist/workflows.js +2 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { facelessSceneAnchor } from '../../faceless-public.js';
|
|
3
|
+
import { workflowBrief, workflowBriefRead } from './workflow-brief.js';
|
|
4
|
+
import { workflowAnchorRead } from './workflow-evidence.js';
|
|
5
|
+
import { workflowDigest, workflowFormat, workflowFormatRead, workflowIssue, workflowIssueRead, workflowLocalId, workflowMethodId, workflowRevision, workflowText } from './workflow-primitives.js';
|
|
6
|
+
export const workflowBeat = z.strictObject({ id: workflowLocalId, role: workflowText(80), anchor: facelessSceneAnchor, required: z.boolean(), visual: workflowText(2000).optional() });
|
|
7
|
+
export const workflowBeatRead = z.object({ id: z.string(), role: z.string(), anchor: workflowAnchorRead, required: z.boolean(), visual: z.string().optional() });
|
|
8
|
+
const binding = z.discriminatedUnion('kind', [
|
|
9
|
+
z.strictObject({ kind: z.literal('native'), skill: z.enum(['make_ugc', 'make_faceless']), profile: workflowText(80), visual_beats: z.literal('advisory') }),
|
|
10
|
+
z.strictObject({ kind: z.literal('blocked'), skill: z.literal('make_composition'), profile: workflowText(80), reasons: z.array(workflowIssue).min(1).max(20) }),
|
|
11
|
+
]);
|
|
12
|
+
const descriptorShape = {
|
|
13
|
+
id: workflowMethodId, version: workflowRevision, content_digest: workflowDigest, authoring_status: z.literal('ready'),
|
|
14
|
+
title: workflowText(200), purpose: workflowText(2000), required_inputs: z.array(z.enum(['audience', 'message', 'script', 'question', 'product', 'topic', 'assets'])).min(1).max(10),
|
|
15
|
+
required_features: z.array(workflowText(80)).min(1).max(30),
|
|
16
|
+
script_rules: z.strictObject({ structure: z.array(workflowText(80)).min(1).max(20), instructions: z.array(workflowText(2000)).min(1).max(20) }),
|
|
17
|
+
binding, output: z.strictObject({ formats: z.array(workflowFormat).min(1).max(20), timing: workflowText(2000) }),
|
|
18
|
+
limitations: z.array(workflowText(2000)).min(1).max(30), qa_policy: z.array(workflowText(2000)).min(1).max(30),
|
|
19
|
+
example: z.strictObject({ brief: workflowBrief, beats: z.array(workflowBeat).min(1).max(100) }),
|
|
20
|
+
};
|
|
21
|
+
export const methodDescriptor = z.strictObject(descriptorShape);
|
|
22
|
+
export const methodDescriptorRead = z.object({ ...descriptorShape,
|
|
23
|
+
id: z.string(), authoring_status: z.string(), required_inputs: z.array(z.string()), required_features: z.array(z.string()),
|
|
24
|
+
script_rules: z.object({ structure: z.array(z.string()), instructions: z.array(z.string()) }),
|
|
25
|
+
binding: z.object({ kind: z.string(), skill: z.string(), profile: z.string(), visual_beats: z.string().optional(), reasons: z.array(workflowIssueRead).optional() }),
|
|
26
|
+
output: z.object({ formats: z.array(workflowFormatRead), timing: z.string() }), example: z.object({ brief: workflowBriefRead, beats: z.array(workflowBeatRead) }),
|
|
27
|
+
});
|
|
28
|
+
export const executorCapability = z.strictObject({
|
|
29
|
+
skill: workflowText(80), configured: z.boolean(), qualified: z.boolean(), enabled: z.boolean(), profiles: z.array(workflowText(80)).max(30),
|
|
30
|
+
features: z.array(workflowText(80)).max(100), formats: z.array(workflowFormat).max(30),
|
|
31
|
+
field_dispositions: z.record(z.string().max(80), z.enum(['implemented', 'warned', 'rejected', 'stored'])),
|
|
32
|
+
});
|
|
33
|
+
export const capabilityProfile = z.strictObject({ v: z.literal(1), content_digest: workflowDigest.describe('SHA256 computed by the server capability resolver from the effective snapshot; never accept a client-asserted digest.'), executors: z.array(executorCapability).max(20) })
|
|
34
|
+
.refine(snapshot => new Set(snapshot.executors.map(executor => executor.skill)).size === snapshot.executors.length, 'Executor skills must be unique');
|
|
35
|
+
export const workflowAvailability = z.strictObject({ status: z.enum(['available', 'execution_blocked']), reasons: z.array(workflowIssue).max(100) });
|
|
36
|
+
export const workflowMethodResponse = z.strictObject({ descriptor: methodDescriptor, availability: workflowAvailability, capabilities: capabilityProfile });
|
|
37
|
+
export const workflowMethodSummary = z.strictObject({ descriptor: methodDescriptor.pick({ id: true, version: true, content_digest: true, title: true, purpose: true, binding: true }), availability: workflowAvailability });
|
|
38
|
+
export const workflowCatalogResponse = z.strictObject({ v: z.literal(1), capabilities: capabilityProfile, methods: z.array(workflowMethodSummary).max(100) });
|
|
39
|
+
export const workflowMethodResponseRead = z.object({ descriptor: methodDescriptorRead,
|
|
40
|
+
availability: z.object({ status: z.string(), reasons: z.array(workflowIssueRead) }),
|
|
41
|
+
capabilities: z.object({ v: z.number(), content_digest: workflowDigest, executors: z.array(z.object({ skill: z.string(), configured: z.boolean(), qualified: z.boolean(), enabled: z.boolean(), profiles: z.array(z.string()), features: z.array(z.string()), formats: z.array(workflowFormatRead), field_dispositions: z.record(z.string(), z.string()) })) }),
|
|
42
|
+
});
|
|
43
|
+
export const workflowCatalogResponseRead = z.object({ v: z.number(), capabilities: workflowMethodResponseRead.shape.capabilities,
|
|
44
|
+
methods: z.array(z.object({ descriptor: methodDescriptorRead.pick({ id: true, version: true, content_digest: true, title: true, purpose: true, binding: true }), availability: workflowMethodResponseRead.shape.availability })) });
|
|
45
|
+
//# sourceMappingURL=workflow-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-catalog.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type WorkflowBrief } from './workflow-brief.js';
|
|
2
|
+
import { type WorkflowPlanDocument } from './workflow-plan.js';
|
|
3
|
+
import { type WorkflowReceipt } from './workflow-execution.js';
|
|
4
|
+
export declare class WorkflowBriefDto {
|
|
5
|
+
readonly value: WorkflowBrief;
|
|
6
|
+
private constructor();
|
|
7
|
+
static parse(value: unknown): WorkflowBriefDto;
|
|
8
|
+
}
|
|
9
|
+
export declare class WorkflowPlanDto {
|
|
10
|
+
readonly value: WorkflowPlanDocument;
|
|
11
|
+
private constructor();
|
|
12
|
+
static parse(value: unknown): WorkflowPlanDto;
|
|
13
|
+
}
|
|
14
|
+
export declare class WorkflowExecutionDto {
|
|
15
|
+
readonly value: WorkflowReceipt;
|
|
16
|
+
private constructor();
|
|
17
|
+
static parse(value: unknown): WorkflowExecutionDto;
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { workflowBrief } from './workflow-brief.js';
|
|
2
|
+
import { workflowPlanDocument } from './workflow-plan.js';
|
|
3
|
+
import { workflowReceipt } from './workflow-execution.js';
|
|
4
|
+
export class WorkflowBriefDto {
|
|
5
|
+
value;
|
|
6
|
+
constructor(value) {
|
|
7
|
+
this.value = value;
|
|
8
|
+
}
|
|
9
|
+
static parse(value) { return new WorkflowBriefDto(workflowBrief.parse(value)); }
|
|
10
|
+
}
|
|
11
|
+
export class WorkflowPlanDto {
|
|
12
|
+
value;
|
|
13
|
+
constructor(value) {
|
|
14
|
+
this.value = value;
|
|
15
|
+
}
|
|
16
|
+
static parse(value) { return new WorkflowPlanDto(workflowPlanDocument.parse(value)); }
|
|
17
|
+
}
|
|
18
|
+
export class WorkflowExecutionDto {
|
|
19
|
+
value;
|
|
20
|
+
constructor(value) {
|
|
21
|
+
this.value = value;
|
|
22
|
+
}
|
|
23
|
+
static parse(value) { return new WorkflowExecutionDto(workflowReceipt.parse(value)); }
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=workflow-dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-dto.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,MAAM,OAAO,gBAAgB;IACI,KAAK;IAAlC,YAA6B,KAAoB;qBAApB,KAAK;IAAkB,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,KAAc,IAAsB,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9G;AACD,MAAM,OAAO,eAAe;IACK,KAAK;IAAlC,YAA6B,KAA2B;qBAA3B,KAAK;IAAyB,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,KAAc,IAAqB,OAAO,IAAI,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACnH;AACD,MAAM,OAAO,oBAAoB;IACA,KAAK;IAAlC,YAA6B,KAAsB;qBAAtB,KAAK;IAAoB,CAAC;IACvD,MAAM,CAAC,KAAK,CAAC,KAAc,IAA0B,OAAO,IAAI,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACxH"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const workflowEvidenceSource: z.ZodObject<{
|
|
3
|
+
kind: z.ZodEnum<{
|
|
4
|
+
capture: "capture";
|
|
5
|
+
owner: "owner";
|
|
6
|
+
url: "url";
|
|
7
|
+
}>;
|
|
8
|
+
reference: z.ZodString;
|
|
9
|
+
url: z.ZodOptional<z.ZodString>;
|
|
10
|
+
observed_at: z.ZodOptional<z.ZodString>;
|
|
11
|
+
product_state: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, z.core.$strict>;
|
|
13
|
+
export declare const claimEvidence: z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
text: z.ZodString;
|
|
16
|
+
required: z.ZodBoolean;
|
|
17
|
+
status: z.ZodEnum<{
|
|
18
|
+
checked: "checked";
|
|
19
|
+
supplied: "supplied";
|
|
20
|
+
unresolved: "unresolved";
|
|
21
|
+
}>;
|
|
22
|
+
source: z.ZodObject<{
|
|
23
|
+
kind: z.ZodEnum<{
|
|
24
|
+
capture: "capture";
|
|
25
|
+
owner: "owner";
|
|
26
|
+
url: "url";
|
|
27
|
+
}>;
|
|
28
|
+
reference: z.ZodString;
|
|
29
|
+
url: z.ZodOptional<z.ZodString>;
|
|
30
|
+
observed_at: z.ZodOptional<z.ZodString>;
|
|
31
|
+
product_state: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strict>;
|
|
33
|
+
}, z.core.$strict>;
|
|
34
|
+
export type ClaimEvidence = z.infer<typeof claimEvidence>;
|
|
35
|
+
export declare const claimEvidenceRead: z.ZodObject<{
|
|
36
|
+
id: z.ZodString;
|
|
37
|
+
text: z.ZodString;
|
|
38
|
+
required: z.ZodBoolean;
|
|
39
|
+
status: z.ZodString;
|
|
40
|
+
source: z.ZodObject<{
|
|
41
|
+
kind: z.ZodString;
|
|
42
|
+
reference: z.ZodString;
|
|
43
|
+
url: z.ZodOptional<z.ZodString>;
|
|
44
|
+
observed_at: z.ZodOptional<z.ZodString>;
|
|
45
|
+
product_state: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const workflowAnchorRead: z.ZodUnion<readonly [z.ZodObject<{
|
|
49
|
+
startWord: z.ZodNumber;
|
|
50
|
+
endWord: z.ZodNumber;
|
|
51
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
52
|
+
quote: z.ZodString;
|
|
53
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
}, z.core.$strip>]>;
|
|
55
|
+
export declare const protectedProductArea: z.ZodObject<{
|
|
56
|
+
x: z.ZodNumber;
|
|
57
|
+
y: z.ZodNumber;
|
|
58
|
+
width: z.ZodNumber;
|
|
59
|
+
height: z.ZodNumber;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
export declare const assetBinding: z.ZodObject<{
|
|
62
|
+
instance_id: z.ZodString;
|
|
63
|
+
asset_id: z.ZodString;
|
|
64
|
+
content_digest: z.ZodString;
|
|
65
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
66
|
+
startWord: z.ZodNumber;
|
|
67
|
+
endWord: z.ZodNumber;
|
|
68
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
69
|
+
quote: z.ZodString;
|
|
70
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
71
|
+
}, z.core.$strict>]>;
|
|
72
|
+
provenance: z.ZodEnum<{
|
|
73
|
+
generated_illustration: "generated_illustration";
|
|
74
|
+
owner_supplied: "owner_supplied";
|
|
75
|
+
verified_capture: "verified_capture";
|
|
76
|
+
}>;
|
|
77
|
+
rights: z.ZodEnum<{
|
|
78
|
+
licensed: "licensed";
|
|
79
|
+
owner_authorized: "owner_authorized";
|
|
80
|
+
unresolved: "unresolved";
|
|
81
|
+
}>;
|
|
82
|
+
purpose: z.ZodEnum<{
|
|
83
|
+
illustration: "illustration";
|
|
84
|
+
product_proof: "product_proof";
|
|
85
|
+
ui_proof: "ui_proof";
|
|
86
|
+
}>;
|
|
87
|
+
protected_area: z.ZodOptional<z.ZodObject<{
|
|
88
|
+
x: z.ZodNumber;
|
|
89
|
+
y: z.ZodNumber;
|
|
90
|
+
width: z.ZodNumber;
|
|
91
|
+
height: z.ZodNumber;
|
|
92
|
+
}, z.core.$strict>>;
|
|
93
|
+
}, z.core.$strict>;
|
|
94
|
+
export type AssetBinding = z.infer<typeof assetBinding>;
|
|
95
|
+
export declare const assetBindingRead: z.ZodObject<{
|
|
96
|
+
instance_id: z.ZodString;
|
|
97
|
+
asset_id: z.ZodString;
|
|
98
|
+
content_digest: z.ZodString;
|
|
99
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
100
|
+
startWord: z.ZodNumber;
|
|
101
|
+
endWord: z.ZodNumber;
|
|
102
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
103
|
+
quote: z.ZodString;
|
|
104
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
}, z.core.$strip>]>;
|
|
106
|
+
provenance: z.ZodString;
|
|
107
|
+
rights: z.ZodString;
|
|
108
|
+
purpose: z.ZodString;
|
|
109
|
+
protected_area: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
x: z.ZodNumber;
|
|
111
|
+
y: z.ZodNumber;
|
|
112
|
+
width: z.ZodNumber;
|
|
113
|
+
height: z.ZodNumber;
|
|
114
|
+
}, z.core.$strip>>;
|
|
115
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { facelessSceneAnchor } from '../../faceless-public.js';
|
|
3
|
+
import { uploadId } from '../../uploads.js';
|
|
4
|
+
import { MAX_URL_LENGTH } from '../../skills.js';
|
|
5
|
+
import { workflowDigest, workflowLocalId, workflowText } from './workflow-primitives.js';
|
|
6
|
+
export const workflowEvidenceSource = z.strictObject({
|
|
7
|
+
kind: z.enum(['owner', 'url', 'capture']), reference: workflowText(2000),
|
|
8
|
+
url: z.string().url().max(MAX_URL_LENGTH).optional(), observed_at: z.string().datetime().optional(), product_state: workflowText(2000).optional(),
|
|
9
|
+
});
|
|
10
|
+
export const claimEvidence = z.strictObject({
|
|
11
|
+
id: workflowLocalId, text: workflowText(4000), required: z.boolean(), status: z.enum(['supplied', 'checked', 'unresolved']), source: workflowEvidenceSource,
|
|
12
|
+
});
|
|
13
|
+
export const claimEvidenceRead = z.object({
|
|
14
|
+
id: z.string(), text: z.string(), required: z.boolean(), status: z.string(),
|
|
15
|
+
source: z.object({ kind: z.string(), reference: z.string(), url: z.string().optional(), observed_at: z.string().optional(), product_state: z.string().optional() }),
|
|
16
|
+
});
|
|
17
|
+
export const workflowAnchorRead = z.union([
|
|
18
|
+
z.object({ startWord: z.number().int().nonnegative(), endWord: z.number().int().positive() }),
|
|
19
|
+
z.object({ quote: z.string(), occurrence: z.number().int().nonnegative().optional() }),
|
|
20
|
+
]);
|
|
21
|
+
export const protectedProductArea = z.strictObject({ x: z.number().min(0).lt(1), y: z.number().min(0).lt(1), width: z.number().positive().max(1), height: z.number().positive().max(1) })
|
|
22
|
+
.refine(area => area.x + area.width <= 1 && area.y + area.height <= 1, 'Protected product area exceeds source bounds');
|
|
23
|
+
export const assetBinding = z.strictObject({
|
|
24
|
+
instance_id: workflowLocalId, asset_id: uploadId, content_digest: workflowDigest, anchor: facelessSceneAnchor,
|
|
25
|
+
provenance: z.enum(['owner_supplied', 'generated_illustration', 'verified_capture']), rights: z.enum(['owner_authorized', 'licensed', 'unresolved']),
|
|
26
|
+
purpose: z.enum(['product_proof', 'illustration', 'ui_proof']), protected_area: protectedProductArea.optional(),
|
|
27
|
+
});
|
|
28
|
+
export const assetBindingRead = z.object({
|
|
29
|
+
instance_id: z.string(), asset_id: z.string(), content_digest: workflowDigest, anchor: workflowAnchorRead,
|
|
30
|
+
provenance: z.string(), rights: z.string(), purpose: z.string(),
|
|
31
|
+
protected_area: z.object({ x: z.number(), y: z.number(), width: z.number(), height: z.number() }).optional(),
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=workflow-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-evidence.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const workflowQuoteBinding: z.ZodObject<{
|
|
3
|
+
v: z.ZodLiteral<1>;
|
|
4
|
+
quote_id: z.ZodString;
|
|
5
|
+
plan_id: z.ZodString;
|
|
6
|
+
revision: z.ZodNumber;
|
|
7
|
+
content_digest: z.ZodString;
|
|
8
|
+
method: z.ZodObject<{
|
|
9
|
+
method_id: z.ZodEnum<{
|
|
10
|
+
"faceless-explainer": "faceless-explainer";
|
|
11
|
+
"kinetic-launch": "kinetic-launch";
|
|
12
|
+
"product-image-story": "product-image-story";
|
|
13
|
+
"ugc-faq-answer": "ugc-faq-answer";
|
|
14
|
+
"ugc-product-intro": "ugc-product-intro";
|
|
15
|
+
"website-proof-demo": "website-proof-demo";
|
|
16
|
+
}>;
|
|
17
|
+
version: z.ZodNumber;
|
|
18
|
+
content_digest: z.ZodString;
|
|
19
|
+
capability_digest: z.ZodString;
|
|
20
|
+
}, z.core.$strict>;
|
|
21
|
+
semantic_input_digest: z.ZodString;
|
|
22
|
+
expires_at: z.ZodString;
|
|
23
|
+
native_quote: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
24
|
+
skill: z.ZodLiteral<"make_ugc">;
|
|
25
|
+
quote: z.ZodObject<{
|
|
26
|
+
long_form_pricing: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
27
|
+
pricingVersion: z.ZodString;
|
|
28
|
+
rateCreditsPerFaceSecond: z.ZodNumber;
|
|
29
|
+
minimumCredits: z.ZodNumber;
|
|
30
|
+
estimatedTotalDurationSec: z.ZodNumber;
|
|
31
|
+
estimatedFaceSeconds: z.ZodNumber;
|
|
32
|
+
estimatedCredits: z.ZodNumber;
|
|
33
|
+
estimatedFaceWordShare: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
minimumApplied: z.ZodBoolean;
|
|
35
|
+
}, z.core.$strict>>>;
|
|
36
|
+
skill: z.ZodString;
|
|
37
|
+
credits_estimate: z.ZodNumber;
|
|
38
|
+
duration_estimate_sec: z.ZodNumber;
|
|
39
|
+
warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
40
|
+
contract_version: z.ZodString;
|
|
41
|
+
source: z.ZodNullable<z.ZodObject<{
|
|
42
|
+
width: z.ZodNumber;
|
|
43
|
+
height: z.ZodNumber;
|
|
44
|
+
aspect_ratio: z.ZodString;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
actor: z.ZodNullable<z.ZodObject<{
|
|
47
|
+
gender: z.ZodEnum<{
|
|
48
|
+
female: "female";
|
|
49
|
+
male: "male";
|
|
50
|
+
}>;
|
|
51
|
+
actor_id: z.ZodOptional<z.ZodString>;
|
|
52
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
resolved_aspect_ratio: z.ZodEnum<{
|
|
55
|
+
"16:9": "16:9";
|
|
56
|
+
"1:1": "1:1";
|
|
57
|
+
"9:16": "9:16";
|
|
58
|
+
}>;
|
|
59
|
+
tts_model: z.ZodString;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
62
|
+
skill: z.ZodLiteral<"make_faceless">;
|
|
63
|
+
quote: z.ZodObject<{
|
|
64
|
+
outputFrames: z.ZodNumber;
|
|
65
|
+
baseCredits: z.ZodNumber;
|
|
66
|
+
openerCredits: z.ZodNumber;
|
|
67
|
+
totalCredits: z.ZodNumber;
|
|
68
|
+
tariffId: z.ZodLiteral<"faceless-image-i2v-v1">;
|
|
69
|
+
captions: z.ZodBoolean;
|
|
70
|
+
skill: z.ZodLiteral<"make_faceless">;
|
|
71
|
+
warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
72
|
+
contract_version: z.ZodString;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
}, z.core.$strict>], "skill">;
|
|
75
|
+
}, z.core.$strict>;
|
|
76
|
+
export type WorkflowQuoteBinding = z.infer<typeof workflowQuoteBinding>;
|
|
77
|
+
export declare const workflowQuoteBindingRead: z.ZodObject<{
|
|
78
|
+
quote_id: z.ZodString;
|
|
79
|
+
plan_id: z.ZodString;
|
|
80
|
+
revision: z.ZodNumber;
|
|
81
|
+
content_digest: z.ZodString;
|
|
82
|
+
semantic_input_digest: z.ZodString;
|
|
83
|
+
expires_at: z.ZodString;
|
|
84
|
+
v: z.ZodNumber;
|
|
85
|
+
method: z.ZodObject<{
|
|
86
|
+
method_id: z.ZodString;
|
|
87
|
+
version: z.ZodNumber;
|
|
88
|
+
content_digest: z.ZodString;
|
|
89
|
+
capability_digest: z.ZodString;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
native_quote: z.ZodUnion<readonly [z.ZodObject<{
|
|
92
|
+
skill: z.ZodLiteral<"make_ugc">;
|
|
93
|
+
quote: z.ZodObject<{
|
|
94
|
+
long_form_pricing: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
95
|
+
pricingVersion: z.ZodString;
|
|
96
|
+
rateCreditsPerFaceSecond: z.ZodNumber;
|
|
97
|
+
minimumCredits: z.ZodNumber;
|
|
98
|
+
estimatedTotalDurationSec: z.ZodNumber;
|
|
99
|
+
estimatedFaceSeconds: z.ZodNumber;
|
|
100
|
+
estimatedCredits: z.ZodNumber;
|
|
101
|
+
estimatedFaceWordShare: z.ZodOptional<z.ZodNumber>;
|
|
102
|
+
minimumApplied: z.ZodBoolean;
|
|
103
|
+
}, z.core.$strict>>>;
|
|
104
|
+
skill: z.ZodString;
|
|
105
|
+
credits_estimate: z.ZodNumber;
|
|
106
|
+
duration_estimate_sec: z.ZodNumber;
|
|
107
|
+
warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
108
|
+
contract_version: z.ZodString;
|
|
109
|
+
source: z.ZodNullable<z.ZodObject<{
|
|
110
|
+
width: z.ZodNumber;
|
|
111
|
+
height: z.ZodNumber;
|
|
112
|
+
aspect_ratio: z.ZodString;
|
|
113
|
+
}, z.core.$strip>>;
|
|
114
|
+
tts_model: z.ZodString;
|
|
115
|
+
resolved_aspect_ratio: z.ZodString;
|
|
116
|
+
actor: z.ZodNullable<z.ZodObject<{
|
|
117
|
+
actor_id: z.ZodOptional<z.ZodString>;
|
|
118
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
119
|
+
gender: z.ZodString;
|
|
120
|
+
}, z.core.$strip>>;
|
|
121
|
+
}, z.core.$strip>;
|
|
122
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
123
|
+
skill: z.ZodLiteral<"make_faceless">;
|
|
124
|
+
quote: z.ZodObject<{
|
|
125
|
+
outputFrames: z.ZodNumber;
|
|
126
|
+
baseCredits: z.ZodNumber;
|
|
127
|
+
openerCredits: z.ZodNumber;
|
|
128
|
+
totalCredits: z.ZodNumber;
|
|
129
|
+
captions: z.ZodBoolean;
|
|
130
|
+
warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
131
|
+
contract_version: z.ZodString;
|
|
132
|
+
tariffId: z.ZodString;
|
|
133
|
+
skill: z.ZodString;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
136
|
+
skill: z.ZodString;
|
|
137
|
+
quote: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
138
|
+
}, z.core.$strip>]>;
|
|
139
|
+
}, z.core.$strip>;
|
|
140
|
+
export declare const launchWorkflow: z.ZodObject<{
|
|
141
|
+
revision: z.ZodNumber;
|
|
142
|
+
content_digest: z.ZodString;
|
|
143
|
+
semantic_input_digest: z.ZodString;
|
|
144
|
+
quote_id: z.ZodString;
|
|
145
|
+
idempotency_key: z.ZodString;
|
|
146
|
+
}, z.core.$strict>;
|
|
147
|
+
export declare const workflowReceipt: z.ZodObject<{
|
|
148
|
+
v: z.ZodLiteral<1>;
|
|
149
|
+
account_id: z.ZodString;
|
|
150
|
+
plan_id: z.ZodString;
|
|
151
|
+
revision: z.ZodNumber;
|
|
152
|
+
content_digest: z.ZodString;
|
|
153
|
+
method: z.ZodObject<{
|
|
154
|
+
method_id: z.ZodEnum<{
|
|
155
|
+
"faceless-explainer": "faceless-explainer";
|
|
156
|
+
"kinetic-launch": "kinetic-launch";
|
|
157
|
+
"product-image-story": "product-image-story";
|
|
158
|
+
"ugc-faq-answer": "ugc-faq-answer";
|
|
159
|
+
"ugc-product-intro": "ugc-product-intro";
|
|
160
|
+
"website-proof-demo": "website-proof-demo";
|
|
161
|
+
}>;
|
|
162
|
+
version: z.ZodNumber;
|
|
163
|
+
content_digest: z.ZodString;
|
|
164
|
+
capability_digest: z.ZodString;
|
|
165
|
+
}, z.core.$strict>;
|
|
166
|
+
semantic_input_digest: z.ZodString;
|
|
167
|
+
transport_request_digest: z.ZodString;
|
|
168
|
+
run_id: z.ZodString;
|
|
169
|
+
skill: z.ZodEnum<{
|
|
170
|
+
make_faceless: "make_faceless";
|
|
171
|
+
make_ugc: "make_ugc";
|
|
172
|
+
}>;
|
|
173
|
+
admitted_at: z.ZodString;
|
|
174
|
+
}, z.core.$strict>;
|
|
175
|
+
export type WorkflowReceipt = z.infer<typeof workflowReceipt>;
|
|
176
|
+
export declare const workflowReceiptRead: z.ZodObject<{
|
|
177
|
+
account_id: z.ZodString;
|
|
178
|
+
plan_id: z.ZodString;
|
|
179
|
+
revision: z.ZodNumber;
|
|
180
|
+
content_digest: z.ZodString;
|
|
181
|
+
semantic_input_digest: z.ZodString;
|
|
182
|
+
transport_request_digest: z.ZodString;
|
|
183
|
+
run_id: z.ZodString;
|
|
184
|
+
admitted_at: z.ZodString;
|
|
185
|
+
v: z.ZodNumber;
|
|
186
|
+
method: z.ZodObject<{
|
|
187
|
+
method_id: z.ZodString;
|
|
188
|
+
version: z.ZodNumber;
|
|
189
|
+
content_digest: z.ZodString;
|
|
190
|
+
capability_digest: z.ZodString;
|
|
191
|
+
}, z.core.$strip>;
|
|
192
|
+
skill: z.ZodString;
|
|
193
|
+
}, z.core.$strip>;
|
|
194
|
+
export declare const workflowOutcomeRead: z.ZodObject<{
|
|
195
|
+
receipt: z.ZodObject<{
|
|
196
|
+
account_id: z.ZodString;
|
|
197
|
+
plan_id: z.ZodString;
|
|
198
|
+
revision: z.ZodNumber;
|
|
199
|
+
content_digest: z.ZodString;
|
|
200
|
+
semantic_input_digest: z.ZodString;
|
|
201
|
+
transport_request_digest: z.ZodString;
|
|
202
|
+
run_id: z.ZodString;
|
|
203
|
+
admitted_at: z.ZodString;
|
|
204
|
+
v: z.ZodNumber;
|
|
205
|
+
method: z.ZodObject<{
|
|
206
|
+
method_id: z.ZodString;
|
|
207
|
+
version: z.ZodNumber;
|
|
208
|
+
content_digest: z.ZodString;
|
|
209
|
+
capability_digest: z.ZodString;
|
|
210
|
+
}, z.core.$strip>;
|
|
211
|
+
skill: z.ZodString;
|
|
212
|
+
}, z.core.$strip>;
|
|
213
|
+
state: z.ZodString;
|
|
214
|
+
warnings: z.ZodArray<z.ZodString>;
|
|
215
|
+
actual_output: z.ZodNullable<z.ZodObject<{
|
|
216
|
+
format: z.ZodObject<{
|
|
217
|
+
aspect_ratio: z.ZodString;
|
|
218
|
+
resolution: z.ZodString;
|
|
219
|
+
}, z.core.$strip>;
|
|
220
|
+
duration_seconds: z.ZodNumber;
|
|
221
|
+
artifact_id: z.ZodString;
|
|
222
|
+
content_digest: z.ZodString;
|
|
223
|
+
}, z.core.$strip>>;
|
|
224
|
+
beat_dispositions: z.ZodArray<z.ZodObject<{
|
|
225
|
+
beat_id: z.ZodString;
|
|
226
|
+
disposition: z.ZodString;
|
|
227
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
228
|
+
}, z.core.$strip>>;
|
|
229
|
+
validation_issues: z.ZodArray<z.ZodObject<{
|
|
230
|
+
kind: z.ZodString;
|
|
231
|
+
path: z.ZodString;
|
|
232
|
+
message: z.ZodString;
|
|
233
|
+
}, z.core.$strip>>;
|
|
234
|
+
creative_acceptance: z.ZodString;
|
|
235
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { quoteResponse } from '../../skills.js';
|
|
3
|
+
import { facelessQuoteResponse } from '../../faceless-public.js';
|
|
4
|
+
import { runId } from '../../runs.js';
|
|
5
|
+
import { workflowDigest, workflowFormatRead, workflowId, workflowIssueRead, workflowLocalId, workflowMethodPin, workflowMethodPinRead, workflowRevision, workflowText } from './workflow-primitives.js';
|
|
6
|
+
export const workflowQuoteBinding = z.strictObject({
|
|
7
|
+
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
|
+
method: workflowMethodPin, semantic_input_digest: workflowDigest, expires_at: z.string().datetime(),
|
|
9
|
+
native_quote: z.discriminatedUnion('skill', [z.strictObject({ skill: z.literal('make_ugc'), quote: quoteResponse }), z.strictObject({ skill: z.literal('make_faceless'), quote: facelessQuoteResponse })]),
|
|
10
|
+
});
|
|
11
|
+
const nativeQuoteRead = z.union([
|
|
12
|
+
z.object({ skill: z.literal('make_ugc'), quote: z.object({ ...quoteResponse.shape, resolved_aspect_ratio: z.string(),
|
|
13
|
+
actor: z.object({ ...quoteResponse.shape.actor.unwrap().shape, gender: z.string() }).nullable() }) }),
|
|
14
|
+
z.object({ skill: z.literal('make_faceless'), quote: z.object({ ...facelessQuoteResponse.shape, tariffId: z.string(), skill: z.string() }) }),
|
|
15
|
+
z.object({ skill: z.string().refine(skill => skill !== 'make_ugc' && skill !== 'make_faceless'), quote: z.record(z.string(), z.unknown()) }),
|
|
16
|
+
]);
|
|
17
|
+
export const workflowQuoteBindingRead = z.object({ ...workflowQuoteBinding.shape, v: z.number(), method: workflowMethodPinRead, native_quote: nativeQuoteRead });
|
|
18
|
+
export const launchWorkflow = z.strictObject({
|
|
19
|
+
revision: workflowRevision, content_digest: workflowDigest, semantic_input_digest: workflowDigest,
|
|
20
|
+
quote_id: workflowQuoteBinding.shape.quote_id, idempotency_key: workflowText(200),
|
|
21
|
+
});
|
|
22
|
+
export const workflowReceipt = z.strictObject({
|
|
23
|
+
v: z.literal(1), account_id: workflowText(200), plan_id: workflowId, revision: workflowRevision, content_digest: workflowDigest, method: workflowMethodPin,
|
|
24
|
+
semantic_input_digest: workflowDigest, transport_request_digest: workflowDigest, run_id: runId, skill: z.enum(['make_ugc', 'make_faceless']), admitted_at: z.string().datetime(),
|
|
25
|
+
});
|
|
26
|
+
export const workflowReceiptRead = z.object({ ...workflowReceipt.shape, v: z.number(), method: workflowMethodPinRead, skill: z.string() });
|
|
27
|
+
export const workflowOutcomeRead = z.object({
|
|
28
|
+
receipt: workflowReceiptRead, state: z.string(), warnings: z.array(z.string()),
|
|
29
|
+
actual_output: z.object({ format: workflowFormatRead, duration_seconds: z.number().positive(), artifact_id: z.string(), content_digest: workflowDigest }).nullable(),
|
|
30
|
+
beat_dispositions: z.array(z.object({ beat_id: workflowLocalId, disposition: z.string(), reason: z.string().optional() })),
|
|
31
|
+
validation_issues: z.array(workflowIssueRead), creative_acceptance: z.string(),
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=workflow-execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-execution.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-execution.ts"],"names":[],"mappings":"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"}
|