@clipwright/core 0.26.0 → 0.27.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 (51) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +5 -0
  3. package/dist/api-failure.d.ts +21 -1
  4. package/dist/api-failure.js +38 -1
  5. package/dist/api-failure.js.map +1 -1
  6. package/dist/edit-document.d.ts +335 -0
  7. package/dist/edit-document.js +110 -0
  8. package/dist/edit-document.js.map +1 -0
  9. package/dist/edit-faceless.d.ts +24 -0
  10. package/dist/edit-faceless.js +39 -0
  11. package/dist/edit-faceless.js.map +1 -0
  12. package/dist/edit-operations.d.ts +34 -0
  13. package/dist/edit-operations.js +13 -0
  14. package/dist/edit-operations.js.map +1 -0
  15. package/dist/edit-primitives.d.ts +8 -0
  16. package/dist/edit-primitives.js +12 -0
  17. package/dist/edit-primitives.js.map +1 -0
  18. package/dist/edit-rules.d.ts +60 -0
  19. package/dist/edit-rules.js +44 -0
  20. package/dist/edit-rules.js.map +1 -0
  21. package/dist/edit-shots.d.ts +548 -0
  22. package/dist/edit-shots.js +61 -0
  23. package/dist/edit-shots.js.map +1 -0
  24. package/dist/edit-validate.d.ts +57 -0
  25. package/dist/edit-validate.js +248 -0
  26. package/dist/edit-validate.js.map +1 -0
  27. package/dist/edit.d.ts +6 -0
  28. package/dist/edit.js +8 -0
  29. package/dist/edit.js.map +1 -0
  30. package/dist/endpoints.d.ts +5 -0
  31. package/dist/endpoints.js +33 -19
  32. package/dist/endpoints.js.map +1 -1
  33. package/dist/errors.d.ts +30 -0
  34. package/dist/errors.js +42 -0
  35. package/dist/errors.js.map +1 -1
  36. package/dist/faceless-media-record.d.ts +100 -0
  37. package/dist/faceless-media-record.js +25 -0
  38. package/dist/faceless-media-record.js.map +1 -0
  39. package/dist/faceless-public-plan.d.ts +1 -0
  40. package/dist/faceless-public-plan.js +2 -1
  41. package/dist/faceless-public-plan.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/uploads.d.ts +4 -2
  46. package/dist/uploads.js +5 -3
  47. package/dist/uploads.js.map +1 -1
  48. package/package.json +5 -1
  49. package/dist/__fixtures__/queue-promises.d.ts +0 -8
  50. package/dist/__fixtures__/queue-promises.js +0 -22
  51. package/dist/__fixtures__/queue-promises.js.map +0 -1
@@ -0,0 +1,248 @@
1
+ import { aspectDistance } from "./aspect.js";
2
+ import { SHOT_OPERATION_MODES } from "./edit-operations.js";
3
+ /** In the order issues are reported. */
4
+ export const EDIT_ISSUE_CODES = [
5
+ "source_mismatch", "timebase_mismatch", "duration_mismatch", "duplicate_shot_id", "span_out_of_range", "kind_changed",
6
+ "shot_added_not_allowed", "too_short", "too_long", "action_not_allowed", "not_movable", "not_resizable", "overlap",
7
+ "tracks_overlap", "uncovered", "first_shot_fixed", "foreign_source_asset", "kind_asset_mismatch", "candidate_for_other_shot",
8
+ "unknown_asset", "upload_shape_refused", "duplicate_picture_asset", "too_many_generated", "footage_exceeded",
9
+ "presenter_out_of_sync", "presenter_outside_recording",
10
+ ];
11
+ const spanOf = (shot) => ({ start: shot.start_frame, end: shot.end_frame });
12
+ const framesOf = (shot) => shot.end_frame - shot.start_frame;
13
+ const overlapOf = (a, b) => ({ start: Math.max(a.start_frame, b.start_frame), end: Math.min(a.end_frame, b.end_frame) });
14
+ const overlaps = (a, b) => a.start_frame < b.end_frame && b.start_frame < a.end_frame;
15
+ /** Sorted, merged union; empty and inverted spans drop out. */
16
+ function union(spans) {
17
+ const merged = [];
18
+ for (const span of spans.filter(s => s.end > s.start).sort((a, b) => a.start - b.start)) {
19
+ const last = merged.at(-1);
20
+ if (last && span.start <= last.end)
21
+ last.end = Math.max(last.end, span.end);
22
+ else
23
+ merged.push({ ...span });
24
+ }
25
+ return merged;
26
+ }
27
+ /** Frames two unions share. */
28
+ function sharedFrames(a, b) {
29
+ let frames = 0;
30
+ for (const x of a)
31
+ for (const y of b)
32
+ frames += Math.max(0, Math.min(x.end, y.end) - Math.max(x.start, y.start));
33
+ return frames;
34
+ }
35
+ const sourceShots = (shots) => new Map(shots.tracks.flatMap(track => track.shots).map(shot => [shot.id, shot]));
36
+ const own = (record, key) => Object.hasOwn(record, key) ? record[key] : undefined;
37
+ const offsetOf = (shot, source) => shot.media_offset_frames ?? source?.media_offset_frames ?? 0;
38
+ const retimed = (shot, source) => shot.start_frame !== source.start_frame ||
39
+ shot.end_frame !== source.end_frame || offsetOf(shot, source) !== (source.media_offset_frames ?? 0);
40
+ /** The one check that reads the output's shape, and only its ratio. */
41
+ function uploadShapeIssue(frame, upload, rule) {
42
+ const distance = aspectDistance(upload.width / upload.height, frame.width / frame.height);
43
+ return distance <= rule.max_distance ? null
44
+ : `the upload is ${upload.width}×${upload.height}, ${Math.round(distance * 100)}% away from the output's shape; ` +
45
+ `at most ${Math.round(rule.max_distance * 100)}% is accepted`;
46
+ }
47
+ /** Presenter frames no visual shot covers. */
48
+ export function presenterVisibleFrames(shots) {
49
+ const all = shots.tracks.flatMap(track => track.shots);
50
+ const presenter = union(all.filter(shot => shot.track === "presenter").map(spanOf));
51
+ const visual = union(all.filter(shot => shot.track === "visual").map(spanOf));
52
+ return presenter.reduce((sum, span) => sum + span.end - span.start, 0) - sharedFrames(presenter, visual);
53
+ }
54
+ export function diffEditDocument(document, shots) {
55
+ const source = sourceShots(shots);
56
+ const present = new Set(document.shots.map(shot => shot.id));
57
+ const summary = { retimed: [], deleted: [...source.keys()].filter(id => !present.has(id)), added: [],
58
+ replaced: [], generated: [], changed: false };
59
+ for (const shot of document.shots) {
60
+ const from = source.get(shot.id);
61
+ if (!from)
62
+ summary.added.push(shot.id);
63
+ else if (retimed(shot, from))
64
+ summary.retimed.push(shot.id);
65
+ if (shot.asset.from === "candidate" || shot.asset.from === "upload")
66
+ summary.replaced.push({ shot_id: shot.id, from: shot.asset.from });
67
+ if (shot.asset.from === "generate")
68
+ summary.generated.push({ shot_id: shot.id, kind: shot.kind, mode: shot.asset.operation.mode });
69
+ }
70
+ summary.changed = [summary.retimed, summary.deleted, summary.added, summary.replaced, summary.generated].some(list => list.length > 0);
71
+ return summary;
72
+ }
73
+ /** Checks a document against the view it edits. Every issue is collected; the rules come from the view. */
74
+ export function validateEditDocument(document, shots, facts) {
75
+ const issues = [];
76
+ const add = (code, message, where = {}) => {
77
+ issues.push({ code, ...where, message });
78
+ };
79
+ const rules = shots.rules, duration = shots.duration_frames;
80
+ const source = sourceShots(shots);
81
+ const laid = document.shots.filter(shot => shot.end_frame > shot.start_frame);
82
+ const presenterShots = laid.filter(shot => shot.track === "presenter");
83
+ const visualShots = laid.filter(shot => shot.track === "visual");
84
+ const presenterTime = union(presenterShots.map(spanOf));
85
+ if (document.source_run_id !== shots.run_id)
86
+ add("source_mismatch", `the document edits ${document.source_run_id}, the run is ${shots.run_id}`);
87
+ if (document.timebase.fps !== shots.timebase.fps)
88
+ add("timebase_mismatch", `the run is ${shots.timebase.fps} fps, the document says ${document.timebase.fps}`);
89
+ if (document.duration_frames !== duration)
90
+ add("duration_mismatch", `the run is ${duration} frames long, the document says ${document.duration_frames}`);
91
+ const ids = new Set(), repeated = new Set();
92
+ for (const shot of document.shots)
93
+ (ids.has(shot.id) ? repeated : ids).add(shot.id);
94
+ for (const id of repeated)
95
+ add("duplicate_shot_id", "two shots share this id", { shot_id: id });
96
+ const pictureAssets = new Set();
97
+ let generated = 0;
98
+ for (const shot of document.shots) {
99
+ const from = source.get(shot.id), at = { shot_id: shot.id }, frames = framesOf(shot), asset = shot.asset;
100
+ const rule = rules.kinds[shot.kind];
101
+ const denied = [], mismatched = [];
102
+ if (shot.end_frame <= shot.start_frame || shot.end_frame > duration)
103
+ add("span_out_of_range", `a shot must end after it starts and by frame ${duration}`, at);
104
+ if (from && (shot.kind !== from.kind || shot.track !== from.track))
105
+ add("kind_changed", `this shot is a ${from.kind} on the ${from.track} track`, at);
106
+ if (!from && (rules.add_visual === "never" || shot.track !== "visual" ||
107
+ !presenterTime.some(span => span.start <= shot.start_frame && shot.end_frame <= span.end))) {
108
+ add("shot_added_not_allowed", rules.add_visual === "never" ? "this timeline takes no new shots"
109
+ : "a new shot must be a visual shot lying wholly inside presenter time", at);
110
+ }
111
+ if (!rule)
112
+ add("too_short", "this kind is not allowed here", at);
113
+ else if (frames < rule.min_frames)
114
+ add("too_short", `a ${shot.kind} lasts at least ${rule.min_frames} frames, this one ${frames}`, at);
115
+ else if (frames > rule.max_frames)
116
+ add("too_long", `a ${shot.kind} lasts at most ${rule.max_frames} frames, this one ${frames}`, at);
117
+ if (from) {
118
+ const offered = new Set(from.operations);
119
+ if (asset.from === "generate" && !offered.has(asset.operation.mode))
120
+ denied.push(`${asset.operation.mode} is not offered for this shot`);
121
+ if (asset.from === "upload" && !offered.has("upload"))
122
+ denied.push("this shot takes no upload");
123
+ if (asset.from === "candidate" && !SHOT_OPERATION_MODES.some(mode => offered.has(mode)))
124
+ denied.push("this shot takes no generated candidate");
125
+ if (retimed(shot, from) && !offered.has("retime"))
126
+ denied.push("this shot may not be retimed");
127
+ if (shot.start_frame !== from.start_frame && rule && !rule.movable)
128
+ add("not_movable", `a ${shot.kind} keeps its start frame, ${from.start_frame}`, at);
129
+ if (frames !== framesOf(from) && rule && !rule.resizable)
130
+ add("not_resizable", `a ${shot.kind} keeps its length, ${framesOf(from)} frames`, at);
131
+ }
132
+ else if (shot.track === "visual") {
133
+ const uncoverable = presenterShots.find(presenter => overlaps(presenter, shot) && !source.get(presenter.id)?.operations.includes("cover"));
134
+ if (uncoverable)
135
+ denied.push(`presenter shot ${uncoverable.id} may not be covered`);
136
+ }
137
+ if (denied.length)
138
+ add("action_not_allowed", denied.join("; "), at);
139
+ let footage = null;
140
+ if (asset.from === "source") {
141
+ const named = source.get(asset.shot_id);
142
+ if (!named)
143
+ add("unknown_asset", `the run has no shot ${asset.shot_id}`, at);
144
+ else if (asset.shot_id !== shot.id && !rules.reuse_source_asset)
145
+ add("foreign_source_asset", `shot ${asset.shot_id}'s media may not be reused here`, at);
146
+ footage = named?.media_frames ?? null;
147
+ }
148
+ else if (asset.from === "candidate") {
149
+ const fact = own(facts.candidates, asset.run_id);
150
+ if (!fact)
151
+ add("unknown_asset", `${asset.run_id} is not a candidate of this run`, at);
152
+ else {
153
+ if (fact.shot_id !== shot.id)
154
+ add("candidate_for_other_shot", `${asset.run_id} was made for shot ${fact.shot_id}`, at);
155
+ if (fact.kind !== shot.kind)
156
+ mismatched.push(`the candidate is a ${fact.kind}, the shot a ${shot.kind}`);
157
+ footage = fact.media_frames;
158
+ }
159
+ }
160
+ else if (asset.from === "upload") {
161
+ const fact = own(facts.uploads, asset.upload_id);
162
+ if (!fact)
163
+ add("unknown_asset", `${asset.upload_id} is not an upload of this account`, at);
164
+ const refusal = fact && rules.upload_aspect ? uploadShapeIssue(shots.frame, fact, rules.upload_aspect) : null;
165
+ if (refusal)
166
+ add("upload_shape_refused", refusal, at);
167
+ if (shot.kind !== "picture")
168
+ mismatched.push("only a picture takes an upload");
169
+ }
170
+ else {
171
+ generated++;
172
+ if (asset.operation.mode === "animate" && shot.kind !== "clip")
173
+ mismatched.push("only a clip is animated");
174
+ if (!from && asset.operation.mode !== "new_picture")
175
+ mismatched.push(`a new shot has nothing to ${asset.operation.mode}`);
176
+ }
177
+ if ((shot.track === "presenter" || shot.kind === "presenter") && asset.from !== "source")
178
+ mismatched.push("a presenter shot keeps its own recording");
179
+ if (mismatched.length)
180
+ add("kind_asset_mismatch", mismatched.join("; "), at);
181
+ if (rules.picture_assets_unique && shot.kind === "picture" && asset.from !== "generate") {
182
+ const key = `${asset.from}:${asset.from === "source" ? asset.shot_id : asset.from === "candidate" ? asset.run_id : asset.upload_id}`;
183
+ if (pictureAssets.has(key))
184
+ add("duplicate_picture_asset", "another picture already shows this image", at);
185
+ pictureAssets.add(key);
186
+ }
187
+ const offset = offsetOf(shot, from);
188
+ if (shot.kind === "clip" && footage !== null && offset + frames > footage) {
189
+ add("footage_exceeded", `the clip has ${footage} frames of footage, the shot asks for ${offset + frames}`, at);
190
+ }
191
+ if (shot.track === "presenter" && from) {
192
+ const synced = (from.media_offset_frames ?? 0) + (shot.start_frame - from.start_frame);
193
+ if (offset !== synced)
194
+ add("presenter_out_of_sync", `at this start the recording plays from frame ${synced}, not ${offset}`, at);
195
+ if (from.media_frames !== null && offset + frames > from.media_frames) {
196
+ add("presenter_outside_recording", `the recording has ${from.media_frames} frames, the shot asks for ${offset + frames}`, at);
197
+ }
198
+ }
199
+ }
200
+ for (const [id, shot] of source) {
201
+ if (!ids.has(id) && !shot.operations.includes("delete"))
202
+ add("action_not_allowed", "this shot may not be deleted", { shot_id: id });
203
+ }
204
+ for (const track of [visualShots, presenterShots]) {
205
+ let reach;
206
+ for (const shot of [...track].sort((a, b) => a.start_frame - b.start_frame)) {
207
+ if (reach && shot.start_frame < reach.end_frame) {
208
+ const shared = overlapOf(reach, shot);
209
+ add("overlap", `overlaps shot ${reach.id}`, { shot_id: shot.id, from_frame: shared.start, to_frame: shared.end });
210
+ }
211
+ if (!reach || shot.end_frame > reach.end_frame)
212
+ reach = shot;
213
+ }
214
+ }
215
+ if (!rules.visual_covers_presenter) {
216
+ for (const visual of visualShots)
217
+ for (const presenter of presenterShots.filter(shot => overlaps(visual, shot))) {
218
+ const shared = overlapOf(visual, presenter);
219
+ add("tracks_overlap", `covers presenter shot ${presenter.id}`, { shot_id: visual.id, from_frame: shared.start, to_frame: shared.end });
220
+ }
221
+ }
222
+ const covering = rules.output_coverage === "visual" ? visualShots : [...visualShots, ...presenterShots];
223
+ let covered = 0;
224
+ for (const span of [...union(covering.map(spanOf)), { start: duration, end: duration }]) {
225
+ if (span.start > covered && covered < duration) {
226
+ add("uncovered", "no shot is on screen here", { from_frame: covered, to_frame: Math.min(span.start, duration) });
227
+ }
228
+ covered = Math.max(covered, span.end);
229
+ }
230
+ if (rules.first_visual_kind !== null) {
231
+ const earliest = (list) => list.filter(shot => shot.track === "visual")
232
+ .reduce((first, shot) => !first || shot.start_frame < first.start_frame ? shot : first, undefined);
233
+ const was = earliest([...source.values()]), now = earliest(document.shots), subject = was ?? now;
234
+ if (subject && (now?.id !== was?.id || now?.kind !== rules.first_visual_kind)) {
235
+ add("first_shot_fixed", `the video opens with its own ${rules.first_visual_kind}`, { shot_id: subject.id });
236
+ }
237
+ }
238
+ if (generated > rules.max_generated_per_revision) {
239
+ add("too_many_generated", `a revision generates at most ${rules.max_generated_per_revision} shots, this one asks for ${generated}`);
240
+ }
241
+ if (!issues.length)
242
+ return { ok: true, summary: diffEditDocument(document, shots) };
243
+ const order = (issue) => EDIT_ISSUE_CODES.indexOf(issue.code);
244
+ const idOf = (issue) => issue.shot_id ?? "";
245
+ issues.sort((a, b) => order(a) - order(b) || (idOf(a) < idOf(b) ? -1 : idOf(a) > idOf(b) ? 1 : 0));
246
+ return { ok: false, issues };
247
+ }
248
+ //# sourceMappingURL=edit-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-validate.js","sourceRoot":"","sources":["../src/edit-validate.ts"],"names":[],"mappings":"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"}
package/dist/edit.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export * from "./edit-rules.js";
2
+ export * from "./edit-operations.js";
3
+ export * from "./edit-document.js";
4
+ export * from "./edit-shots.js";
5
+ export * from "./edit-validate.js";
6
+ export * from "./edit-faceless.js";
package/dist/edit.js ADDED
@@ -0,0 +1,8 @@
1
+ // The editor contract in one subpath: rules, operations, the edit document, the shots view, validation, the faceless projection.
2
+ export * from "./edit-rules.js";
3
+ export * from "./edit-operations.js";
4
+ export * from "./edit-document.js";
5
+ export * from "./edit-shots.js";
6
+ export * from "./edit-validate.js";
7
+ export * from "./edit-faceless.js";
8
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../src/edit.ts"],"names":[],"mappings":"AAAA,iIAAiI;AACjI,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -8,8 +8,13 @@ export interface ApiEndpoint {
8
8
  onQuickstart: boolean;
9
9
  /** Whether the route parses the body as JSON. `POST /v1/uploads` takes bytes. */
10
10
  jsonBody: boolean;
11
+ /** Whether the cabinet may call it on a user's behalf. */
12
+ cabinet: boolean;
11
13
  }
12
14
  export declare const API_ENDPOINTS: readonly ApiEndpoint[];
13
15
  /** `GET /v1/runs/{id}`: the human notation, with the parameter in curly braces. */
14
16
  export declare function endpointLabel(endpoint: ApiEndpoint): string;
17
+ /** The row a request falls on, or `null`. Exact on purpose: the method as HTTP spells it (upper case) and the pathname alone,
18
+ * so a path with a query string matches no row; a caller that binds the query (the cabinet assertion) splits it off first. */
19
+ export declare function matchEndpoint(method: string, path: string): ApiEndpoint | null;
15
20
  export declare const QUICKSTART_ENDPOINTS: readonly ApiEndpoint[];
package/dist/endpoints.js CHANGED
@@ -2,29 +2,43 @@
2
2
  /** prints the "what costs money" list from here. */
3
3
  import { ACTOR_DEFAULTS_PATH } from "./broll-policy.js";
4
4
  export const API_ENDPOINTS = [
5
- { method: "POST", path: "/v1/skills/make_faceless/quote", billed: false, onQuickstart: false, jsonBody: true },
6
- { method: "POST", path: "/v1/skills/make_faceless/run", billed: true, onQuickstart: false, jsonBody: true },
7
- { method: "GET", path: "/health", billed: false, onQuickstart: true, jsonBody: false },
8
- { method: "GET", path: "/", billed: false, onQuickstart: false, jsonBody: false },
9
- { method: "GET", path: "/robots.txt", billed: false, onQuickstart: false, jsonBody: false },
10
- { method: "GET", path: "/v1/voices", billed: false, onQuickstart: true, jsonBody: false },
11
- { method: "GET", path: "/v1/account", billed: false, onQuickstart: true, jsonBody: false },
12
- { method: "POST", path: "/v1/skills/make_ugc/quote", billed: false, onQuickstart: true, jsonBody: true },
13
- { method: "GET", path: "/v1/runs/:id", billed: false, onQuickstart: true, jsonBody: false },
14
- { method: "POST", path: "/v1/skills/make_ugc/run", billed: true, onQuickstart: true, jsonBody: true },
15
- { method: "GET", path: "/v1/public/skills", billed: false, onQuickstart: false, jsonBody: false },
16
- { method: "GET", path: "/v1/actors", billed: false, onQuickstart: false, jsonBody: false },
17
- { method: "DELETE", path: "/v1/actors/:id", billed: false, onQuickstart: false, jsonBody: false },
18
- { method: "GET", path: ACTOR_DEFAULTS_PATH, billed: false, onQuickstart: false, jsonBody: false },
19
- { method: "POST", path: ACTOR_DEFAULTS_PATH, billed: false, onQuickstart: false, jsonBody: true },
20
- { method: "POST", path: "/v1/skills/create_actor/quote", billed: false, onQuickstart: false, jsonBody: true },
21
- { method: "POST", path: "/v1/skills/create_actor/run", billed: true, onQuickstart: false, jsonBody: true },
22
- { method: "POST", path: "/v1/uploads", billed: false, onQuickstart: false, jsonBody: false },
23
- { method: "GET", path: "/internal/portfolio-metrics", billed: false, onQuickstart: false, jsonBody: false },
5
+ { method: "POST", path: "/v1/skills/make_faceless/quote", billed: false, onQuickstart: true, jsonBody: true, cabinet: false },
6
+ { method: "POST", path: "/v1/skills/make_faceless/run", billed: true, onQuickstart: true, jsonBody: true, cabinet: false },
7
+ { method: "GET", path: "/health", billed: false, onQuickstart: true, jsonBody: false, cabinet: false },
8
+ { method: "GET", path: "/", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
9
+ { method: "GET", path: "/robots.txt", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
10
+ { method: "GET", path: "/v1/voices", billed: false, onQuickstart: true, jsonBody: false, cabinet: false },
11
+ { method: "GET", path: "/v1/account", billed: false, onQuickstart: true, jsonBody: false, cabinet: false },
12
+ { method: "POST", path: "/v1/skills/make_ugc/quote", billed: false, onQuickstart: true, jsonBody: true, cabinet: false },
13
+ { method: "GET", path: "/v1/runs/:id", billed: false, onQuickstart: true, jsonBody: false, cabinet: false },
14
+ { method: "GET", path: "/v1/runs/:id/shots", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
15
+ { method: "GET", path: "/v1/runs/:id/edit", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
16
+ { method: "POST", path: "/v1/runs/:id/edit", billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
17
+ { method: "POST", path: "/v1/skills/make_ugc/run", billed: true, onQuickstart: true, jsonBody: true, cabinet: false },
18
+ { method: "GET", path: "/v1/public/skills", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
19
+ { method: "GET", path: "/v1/actors", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
20
+ { method: "DELETE", path: "/v1/actors/:id", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
21
+ { method: "GET", path: ACTOR_DEFAULTS_PATH, billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
22
+ { method: "POST", path: ACTOR_DEFAULTS_PATH, billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
23
+ { method: "POST", path: "/v1/skills/create_actor/quote", billed: false, onQuickstart: false, jsonBody: true, cabinet: false },
24
+ { method: "POST", path: "/v1/skills/create_actor/run", billed: true, onQuickstart: false, jsonBody: true, cabinet: false },
25
+ { method: "POST", path: "/v1/uploads", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
26
+ { method: "GET", path: "/internal/portfolio-metrics", billed: false, onQuickstart: false, jsonBody: false, cabinet: false },
24
27
  ];
25
28
  /** `GET /v1/runs/{id}`: the human notation, with the parameter in curly braces. */
26
29
  export function endpointLabel(endpoint) {
27
30
  return `${endpoint.method} ${endpoint.path.replace(/:(\w+)/g, "{$1}")}`;
28
31
  }
32
+ /** The row a request falls on, or `null`. Exact on purpose: the method as HTTP spells it (upper case) and the pathname alone,
33
+ * so a path with a query string matches no row; a caller that binds the query (the cabinet assertion) splits it off first. */
34
+ export function matchEndpoint(method, path) {
35
+ const segments = path.split("/");
36
+ return API_ENDPOINTS.find((endpoint) => {
37
+ const pattern = endpoint.path.split("/");
38
+ return endpoint.method === method && pattern.length === segments.length &&
39
+ // A parameter is one plain identifier: a dot segment or a percent escape would name another path to a router.
40
+ pattern.every((part, index) => (part.startsWith(":") ? /^[A-Za-z0-9_-]+$/.test(segments[index]) : part === segments[index]));
41
+ }) ?? null;
42
+ }
29
43
  export const QUICKSTART_ENDPOINTS = API_ENDPOINTS.filter((endpoint) => endpoint.onQuickstart);
30
44
  //# sourceMappingURL=endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -108,6 +108,36 @@ export declare function scriptEncodingLostBody(args: {
108
108
  paths: readonly string[];
109
109
  charCount: number;
110
110
  }): ScriptEncodingLostError;
111
+ /** A save of a draft lost to a newer one: `version` is what is stored now, 0 when nothing is. */
112
+ export declare const editConflictError: z.ZodObject<{
113
+ error: z.ZodObject<{
114
+ code: z.ZodLiteral<"edit_conflict">;
115
+ message: z.ZodString;
116
+ version: z.ZodNumber;
117
+ }, z.core.$strip>;
118
+ }, z.core.$strip>;
119
+ export type EditConflictError = z.infer<typeof editConflictError>;
120
+ /** Builds the "the draft moved on" body. Nothing was stored. */
121
+ export declare function editConflictBody(args: {
122
+ baseVersion: number;
123
+ version: number;
124
+ }): EditConflictError;
125
+ /** The run has no draft to read or to save: `state` and `reason` are the ones its shots state. */
126
+ export declare const runNotEditableError: z.ZodObject<{
127
+ error: z.ZodObject<{
128
+ code: z.ZodLiteral<"run_not_editable">;
129
+ message: z.ZodString;
130
+ state: z.ZodString;
131
+ reason: z.ZodNullable<z.ZodString>;
132
+ }, z.core.$strip>;
133
+ }, z.core.$strip>;
134
+ export type RunNotEditableError = z.infer<typeof runNotEditableError>;
135
+ /** Builds the "this run cannot be edited" body. Nothing was stored. */
136
+ export declare function runNotEditableBody(args: {
137
+ runId: string;
138
+ state: string;
139
+ reason: string | null;
140
+ }): RunNotEditableError;
111
141
  /** Keeps the tool description's promise ("refused before any charge"): an unusable */
112
142
  /** source is refused, not estimated. */
113
143
  export declare function unusableSourceMessage(errorClass: string, detail: string): string;
package/dist/errors.js CHANGED
@@ -170,6 +170,46 @@ export function scriptEncodingLostBody(args) {
170
170
  },
171
171
  });
172
172
  }
173
+ /** A save of a draft lost to a newer one: `version` is what is stored now, 0 when nothing is. */
174
+ export const editConflictError = z.object({
175
+ error: z.object({
176
+ code: z.literal("edit_conflict"),
177
+ message: z.string().min(1),
178
+ version: z.number().int().nonnegative(),
179
+ }),
180
+ });
181
+ /** Builds the "the draft moved on" body. Nothing was stored. */
182
+ export function editConflictBody(args) {
183
+ return editConflictError.parse({
184
+ error: {
185
+ code: "edit_conflict",
186
+ message: `the draft is at version ${args.version}, this save was written against version ${args.baseVersion}. ` +
187
+ "Nothing was stored. Read the draft, apply the change to it and save with its version.",
188
+ version: args.version,
189
+ },
190
+ });
191
+ }
192
+ /** The run has no draft to read or to save: `state` and `reason` are the ones its shots state. */
193
+ export const runNotEditableError = z.object({
194
+ error: z.object({
195
+ code: z.literal("run_not_editable"),
196
+ message: z.string().min(1),
197
+ state: z.string().min(1),
198
+ reason: z.string().min(1).nullable(),
199
+ }),
200
+ });
201
+ /** Builds the "this run cannot be edited" body. Nothing was stored. */
202
+ export function runNotEditableBody(args) {
203
+ return runNotEditableError.parse({
204
+ error: {
205
+ code: "run_not_editable",
206
+ message: `run ${args.runId} cannot be edited (${args.state})${args.reason === null ? "" : `: ${args.reason}`}. ` +
207
+ "Nothing was stored.",
208
+ state: args.state,
209
+ reason: args.reason,
210
+ },
211
+ });
212
+ }
173
213
  /** Keeps the tool description's promise ("refused before any charge"): an unusable */
174
214
  /** source is refused, not estimated. */
175
215
  export function unusableSourceMessage(errorClass, detail) {
@@ -215,6 +255,8 @@ export const API_ERROR_CODES = [
215
255
  insufficientCreditsError.shape.error.shape.code.value,
216
256
  debtOutstandingError.shape.error.shape.code.value,
217
257
  accountNotAdmittedError.shape.error.shape.code.value,
258
+ editConflictError.shape.error.shape.code.value,
259
+ runNotEditableError.shape.error.shape.code.value,
218
260
  rateLimitedError.shape.error.shape.code.value,
219
261
  actorCreationLimitedError.shape.error.shape.code.value,
220
262
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}