@clipwright/core 0.26.1 → 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 (122) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +5 -0
  3. package/dist/api-failure.d.ts +68 -1
  4. package/dist/api-failure.js +119 -1
  5. package/dist/api-failure.js.map +1 -1
  6. package/dist/contract-dispositions.js +3 -3
  7. package/dist/contract-dispositions.js.map +1 -1
  8. package/dist/contracts/v1/workflow-brief.d.ts +402 -0
  9. package/dist/contracts/v1/workflow-brief.js +40 -0
  10. package/dist/contracts/v1/workflow-brief.js.map +1 -0
  11. package/dist/contracts/v1/workflow-catalog.d.ts +1060 -0
  12. package/dist/contracts/v1/workflow-catalog.js +45 -0
  13. package/dist/contracts/v1/workflow-catalog.js.map +1 -0
  14. package/dist/contracts/v1/workflow-dto.d.ts +18 -0
  15. package/dist/contracts/v1/workflow-dto.js +25 -0
  16. package/dist/contracts/v1/workflow-dto.js.map +1 -0
  17. package/dist/contracts/v1/workflow-evidence.d.ts +115 -0
  18. package/dist/contracts/v1/workflow-evidence.js +33 -0
  19. package/dist/contracts/v1/workflow-evidence.js.map +1 -0
  20. package/dist/contracts/v1/workflow-execution.d.ts +235 -0
  21. package/dist/contracts/v1/workflow-execution.js +33 -0
  22. package/dist/contracts/v1/workflow-execution.js.map +1 -0
  23. package/dist/contracts/v1/workflow-plan.d.ts +1057 -0
  24. package/dist/contracts/v1/workflow-plan.js +26 -0
  25. package/dist/contracts/v1/workflow-plan.js.map +1 -0
  26. package/dist/contracts/v1/workflow-primitives.d.ts +62 -0
  27. package/dist/contracts/v1/workflow-primitives.js +16 -0
  28. package/dist/contracts/v1/workflow-primitives.js.map +1 -0
  29. package/dist/edit-billing.d.ts +65 -0
  30. package/dist/edit-billing.js +30 -0
  31. package/dist/edit-billing.js.map +1 -0
  32. package/dist/edit-document.d.ts +335 -0
  33. package/dist/edit-document.js +110 -0
  34. package/dist/edit-document.js.map +1 -0
  35. package/dist/edit-faceless.d.ts +24 -0
  36. package/dist/edit-faceless.js +39 -0
  37. package/dist/edit-faceless.js.map +1 -0
  38. package/dist/edit-operations.d.ts +34 -0
  39. package/dist/edit-operations.js +13 -0
  40. package/dist/edit-operations.js.map +1 -0
  41. package/dist/edit-primitives.d.ts +8 -0
  42. package/dist/edit-primitives.js +12 -0
  43. package/dist/edit-primitives.js.map +1 -0
  44. package/dist/edit-revision.d.ts +162 -0
  45. package/dist/edit-revision.js +36 -0
  46. package/dist/edit-revision.js.map +1 -0
  47. package/dist/edit-rules.d.ts +60 -0
  48. package/dist/edit-rules.js +44 -0
  49. package/dist/edit-rules.js.map +1 -0
  50. package/dist/edit-shots.d.ts +548 -0
  51. package/dist/edit-shots.js +61 -0
  52. package/dist/edit-shots.js.map +1 -0
  53. package/dist/edit-validate.d.ts +57 -0
  54. package/dist/edit-validate.js +248 -0
  55. package/dist/edit-validate.js.map +1 -0
  56. package/dist/edit.d.ts +8 -0
  57. package/dist/edit.js +10 -0
  58. package/dist/edit.js.map +1 -0
  59. package/dist/endpoints.d.ts +5 -0
  60. package/dist/endpoints.js +35 -19
  61. package/dist/endpoints.js.map +1 -1
  62. package/dist/errors.d.ts +125 -1
  63. package/dist/errors.js +129 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/faceless-media-record.d.ts +100 -0
  66. package/dist/faceless-media-record.js +25 -0
  67. package/dist/faceless-media-record.js.map +1 -0
  68. package/dist/faceless-public-plan.d.ts +1 -0
  69. package/dist/faceless-public-plan.js +2 -1
  70. package/dist/faceless-public-plan.js.map +1 -1
  71. package/dist/faceless-public.d.ts +254 -0
  72. package/dist/faceless-public.js +11 -0
  73. package/dist/faceless-public.js.map +1 -1
  74. package/dist/idempotency.d.ts +2 -0
  75. package/dist/idempotency.js +9 -0
  76. package/dist/idempotency.js.map +1 -1
  77. package/dist/index.d.ts +3 -0
  78. package/dist/index.js +3 -0
  79. package/dist/index.js.map +1 -1
  80. package/dist/runs.d.ts +52 -0
  81. package/dist/runs.js +15 -2
  82. package/dist/runs.js.map +1 -1
  83. package/dist/uploads.d.ts +4 -2
  84. package/dist/uploads.js +5 -3
  85. package/dist/uploads.js.map +1 -1
  86. package/dist/workflows/catalog.d.ts +4 -0
  87. package/dist/workflows/catalog.js +57 -0
  88. package/dist/workflows/catalog.js.map +1 -0
  89. package/dist/workflows/index.d.ts +9 -0
  90. package/dist/workflows/index.js +10 -0
  91. package/dist/workflows/index.js.map +1 -0
  92. package/dist/workflows/methods/faceless-explainer.d.ts +175 -0
  93. package/dist/workflows/methods/faceless-explainer.js +20 -0
  94. package/dist/workflows/methods/faceless-explainer.js.map +1 -0
  95. package/dist/workflows/methods/kinetic-launch.d.ts +175 -0
  96. package/dist/workflows/methods/kinetic-launch.js +19 -0
  97. package/dist/workflows/methods/kinetic-launch.js.map +1 -0
  98. package/dist/workflows/methods/product-image-story.d.ts +175 -0
  99. package/dist/workflows/methods/product-image-story.js +20 -0
  100. package/dist/workflows/methods/product-image-story.js.map +1 -0
  101. package/dist/workflows/methods/shared.d.ts +190 -0
  102. package/dist/workflows/methods/shared.js +13 -0
  103. package/dist/workflows/methods/shared.js.map +1 -0
  104. package/dist/workflows/methods/ugc-faq-answer.d.ts +175 -0
  105. package/dist/workflows/methods/ugc-faq-answer.js +19 -0
  106. package/dist/workflows/methods/ugc-faq-answer.js.map +1 -0
  107. package/dist/workflows/methods/ugc-product-intro.d.ts +175 -0
  108. package/dist/workflows/methods/ugc-product-intro.js +19 -0
  109. package/dist/workflows/methods/ugc-product-intro.js.map +1 -0
  110. package/dist/workflows/methods/website-proof-demo.d.ts +175 -0
  111. package/dist/workflows/methods/website-proof-demo.js +19 -0
  112. package/dist/workflows/methods/website-proof-demo.js.map +1 -0
  113. package/dist/workflows/validate.d.ts +10 -0
  114. package/dist/workflows/validate.js +203 -0
  115. package/dist/workflows/validate.js.map +1 -0
  116. package/dist/workflows.d.ts +1 -0
  117. package/dist/workflows.js +2 -0
  118. package/dist/workflows.js.map +1 -0
  119. package/package.json +9 -1
  120. package/dist/__fixtures__/queue-promises.d.ts +0 -8
  121. package/dist/__fixtures__/queue-promises.js +0 -22
  122. package/dist/__fixtures__/queue-promises.js.map +0 -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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"}