@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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { run, runRead } from '../../runs.js';
|
|
3
|
+
import { workflowNativeRunRead, workflowOutcomeRead } from './workflow-execution.js';
|
|
4
|
+
import { workflowPlanDocumentRead } from './workflow-plan.js';
|
|
5
|
+
import { workflowDigest } from './workflow-primitives.js';
|
|
6
|
+
const frame = z.number().int().nonnegative().safe();
|
|
7
|
+
export const workflowAssetPlacementRead = z.looseObject({
|
|
8
|
+
instance_id: z.string().min(1), asset_id: z.string().min(1), source_digest: workflowDigest,
|
|
9
|
+
first_word: frame, end_word: frame, shot_id: z.string().min(1), start_frame: frame, end_frame: frame,
|
|
10
|
+
normalized_sha256: workflowDigest, width: z.number().int().positive().safe(), height: z.number().int().positive().safe(),
|
|
11
|
+
}).refine(value => value.end_word > value.first_word && value.end_frame >= value.start_frame, 'Placement interval must be ordered');
|
|
12
|
+
export const workflowRunOutcomeRead = workflowOutcomeRead.extend({
|
|
13
|
+
approved_plan: workflowPlanDocumentRead, asset_placements: z.array(workflowAssetPlacementRead).nullable(),
|
|
14
|
+
}).refine(value => ['method_id', 'version', 'content_digest', 'capability_digest']
|
|
15
|
+
.every(key => value.receipt.method[key] === value.approved_plan.method[key]), 'Approved plan must identify the purchased method');
|
|
16
|
+
const identifiesRun = (value) => !value.workflow || (value.workflow.receipt.run_id === value.run_id &&
|
|
17
|
+
value.workflow.receipt.skill === value.skill && value.workflow.state === value.state);
|
|
18
|
+
const workflow = workflowRunOutcomeRead.optional();
|
|
19
|
+
export const workflowRunIdentityRead = runRead.pick({ run_id: true, skill: true, state: true }).loose().extend({ workflow })
|
|
20
|
+
.refine(identifiesRun, 'Workflow must identify the native run');
|
|
21
|
+
export const workflowRun = run.extend({ workflow }).refine(identifiesRun, 'Workflow must identify the native run');
|
|
22
|
+
export const workflowRunRead = workflowNativeRunRead.extend({ workflow }).refine(identifiesRun, 'Workflow must identify the native run');
|
|
23
|
+
//# sourceMappingURL=workflow-run-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-run-read.js","sourceRoot":"","sources":["../../../src/contracts/v1/workflow-run-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** One generated picture or clip for one shot. `take` makes a deliberate retry a new run; the same take replays the first. */
|
|
3
|
+
export declare const candidateRequest: z.ZodObject<{
|
|
4
|
+
shot_id: z.ZodString;
|
|
5
|
+
operation: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
6
|
+
mode: z.ZodLiteral<"retake">;
|
|
7
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
8
|
+
mode: z.ZodLiteral<"new_picture">;
|
|
9
|
+
description: z.ZodString;
|
|
10
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
11
|
+
mode: z.ZodLiteral<"edit_picture">;
|
|
12
|
+
instruction: z.ZodString;
|
|
13
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14
|
+
mode: z.ZodLiteral<"animate">;
|
|
15
|
+
motion: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strict>], "mode">;
|
|
17
|
+
take: z.ZodNumber;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
export type CandidateRequest = z.infer<typeof candidateRequest>;
|
|
20
|
+
/** What a candidate would cost: one unit, charged once it is published, kept or discarded. */
|
|
21
|
+
export declare const candidateQuote: z.ZodObject<{
|
|
22
|
+
source_run_id: z.ZodString;
|
|
23
|
+
root_run_id: z.ZodString;
|
|
24
|
+
shot_id: z.ZodString;
|
|
25
|
+
kind: z.ZodEnum<{
|
|
26
|
+
clip: "clip";
|
|
27
|
+
picture: "picture";
|
|
28
|
+
}>;
|
|
29
|
+
operation_mode: z.ZodEnum<{
|
|
30
|
+
animate: "animate";
|
|
31
|
+
edit_picture: "edit_picture";
|
|
32
|
+
new_picture: "new_picture";
|
|
33
|
+
retake: "retake";
|
|
34
|
+
}>;
|
|
35
|
+
unit: z.ZodEnum<{
|
|
36
|
+
clip: "clip";
|
|
37
|
+
clip_with_new_picture: "clip_with_new_picture";
|
|
38
|
+
picture: "picture";
|
|
39
|
+
}>;
|
|
40
|
+
credits: z.ZodNumber;
|
|
41
|
+
usable_until: z.ZodString;
|
|
42
|
+
warnings: z.ZodArray<z.ZodString>;
|
|
43
|
+
contract_version: z.ZodString;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
export type CandidateQuote = z.infer<typeof candidateQuote>;
|
|
46
|
+
/** The input a candidate run stores: the request, and what admission resolved for the worker. */
|
|
47
|
+
export declare const storedCandidateInput: z.ZodObject<{
|
|
48
|
+
shot_id: z.ZodString;
|
|
49
|
+
operation: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
50
|
+
mode: z.ZodLiteral<"retake">;
|
|
51
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
52
|
+
mode: z.ZodLiteral<"new_picture">;
|
|
53
|
+
description: z.ZodString;
|
|
54
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
55
|
+
mode: z.ZodLiteral<"edit_picture">;
|
|
56
|
+
instruction: z.ZodString;
|
|
57
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
58
|
+
mode: z.ZodLiteral<"animate">;
|
|
59
|
+
motion: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strict>], "mode">;
|
|
61
|
+
take: z.ZodNumber;
|
|
62
|
+
source_run_id: z.ZodString;
|
|
63
|
+
resolved_candidate: z.ZodObject<{
|
|
64
|
+
root_run_id: z.ZodString;
|
|
65
|
+
shot_kind: z.ZodEnum<{
|
|
66
|
+
clip: "clip";
|
|
67
|
+
picture: "picture";
|
|
68
|
+
}>;
|
|
69
|
+
unit: z.ZodEnum<{
|
|
70
|
+
clip: "clip";
|
|
71
|
+
clip_with_new_picture: "clip_with_new_picture";
|
|
72
|
+
picture: "picture";
|
|
73
|
+
}>;
|
|
74
|
+
credits: z.ZodNumber;
|
|
75
|
+
}, z.core.$strict>;
|
|
76
|
+
}, z.core.$strict>;
|
|
77
|
+
export type StoredCandidateInput = z.infer<typeof storedCandidateInput>;
|
|
78
|
+
/** The candidates of one family, oldest first, each with its run's state and money. */
|
|
79
|
+
export declare const runCandidates: z.ZodObject<{
|
|
80
|
+
run_id: z.ZodString;
|
|
81
|
+
root_run_id: z.ZodString;
|
|
82
|
+
candidates: z.ZodArray<z.ZodObject<{
|
|
83
|
+
source_run_id: z.ZodString;
|
|
84
|
+
root_run_id: z.ZodString;
|
|
85
|
+
shot_id: z.ZodString;
|
|
86
|
+
kind: z.ZodEnum<{
|
|
87
|
+
clip: "clip";
|
|
88
|
+
picture: "picture";
|
|
89
|
+
}>;
|
|
90
|
+
operation_mode: z.ZodNullable<z.ZodEnum<{
|
|
91
|
+
animate: "animate";
|
|
92
|
+
edit_picture: "edit_picture";
|
|
93
|
+
new_picture: "new_picture";
|
|
94
|
+
retake: "retake";
|
|
95
|
+
}>>;
|
|
96
|
+
take: z.ZodNullable<z.ZodNumber>;
|
|
97
|
+
preview_url: z.ZodNullable<z.ZodString>;
|
|
98
|
+
usable_until: z.ZodNullable<z.ZodString>;
|
|
99
|
+
run_id: z.ZodString;
|
|
100
|
+
state: z.ZodEnum<{
|
|
101
|
+
avatar: "avatar";
|
|
102
|
+
compositing: "compositing";
|
|
103
|
+
failed: "failed";
|
|
104
|
+
generating: "generating";
|
|
105
|
+
queued: "queued";
|
|
106
|
+
scripting: "scripting";
|
|
107
|
+
succeeded: "succeeded";
|
|
108
|
+
tts: "tts";
|
|
109
|
+
uploading: "uploading";
|
|
110
|
+
}>;
|
|
111
|
+
credits_reserved: z.ZodNumber;
|
|
112
|
+
credits_charged: z.ZodNullable<z.ZodNumber>;
|
|
113
|
+
created_at: z.ZodString;
|
|
114
|
+
finished_at: z.ZodNullable<z.ZodString>;
|
|
115
|
+
}, z.core.$strip>>;
|
|
116
|
+
contract_version: z.ZodString;
|
|
117
|
+
}, z.core.$strict>;
|
|
118
|
+
export type RunCandidates = z.infer<typeof runCandidates>;
|
|
119
|
+
export declare const candidateQuoteRead: z.ZodObject<{
|
|
120
|
+
source_run_id: z.ZodString;
|
|
121
|
+
root_run_id: z.ZodString;
|
|
122
|
+
shot_id: z.ZodString;
|
|
123
|
+
credits: z.ZodNumber;
|
|
124
|
+
usable_until: z.ZodString;
|
|
125
|
+
warnings: z.ZodArray<z.ZodString>;
|
|
126
|
+
contract_version: z.ZodString;
|
|
127
|
+
kind: z.ZodString;
|
|
128
|
+
operation_mode: z.ZodString;
|
|
129
|
+
unit: z.ZodString;
|
|
130
|
+
}, z.core.$loose>;
|
|
131
|
+
export type CandidateQuoteRead = z.infer<typeof candidateQuoteRead>;
|
|
132
|
+
export declare const runCandidatesRead: z.ZodObject<{
|
|
133
|
+
run_id: z.ZodString;
|
|
134
|
+
root_run_id: z.ZodString;
|
|
135
|
+
contract_version: z.ZodString;
|
|
136
|
+
candidates: z.ZodArray<z.ZodObject<{
|
|
137
|
+
source_run_id: z.ZodString;
|
|
138
|
+
root_run_id: z.ZodString;
|
|
139
|
+
shot_id: z.ZodString;
|
|
140
|
+
take: z.ZodNullable<z.ZodNumber>;
|
|
141
|
+
preview_url: z.ZodNullable<z.ZodString>;
|
|
142
|
+
usable_until: z.ZodNullable<z.ZodString>;
|
|
143
|
+
run_id: z.ZodString;
|
|
144
|
+
credits_reserved: z.ZodNumber;
|
|
145
|
+
credits_charged: z.ZodNullable<z.ZodNumber>;
|
|
146
|
+
created_at: z.ZodString;
|
|
147
|
+
finished_at: z.ZodNullable<z.ZodString>;
|
|
148
|
+
kind: z.ZodString;
|
|
149
|
+
operation_mode: z.ZodNullable<z.ZodString>;
|
|
150
|
+
state: z.ZodString;
|
|
151
|
+
}, z.core.$loose>>;
|
|
152
|
+
}, z.core.$loose>;
|
|
153
|
+
export type RunCandidatesRead = z.infer<typeof runCandidatesRead>;
|
|
154
|
+
/** The one sentence every client and the docs page state a shot candidate's charge by. */
|
|
155
|
+
export declare const CANDIDATE_CHARGE_TEXT = "A delivered candidate is charged its one unit whether it is kept or discarded; one that fails is charged nothing, even when its paid work was already done.";
|
|
156
|
+
/** The paths of a run's candidate quote, start and list. The id is encoded, since it comes from the caller. */
|
|
157
|
+
export declare const runCandidatesQuotePath: (id: string) => string;
|
|
158
|
+
export declare const runCandidatesPath: (id: string) => string;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { SHOT_OPERATION_MODES, shotId, shotOperation } from "./edit-operations.js";
|
|
3
|
+
import { runCandidate, runId, runState } from "./runs.js";
|
|
4
|
+
/** One generated picture or clip for one shot. `take` makes a deliberate retry a new run; the same take replays the first. */
|
|
5
|
+
export const candidateRequest = z.strictObject({
|
|
6
|
+
shot_id: shotId,
|
|
7
|
+
operation: shotOperation,
|
|
8
|
+
take: z.number().int().positive().safe(),
|
|
9
|
+
});
|
|
10
|
+
const credits = z.number().int().positive().safe();
|
|
11
|
+
/** What a candidate would cost: one unit, charged once it is published, kept or discarded. */
|
|
12
|
+
export const candidateQuote = z.strictObject({
|
|
13
|
+
source_run_id: runId,
|
|
14
|
+
root_run_id: runId,
|
|
15
|
+
shot_id: shotId,
|
|
16
|
+
kind: z.enum(["picture", "clip"]),
|
|
17
|
+
operation_mode: z.enum(SHOT_OPERATION_MODES),
|
|
18
|
+
unit: z.enum(["picture", "clip", "clip_with_new_picture"]),
|
|
19
|
+
credits,
|
|
20
|
+
usable_until: z.string().datetime(),
|
|
21
|
+
warnings: z.array(z.string()),
|
|
22
|
+
contract_version: z.string().min(1),
|
|
23
|
+
});
|
|
24
|
+
/** The input a candidate run stores: the request, and what admission resolved for the worker. */
|
|
25
|
+
export const storedCandidateInput = z.strictObject({
|
|
26
|
+
source_run_id: runId,
|
|
27
|
+
...candidateRequest.shape,
|
|
28
|
+
resolved_candidate: z.strictObject({
|
|
29
|
+
root_run_id: runId,
|
|
30
|
+
shot_kind: z.enum(["picture", "clip"]),
|
|
31
|
+
unit: candidateQuote.shape.unit,
|
|
32
|
+
credits,
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
/** The candidates of one family, oldest first, each with its run's state and money. */
|
|
36
|
+
export const runCandidates = z.strictObject({
|
|
37
|
+
run_id: runId,
|
|
38
|
+
root_run_id: runId,
|
|
39
|
+
candidates: z.array(runCandidate.extend({
|
|
40
|
+
run_id: runId,
|
|
41
|
+
state: runState,
|
|
42
|
+
credits_reserved: z.number().int().nonnegative(),
|
|
43
|
+
credits_charged: z.number().int().nonnegative().nullable(),
|
|
44
|
+
created_at: z.string().datetime(),
|
|
45
|
+
finished_at: z.string().datetime().nullable(),
|
|
46
|
+
})),
|
|
47
|
+
contract_version: z.string().min(1),
|
|
48
|
+
});
|
|
49
|
+
// What installed clients parse: kinds, modes, units and states are open strings, and unknown keys are kept.
|
|
50
|
+
export const candidateQuoteRead = candidateQuote.extend({
|
|
51
|
+
kind: z.string().min(1), operation_mode: z.string().min(1), unit: z.string().min(1),
|
|
52
|
+
}).loose();
|
|
53
|
+
const listedCandidate = runCandidates.shape.candidates.element;
|
|
54
|
+
export const runCandidatesRead = runCandidates.extend({
|
|
55
|
+
candidates: z.array(listedCandidate.extend({
|
|
56
|
+
kind: z.string().min(1), operation_mode: z.string().min(1).nullable(), state: z.string().min(1),
|
|
57
|
+
}).loose()),
|
|
58
|
+
}).loose();
|
|
59
|
+
/** The one sentence every client and the docs page state a shot candidate's charge by. */
|
|
60
|
+
export const CANDIDATE_CHARGE_TEXT = "A delivered candidate is charged its one unit whether it is kept or discarded; one that fails is charged nothing, even when its paid work was already done.";
|
|
61
|
+
/** The paths of a run's candidate quote, start and list. The id is encoded, since it comes from the caller. */
|
|
62
|
+
export const runCandidatesQuotePath = (id) => `/v1/runs/${encodeURIComponent(id)}/candidates/quote`;
|
|
63
|
+
export const runCandidatesPath = (id) => `/v1/runs/${encodeURIComponent(id)}/candidates`;
|
|
64
|
+
//# sourceMappingURL=edit-candidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-candidate.js","sourceRoot":"","sources":["../src/edit-candidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1D,8HAA8H;AAC9H,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;CACzC,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;AAEnD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IAC3C,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,OAAO;IACP,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAGH,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,aAAa,EAAE,KAAK;IACpB,GAAG,gBAAgB,CAAC,KAAK;IACzB,kBAAkB,EAAE,CAAC,CAAC,YAAY,CAAC;QACjC,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;QAC/B,OAAO;KACR,CAAC;CACH,CAAC,CAAC;AAGH,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1C,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAChD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KAC9C,CAAC,CAAC;IACH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAGH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpF,CAAC,CAAC,KAAK,EAAE,CAAC;AAGX,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAChG,CAAC,CAAC,KAAK,EAAE,CAAC;CACZ,CAAC,CAAC,KAAK,EAAE,CAAC;AAGX,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAChC,6JAA6J,CAAC;AAEhK,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,YAAY,kBAAkB,CAAC,EAAE,CAAC,mBAAmB,CAAC;AACpH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,YAAY,kBAAkB,CAAC,EAAE,CAAC,aAAa,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { EditRules } from "./edit-rules.js";
|
|
3
|
+
import type { PlannedRunShots } from "./edit-shots.js";
|
|
4
|
+
import type { ResolvedTimeline } from "./resolved-timeline.js";
|
|
5
|
+
import type { AspectRatio } from "./skills.js";
|
|
6
|
+
/** The kinds a long-form timeline holds. Lengths are the composition's own bounds; no operation reads them in S7a. */
|
|
7
|
+
export declare const LONG_FORM_EDIT_RULES: EditRules;
|
|
8
|
+
/** A word as a long-form run stores it, in seconds from the start of its own audio. */
|
|
9
|
+
export declare const longFormWordTimings: z.ZodArray<z.ZodObject<{
|
|
10
|
+
word: z.ZodString;
|
|
11
|
+
startSec: z.ZodNumber;
|
|
12
|
+
endSec: z.ZodNumber;
|
|
13
|
+
}, z.core.$strict>>;
|
|
14
|
+
export type LongFormWordTimings = z.infer<typeof longFormWordTimings>;
|
|
15
|
+
/** Where the presenter's recording of an actor slot is stored: one take per slot, in both modes. */
|
|
16
|
+
export declare const longFormTakeKey: (runId: string, position: number) => string;
|
|
17
|
+
/** The word timings a view needs, by key: each actor slot's own in `segments`, the one narration's in `script_inserts`. */
|
|
18
|
+
export declare function longFormTimingKeys(timeline: ResolvedTimeline): string[];
|
|
19
|
+
/** The canvas of a long-form run: the short side is 1080 at every aspect ratio (`apps/web/remotion/canvas.ts`). */
|
|
20
|
+
export declare function longFormFrame(aspect: AspectRatio): PlannedRunShots["frame"];
|
|
21
|
+
/** The run's words on the output's clock: a segment's words shifted to its slot, or the narration's as they are. */
|
|
22
|
+
export declare function longFormWords(timeline: ResolvedTimeline, timings: ReadonlyMap<string, LongFormWordTimings>): PlannedRunShots["narration"]["words"];
|
|
23
|
+
export interface LongFormShotsContext {
|
|
24
|
+
runId: string;
|
|
25
|
+
frame: PlannedRunShots["frame"];
|
|
26
|
+
editable: PlannedRunShots["editable"];
|
|
27
|
+
lineage: PlannedRunShots["lineage"];
|
|
28
|
+
captions: boolean | null;
|
|
29
|
+
contractVersion: string;
|
|
30
|
+
exposure: {
|
|
31
|
+
descriptions: boolean;
|
|
32
|
+
source_media: boolean;
|
|
33
|
+
};
|
|
34
|
+
/** Signed links by storage key; a key with no link is shown without a picture. */
|
|
35
|
+
previews: ReadonlyMap<string, string>;
|
|
36
|
+
}
|
|
37
|
+
/** The planned view of a long-form run: each actor slot a presenter take, each media slot an insert, together tiling the output. */
|
|
38
|
+
export declare function longFormRunShots(timeline: ResolvedTimeline, words: PlannedRunShots["narration"]["words"], context: LongFormShotsContext): PlannedRunShots;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { completeFrames } from "./media-timebase.js";
|
|
3
|
+
// The shots view of a long-form run (#604 S7a), read from its resolved timeline and its word timings. It is read-only:
|
|
4
|
+
// every shot lists no operation, and the run states `view_only` until long-form editing is built (S7b).
|
|
5
|
+
/** The kinds a long-form timeline holds. Lengths are the composition's own bounds; no operation reads them in S7a. */
|
|
6
|
+
export const LONG_FORM_EDIT_RULES = {
|
|
7
|
+
kinds: {
|
|
8
|
+
picture: { min_frames: 1, max_frames: 100_000, movable: false, resizable: false },
|
|
9
|
+
clip: { min_frames: 1, max_frames: 100_000, movable: false, resizable: false },
|
|
10
|
+
presenter: { min_frames: 1, max_frames: 100_000, movable: false, resizable: false },
|
|
11
|
+
},
|
|
12
|
+
output_coverage: "union", first_visual_kind: null, picture_assets_unique: false, visual_covers_presenter: true,
|
|
13
|
+
add_visual: "over_presenter", reuse_source_asset: false, upload_aspect: null, max_generated_per_revision: 8,
|
|
14
|
+
};
|
|
15
|
+
/** A word as a long-form run stores it, in seconds from the start of its own audio. */
|
|
16
|
+
export const longFormWordTimings = z.array(z.object({ word: z.string().min(1), startSec: z.number().finite().nonnegative(),
|
|
17
|
+
endSec: z.number().finite().nonnegative() }).strict()).min(1).max(10000);
|
|
18
|
+
/** Where the presenter's recording of an actor slot is stored: one take per slot, in both modes. */
|
|
19
|
+
export const longFormTakeKey = (runId, position) => `runs/${runId}/seg${position}/avatar.source.mp4`;
|
|
20
|
+
/** The word timings a view needs, by key: each actor slot's own in `segments`, the one narration's in `script_inserts`. */
|
|
21
|
+
export function longFormTimingKeys(timeline) {
|
|
22
|
+
return timeline.mode === "script_inserts" ? [`runs/${timeline.runId}/timings.json`]
|
|
23
|
+
: timeline.slots.flatMap((slot) => (slot.kind === "actor" ? [`runs/${timeline.runId}/seg${slot.position}/timings.json`] : []));
|
|
24
|
+
}
|
|
25
|
+
/** The canvas of a long-form run: the short side is 1080 at every aspect ratio (`apps/web/remotion/canvas.ts`). */
|
|
26
|
+
export function longFormFrame(aspect) {
|
|
27
|
+
if (aspect === "16:9")
|
|
28
|
+
return { width: 1920, height: 1080, aspect_ratio: aspect };
|
|
29
|
+
if (aspect === "1:1")
|
|
30
|
+
return { width: 1080, height: 1080, aspect_ratio: aspect };
|
|
31
|
+
return { width: 1080, height: 1920, aspect_ratio: aspect };
|
|
32
|
+
}
|
|
33
|
+
/** The run's words on the output's clock: a segment's words shifted to its slot, or the narration's as they are. */
|
|
34
|
+
export function longFormWords(timeline, timings) {
|
|
35
|
+
const keys = longFormTimingKeys(timeline);
|
|
36
|
+
const actors = timeline.slots.filter((slot) => slot.kind === "actor");
|
|
37
|
+
const shifted = keys.flatMap((key, at) => {
|
|
38
|
+
const words = timings.get(key);
|
|
39
|
+
if (!words)
|
|
40
|
+
throw new Error(`the word timings ${key} are missing`);
|
|
41
|
+
const offsetMs = timeline.mode === "segments" ? Math.round((actors[at].startFrame / timeline.fps) * 1000) : 0;
|
|
42
|
+
return words.map((word) => ({ text: word.word, start_ms: offsetMs + Math.round(word.startSec * 1000),
|
|
43
|
+
end_ms: Math.max(offsetMs + Math.round(word.endSec * 1000), offsetMs + Math.round(word.startSec * 1000) + 1) }));
|
|
44
|
+
});
|
|
45
|
+
return shifted.map((word, index) => ({ index, ...word }));
|
|
46
|
+
}
|
|
47
|
+
/** The words a slot shows: those that start inside its frames. */
|
|
48
|
+
function wordRange(words, fps, start, end) {
|
|
49
|
+
const inside = words.filter((word) => word.start_ms * fps >= start * 1000 && word.start_ms * fps < end * 1000);
|
|
50
|
+
return inside.length === 0 ? [null, null] : [inside[0].index, inside.at(-1).index + 1];
|
|
51
|
+
}
|
|
52
|
+
/** The planned view of a long-form run: each actor slot a presenter take, each media slot an insert, together tiling the output. */
|
|
53
|
+
export function longFormRunShots(timeline, words, context) {
|
|
54
|
+
const preview = (key) => (context.exposure.source_media ? context.previews.get(key) ?? null : null);
|
|
55
|
+
const shots = timeline.slots.map((slot, index) => {
|
|
56
|
+
const [first, end] = wordRange(words, timeline.fps, slot.startFrame, slot.endFrame);
|
|
57
|
+
const common = { index, start_frame: slot.startFrame, end_frame: slot.endFrame, first_word: first, end_word: end, description: null,
|
|
58
|
+
operations: [] };
|
|
59
|
+
if (slot.kind === "actor") {
|
|
60
|
+
return { ...common, id: `take-${slot.position}`, track: "presenter", kind: "presenter",
|
|
61
|
+
preview_url: preview(longFormTakeKey(timeline.runId, slot.position)), source: "generated",
|
|
62
|
+
media_frames: slot.endFrame - slot.startFrame, media_offset_frames: 0 };
|
|
63
|
+
}
|
|
64
|
+
const clip = slot.mediaType === "video";
|
|
65
|
+
return { ...common, id: `insert-${slot.position}`, track: "visual", kind: clip ? "clip" : "picture",
|
|
66
|
+
preview_url: preview(slot.key), source: "customer",
|
|
67
|
+
media_frames: clip ? completeFrames(slot.durationSec, timeline.fps) : null, media_offset_frames: clip ? 0 : null };
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
planned: true, run_id: context.runId, line: "long_form",
|
|
71
|
+
frame: context.frame, timebase: { fps: timeline.fps },
|
|
72
|
+
duration_frames: timeline.outputFrames, captions: context.captions,
|
|
73
|
+
narration: { offset_frames: 0, words },
|
|
74
|
+
tracks: [{ id: "presenter", shots: shots.filter((shot) => shot.track === "presenter") },
|
|
75
|
+
{ id: "visual", shots: shots.filter((shot) => shot.track === "visual") }],
|
|
76
|
+
rules: LONG_FORM_EDIT_RULES,
|
|
77
|
+
editable: context.editable, lineage: context.lineage,
|
|
78
|
+
withheld: [...(context.exposure.descriptions ? [] : ["description"]), ...(context.exposure.source_media ? [] : ["source_media"])],
|
|
79
|
+
pricing: null, paid_edits: { enabled: false, reason: "long videos cannot be edited yet" },
|
|
80
|
+
contract_version: context.contractVersion,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=edit-long-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-long-form.js","sourceRoot":"","sources":["../src/edit-long-form.ts"],"names":[],"mappings":"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"}
|
package/dist/edit-shots.d.ts
CHANGED
|
@@ -155,6 +155,7 @@ export declare const plannedRunShots: z.ZodObject<{
|
|
|
155
155
|
editable: "editable";
|
|
156
156
|
expired: "expired";
|
|
157
157
|
not_recorded: "not_recorded";
|
|
158
|
+
view_only: "view_only";
|
|
158
159
|
}>;
|
|
159
160
|
media_available_until: z.ZodNullable<z.ZodString>;
|
|
160
161
|
reason: z.ZodNullable<z.ZodString>;
|
|
@@ -320,6 +321,7 @@ export declare const runShots: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
320
321
|
editable: "editable";
|
|
321
322
|
expired: "expired";
|
|
322
323
|
not_recorded: "not_recorded";
|
|
324
|
+
view_only: "view_only";
|
|
323
325
|
}>;
|
|
324
326
|
media_available_until: z.ZodNullable<z.ZodString>;
|
|
325
327
|
reason: z.ZodNullable<z.ZodString>;
|
package/dist/edit-shots.js
CHANGED
|
@@ -27,7 +27,8 @@ export const plannedRunShots = z.object({
|
|
|
27
27
|
narration: z.object({ offset_frames: frame, words: z.array(word) }),
|
|
28
28
|
tracks: z.array(z.object({ id: z.enum(SHOT_TRACKS), shots: z.array(viewShot) })),
|
|
29
29
|
rules: editRules,
|
|
30
|
-
|
|
30
|
+
// `view_only`: the run's shots are shown, and no draft of them is kept yet (long form, #604 S7a).
|
|
31
|
+
editable: z.object({ state: z.enum(["editable", "view_only", "expired", "not_recorded"]), media_available_until: until, reason: z.string().nullable() }),
|
|
31
32
|
lineage,
|
|
32
33
|
withheld: z.array(z.enum(["description", "source_media"])),
|
|
33
34
|
pricing: editPricing.nullable(),
|
package/dist/edit-shots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-shots.js","sourceRoot":"","sources":["../src/edit-shots.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"edit-shots.js","sourceRoot":"","sources":["../src/edit-shots.ts"],"names":[],"mappings":"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"}
|
package/dist/edit.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export * from "./edit-document.js";
|
|
|
4
4
|
export * from "./edit-shots.js";
|
|
5
5
|
export * from "./edit-validate.js";
|
|
6
6
|
export * from "./edit-faceless.js";
|
|
7
|
+
export * from "./edit-long-form.js";
|
|
7
8
|
export * from "./edit-billing.js";
|
|
8
9
|
export * from "./edit-revision.js";
|
|
10
|
+
export * from "./edit-candidate.js";
|
package/dist/edit.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
// The editor contract in one subpath: rules, operations, the edit document, the shots view, validation, the faceless projection, the revision and its price.
|
|
1
|
+
// The editor contract in one subpath: rules, operations, the edit document, the shots view, validation, the faceless projection, the revision and its price, the shot candidate.
|
|
2
2
|
export * from "./edit-rules.js";
|
|
3
3
|
export * from "./edit-operations.js";
|
|
4
4
|
export * from "./edit-document.js";
|
|
5
5
|
export * from "./edit-shots.js";
|
|
6
6
|
export * from "./edit-validate.js";
|
|
7
7
|
export * from "./edit-faceless.js";
|
|
8
|
+
export * from "./edit-long-form.js";
|
|
8
9
|
export * from "./edit-billing.js";
|
|
9
10
|
export * from "./edit-revision.js";
|
|
11
|
+
export * from "./edit-candidate.js";
|
|
10
12
|
//# sourceMappingURL=edit.js.map
|
package/dist/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../src/edit.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../src/edit.ts"],"names":[],"mappings":"AAAA,iLAAiL;AACjL,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/dist/endpoints.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
export declare const PUBLIC_WORKFLOWS_PATH = "/v1/public/workflows";
|
|
2
|
+
export declare const PUBLIC_WORKFLOW_PATH = "/v1/public/workflows/:id";
|
|
3
|
+
export declare const WORKFLOW_PLANS_PATH = "/v1/workflow-plans";
|
|
4
|
+
export declare const WORKFLOW_PLAN_PATH = "/v1/workflow-plans/:id";
|
|
5
|
+
export declare const WORKFLOW_REVISIONS_PATH = "/v1/workflow-plans/:id/revisions";
|
|
6
|
+
export declare const WORKFLOW_APPROVE_PATH = "/v1/workflow-plans/:id/approve";
|
|
7
|
+
export declare const WORKFLOW_QUOTE_PATH = "/v1/workflow-plans/:id/quote";
|
|
8
|
+
export declare const WORKFLOW_RUN_PATH = "/v1/workflow-plans/:id/run";
|
|
1
9
|
export interface ApiEndpoint {
|
|
2
10
|
method: "GET" | "POST" | "DELETE";
|
|
3
11
|
/** The path in Hono notation: a parameter is `:id`. */
|
package/dist/endpoints.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/** API routes: the API contract test checks them against `app.routes`, and the quickstart */
|
|
2
2
|
/** prints the "what costs money" list from here. */
|
|
3
3
|
import { ACTOR_DEFAULTS_PATH } from "./broll-policy.js";
|
|
4
|
+
export const PUBLIC_WORKFLOWS_PATH = "/v1/public/workflows";
|
|
5
|
+
export const PUBLIC_WORKFLOW_PATH = "/v1/public/workflows/:id";
|
|
6
|
+
export const WORKFLOW_PLANS_PATH = "/v1/workflow-plans";
|
|
7
|
+
export const WORKFLOW_PLAN_PATH = "/v1/workflow-plans/:id";
|
|
8
|
+
export const WORKFLOW_REVISIONS_PATH = "/v1/workflow-plans/:id/revisions";
|
|
9
|
+
export const WORKFLOW_APPROVE_PATH = "/v1/workflow-plans/:id/approve";
|
|
10
|
+
export const WORKFLOW_QUOTE_PATH = "/v1/workflow-plans/:id/quote";
|
|
11
|
+
export const WORKFLOW_RUN_PATH = "/v1/workflow-plans/:id/run";
|
|
4
12
|
export const API_ENDPOINTS = [
|
|
5
13
|
{ method: "POST", path: "/v1/skills/make_faceless/quote", billed: false, onQuickstart: true, jsonBody: true, cabinet: false },
|
|
6
14
|
{ method: "POST", path: "/v1/skills/make_faceless/run", billed: true, onQuickstart: true, jsonBody: true, cabinet: false },
|
|
@@ -14,8 +22,11 @@ export const API_ENDPOINTS = [
|
|
|
14
22
|
{ method: "GET", path: "/v1/runs/:id/shots", billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
15
23
|
{ method: "GET", path: "/v1/runs/:id/edit", billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
16
24
|
{ method: "POST", path: "/v1/runs/:id/edit", billed: false, onQuickstart: false, jsonBody: true, cabinet: true },
|
|
17
|
-
{ method: "POST", path: "/v1/runs/:id/revisions/quote", billed: false, onQuickstart: false, jsonBody: true, cabinet:
|
|
18
|
-
{ method: "POST", path: "/v1/runs/:id/revisions", billed: true, onQuickstart: false, jsonBody: true, cabinet:
|
|
25
|
+
{ method: "POST", path: "/v1/runs/:id/revisions/quote", billed: false, onQuickstart: false, jsonBody: true, cabinet: true },
|
|
26
|
+
{ method: "POST", path: "/v1/runs/:id/revisions", billed: true, onQuickstart: false, jsonBody: true, cabinet: true },
|
|
27
|
+
{ method: "POST", path: "/v1/runs/:id/candidates/quote", billed: false, onQuickstart: false, jsonBody: true, cabinet: true },
|
|
28
|
+
{ method: "POST", path: "/v1/runs/:id/candidates", billed: true, onQuickstart: false, jsonBody: true, cabinet: true },
|
|
29
|
+
{ method: "GET", path: "/v1/runs/:id/candidates", billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
19
30
|
{ method: "POST", path: "/v1/skills/make_ugc/run", billed: true, onQuickstart: true, jsonBody: true, cabinet: false },
|
|
20
31
|
{ method: "GET", path: "/v1/public/skills", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
21
32
|
{ method: "GET", path: "/v1/actors", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
@@ -24,8 +35,17 @@ export const API_ENDPOINTS = [
|
|
|
24
35
|
{ method: "POST", path: ACTOR_DEFAULTS_PATH, billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
25
36
|
{ method: "POST", path: "/v1/skills/create_actor/quote", billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
26
37
|
{ method: "POST", path: "/v1/skills/create_actor/run", billed: true, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
27
|
-
{ method: "POST", path: "/v1/uploads", billed: false, onQuickstart: false, jsonBody: false, cabinet:
|
|
38
|
+
{ method: "POST", path: "/v1/uploads", billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
39
|
+
{ method: "GET", path: "/v1/uploads", billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
28
40
|
{ method: "GET", path: "/internal/portfolio-metrics", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
41
|
+
{ method: "GET", path: PUBLIC_WORKFLOWS_PATH, billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
42
|
+
{ method: "GET", path: PUBLIC_WORKFLOW_PATH, billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
43
|
+
{ method: "POST", path: WORKFLOW_PLANS_PATH, billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
44
|
+
{ method: "GET", path: WORKFLOW_PLAN_PATH, billed: false, onQuickstart: false, jsonBody: false, cabinet: true },
|
|
45
|
+
{ method: "POST", path: WORKFLOW_REVISIONS_PATH, billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
46
|
+
{ method: "POST", path: WORKFLOW_APPROVE_PATH, billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
47
|
+
{ method: "POST", path: WORKFLOW_QUOTE_PATH, billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
|
|
48
|
+
{ method: "POST", path: WORKFLOW_RUN_PATH, billed: true, onQuickstart: false, jsonBody: true, cabinet: false },
|
|
29
49
|
];
|
|
30
50
|
/** `GET /v1/runs/{id}`: the human notation, with the parameter in curly braces. */
|
|
31
51
|
export function endpointLabel(endpoint) {
|
package/dist/endpoints.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,oDAAoD;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
|