@cueframe/kernel 0.2.34 → 0.2.36
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/dist/_members/errors/registry.d.ts +6 -0
- package/dist/_members/plane/contract.d.ts +34 -0
- package/dist/authoring.js +2 -2
- package/dist/{chunk-RAPDICTC.js → chunk-6PBYCESM.js} +1 -1
- package/dist/{chunk-GMVUJYPM.js → chunk-AYOVAVNO.js} +1 -1
- package/dist/{chunk-4RREA7VA.js → chunk-BUAAQDDJ.js} +1 -1
- package/dist/{chunk-ANNB4VC6.js → chunk-F2HXB6RG.js} +5 -2
- package/dist/{chunk-TCYULWNP.js → chunk-IHKMFEBT.js} +1 -1
- package/dist/{chunk-3GNTA646.js → chunk-IYZEK6WY.js} +1 -1
- package/dist/{chunk-NJOWIGUL.js → chunk-LL5GI3IS.js} +2 -2
- package/dist/{chunk-A3MXR6JI.js → chunk-QSWONRX2.js} +1 -0
- package/dist/{chunk-W44ASS4N.js → chunk-UOYKFFFK.js} +2 -2
- package/dist/{chunk-DLKCGEKP.js → chunk-WEXGESUQ.js} +1 -1
- package/dist/{chunk-YOE5Y2SJ.js → chunk-ZBQQFAE7.js} +1 -1
- package/dist/compose.js +19 -19
- package/dist/composition/projection.js +2 -2
- package/dist/composition-ops.js +3 -3
- package/dist/composition.js +2 -2
- package/dist/core/render.js +3 -3
- package/dist/core/select.js +2 -2
- package/dist/core.js +3 -3
- package/dist/director/ai-sdk.js +3 -3
- package/dist/director/domain.js +2 -2
- package/dist/director.js +3 -3
- package/dist/errors.js +1 -1
- package/dist/mcp/adapter.js +16 -4
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp.js +3 -3
- package/dist/plane/contract.js +18 -2
- package/dist/primitives.js +18 -18
- package/dist/render-harness/cardAssetAdmission.js +2 -2
- package/dist/render-harness/cardFonts.js +2 -2
- package/dist/render-harness.js +5 -5
- package/package.json +12 -12
|
@@ -1557,6 +1557,12 @@ export declare const ERROR_CODES: {
|
|
|
1557
1557
|
readonly retryable: true;
|
|
1558
1558
|
readonly httpStatus: 504;
|
|
1559
1559
|
};
|
|
1560
|
+
readonly still_batch_too_large: {
|
|
1561
|
+
readonly stage: "validate";
|
|
1562
|
+
readonly category: "authoring";
|
|
1563
|
+
readonly retryable: false;
|
|
1564
|
+
readonly httpStatus: 422;
|
|
1565
|
+
};
|
|
1560
1566
|
readonly sighted_provider_unreachable: {
|
|
1561
1567
|
readonly stage: "render";
|
|
1562
1568
|
readonly category: "transient";
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Still-capture budget. ONE definition, because the batch a caller may ask for
|
|
4
|
+
* and the time the renderer is given to serve it are the same number seen from
|
|
5
|
+
* two ends — and when they drifted apart, the API accepted work the renderer
|
|
6
|
+
* provably could not finish.
|
|
7
|
+
*
|
|
8
|
+
* What went wrong (CUE-39): `timestamps` had no maximum, while the Modal still
|
|
9
|
+
* worker computed `min(280, 60 + 45 * beats)`. The per-beat term is dead above
|
|
10
|
+
* four beats — the cap TRUNCATES the budget instead of refusing the batch — so
|
|
11
|
+
* a 124-beat request got the same 280s as a 5-beat one. It burned the full 280s
|
|
12
|
+
* and failed with an untyped `render_still_failed`.
|
|
13
|
+
*
|
|
14
|
+
* MAX_STILL_BEATS_PER_BATCH is DERIVED, not chosen. The still worker is
|
|
15
|
+
* `@modal.batched`, so up to CO_BATCHED_CALLERS callers share ONE harness run
|
|
16
|
+
* and one ceiling. The largest per-caller batch that survives the worst case is
|
|
17
|
+
* therefore the largest N where
|
|
18
|
+
*
|
|
19
|
+
* BASE + PER_BEAT * (N * CO_BATCHED_CALLERS) <= CEILING
|
|
20
|
+
*
|
|
21
|
+
* which is 18 (19 overflows at 288s). Two independent facts agree with
|
|
22
|
+
* PER_BEAT = 3s: the verify lane's worst case is 6 eval beats x 3 burst frames
|
|
23
|
+
* = 18 stills and production serves it co-batched today, and the 124-beat
|
|
24
|
+
* request in the report needed ~432s against the 280s ceiling. `stillBudget`
|
|
25
|
+
* tests pin the inequality, so moving any one of these numbers alone fails.
|
|
26
|
+
*/
|
|
27
|
+
export declare const STILL_BUDGET_BASE_S = 60;
|
|
28
|
+
export declare const STILL_BUDGET_PER_BEAT_S = 3;
|
|
29
|
+
/** Below the Modal still worker's hard 300s function timeout. */
|
|
30
|
+
export declare const STILL_BUDGET_CEILING_S = 280;
|
|
31
|
+
/** `STILL_BATCH_MAX` on the still worker: callers sharing one harness run. */
|
|
32
|
+
export declare const CO_BATCHED_CALLERS = 4;
|
|
33
|
+
export declare const MAX_STILL_BEATS_PER_BATCH = 18;
|
|
34
|
+
/** Seconds the harness needs for `beats` stills in one run. */
|
|
35
|
+
export declare function stillBudgetSeconds(beats: number): number;
|
|
2
36
|
export declare const PreviewFrameRequest: z.ZodObject<{
|
|
3
37
|
composition: z.ZodOptional<z.ZodUnknown>;
|
|
4
38
|
compositionId: z.ZodOptional<z.ZodString>;
|
package/dist/authoring.js
CHANGED
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
formatPlanSteps,
|
|
49
49
|
initCodeGenPrompts
|
|
50
50
|
} from "./chunk-Y4HPN4BC.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-AYOVAVNO.js";
|
|
52
52
|
import {
|
|
53
53
|
cssLayoutVars
|
|
54
54
|
} from "./chunk-W5W3FDDI.js";
|
|
@@ -62,7 +62,7 @@ import "./chunk-WPZKOVYF.js";
|
|
|
62
62
|
import "./chunk-B7J5UUUV.js";
|
|
63
63
|
import "./chunk-KYRDKK2D.js";
|
|
64
64
|
import "./chunk-WREYUH2E.js";
|
|
65
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-QSWONRX2.js";
|
|
66
66
|
import "./chunk-7PA7FGLD.js";
|
|
67
67
|
import {
|
|
68
68
|
collectSceneClipIssues,
|
|
@@ -555,6 +555,7 @@ __export(zod_exports, {
|
|
|
555
555
|
previewFrameJobBodyJpegQualityMax: () => previewFrameJobBodyJpegQualityMax2,
|
|
556
556
|
previewFrameJobBodyScaleMax: () => previewFrameJobBodyScaleMax2,
|
|
557
557
|
previewFrameJobBodyScaleMin: () => previewFrameJobBodyScaleMin2,
|
|
558
|
+
previewFrameJobBodyTimestampsMax: () => previewFrameJobBodyTimestampsMax2,
|
|
558
559
|
previewFrameJobParams: () => PreviewFrameJobParams,
|
|
559
560
|
previewFrameJobResponse: () => PreviewFrameJobResponse,
|
|
560
561
|
previewSelectorBody: () => PreviewSelectorBody,
|
|
@@ -7603,6 +7604,7 @@ var PreviewComponentBody = zod146.strictObject({
|
|
|
7603
7604
|
|
|
7604
7605
|
// ../sdk/src/generated/zod/models/previewFrameJobBody.zod.ts
|
|
7605
7606
|
import * as zod147 from "zod";
|
|
7607
|
+
var previewFrameJobBodyTimestampsMax = 18;
|
|
7606
7608
|
var previewFrameJobBodyScaleMin = 0.1;
|
|
7607
7609
|
var previewFrameJobBodyScaleMax = 1;
|
|
7608
7610
|
var previewFrameJobBodyJpegQualityMax = 100;
|
|
@@ -7610,7 +7612,7 @@ var PreviewFrameJobBody = zod147.strictObject({
|
|
|
7610
7612
|
"composition": zod147.unknown().optional().describe("The composition to render. Absent \u21D2 the project's ACTIVE composition \u2014 what create_render will encode. The response's `previewed.source` names what was rendered."),
|
|
7611
7613
|
"compositionId": zod147.string().optional().describe("Preview a SPECIFIC persisted composition of this project (create_render parity). Absent \u21D2 the active one. A stale/foreign id is a 404 \u2014 never a silent fall-through."),
|
|
7612
7614
|
"session_id": zod147.string().optional().describe("Compose-session id: render that session's SCRATCH composition (what the session has been editing) instead of the active row. Ignored when `composition` is passed."),
|
|
7613
|
-
"timestamps": zod147.array(zod147.number()).min(1),
|
|
7615
|
+
"timestamps": zod147.array(zod147.number()).min(1).max(previewFrameJobBodyTimestampsMax).describe("Composition seconds to capture, 18 per request. The batch renders as ONE unit of work \u2014 one warm container, one source decode, N seeks \u2014 and that unit has a fixed time budget, so a larger batch is refused here rather than accepted and timed out minutes later. For a denser sweep, split it across calls; identical beats are served from the still cache, so overlapping batches are cheap."),
|
|
7614
7616
|
"imageFormat": zod147.enum(["png", "jpeg"]).optional().describe("Still format. Default jpeg \u2014 these pixels go to a vision model, where jpeg is equivalent and png costs multiples in bytes to store and move. Pass png only when you need full fidelity."),
|
|
7615
7617
|
"scale": zod147.number().min(previewFrameJobBodyScaleMin).max(previewFrameJobBodyScaleMax).optional().describe("Render scale 0.1\u20131. Default 0.5, which is what this schema has always recommended for vision-bound looks. Pass 1 when judging fine detail \u2014 it costs ~4x the vision tokens."),
|
|
7616
7618
|
"jpegQuality": zod147.int().min(1).max(previewFrameJobBodyJpegQualityMax).optional().describe("JPEG quality (jpeg only). Default 70 \u2014 the quality the eval panel grades at.")
|
|
@@ -8864,6 +8866,7 @@ var ScoreCompositionResponse = JobEnqueueResponse;
|
|
|
8864
8866
|
var PreviewFrameJobParams = zod224.object({
|
|
8865
8867
|
"id": zod224.string()
|
|
8866
8868
|
});
|
|
8869
|
+
var previewFrameJobBodyTimestampsMax2 = 18;
|
|
8867
8870
|
var previewFrameJobBodyScaleMin2 = 0.1;
|
|
8868
8871
|
var previewFrameJobBodyScaleMax2 = 1;
|
|
8869
8872
|
var previewFrameJobBodyJpegQualityMax2 = 100;
|
|
@@ -8871,7 +8874,7 @@ var PreviewFrameJobBody2 = zod224.strictObject({
|
|
|
8871
8874
|
"composition": zod224.unknown().optional().describe("The composition to render. Absent \u21D2 the project's ACTIVE composition \u2014 what create_render will encode. The response's `previewed.source` names what was rendered."),
|
|
8872
8875
|
"compositionId": zod224.string().optional().describe("Preview a SPECIFIC persisted composition of this project (create_render parity). Absent \u21D2 the active one. A stale/foreign id is a 404 \u2014 never a silent fall-through."),
|
|
8873
8876
|
"session_id": zod224.string().optional().describe("Compose-session id: render that session's SCRATCH composition (what the session has been editing) instead of the active row. Ignored when `composition` is passed."),
|
|
8874
|
-
"timestamps": zod224.array(zod224.number()).min(1),
|
|
8877
|
+
"timestamps": zod224.array(zod224.number()).min(1).max(previewFrameJobBodyTimestampsMax2).describe("Composition seconds to capture, 18 per request. The batch renders as ONE unit of work \u2014 one warm container, one source decode, N seeks \u2014 and that unit has a fixed time budget, so a larger batch is refused here rather than accepted and timed out minutes later. For a denser sweep, split it across calls; identical beats are served from the still cache, so overlapping batches are cheap."),
|
|
8875
8878
|
"imageFormat": zod224.enum(["png", "jpeg"]).optional().describe("Still format. Default jpeg \u2014 these pixels go to a vision model, where jpeg is equivalent and png costs multiples in bytes to store and move. Pass png only when you need full fidelity."),
|
|
8876
8879
|
"scale": zod224.number().min(previewFrameJobBodyScaleMin2).max(previewFrameJobBodyScaleMax2).optional().describe("Render scale 0.1\u20131. Default 0.5, which is what this schema has always recommended for vision-bound looks. Pass 1 when judging fine detail \u2014 it costs ~4x the vision tokens."),
|
|
8877
8880
|
"jpegQuality": zod224.int().min(1).max(previewFrameJobBodyJpegQualityMax2).optional().describe("JPEG quality (jpeg only). Default 70 \u2014 the quality the eval panel grades at.")
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
querySchemaShape,
|
|
3
3
|
serializeQuery,
|
|
4
4
|
waitForJob
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZBQQFAE7.js";
|
|
6
6
|
import {
|
|
7
7
|
CURATED_TOOLS
|
|
8
8
|
} from "./chunk-5YO4LAB7.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
text,
|
|
24
24
|
textWithData,
|
|
25
25
|
withMedia
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-F2HXB6RG.js";
|
|
27
27
|
|
|
28
28
|
// ../mcp/src/prompts.ts
|
|
29
29
|
var skillListCache = null;
|
|
@@ -291,6 +291,7 @@ var ERROR_CODES = {
|
|
|
291
291
|
invalid_render_terminal: { stage: "render", category: "internal", retryable: false, httpStatus: 500 },
|
|
292
292
|
sighted_dispatch_failed: { stage: "system", category: "transient", retryable: true, httpStatus: 503 },
|
|
293
293
|
sighted_stage_timeout: { stage: "render", category: "transient", retryable: true, httpStatus: 504 },
|
|
294
|
+
still_batch_too_large: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
|
|
294
295
|
sighted_provider_unreachable: { stage: "render", category: "transient", retryable: true, httpStatus: 503 },
|
|
295
296
|
sighted_artifact_missing: { stage: "render", category: "internal", retryable: true, httpStatus: 500 },
|
|
296
297
|
sighted_execution_failed: { stage: "render", category: "internal", retryable: false, httpStatus: 500 },
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
scoreAndRank,
|
|
25
25
|
segmentShots,
|
|
26
26
|
stabilizeSelectionHysteresis
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-IYZEK6WY.js";
|
|
28
28
|
import {
|
|
29
29
|
compositionHasVo,
|
|
30
30
|
roleDefaultGainDb
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
import {
|
|
37
37
|
CueframeError,
|
|
38
38
|
encodeError
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-QSWONRX2.js";
|
|
40
40
|
import {
|
|
41
41
|
SCENE_CAPTURE_IDENTITY_FIELDS_V1,
|
|
42
42
|
SCENE_PRESET_TRIANGLES,
|
package/dist/compose.js
CHANGED
|
@@ -5,39 +5,39 @@ import {
|
|
|
5
5
|
} from "./chunk-QDBVYZSF.js";
|
|
6
6
|
import "./chunk-JQMPHKLU.js";
|
|
7
7
|
import "./chunk-ZZRBKGDA.js";
|
|
8
|
-
import {
|
|
9
|
-
catalog as catalog4
|
|
10
|
-
} from "./chunk-JRJQECCF.js";
|
|
11
|
-
import {
|
|
12
|
-
catalog as catalog7
|
|
13
|
-
} from "./chunk-TE3PNQG6.js";
|
|
14
|
-
import {
|
|
15
|
-
catalog
|
|
16
|
-
} from "./chunk-RBWS5XHE.js";
|
|
17
|
-
import "./chunk-DLF4WVSE.js";
|
|
18
|
-
import "./chunk-U4V4FZGE.js";
|
|
19
8
|
import {
|
|
20
9
|
catalog as catalog3
|
|
21
10
|
} from "./chunk-FVDFPJHT.js";
|
|
22
|
-
import "./chunk-QGAWDLYX.js";
|
|
23
11
|
import {
|
|
24
12
|
catalog as catalog6
|
|
25
13
|
} from "./chunk-VLJOIUHL.js";
|
|
26
|
-
import "./chunk-S5H6GH6M.js";
|
|
27
|
-
import "./chunk-QAGGJHAF.js";
|
|
28
|
-
import {
|
|
29
|
-
catalog as catalog5
|
|
30
|
-
} from "./chunk-RAXHCRVV.js";
|
|
31
14
|
import {
|
|
32
15
|
catalog as catalog2
|
|
33
16
|
} from "./chunk-WAUVKF2F.js";
|
|
34
|
-
import "./chunk-MFHXCHRI.js";
|
|
35
17
|
import {
|
|
36
18
|
catalog as catalog8
|
|
37
19
|
} from "./chunk-RL5SO653.js";
|
|
20
|
+
import {
|
|
21
|
+
catalog as catalog4
|
|
22
|
+
} from "./chunk-JRJQECCF.js";
|
|
23
|
+
import {
|
|
24
|
+
catalog as catalog7
|
|
25
|
+
} from "./chunk-TE3PNQG6.js";
|
|
26
|
+
import "./chunk-QGAWDLYX.js";
|
|
27
|
+
import "./chunk-S5H6GH6M.js";
|
|
28
|
+
import "./chunk-QAGGJHAF.js";
|
|
29
|
+
import "./chunk-MFHXCHRI.js";
|
|
30
|
+
import {
|
|
31
|
+
catalog
|
|
32
|
+
} from "./chunk-RBWS5XHE.js";
|
|
33
|
+
import "./chunk-DLF4WVSE.js";
|
|
34
|
+
import "./chunk-U4V4FZGE.js";
|
|
38
35
|
import "./chunk-LT4PWSR2.js";
|
|
39
36
|
import "./chunk-FWSJLHSV.js";
|
|
40
37
|
import "./chunk-ZFEXATWN.js";
|
|
38
|
+
import {
|
|
39
|
+
catalog as catalog5
|
|
40
|
+
} from "./chunk-RAXHCRVV.js";
|
|
41
41
|
import "./chunk-XHGZ2E77.js";
|
|
42
42
|
import "./chunk-W2245F6G.js";
|
|
43
43
|
import "./chunk-JBWSK2YD.js";
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
import {
|
|
55
55
|
CueframeError,
|
|
56
56
|
encodeError
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-QSWONRX2.js";
|
|
58
58
|
import "./chunk-7PA7FGLD.js";
|
|
59
59
|
import "./chunk-XACXNDFL.js";
|
|
60
60
|
import "./chunk-2L7PYYJK.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
silhouetteKeepOutForWindow,
|
|
33
33
|
sourceRectToOutput,
|
|
34
34
|
sourceWindowKey
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-AYOVAVNO.js";
|
|
36
36
|
import {
|
|
37
37
|
BRAND_TOKEN_REFS,
|
|
38
38
|
BRAND_TOKEN_ROOT_KEYS,
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
contrastRatio
|
|
75
75
|
} from "../chunk-ILO4NEZ3.js";
|
|
76
76
|
import "../chunk-VG2ND6PX.js";
|
|
77
|
-
import "../chunk-
|
|
77
|
+
import "../chunk-QSWONRX2.js";
|
|
78
78
|
import "../chunk-AVTEPAWI.js";
|
|
79
79
|
import "../chunk-2ESYSVXG.js";
|
|
80
80
|
export {
|
package/dist/composition-ops.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
playableSpans
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UOYKFFFK.js";
|
|
4
4
|
import "./chunk-QH3YI3ND.js";
|
|
5
5
|
import "./chunk-QISFYLBB.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-IYZEK6WY.js";
|
|
7
7
|
import "./chunk-VZ7TYX6Z.js";
|
|
8
8
|
import "./chunk-DENF4TPI.js";
|
|
9
9
|
import {
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
} from "./chunk-B7J5UUUV.js";
|
|
31
31
|
import "./chunk-KYRDKK2D.js";
|
|
32
32
|
import "./chunk-WREYUH2E.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-QSWONRX2.js";
|
|
34
34
|
import "./chunk-7PA7FGLD.js";
|
|
35
35
|
import {
|
|
36
36
|
SCENE_SLOT_MEDIA_FORMATS,
|
package/dist/composition.js
CHANGED
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
silhouetteKeepOutForWindow,
|
|
47
47
|
sourceRectToOutput,
|
|
48
48
|
sourceWindowKey
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-AYOVAVNO.js";
|
|
50
50
|
import {
|
|
51
51
|
BRAND_TOKEN_REFS,
|
|
52
52
|
BRAND_TOKEN_ROOT_KEYS,
|
|
@@ -194,7 +194,7 @@ import {
|
|
|
194
194
|
ReframeSegmentFields
|
|
195
195
|
} from "./chunk-B7J5UUUV.js";
|
|
196
196
|
import "./chunk-WREYUH2E.js";
|
|
197
|
-
import "./chunk-
|
|
197
|
+
import "./chunk-QSWONRX2.js";
|
|
198
198
|
import "./chunk-AVTEPAWI.js";
|
|
199
199
|
import "./chunk-2ESYSVXG.js";
|
|
200
200
|
|
package/dist/core/render.js
CHANGED
|
@@ -66,19 +66,19 @@ import {
|
|
|
66
66
|
sliceTranscriptWords,
|
|
67
67
|
splitIntoSentences,
|
|
68
68
|
validateComposition
|
|
69
|
-
} from "../chunk-
|
|
69
|
+
} from "../chunk-UOYKFFFK.js";
|
|
70
70
|
import {
|
|
71
71
|
buildEasedZooms,
|
|
72
72
|
buildPannedCenters,
|
|
73
73
|
easeOutCubic
|
|
74
74
|
} from "../chunk-QH3YI3ND.js";
|
|
75
75
|
import "../chunk-QISFYLBB.js";
|
|
76
|
-
import "../chunk-
|
|
76
|
+
import "../chunk-IYZEK6WY.js";
|
|
77
77
|
import "../chunk-VZ7TYX6Z.js";
|
|
78
78
|
import "../chunk-DENF4TPI.js";
|
|
79
79
|
import "../chunk-KYRDKK2D.js";
|
|
80
80
|
import "../chunk-WREYUH2E.js";
|
|
81
|
-
import "../chunk-
|
|
81
|
+
import "../chunk-QSWONRX2.js";
|
|
82
82
|
import "../chunk-7PA7FGLD.js";
|
|
83
83
|
import "../chunk-XACXNDFL.js";
|
|
84
84
|
import "../chunk-2L7PYYJK.js";
|
package/dist/core/select.js
CHANGED
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
stabilizeIncumbentChallenger,
|
|
8
8
|
stabilizePresenceGate,
|
|
9
9
|
stabilizeSelectionHysteresis
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-IYZEK6WY.js";
|
|
11
|
+
import "../chunk-QSWONRX2.js";
|
|
12
12
|
import "../chunk-2ESYSVXG.js";
|
|
13
13
|
|
|
14
14
|
// ../execution/core/src/select/errorCodes.ts
|
package/dist/core.js
CHANGED
|
@@ -10,15 +10,15 @@ import {
|
|
|
10
10
|
ensureEven,
|
|
11
11
|
extractCaptionWordsFromDoc,
|
|
12
12
|
isEmphasized
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UOYKFFFK.js";
|
|
14
14
|
import "./chunk-QH3YI3ND.js";
|
|
15
15
|
import "./chunk-QISFYLBB.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-IYZEK6WY.js";
|
|
17
17
|
import "./chunk-VZ7TYX6Z.js";
|
|
18
18
|
import "./chunk-DENF4TPI.js";
|
|
19
19
|
import "./chunk-KYRDKK2D.js";
|
|
20
20
|
import "./chunk-WREYUH2E.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-QSWONRX2.js";
|
|
22
22
|
import "./chunk-7PA7FGLD.js";
|
|
23
23
|
import "./chunk-XACXNDFL.js";
|
|
24
24
|
import "./chunk-2L7PYYJK.js";
|
package/dist/director/ai-sdk.js
CHANGED
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
dataChunk,
|
|
11
11
|
generationArtifactFromToolResult,
|
|
12
12
|
projectDirectorHistory
|
|
13
|
-
} from "../chunk-
|
|
14
|
-
import "../chunk-
|
|
13
|
+
} from "../chunk-IHKMFEBT.js";
|
|
14
|
+
import "../chunk-WEXGESUQ.js";
|
|
15
15
|
import "../chunk-73DQTUWY.js";
|
|
16
16
|
import "../chunk-BADZHXLR.js";
|
|
17
17
|
import "../chunk-U3JPILZS.js";
|
|
18
18
|
import "../chunk-XELS2BGA.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-QSWONRX2.js";
|
|
20
20
|
import "../chunk-2ESYSVXG.js";
|
|
21
21
|
export {
|
|
22
22
|
CueFrameIteration,
|
package/dist/director/domain.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
ProjectRef,
|
|
10
10
|
chatErrorViewFromEnvelope,
|
|
11
11
|
chatErrorViewFromUnknown
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-WEXGESUQ.js";
|
|
13
13
|
import {
|
|
14
14
|
ClientRequestId,
|
|
15
15
|
GenerateMediaCommand,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
import "../chunk-BADZHXLR.js";
|
|
32
32
|
import "../chunk-U3JPILZS.js";
|
|
33
33
|
import "../chunk-XELS2BGA.js";
|
|
34
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-QSWONRX2.js";
|
|
35
35
|
import "../chunk-2ESYSVXG.js";
|
|
36
36
|
export {
|
|
37
37
|
ChatErrorView,
|
package/dist/director.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
dataChunk,
|
|
11
11
|
generationArtifactFromToolResult,
|
|
12
12
|
projectDirectorHistory
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-IHKMFEBT.js";
|
|
14
14
|
import "./chunk-FTVZF4GO.js";
|
|
15
15
|
import {
|
|
16
16
|
ChatErrorView,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
ProjectRef,
|
|
23
23
|
chatErrorViewFromEnvelope,
|
|
24
24
|
chatErrorViewFromUnknown
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-WEXGESUQ.js";
|
|
26
26
|
import {
|
|
27
27
|
ClientRequestId,
|
|
28
28
|
GenerateMediaCommand,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
import "./chunk-BADZHXLR.js";
|
|
45
45
|
import "./chunk-U3JPILZS.js";
|
|
46
46
|
import "./chunk-XELS2BGA.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-QSWONRX2.js";
|
|
48
48
|
import "./chunk-2ESYSVXG.js";
|
|
49
49
|
export {
|
|
50
50
|
ChatErrorView,
|
package/dist/errors.js
CHANGED
package/dist/mcp/adapter.js
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
querySchemaShape,
|
|
3
3
|
serializeQuery,
|
|
4
4
|
waitForJob
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-ZBQQFAE7.js";
|
|
6
6
|
import {
|
|
7
7
|
CURATED_TOOLS
|
|
8
8
|
} from "../chunk-5YO4LAB7.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
opById,
|
|
17
17
|
safeParse,
|
|
18
18
|
sniffImageMediaType
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-F2HXB6RG.js";
|
|
20
20
|
import "../chunk-2ESYSVXG.js";
|
|
21
21
|
|
|
22
22
|
// ../mcp/src/adapter.ts
|
|
@@ -29,7 +29,7 @@ var INTERNAL_LOOP_TOOLS = [
|
|
|
29
29
|
name: "render_frame",
|
|
30
30
|
operationId: "previewFrameJob",
|
|
31
31
|
pathArgs: { projectId: "id" },
|
|
32
|
-
description: "Queue durable stills of the WHOLE composition, then wait for the job and return the images. `body.timestamps` is an array of clip-relative SECONDS: pass
|
|
32
|
+
description: "Queue durable stills of the WHOLE composition, then wait for the job and return the images. `body.timestamps` is an array of clip-relative SECONDS, up to 18 per call: the batch renders as ONE unit of work with a fixed time budget, so a bigger batch is refused rather than timed out. Within that bound pass every beat you want in one call \u2014 a call is flat-cost and one budget unit however many timestamps it carries \u2014 and split a denser sweep across calls, which is cheap because stills are content-addressed and identical beats hit the cache. Retries reattach to the same execution. (One component instead of the whole composition? use preview_component.)",
|
|
33
33
|
annotations: { readOnlyHint: true }
|
|
34
34
|
},
|
|
35
35
|
{
|
|
@@ -219,6 +219,15 @@ function previewVisionModelOutput({ output }) {
|
|
|
219
219
|
value: typeof output === "string" ? output : JSON.stringify(output)
|
|
220
220
|
};
|
|
221
221
|
}
|
|
222
|
+
function renderFrameTimestamps() {
|
|
223
|
+
const body = bodySchemaFor(opById("previewFrameJob"));
|
|
224
|
+
const shape = body?.shape;
|
|
225
|
+
const timestamps = shape?.timestamps;
|
|
226
|
+
if (!timestamps) {
|
|
227
|
+
throw new Error("MCP: previewFrameJob body schema has no `timestamps` \u2014 run `pnpm generate:api-consumers`.");
|
|
228
|
+
}
|
|
229
|
+
return timestamps;
|
|
230
|
+
}
|
|
222
231
|
function buildRenderFrameTool(spec, ex, budget, opts) {
|
|
223
232
|
const canonicalOp = opById(spec.operationId);
|
|
224
233
|
const transport = opts?.transportOverrides?.[spec.name];
|
|
@@ -231,7 +240,10 @@ function buildRenderFrameTool(spec, ex, budget, opts) {
|
|
|
231
240
|
const mapArg = (p) => sessionPathValue(reverse[p], opts) ?? void 0;
|
|
232
241
|
return tool({
|
|
233
242
|
description: spec.description,
|
|
234
|
-
|
|
243
|
+
// The SAME bound the server enforces, not a hand-rolled copy of it. The
|
|
244
|
+
// duplicate here said `.min(1)` with no maximum long after the API grew one,
|
|
245
|
+
// so this tool advertised a batch size it would be refused for (CUE-39).
|
|
246
|
+
inputSchema: z.object({ body: z.object({ timestamps: renderFrameTimestamps() }) }),
|
|
235
247
|
inputExamples: [{ input: { body: { timestamps: [14.2, 14.8, 15.6] } } }],
|
|
236
248
|
execute: async (args) => {
|
|
237
249
|
if (++budget.used.captures > budget.caps.captures) {
|
package/dist/mcp/core.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
registerRawTools,
|
|
8
8
|
registerSkillPrompts,
|
|
9
9
|
titleCase
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-LL5GI3IS.js";
|
|
11
|
+
import "../chunk-ZBQQFAE7.js";
|
|
12
12
|
import "../chunk-5YO4LAB7.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-F2HXB6RG.js";
|
|
14
14
|
import "../chunk-2ESYSVXG.js";
|
|
15
15
|
export {
|
|
16
16
|
RAW_EXCLUDED_OPERATION_IDS,
|
package/dist/mcp.js
CHANGED
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
buildServer,
|
|
8
8
|
registerCuratedTools,
|
|
9
9
|
registerRawTools
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-LL5GI3IS.js";
|
|
11
|
+
import "./chunk-ZBQQFAE7.js";
|
|
12
12
|
import "./chunk-5YO4LAB7.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-F2HXB6RG.js";
|
|
14
14
|
import "./chunk-2ESYSVXG.js";
|
|
15
15
|
export {
|
|
16
16
|
API_URLS,
|
package/dist/plane/contract.js
CHANGED
|
@@ -2,6 +2,14 @@ import "../chunk-2ESYSVXG.js";
|
|
|
2
2
|
|
|
3
3
|
// ../plane/src/contract.ts
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
var STILL_BUDGET_BASE_S = 60;
|
|
6
|
+
var STILL_BUDGET_PER_BEAT_S = 3;
|
|
7
|
+
var STILL_BUDGET_CEILING_S = 280;
|
|
8
|
+
var CO_BATCHED_CALLERS = 4;
|
|
9
|
+
var MAX_STILL_BEATS_PER_BATCH = 18;
|
|
10
|
+
function stillBudgetSeconds(beats) {
|
|
11
|
+
return STILL_BUDGET_BASE_S + STILL_BUDGET_PER_BEAT_S * beats;
|
|
12
|
+
}
|
|
5
13
|
var PreviewFrameRequest = z.object({
|
|
6
14
|
composition: z.unknown().optional().describe(
|
|
7
15
|
"The composition to render. Absent \u21D2 the project's ACTIVE composition \u2014 what create_render will encode. The response's `previewed.source` names what was rendered."
|
|
@@ -12,7 +20,9 @@ var PreviewFrameRequest = z.object({
|
|
|
12
20
|
session_id: z.string().optional().describe(
|
|
13
21
|
"Compose-session id: render that session's SCRATCH composition (what the session has been editing) instead of the active row. Ignored when `composition` is passed."
|
|
14
22
|
),
|
|
15
|
-
timestamps: z.array(z.number()).min(1)
|
|
23
|
+
timestamps: z.array(z.number()).min(1).max(MAX_STILL_BEATS_PER_BATCH).describe(
|
|
24
|
+
`Composition seconds to capture, ${MAX_STILL_BEATS_PER_BATCH} per request. The batch renders as ONE unit of work \u2014 one warm container, one source decode, N seeks \u2014 and that unit has a fixed time budget, so a larger batch is refused here rather than accepted and timed out minutes later. For a denser sweep, split it across calls; identical beats are served from the still cache, so overlapping batches are cheap.`
|
|
25
|
+
),
|
|
16
26
|
imageFormat: z.enum(["png", "jpeg"]).optional().describe(
|
|
17
27
|
"Still format. Default jpeg \u2014 these pixels go to a vision model, where jpeg is equivalent and png costs multiples in bytes to store and move. Pass png only when you need full fidelity."
|
|
18
28
|
),
|
|
@@ -30,6 +40,12 @@ var DesktopPreviewFrameRequest = PreviewFrameRequest.pick({
|
|
|
30
40
|
jpegQuality: true
|
|
31
41
|
}).strict();
|
|
32
42
|
export {
|
|
43
|
+
CO_BATCHED_CALLERS,
|
|
33
44
|
DesktopPreviewFrameRequest,
|
|
34
|
-
|
|
45
|
+
MAX_STILL_BEATS_PER_BATCH,
|
|
46
|
+
PreviewFrameRequest,
|
|
47
|
+
STILL_BUDGET_BASE_S,
|
|
48
|
+
STILL_BUDGET_CEILING_S,
|
|
49
|
+
STILL_BUDGET_PER_BEAT_S,
|
|
50
|
+
stillBudgetSeconds
|
|
35
51
|
};
|
package/dist/primitives.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
catalog as catalog4
|
|
3
|
-
} from "./chunk-JRJQECCF.js";
|
|
4
|
-
import {
|
|
5
|
-
catalog as catalog7
|
|
6
|
-
} from "./chunk-TE3PNQG6.js";
|
|
7
|
-
import {
|
|
8
|
-
catalog
|
|
9
|
-
} from "./chunk-RBWS5XHE.js";
|
|
10
|
-
import "./chunk-DLF4WVSE.js";
|
|
11
|
-
import "./chunk-U4V4FZGE.js";
|
|
12
1
|
import {
|
|
13
2
|
catalog as catalog3
|
|
14
3
|
} from "./chunk-FVDFPJHT.js";
|
|
15
|
-
import "./chunk-QGAWDLYX.js";
|
|
16
4
|
import {
|
|
17
5
|
catalog as catalog6
|
|
18
6
|
} from "./chunk-VLJOIUHL.js";
|
|
19
|
-
import "./chunk-S5H6GH6M.js";
|
|
20
|
-
import "./chunk-QAGGJHAF.js";
|
|
21
|
-
import {
|
|
22
|
-
catalog as catalog5
|
|
23
|
-
} from "./chunk-RAXHCRVV.js";
|
|
24
7
|
import {
|
|
25
8
|
catalog as catalog2
|
|
26
9
|
} from "./chunk-WAUVKF2F.js";
|
|
27
|
-
import "./chunk-MFHXCHRI.js";
|
|
28
10
|
import {
|
|
29
11
|
catalog as catalog8
|
|
30
12
|
} from "./chunk-RL5SO653.js";
|
|
13
|
+
import {
|
|
14
|
+
catalog as catalog4
|
|
15
|
+
} from "./chunk-JRJQECCF.js";
|
|
16
|
+
import {
|
|
17
|
+
catalog as catalog7
|
|
18
|
+
} from "./chunk-TE3PNQG6.js";
|
|
19
|
+
import "./chunk-QGAWDLYX.js";
|
|
20
|
+
import "./chunk-S5H6GH6M.js";
|
|
21
|
+
import "./chunk-QAGGJHAF.js";
|
|
22
|
+
import "./chunk-MFHXCHRI.js";
|
|
23
|
+
import {
|
|
24
|
+
catalog
|
|
25
|
+
} from "./chunk-RBWS5XHE.js";
|
|
26
|
+
import "./chunk-DLF4WVSE.js";
|
|
27
|
+
import "./chunk-U4V4FZGE.js";
|
|
31
28
|
import "./chunk-LT4PWSR2.js";
|
|
32
29
|
import "./chunk-FWSJLHSV.js";
|
|
33
30
|
import "./chunk-ZFEXATWN.js";
|
|
31
|
+
import {
|
|
32
|
+
catalog as catalog5
|
|
33
|
+
} from "./chunk-RAXHCRVV.js";
|
|
34
34
|
import "./chunk-XHGZ2E77.js";
|
|
35
35
|
import "./chunk-W2245F6G.js";
|
|
36
36
|
import "./chunk-JBWSK2YD.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assertCardHtmlAssetFree
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BUAAQDDJ.js";
|
|
4
4
|
import "../chunk-OSMXQV5V.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-QSWONRX2.js";
|
|
6
6
|
import "../chunk-2ESYSVXG.js";
|
|
7
7
|
export {
|
|
8
8
|
assertCardHtmlAssetFree
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
assertCardFontsAdmitted,
|
|
3
3
|
cardBundledFamilies,
|
|
4
4
|
cardFontFamilyStacks
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-6PBYCESM.js";
|
|
6
|
+
import "../chunk-QSWONRX2.js";
|
|
7
7
|
import "../chunk-AVTEPAWI.js";
|
|
8
8
|
import "../chunk-2ESYSVXG.js";
|
|
9
9
|
export {
|
package/dist/render-harness.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assertCardHtmlAssetFree
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BUAAQDDJ.js";
|
|
4
4
|
import {
|
|
5
5
|
assertCardFontsAdmitted
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6PBYCESM.js";
|
|
7
7
|
import {
|
|
8
8
|
assertNoRemoteRefs,
|
|
9
9
|
assetSlots,
|
|
@@ -46,17 +46,17 @@ import {
|
|
|
46
46
|
parseSceneComponentCaptureIntentV1,
|
|
47
47
|
prepareSceneShotRenderInput,
|
|
48
48
|
readSceneShotManifest
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-UOYKFFFK.js";
|
|
50
50
|
import "./chunk-QH3YI3ND.js";
|
|
51
51
|
import "./chunk-QISFYLBB.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-IYZEK6WY.js";
|
|
53
53
|
import "./chunk-VZ7TYX6Z.js";
|
|
54
54
|
import "./chunk-DENF4TPI.js";
|
|
55
55
|
import "./chunk-KYRDKK2D.js";
|
|
56
56
|
import "./chunk-WREYUH2E.js";
|
|
57
57
|
import {
|
|
58
58
|
CueframeError
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-QSWONRX2.js";
|
|
60
60
|
import "./chunk-7PA7FGLD.js";
|
|
61
61
|
import {
|
|
62
62
|
evaluateScene,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cueframe/kernel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.36",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Publish-only aggregate of CueFrame's isomorphic kernel packages — composition, primitives, authoring, MCP, and friends shipped as one npm artifact. Members remain separate workspace packages; this only changes what ships.",
|
|
6
6
|
"files": [
|
|
@@ -19,23 +19,23 @@
|
|
|
19
19
|
"@cueframe/account-model": "0.1.0",
|
|
20
20
|
"@cueframe/animate": "0.1.0",
|
|
21
21
|
"@cueframe/authoring": "0.1.0",
|
|
22
|
-
"@cueframe/
|
|
23
|
-
"@cueframe/
|
|
22
|
+
"@cueframe/cloud-import": "0.1.0",
|
|
23
|
+
"@cueframe/compose": "0.1.0",
|
|
24
24
|
"@cueframe/composition-ops": "0.1.0",
|
|
25
|
-
"@cueframe/
|
|
25
|
+
"@cueframe/composition": "0.1.0",
|
|
26
|
+
"@cueframe/brand-derivation": "0.1.0",
|
|
26
27
|
"@cueframe/core": "0.1.0",
|
|
27
|
-
"@cueframe/compose": "0.1.0",
|
|
28
|
-
"@cueframe/director": "0.1.0",
|
|
29
|
-
"@cueframe/cloud-import": "0.1.0",
|
|
30
28
|
"@cueframe/errors": "0.1.0",
|
|
29
|
+
"@cueframe/director": "0.1.0",
|
|
30
|
+
"@cueframe/foundation": "0.1.0",
|
|
31
|
+
"@cueframe/component-runtime": "0.1.0",
|
|
31
32
|
"@cueframe/mcp": "0.1.0",
|
|
32
|
-
"@cueframe/
|
|
33
|
+
"@cueframe/primitives": "0.1.0",
|
|
33
34
|
"@cueframe/perception": "0.1.0",
|
|
34
|
-
"@cueframe/plane": "0.1.0",
|
|
35
35
|
"@cueframe/nle-export": "0.1.0",
|
|
36
|
-
"@cueframe/
|
|
37
|
-
"@cueframe/
|
|
38
|
-
"@cueframe/
|
|
36
|
+
"@cueframe/plane": "0.1.0",
|
|
37
|
+
"@cueframe/render-harness": "0.1.0",
|
|
38
|
+
"@cueframe/media-model": "0.1.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"gsap": "3.13.0",
|