@clipwright/core 0.18.0 → 0.20.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 +44 -0
- package/dist/__fixtures__/queue-promises.d.ts +5 -84
- package/dist/__fixtures__/queue-promises.js +7 -84
- package/dist/__fixtures__/queue-promises.js.map +1 -1
- package/dist/account-actors.d.ts +25 -25
- package/dist/account-actors.js +25 -25
- package/dist/account-actors.js.map +1 -1
- package/dist/account.d.ts +4 -10
- package/dist/account.js +6 -12
- package/dist/account.js.map +1 -1
- package/dist/actor-bounds.d.ts +4 -4
- package/dist/actor-bounds.js +4 -4
- package/dist/actor-bounds.js.map +1 -1
- package/dist/actor-qualities.d.ts +3 -3
- package/dist/actor-qualities.js +3 -3
- package/dist/actor-qualities.js.map +1 -1
- package/dist/actors.d.ts +8 -8
- package/dist/actors.js +9 -9
- package/dist/actors.js.map +1 -1
- package/dist/api-failure.d.ts +28 -129
- package/dist/api-failure.js +52 -225
- package/dist/api-failure.js.map +1 -1
- package/dist/aspect.d.ts +26 -96
- package/dist/aspect.js +32 -108
- package/dist/aspect.js.map +1 -1
- package/dist/contract-dispositions.d.ts +42 -167
- package/dist/contract-dispositions.js +54 -184
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/endpoints.d.ts +5 -5
- package/dist/endpoints.js +3 -3
- package/dist/endpoints.js.map +1 -1
- package/dist/errors.d.ts +33 -101
- package/dist/errors.js +42 -108
- package/dist/errors.js.map +1 -1
- package/dist/faceless-cut-style.d.ts +115 -0
- package/dist/faceless-cut-style.js +109 -0
- package/dist/faceless-cut-style.js.map +1 -0
- package/dist/faceless-image-qualification.d.ts +97 -0
- package/dist/faceless-image-qualification.js +145 -0
- package/dist/faceless-image-qualification.js.map +1 -0
- package/dist/faceless-short-61.d.ts +83 -0
- package/dist/faceless-short-61.js +152 -0
- package/dist/faceless-short-61.js.map +1 -0
- package/dist/faceless-storyboard-timing.d.ts +40 -0
- package/dist/faceless-storyboard-timing.js +97 -0
- package/dist/faceless-storyboard-timing.js.map +1 -0
- package/dist/faceless-storyboard-v2-plan.d.ts +3 -0
- package/dist/faceless-storyboard-v2-plan.js +112 -0
- package/dist/faceless-storyboard-v2-plan.js.map +1 -0
- package/dist/faceless-storyboard-v2-timing.d.ts +52 -0
- package/dist/faceless-storyboard-v2-timing.js +136 -0
- package/dist/faceless-storyboard-v2-timing.js.map +1 -0
- package/dist/faceless-storyboard-v2.d.ts +44 -0
- package/dist/faceless-storyboard-v2.js +43 -0
- package/dist/faceless-storyboard-v2.js.map +1 -0
- package/dist/faceless-storyboard.d.ts +55 -0
- package/dist/faceless-storyboard.js +105 -0
- package/dist/faceless-storyboard.js.map +1 -0
- package/dist/idempotency.d.ts +8 -44
- package/dist/idempotency.js +10 -44
- package/dist/idempotency.js.map +1 -1
- package/dist/index.js +21 -25
- package/dist/index.js.map +1 -1
- package/dist/long-form-pricing.d.ts +4 -4
- package/dist/long-form-pricing.js +4 -4
- package/dist/long-form-pricing.js.map +1 -1
- package/dist/long-form-profile.d.ts +2 -2
- package/dist/long-form-profile.js +2 -2
- package/dist/long-form-profile.js.map +1 -1
- package/dist/pacing.d.ts +1 -1
- package/dist/pacing.js +1 -1
- package/dist/pacing.js.map +1 -1
- package/dist/public-endpoints.d.ts +9 -11
- package/dist/public-endpoints.js +11 -13
- package/dist/public-endpoints.js.map +1 -1
- package/dist/rate-limit.d.ts +23 -130
- package/dist/rate-limit.js +27 -132
- package/dist/rate-limit.js.map +1 -1
- package/dist/render-backend.d.ts +30 -145
- package/dist/render-backend.js +4 -27
- package/dist/render-backend.js.map +1 -1
- package/dist/run-preflight.d.ts +4 -4
- package/dist/run-preflight.js +10 -10
- package/dist/run-preflight.js.map +1 -1
- package/dist/run-static-warnings.d.ts +8 -8
- package/dist/run-static-warnings.js +24 -24
- package/dist/run-static-warnings.js.map +1 -1
- package/dist/runs.d.ts +18 -55
- package/dist/runs.js +26 -94
- package/dist/runs.js.map +1 -1
- package/dist/script-integrity.d.ts +6 -7
- package/dist/script-integrity.js +7 -8
- package/dist/script-integrity.js.map +1 -1
- package/dist/semantic-inserts.d.ts +4 -4
- package/dist/semantic-inserts.js +6 -6
- package/dist/semantic-inserts.js.map +1 -1
- package/dist/skills.d.ts +33 -107
- package/dist/skills.js +72 -161
- package/dist/skills.js.map +1 -1
- package/dist/tts-backend.d.ts +13 -42
- package/dist/tts-backend.js +2 -10
- package/dist/tts-backend.js.map +1 -1
- package/dist/uploads.d.ts +4 -4
- package/dist/uploads.js +4 -4
- package/dist/uploads.js.map +1 -1
- package/dist/vendor-response.d.ts +17 -80
- package/dist/vendor-response.js +19 -67
- package/dist/vendor-response.js.map +1 -1
- package/dist/voice-admission.d.ts +5 -5
- package/dist/voice-admission.js +6 -6
- package/dist/voice-admission.js.map +1 -1
- package/dist/voice-catalog-data.d.ts +2 -2
- package/dist/voice-catalog-data.js +2 -2
- package/dist/voice-catalog-data.js.map +1 -1
- package/dist/voice-catalog.d.ts +5 -5
- package/dist/voice-catalog.js +6 -6
- package/dist/voice-catalog.js.map +1 -1
- package/dist/voice-listing.d.ts +4 -4
- package/dist/voice-listing.js +6 -6
- package/dist/voice-listing.js.map +1 -1
- package/dist/voices.d.ts +40 -82
- package/dist/voices.js +56 -99
- package/dist/voices.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faceless-storyboard-v2-timing.js","sourceRoot":"","sources":["../src/faceless-storyboard-v2-timing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const proposal: z.ZodObject<{
|
|
3
|
+
version: z.ZodLiteral<"faceless_storyboard_61_v2">;
|
|
4
|
+
premise: z.ZodString;
|
|
5
|
+
script: z.ZodString;
|
|
6
|
+
provenance: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
7
|
+
kind: z.ZodLiteral<"fixture">;
|
|
8
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
9
|
+
kind: z.ZodLiteral<"model">;
|
|
10
|
+
model: z.ZodString;
|
|
11
|
+
promptSha256: z.ZodString;
|
|
12
|
+
responseSha256: z.ZodString;
|
|
13
|
+
}, z.core.$strict>], "kind">;
|
|
14
|
+
beats: z.ZodArray<z.ZodObject<{
|
|
15
|
+
id: z.ZodString;
|
|
16
|
+
wordStart: z.ZodNumber;
|
|
17
|
+
wordEnd: z.ZodNumber;
|
|
18
|
+
reason: z.ZodEnum<{
|
|
19
|
+
action: "action";
|
|
20
|
+
emphasis: "emphasis";
|
|
21
|
+
place: "place";
|
|
22
|
+
reveal: "reveal";
|
|
23
|
+
}>;
|
|
24
|
+
mediaType: z.ZodEnum<{
|
|
25
|
+
image: "image";
|
|
26
|
+
video: "video";
|
|
27
|
+
}>;
|
|
28
|
+
visualPrompt: z.ZodString;
|
|
29
|
+
phase: z.ZodEnum<{
|
|
30
|
+
climax: "climax";
|
|
31
|
+
development: "development";
|
|
32
|
+
resolution: "resolution";
|
|
33
|
+
setup: "setup";
|
|
34
|
+
}>;
|
|
35
|
+
}, z.core.$strict>>;
|
|
36
|
+
captionPhrases: z.ZodArray<z.ZodObject<{
|
|
37
|
+
wordStart: z.ZodNumber;
|
|
38
|
+
wordEnd: z.ZodNumber;
|
|
39
|
+
accentWord: z.ZodNumber;
|
|
40
|
+
}, z.core.$strict>>;
|
|
41
|
+
}, z.core.$strict>;
|
|
42
|
+
export type StoryboardV2Proposal = z.infer<typeof proposal>;
|
|
43
|
+
export declare function parseStoryboardV2(input: unknown): StoryboardV2Proposal;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseStoryboardProposal } from "./faceless-storyboard.js";
|
|
3
|
+
const nonblank = z.string().trim().min(1);
|
|
4
|
+
const index = z.number().int().nonnegative();
|
|
5
|
+
const sha256 = z.string().regex(/^[0-9a-fA-F]{64}$/);
|
|
6
|
+
const phase = z.enum(["setup", "development", "climax", "resolution"]);
|
|
7
|
+
const phaseOrder = { setup: 0, development: 1, climax: 2, resolution: 3 };
|
|
8
|
+
const proposal = z.strictObject({
|
|
9
|
+
version: z.literal("faceless_storyboard_61_v2"),
|
|
10
|
+
premise: nonblank,
|
|
11
|
+
script: nonblank,
|
|
12
|
+
provenance: z.discriminatedUnion("kind", [
|
|
13
|
+
z.strictObject({ kind: z.literal("fixture") }),
|
|
14
|
+
z.strictObject({ kind: z.literal("model"), model: nonblank, promptSha256: sha256, responseSha256: sha256 }),
|
|
15
|
+
]),
|
|
16
|
+
beats: z.array(z.strictObject({
|
|
17
|
+
id: nonblank, wordStart: index, wordEnd: index,
|
|
18
|
+
reason: z.enum(["action", "place", "reveal", "emphasis"]),
|
|
19
|
+
mediaType: z.enum(["video", "image"]), visualPrompt: nonblank, phase,
|
|
20
|
+
})).min(2),
|
|
21
|
+
captionPhrases: z.array(z.strictObject({ wordStart: index, wordEnd: index, accentWord: index })).min(1),
|
|
22
|
+
});
|
|
23
|
+
export function parseStoryboardV2(input) {
|
|
24
|
+
const parsed = proposal.parse(input);
|
|
25
|
+
const { beats, version: _version, ...v1Fields } = parsed;
|
|
26
|
+
parseStoryboardProposal({
|
|
27
|
+
...v1Fields,
|
|
28
|
+
version: "faceless_storyboard_61_v1",
|
|
29
|
+
beats: beats.map(({ phase: _phase, ...beat }) => beat),
|
|
30
|
+
});
|
|
31
|
+
if (parsed.provenance.kind === "model") {
|
|
32
|
+
const wordCount = parsed.script.normalize("NFKC").match(/[\p{L}\p{N}\p{M}]+(?:['’][\p{L}\p{N}\p{M}]+)*/gu)?.length ?? 0;
|
|
33
|
+
if (wordCount < 155 || wordCount > 165)
|
|
34
|
+
throw new Error("model storyboard requires 155–165 spoken words");
|
|
35
|
+
}
|
|
36
|
+
for (let i = 1; i < beats.length; i++) {
|
|
37
|
+
if (phaseOrder[beats[i].phase] < phaseOrder[beats[i - 1].phase]) {
|
|
38
|
+
throw new Error("storyboard phases must be ordered");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return parsed;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=faceless-storyboard-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faceless-storyboard-v2.js","sourceRoot":"","sources":["../src/faceless-storyboard-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
type WordTiming = {
|
|
3
|
+
word: string;
|
|
4
|
+
startSec: number;
|
|
5
|
+
endSec: number;
|
|
6
|
+
};
|
|
7
|
+
type PhraseRange = {
|
|
8
|
+
wordStart: number;
|
|
9
|
+
wordEnd: number;
|
|
10
|
+
accentWord: number;
|
|
11
|
+
};
|
|
12
|
+
declare const proposalSchema: z.ZodObject<{
|
|
13
|
+
version: z.ZodLiteral<"faceless_storyboard_61_v1">;
|
|
14
|
+
premise: z.ZodString;
|
|
15
|
+
script: z.ZodString;
|
|
16
|
+
provenance: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
17
|
+
kind: z.ZodLiteral<"fixture">;
|
|
18
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
19
|
+
kind: z.ZodLiteral<"model">;
|
|
20
|
+
model: z.ZodString;
|
|
21
|
+
promptSha256: z.ZodString;
|
|
22
|
+
responseSha256: z.ZodString;
|
|
23
|
+
}, z.core.$strict>], "kind">;
|
|
24
|
+
beats: z.ZodArray<z.ZodObject<{
|
|
25
|
+
wordStart: z.ZodNumber;
|
|
26
|
+
wordEnd: z.ZodNumber;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
reason: z.ZodEnum<{
|
|
29
|
+
action: "action";
|
|
30
|
+
emphasis: "emphasis";
|
|
31
|
+
place: "place";
|
|
32
|
+
reveal: "reveal";
|
|
33
|
+
}>;
|
|
34
|
+
mediaType: z.ZodEnum<{
|
|
35
|
+
image: "image";
|
|
36
|
+
video: "video";
|
|
37
|
+
}>;
|
|
38
|
+
visualPrompt: z.ZodString;
|
|
39
|
+
}, z.core.$strict>>;
|
|
40
|
+
captionPhrases: z.ZodArray<z.ZodObject<{
|
|
41
|
+
wordStart: z.ZodNumber;
|
|
42
|
+
wordEnd: z.ZodNumber;
|
|
43
|
+
accentWord: z.ZodNumber;
|
|
44
|
+
}, z.core.$strict>>;
|
|
45
|
+
}, z.core.$strict>;
|
|
46
|
+
export type StoryboardProposal = Omit<z.infer<typeof proposalSchema>, "captionPhrases"> & {
|
|
47
|
+
captionPhrases: PhraseRange[];
|
|
48
|
+
};
|
|
49
|
+
export declare function parseStoryboardProposal(input: unknown): StoryboardProposal;
|
|
50
|
+
export declare function assertStoryboardWords(script: string, words: readonly WordTiming[]): void;
|
|
51
|
+
export declare function storyboardImageBudget(sceneCount: number, replacementCount: number): {
|
|
52
|
+
allowance: 24;
|
|
53
|
+
remaining: number;
|
|
54
|
+
};
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const tokenPattern = /[\p{L}\p{N}\p{M}]+(?:['’][\p{L}\p{N}\p{M}]+)*/gu;
|
|
3
|
+
const nonblank = z.string().trim().min(1);
|
|
4
|
+
const index = z.number().int().nonnegative();
|
|
5
|
+
const sha256 = z.string().regex(/^[0-9a-fA-F]{64}$/);
|
|
6
|
+
const range = {
|
|
7
|
+
wordStart: index,
|
|
8
|
+
wordEnd: index,
|
|
9
|
+
};
|
|
10
|
+
const proposalSchema = z.strictObject({
|
|
11
|
+
version: z.literal("faceless_storyboard_61_v1"),
|
|
12
|
+
premise: nonblank,
|
|
13
|
+
script: nonblank,
|
|
14
|
+
provenance: z.discriminatedUnion("kind", [
|
|
15
|
+
z.strictObject({ kind: z.literal("fixture") }),
|
|
16
|
+
z.strictObject({
|
|
17
|
+
kind: z.literal("model"),
|
|
18
|
+
model: nonblank,
|
|
19
|
+
promptSha256: sha256,
|
|
20
|
+
responseSha256: sha256,
|
|
21
|
+
}),
|
|
22
|
+
]),
|
|
23
|
+
beats: z.array(z.strictObject({
|
|
24
|
+
id: nonblank,
|
|
25
|
+
...range,
|
|
26
|
+
reason: z.enum(["action", "place", "reveal", "emphasis"]),
|
|
27
|
+
mediaType: z.enum(["video", "image"]),
|
|
28
|
+
visualPrompt: nonblank,
|
|
29
|
+
})).min(2),
|
|
30
|
+
captionPhrases: z.array(z.strictObject({
|
|
31
|
+
...range,
|
|
32
|
+
accentWord: index,
|
|
33
|
+
})).min(1),
|
|
34
|
+
});
|
|
35
|
+
function tokens(input) {
|
|
36
|
+
return input.normalize("NFKC").match(tokenPattern) ?? [];
|
|
37
|
+
}
|
|
38
|
+
function lexical(input) {
|
|
39
|
+
return input.normalize("NFKC").replace(/[’]/gu, "'").normalize("NFD")
|
|
40
|
+
.replace(/\p{M}/gu, "").toLocaleLowerCase("und");
|
|
41
|
+
}
|
|
42
|
+
export function parseStoryboardProposal(input) {
|
|
43
|
+
const proposal = proposalSchema.parse(input);
|
|
44
|
+
const wordCount = tokens(proposal.script).length;
|
|
45
|
+
if (wordCount === 0)
|
|
46
|
+
throw new Error("storyboard script has no words");
|
|
47
|
+
let nextWord = 0;
|
|
48
|
+
const ids = new Set();
|
|
49
|
+
for (const [position, beat] of proposal.beats.entries()) {
|
|
50
|
+
if (ids.has(beat.id))
|
|
51
|
+
throw new Error("storyboard beat IDs must be unique");
|
|
52
|
+
ids.add(beat.id);
|
|
53
|
+
if (beat.wordStart !== nextWord || beat.wordEnd <= beat.wordStart || beat.wordEnd > wordCount) {
|
|
54
|
+
throw new Error("storyboard beats must partition script words");
|
|
55
|
+
}
|
|
56
|
+
if (beat.mediaType !== (position === 0 ? "video" : "image")) {
|
|
57
|
+
throw new Error("storyboard requires one first VIDEO beat and later IMAGE beats");
|
|
58
|
+
}
|
|
59
|
+
nextWord = beat.wordEnd;
|
|
60
|
+
}
|
|
61
|
+
if (nextWord !== wordCount)
|
|
62
|
+
throw new Error("storyboard beats must partition script words");
|
|
63
|
+
nextWord = 0;
|
|
64
|
+
for (const phrase of proposal.captionPhrases) {
|
|
65
|
+
if (phrase.wordStart !== nextWord || phrase.wordEnd <= phrase.wordStart || phrase.wordEnd > wordCount) {
|
|
66
|
+
throw new Error("storyboard caption phrases must partition script words");
|
|
67
|
+
}
|
|
68
|
+
if (phrase.accentWord < phrase.wordStart || phrase.accentWord >= phrase.wordEnd) {
|
|
69
|
+
throw new Error("storyboard caption accent must belong to its phrase");
|
|
70
|
+
}
|
|
71
|
+
nextWord = phrase.wordEnd;
|
|
72
|
+
}
|
|
73
|
+
if (nextWord !== wordCount)
|
|
74
|
+
throw new Error("storyboard caption phrases must partition script words");
|
|
75
|
+
return proposal;
|
|
76
|
+
}
|
|
77
|
+
export function assertStoryboardWords(script, words) {
|
|
78
|
+
const scriptWords = tokens(script);
|
|
79
|
+
if (scriptWords.length === 0 || scriptWords.length !== words.length) {
|
|
80
|
+
throw new Error("storyboard word count mismatch");
|
|
81
|
+
}
|
|
82
|
+
for (let i = 0; i < words.length; i++) {
|
|
83
|
+
const timed = words[i];
|
|
84
|
+
const measured = tokens(timed.word);
|
|
85
|
+
if (measured.length !== 1 || lexical(measured[0]) !== lexical(scriptWords[i])) {
|
|
86
|
+
throw new Error(`storyboard word ${i} differs from script`);
|
|
87
|
+
}
|
|
88
|
+
if (!Number.isFinite(timed.startSec) || !Number.isFinite(timed.endSec) ||
|
|
89
|
+
timed.startSec < 0 || timed.endSec <= timed.startSec ||
|
|
90
|
+
(i > 0 && timed.startSec < words[i - 1].endSec)) {
|
|
91
|
+
throw new Error(`storyboard word ${i} has invalid timing`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export function storyboardImageBudget(sceneCount, replacementCount) {
|
|
96
|
+
if (!Number.isSafeInteger(sceneCount) || sceneCount < 0 ||
|
|
97
|
+
!Number.isSafeInteger(replacementCount) || replacementCount < 2) {
|
|
98
|
+
throw new Error("storyboard image allowance requires valid scenes and two reserved replacements");
|
|
99
|
+
}
|
|
100
|
+
const remaining = 24 - 2 - 1 - sceneCount - replacementCount;
|
|
101
|
+
if (remaining < 0)
|
|
102
|
+
throw new Error("storyboard image allowance exceeded");
|
|
103
|
+
return { allowance: 24, remaining };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=faceless-storyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faceless-storyboard.js","sourceRoot":"","sources":["../src/faceless-storyboard.ts"],"names":[],"mappings":"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"}
|
package/dist/idempotency.d.ts
CHANGED
|
@@ -1,48 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* ЗАЧЕМ ЭТОТ МОДУЛЬ ЖИВЁТ ПОДПУТЁМ `@clipwright/core/idempotency`, А НЕ В barrel:
|
|
5
|
-
* он тянет `node:crypto`. Barrel `@clipwright/core` импортируют И `apps/web`
|
|
6
|
-
* (через `transpilePackages` в `next.config.ts`), и клиентские компоненты Next.
|
|
7
|
-
* Стоит `node:crypto` протечь в barrel — `next build` падает на клиентском
|
|
8
|
-
* бандле. Поэтому barrel НЕ реэкспортирует этот файл; те, кому нужен ключ (SDK,
|
|
9
|
-
* apps/api), импортируют строго подпуть.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Canonical JSON: ключи объектов отсортированы, порядок элементов массива
|
|
13
|
-
* сохранён (в массиве порядок — часть значения, сортировать его нельзя).
|
|
14
|
-
*
|
|
15
|
-
* Нужен потому, что JSON.stringify сохраняет порядок вставки ключей, а он
|
|
16
|
-
* зависит от того, как агент собрал тело запроса. Два побайтово разных, но
|
|
17
|
-
* семантически одинаковых запроса обязаны дать один хеш, иначе штатный ретрай
|
|
18
|
-
* прилетит в 409 и агент будет считать это конфликтом.
|
|
19
|
-
*
|
|
20
|
-
* `undefined` внутри объектов отбрасывается — как и в JSON.stringify, чтобы
|
|
21
|
-
* «ключ отсутствует» и «ключ = undefined» не расходились в хеше.
|
|
22
|
-
*/
|
|
1
|
+
/** Canonical JSON: object keys sorted, array order kept (order is part of an array's value), */
|
|
2
|
+
/** `undefined` dropped. Semantically equal bodies must hash alike, or a retry gets a 409. */
|
|
23
3
|
export declare function canonicalize(value: unknown): unknown;
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
* Это осознанная нормализация: «captions не передан» и «captions: false» —
|
|
27
|
-
* один и тот же запрос и обязаны совпасть по хешу. Хешировать сырое тело
|
|
28
|
-
* нельзя ещё и потому, что тогда лишний пробел в JSON давал бы 409.
|
|
29
|
-
*/
|
|
4
|
+
/** Hashes the input AFTER zod parsing, defaults filled in: "captions omitted" and */
|
|
5
|
+
/** "captions: false" are one request. Hashing the raw body would 409 on extra whitespace. */
|
|
30
6
|
export declare function requestHash(input: unknown): string;
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
* ЗАЧЕМ ПАРСИТЬ ВНУТРИ, А НЕ ПРИНИМАТЬ ГОТОВЫЙ ХЕШ: единственный корректный
|
|
35
|
-
* путь построить ключ — прогнать сырой вход через `makeUgcInput.parse`, чтобы
|
|
36
|
-
* подставились дефолты, и только потом канонизировать. Прямой `requestHash`
|
|
37
|
-
* по сырому телу (без parse) даёт РАЗНЫЕ ключи для «captions не передан» и
|
|
38
|
-
* «captions: false» — это дефект 3.1 (штатный ретрай агента → ложный новый ран).
|
|
39
|
-
*
|
|
40
|
-
* ЗАЧЕМ ПРИМЕШИВАТЬ `clientId`: два разных клиента могут прислать побайтово
|
|
41
|
-
* один вход; без разделения по клиенту второй получил бы ран первого. `clientId`
|
|
42
|
-
* идёт ПРЕФИКСОМ хеша — разные клиенты на одном входе дают разные ключи
|
|
43
|
-
* (дефект 3.2), один клиент на одном входе — стабильный ключ (дедуп денег).
|
|
44
|
-
*/
|
|
7
|
+
/** Idempotency key from input AND client identity. Parses inside so defaults are filled */
|
|
8
|
+
/** before hashing; `clientId` prefixes the hash so clients never share a run. */
|
|
45
9
|
export declare function idempotencyKeyFor(input: unknown, clientId: string): string;
|
|
46
|
-
/**
|
|
47
|
-
/**
|
|
10
|
+
/** The same key for `create_actor`, with its own schema and defaults: the `make_ugc` */
|
|
11
|
+
/** parse would strip every actor field. */
|
|
48
12
|
export declare function actorIdempotencyKeyFor(input: unknown, clientId: string): string;
|
package/dist/idempotency.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { createActorInput } from "./account-actors.js";
|
|
3
3
|
import { makeUgcInput } from "./skills.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* он тянет `node:crypto`. Barrel `@clipwright/core` импортируют И `apps/web`
|
|
9
|
-
* (через `transpilePackages` в `next.config.ts`), и клиентские компоненты Next.
|
|
10
|
-
* Стоит `node:crypto` протечь в barrel — `next build` падает на клиентском
|
|
11
|
-
* бандле. Поэтому barrel НЕ реэкспортирует этот файл; те, кому нужен ключ (SDK,
|
|
12
|
-
* apps/api), импортируют строго подпуть.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Canonical JSON: ключи объектов отсортированы, порядок элементов массива
|
|
16
|
-
* сохранён (в массиве порядок — часть значения, сортировать его нельзя).
|
|
17
|
-
*
|
|
18
|
-
* Нужен потому, что JSON.stringify сохраняет порядок вставки ключей, а он
|
|
19
|
-
* зависит от того, как агент собрал тело запроса. Два побайтово разных, но
|
|
20
|
-
* семантически одинаковых запроса обязаны дать один хеш, иначе штатный ретрай
|
|
21
|
-
* прилетит в 409 и агент будет считать это конфликтом.
|
|
22
|
-
*
|
|
23
|
-
* `undefined` внутри объектов отбрасывается — как и в JSON.stringify, чтобы
|
|
24
|
-
* «ключ отсутствует» и «ключ = undefined» не расходились в хеше.
|
|
25
|
-
*/
|
|
4
|
+
// Request fingerprint and per-client idempotency key. A subpath export, not the barrel:
|
|
5
|
+
// `node:crypto` in the barrel would break Next client bundles.
|
|
6
|
+
/** Canonical JSON: object keys sorted, array order kept (order is part of an array's value), */
|
|
7
|
+
/** `undefined` dropped. Semantically equal bodies must hash alike, or a retry gets a 409. */
|
|
26
8
|
export function canonicalize(value) {
|
|
27
9
|
if (Array.isArray(value)) {
|
|
28
10
|
return value.map(canonicalize);
|
|
@@ -39,39 +21,23 @@ export function canonicalize(value) {
|
|
|
39
21
|
}
|
|
40
22
|
return value;
|
|
41
23
|
}
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
* Это осознанная нормализация: «captions не передан» и «captions: false» —
|
|
45
|
-
* один и тот же запрос и обязаны совпасть по хешу. Хешировать сырое тело
|
|
46
|
-
* нельзя ещё и потому, что тогда лишний пробел в JSON давал бы 409.
|
|
47
|
-
*/
|
|
24
|
+
/** Hashes the input AFTER zod parsing, defaults filled in: "captions omitted" and */
|
|
25
|
+
/** "captions: false" are one request. Hashing the raw body would 409 on extra whitespace. */
|
|
48
26
|
export function requestHash(input) {
|
|
49
27
|
return createHash("sha256")
|
|
50
28
|
.update(JSON.stringify(canonicalize(input)))
|
|
51
29
|
.digest("hex");
|
|
52
30
|
}
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
*
|
|
56
|
-
* ЗАЧЕМ ПАРСИТЬ ВНУТРИ, А НЕ ПРИНИМАТЬ ГОТОВЫЙ ХЕШ: единственный корректный
|
|
57
|
-
* путь построить ключ — прогнать сырой вход через `makeUgcInput.parse`, чтобы
|
|
58
|
-
* подставились дефолты, и только потом канонизировать. Прямой `requestHash`
|
|
59
|
-
* по сырому телу (без parse) даёт РАЗНЫЕ ключи для «captions не передан» и
|
|
60
|
-
* «captions: false» — это дефект 3.1 (штатный ретрай агента → ложный новый ран).
|
|
61
|
-
*
|
|
62
|
-
* ЗАЧЕМ ПРИМЕШИВАТЬ `clientId`: два разных клиента могут прислать побайтово
|
|
63
|
-
* один вход; без разделения по клиенту второй получил бы ран первого. `clientId`
|
|
64
|
-
* идёт ПРЕФИКСОМ хеша — разные клиенты на одном входе дают разные ключи
|
|
65
|
-
* (дефект 3.2), один клиент на одном входе — стабильный ключ (дедуп денег).
|
|
66
|
-
*/
|
|
31
|
+
/** Idempotency key from input AND client identity. Parses inside so defaults are filled */
|
|
32
|
+
/** before hashing; `clientId` prefixes the hash so clients never share a run. */
|
|
67
33
|
export function idempotencyKeyFor(input, clientId) {
|
|
68
34
|
const parsed = makeUgcInput.parse(input);
|
|
69
35
|
return createHash("sha256")
|
|
70
36
|
.update(clientId + JSON.stringify(canonicalize(parsed)))
|
|
71
37
|
.digest("hex");
|
|
72
38
|
}
|
|
73
|
-
/**
|
|
74
|
-
/**
|
|
39
|
+
/** The same key for `create_actor`, with its own schema and defaults: the `make_ugc` */
|
|
40
|
+
/** parse would strip every actor field. */
|
|
75
41
|
export function actorIdempotencyKeyFor(input, clientId) {
|
|
76
42
|
const parsed = createActorInput.parse(input);
|
|
77
43
|
return createHash("sha256")
|
package/dist/idempotency.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,wFAAwF;AACxF,+DAA+D;AAE/D,gGAAgG;AAChG,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qFAAqF;AACrF,6FAA6F;AAC7F,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3C,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,2FAA2F;AAC3F,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,QAAgB;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,2CAA2C;AAC3C,MAAM,UAAU,sBAAsB,CAAC,KAAc,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,50 +1,46 @@
|
|
|
1
1
|
export * from "./skills.js";
|
|
2
2
|
export * from "./actors.js";
|
|
3
|
-
//
|
|
3
|
+
// Personal actors of an account: input and result of the `create_actor` skill.
|
|
4
4
|
export * from "./account-actors.js";
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
// shape, а не из полного).
|
|
5
|
+
// The disposition registry imports the shape from skills.js one way, so there is no cycle.
|
|
6
|
+
// MakeUgcInputArgs comes from here, derived from the offered shape, not the full one.
|
|
8
7
|
export * from "./contract-dispositions.js";
|
|
9
|
-
//
|
|
10
|
-
// skills.js — направление то же одностороннее, что и у реестра.
|
|
8
|
+
// Format resolver: pure functions, no network; imports ASPECT_RATIOS from skills.js one way.
|
|
11
9
|
export * from "./aspect.js";
|
|
12
|
-
//
|
|
10
|
+
// The actor is its own module: `aspect.js` re-exports the frame source from it.
|
|
13
11
|
export * from "./default-actor.js";
|
|
14
12
|
export * from "./voices.js";
|
|
15
13
|
export * from "./voice-catalog.js";
|
|
16
14
|
export * from "./runs.js";
|
|
17
|
-
//
|
|
18
|
-
//
|
|
15
|
+
// Refusal bodies: the error shape is contract too, and once a 402 carries numbers it no
|
|
16
|
+
// longer follows from the status code.
|
|
19
17
|
export * from "./errors.js";
|
|
20
18
|
export * from "./script-integrity.js";
|
|
21
|
-
// Rate limit:
|
|
22
|
-
//
|
|
19
|
+
// Rate limit: the 429 shape and header names, the same kind of contract as the refusal
|
|
20
|
+
// bodies above.
|
|
23
21
|
export * from "./rate-limit.js";
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
// SDK, MCP и CLI (US-622).
|
|
22
|
+
// Failure parsing: what to DO with the bodies above. In core so SDK, MCP and CLI share
|
|
23
|
+
// one retry decision.
|
|
27
24
|
export * from "./api-failure.js";
|
|
28
25
|
export * from "./account.js";
|
|
29
|
-
//
|
|
26
|
+
// Image upload for `image`: response contract, caps, type probe.
|
|
30
27
|
export * from "./uploads.js";
|
|
31
28
|
export * from "./pacing.js";
|
|
32
|
-
//
|
|
29
|
+
// Vendor-neutral contracts: everything vendor-specific lives in adapters, not here.
|
|
33
30
|
export * from "./render-backend.js";
|
|
34
31
|
export * from "./tts-backend.js";
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
// (US-606a).
|
|
32
|
+
// Implementations of both contracts above mark errors with the response status, if any;
|
|
33
|
+
// without it "the vendor refused" and "no response" look the same.
|
|
38
34
|
export * from "./vendor-response.js";
|
|
39
|
-
//
|
|
40
|
-
//
|
|
35
|
+
// Public addresses and package names, printed by the SDK, docs and landing page, so a
|
|
36
|
+
// mismatch is seen by visitors, not tests.
|
|
41
37
|
export * from "./public-endpoints.js";
|
|
42
|
-
//
|
|
38
|
+
// API routes and their price: checked against `app.routes`, printed by the quickstart.
|
|
43
39
|
export * from "./endpoints.js";
|
|
44
|
-
//
|
|
45
|
-
//
|
|
40
|
+
// A run's static warnings are derived from its stored input: one answer for the API
|
|
41
|
+
// and the dashboard in any run state.
|
|
46
42
|
export * from "./run-static-warnings.js";
|
|
47
|
-
//
|
|
43
|
+
// Preflight outcomes that cannot be derived: the durable fact shape.
|
|
48
44
|
export * from "./run-preflight.js";
|
|
49
45
|
export * from "./speech-rhythm.js";
|
|
50
46
|
export * from "./broll-policy.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,+EAA+E;AAC/E,cAAc,qBAAqB,CAAC;AACpC,2FAA2F;AAC3F,sFAAsF;AACtF,cAAc,4BAA4B,CAAC;AAC3C,6FAA6F;AAC7F,cAAc,aAAa,CAAC;AAC5B,gFAAgF;AAChF,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,wFAAwF;AACxF,uCAAuC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,gBAAgB;AAChB,cAAc,iBAAiB,CAAC;AAChC,uFAAuF;AACvF,sBAAsB;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,iEAAiE;AACjE,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,oFAAoF;AACpF,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,wFAAwF;AACxF,mEAAmE;AACnE,cAAc,sBAAsB,CAAC;AACrC,sFAAsF;AACtF,2CAA2C;AAC3C,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,cAAc,gBAAgB,CAAC;AAC/B,oFAAoF;AACpF,sCAAsC;AACtC,cAAc,0BAA0B,CAAC;AACzC,qEAAqE;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
|
|
@@ -8,8 +8,8 @@ export declare const LONG_FORM_LAUNCH_TARIFF: Readonly<{
|
|
|
8
8
|
readonly rounding: "ceil_aggregate_seconds";
|
|
9
9
|
readonly failurePolicy: "verified_delivery_only";
|
|
10
10
|
}>;
|
|
11
|
-
/**
|
|
12
|
-
/**
|
|
11
|
+
/** Active face tariffs as a LIST: public text walks it, not two known constants, so a */
|
|
12
|
+
/** third tariff cannot ship silently. */
|
|
13
13
|
export declare const FACE_BILLING_TARIFFS: readonly FaceBillingTariff[];
|
|
14
14
|
export declare function faceTariffRate(tariff: FaceBillingTariff): number;
|
|
15
15
|
export declare function faceTariffPricingVersion(tariff: FaceBillingTariff): string;
|
|
@@ -22,8 +22,8 @@ export declare function calculateFaceCharge(intervals: readonly FaceBillingInter
|
|
|
22
22
|
credits: number;
|
|
23
23
|
minimumApplied: boolean;
|
|
24
24
|
};
|
|
25
|
-
/**
|
|
26
|
-
/**
|
|
25
|
+
/** Reserve headroom for speech shape: a NAMED bound, not a derived number, since the */
|
|
26
|
+
/** honest product of three terms varies by layout. */
|
|
27
27
|
export declare const FACE_RESERVE_SHAPE_MARGIN = 1.15;
|
|
28
28
|
export declare const longFormQuoteSchema: z.ZodReadonly<z.ZodObject<{
|
|
29
29
|
pricingVersion: z.ZodString;
|
|
@@ -4,8 +4,8 @@ export const LONG_FORM_LAUNCH_TARIFF = Object.freeze({
|
|
|
4
4
|
version: 2, pricingVersion: "long-form-v1", rateCreditsPerFaceSecond: 10,
|
|
5
5
|
minimumCredits: 400, rounding: "ceil_aggregate_seconds", failurePolicy: "verified_delivery_only",
|
|
6
6
|
});
|
|
7
|
-
/**
|
|
8
|
-
/**
|
|
7
|
+
/** Active face tariffs as a LIST: public text walks it, not two known constants, so a */
|
|
8
|
+
/** third tariff cannot ship silently. */
|
|
9
9
|
export const FACE_BILLING_TARIFFS = Object.freeze([
|
|
10
10
|
LONG_FORM_LAUNCH_TARIFF,
|
|
11
11
|
]);
|
|
@@ -46,8 +46,8 @@ export function calculateFaceCharge(intervals, fps, tariff) {
|
|
|
46
46
|
return { faceFrames: Number(frames), billableFaceSeconds: Number(seconds), credits: Number(credits),
|
|
47
47
|
minimumApplied: usageCredits < minimum };
|
|
48
48
|
}
|
|
49
|
-
/**
|
|
50
|
-
/**
|
|
49
|
+
/** Reserve headroom for speech shape: a NAMED bound, not a derived number, since the */
|
|
50
|
+
/** honest product of three terms varies by layout. */
|
|
51
51
|
export const FACE_RESERVE_SHAPE_MARGIN = 1.15;
|
|
52
52
|
const credits = z.number().int().nonnegative().max(2_147_483_647);
|
|
53
53
|
const pricing = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long-form-pricing.js","sourceRoot":"","sources":["../src/long-form-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EACP,MAAM,mBAAmB,CAAC;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,wBAAwB,EAAE,EAAE;IACxE,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,wBAAwB,EAAE,aAAa,EAAE,wBAAwB;CAC5D,CAAC,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"long-form-pricing.js","sourceRoot":"","sources":["../src/long-form-pricing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Test ceiling, not a claim that this profile has passed live qualification. */
|
|
2
2
|
export declare const LONG_FORM_QUALIFICATION_MAX_DURATION_SEC = 300;
|
|
3
|
-
/**
|
|
4
|
-
/**
|
|
3
|
+
/** Slot cap of a frozen timeline; MAX_INSERTS is derived from it, so the numbers */
|
|
4
|
+
/** cannot drift. */
|
|
5
5
|
export declare const RESOLVED_TIMELINE_MAX_SLOTS = 100;
|