@cueframe/kernel 0.2.43 → 0.2.44
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/component-runtime/contracts.d.ts +7 -1
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
- package/dist/_members/errors/registry.d.ts +18 -0
- package/dist/_members/mcp/executor.d.ts +3 -2
- package/dist/_members/mcp/serverClient.d.ts +7 -0
- package/dist/_members/plane/contract.d.ts +28 -1
- package/dist/authoring.js +2 -2
- package/dist/{chunk-6PBYCESM.js → chunk-4GLMARCJ.js} +1 -1
- package/dist/{chunk-RO57QD5M.js → chunk-7XZW26U2.js} +3 -3
- package/dist/{chunk-UGYYZBG4.js → chunk-EC6VFQE6.js} +1 -0
- package/dist/{chunk-IHKMFEBT.js → chunk-FRNBTODO.js} +1 -1
- package/dist/{chunk-BUAAQDDJ.js → chunk-GOJKL5FM.js} +1 -1
- package/dist/{chunk-PCCVZYAF.js → chunk-JWMWVP64.js} +1 -1
- package/dist/{chunk-JX7NKSJP.js → chunk-K66NLMGX.js} +1 -1
- package/dist/{chunk-WEXGESUQ.js → chunk-KKHI5NLK.js} +1 -1
- package/dist/{chunk-UAOTQSS3.js → chunk-MYBK6DKF.js} +9 -9
- package/dist/{chunk-AYOVAVNO.js → chunk-OASSDEWY.js} +1 -1
- package/dist/{chunk-IYZEK6WY.js → chunk-V7LQ7ZHV.js} +1 -1
- package/dist/{chunk-VCBLGZQQ.js → chunk-WKT7SEVP.js} +10 -3
- package/dist/{chunk-62VTAA6O.js → chunk-WL2MLKWU.js} +1 -1
- package/dist/{chunk-SLN5UKLT.js → chunk-WYRKF2OX.js} +2 -3
- package/dist/{chunk-QSWONRX2.js → chunk-XWOV6KI6.js} +17 -1
- package/dist/chunk-YIJZBLQE.js +102 -0
- package/dist/{chunk-NPZWMZI6.js → chunk-ZXWSZUSU.js} +10 -10
- package/dist/component-runtime/browserOptions.js +2 -2
- package/dist/component-runtime/contracts.js +1 -1
- package/dist/component-runtime/importPolicy.js +2 -2
- package/dist/component-runtime/render.js +4 -4
- package/dist/component-runtime/sourceAdmission.js +2 -2
- package/dist/component-runtime.js +6 -6
- package/dist/compose.js +21 -21
- 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/executor.js +2 -1
- package/dist/mcp.js +2 -1
- package/dist/plane/conformance.js +1 -1
- package/dist/plane/contract.js +27 -46
- package/dist/plane.js +1 -1
- package/dist/primitives/effects.js +2 -2
- package/dist/primitives/hero-text.js +2 -2
- package/dist/primitives/scenes.js +2 -2
- package/dist/primitives/text.js +2 -2
- package/dist/primitives/ui-blocks.js +4 -4
- package/dist/primitives.js +20 -20
- package/dist/render-harness/cardAssetAdmission.js +2 -2
- package/dist/render-harness/cardFonts.js +2 -2
- package/dist/render-harness.js +15 -15
- package/package.json +9 -9
- package/dist/{chunk-O3SJTX6S.js → chunk-4B4V3HYW.js} +4 -4
- package/dist/{chunk-7SXY6NFW.js → chunk-5ZQLMPDY.js} +3 -3
- package/dist/{chunk-RL5SO653.js → chunk-7SQOXIWR.js} +3 -3
- package/dist/{chunk-B3GSTQLR.js → chunk-VLJOIUHL.js} +6 -6
- package/dist/{chunk-RBWS5XHE.js → chunk-X34KW2SL.js} +4 -4
|
@@ -765,7 +765,12 @@ export declare const ComponentRenderReceiptV2: z.ZodObject<{
|
|
|
765
765
|
}, z.core.$strict>>;
|
|
766
766
|
}, z.core.$strict>;
|
|
767
767
|
export type ComponentRenderReceiptV2 = z.infer<typeof ComponentRenderReceiptV2>;
|
|
768
|
-
|
|
768
|
+
/**
|
|
769
|
+
* Every code the bake lane can raise, host side or sandbox side. Not only the
|
|
770
|
+
* ones a component can report about itself: the host's own artifact verifier
|
|
771
|
+
* refuses through the same channel, so its codes belong here too.
|
|
772
|
+
*/
|
|
773
|
+
export declare const COMPONENT_RUNTIME_ERROR_CODES: readonly ["invalid_component_source", "unsupported_runtime_version", "component_does_not_compile", "component_runtime_error", "component_deadline_exceeded", "component_resource_exhausted", "component_asset_undeclared", "component_asset_unavailable", "component_asset_integrity_failed", "component_network_denied", "component_import_denied", "component_graphics_unavailable", "component_graphics_mismatch", "component_device_lost", "component_output_invalid", "component_output_unverifiable", "component_conflict", "component_scene_invalid"];
|
|
769
774
|
export declare const ComponentRuntimeErrorCode: z.ZodEnum<{
|
|
770
775
|
invalid_component_source: "invalid_component_source";
|
|
771
776
|
unsupported_runtime_version: "unsupported_runtime_version";
|
|
@@ -782,6 +787,7 @@ export declare const ComponentRuntimeErrorCode: z.ZodEnum<{
|
|
|
782
787
|
component_graphics_mismatch: "component_graphics_mismatch";
|
|
783
788
|
component_device_lost: "component_device_lost";
|
|
784
789
|
component_output_invalid: "component_output_invalid";
|
|
790
|
+
component_output_unverifiable: "component_output_unverifiable";
|
|
785
791
|
component_conflict: "component_conflict";
|
|
786
792
|
component_scene_invalid: "component_scene_invalid";
|
|
787
793
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,eAAO,MAAM,yBAAyB,EAAG,CAAU,CAAC;AAEpD,eAAO,MAAM,kBAAkB;;;;;EAA8C,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,oBAAoB,qGAE/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;;;;;;;;4BAUjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;kBAK7B,CAAC;AACZ,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;EAAoD,CAAC;AACxF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;kBAIhC,CAAC;AACZ,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;kBAEvB,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB;;;;;EAAsD,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;kBAI3B,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;kBAM5B,CAAC;AACZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEpF,4FAA4F;AAC5F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;kBAiBpC,CAAC;AACZ,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACpG,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;kBAExC,CAAC;AACZ,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC;AAE5G,mFAAmF;AACnF,eAAO,MAAM,iCAAiC;;;;;;;kBAOnC,CAAC;AACZ,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAElG,eAAO,MAAM,uCAAuC;;;;;kBAKzC,CAAC;AACZ,MAAM,MAAM,uCAAuC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAE9G,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMrB,CAAC;AACZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,8BAA8B;;;;;;;;;EASX,CAAC;AAEjC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKnB,CAAC;AACZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;kBAGtB,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,yBAAyB,EAAG,cAAuB,CAAC;AAEjE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAGlG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG9F;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;kBASzB,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;kBAQvB,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAChD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,eAAO,MAAM,oBAAoB;;kBAEtB,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQnB,CAAC;AACZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAa1B,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaxB,CAAC;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,wFAAwF;AACxF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcpB,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;kBAK3B,CAAC;AACZ,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0B1B,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1120,6 +1120,24 @@ export declare const ERROR_CODES: {
|
|
|
1120
1120
|
readonly httpStatus: 503;
|
|
1121
1121
|
};
|
|
1122
1122
|
readonly component_output_invalid: {
|
|
1123
|
+
readonly stage: "render";
|
|
1124
|
+
readonly category: "authoring";
|
|
1125
|
+
readonly retryable: false;
|
|
1126
|
+
readonly httpStatus: 422;
|
|
1127
|
+
};
|
|
1128
|
+
readonly component_output_unverifiable: {
|
|
1129
|
+
readonly stage: "render";
|
|
1130
|
+
readonly category: "internal";
|
|
1131
|
+
readonly retryable: false;
|
|
1132
|
+
readonly httpStatus: 500;
|
|
1133
|
+
};
|
|
1134
|
+
readonly sandbox_oom: {
|
|
1135
|
+
readonly stage: "render";
|
|
1136
|
+
readonly category: "internal";
|
|
1137
|
+
readonly retryable: true;
|
|
1138
|
+
readonly httpStatus: 503;
|
|
1139
|
+
};
|
|
1140
|
+
readonly component_bake_crashed: {
|
|
1123
1141
|
readonly stage: "render";
|
|
1124
1142
|
readonly category: "internal";
|
|
1125
1143
|
readonly retryable: false;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type Executor } from './core.js';
|
|
2
|
+
import { type ClientIdentity } from '../plane/contract.js';
|
|
2
3
|
export declare const API_URLS: Record<string, string>;
|
|
3
|
-
export declare function makeNetworkExecutor(baseUrl: string, apiKey: string): Executor;
|
|
4
|
+
export declare function makeNetworkExecutor(baseUrl: string, apiKey: string, client: ClientIdentity): Executor;
|
|
4
5
|
export declare function makeSessionExecutor(opts: {
|
|
5
6
|
baseUrl: string;
|
|
6
7
|
getToken: () => Promise<string | null>;
|
|
7
|
-
|
|
8
|
+
client: ClientIdentity;
|
|
8
9
|
}): Executor;
|
|
9
10
|
export declare function makePlatformExecutor(baseUrl: string, deployKey: string, orgId: string, opts?: {
|
|
10
11
|
actingUserId?: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ClientIdentity } from '../plane/contract.js';
|
|
2
|
+
/**
|
|
3
|
+
* The stdio server is a first-party /v1 client like the desktop and the CLI,
|
|
4
|
+
* and it is the one agents run locally. Node-only, so it lives beside main.ts
|
|
5
|
+
* rather than in executor.ts, which browser bundles import.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MCP_SERVER_CLIENT: ClientIdentity;
|
|
@@ -73,7 +73,7 @@ export declare const PreviewFrameRequest: z.ZodObject<{
|
|
|
73
73
|
}>>;
|
|
74
74
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
75
75
|
jpegQuality: z.ZodOptional<z.ZodNumber>;
|
|
76
|
-
}, z.core.$
|
|
76
|
+
}, z.core.$strict>;
|
|
77
77
|
/** Synchronous desktop variant: the mounted persisted document is the only target. */
|
|
78
78
|
export declare const DesktopPreviewFrameRequest: z.ZodObject<{
|
|
79
79
|
timestamps: z.ZodArray<z.ZodNumber>;
|
|
@@ -84,3 +84,30 @@ export declare const DesktopPreviewFrameRequest: z.ZodObject<{
|
|
|
84
84
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
85
85
|
jpegQuality: z.ZodOptional<z.ZodNumber>;
|
|
86
86
|
}, z.core.$strict>;
|
|
87
|
+
/**
|
|
88
|
+
* Who is calling, in one request header. The server cannot infer this: a Tauri
|
|
89
|
+
* WebView2 request and a Chrome one carry the same user agent, so every
|
|
90
|
+
* first-party client states its surface, version and OS itself. Mirrors the
|
|
91
|
+
* `X-CueFrame-Contract` response header, from the other direction.
|
|
92
|
+
*/
|
|
93
|
+
export declare const CLIENT_HEADER = "X-CueFrame-Client";
|
|
94
|
+
export declare const CLIENT_SURFACES: readonly ["studio", "web", "console", "cli", "mcp"];
|
|
95
|
+
export type ClientSurface = (typeof CLIENT_SURFACES)[number];
|
|
96
|
+
export declare const CLIENT_OSES: readonly ["macos", "windows", "linux", "browser", "unknown"];
|
|
97
|
+
export type ClientOs = (typeof CLIENT_OSES)[number];
|
|
98
|
+
export interface ClientIdentity {
|
|
99
|
+
surface: ClientSurface;
|
|
100
|
+
version: string;
|
|
101
|
+
os: ClientOs;
|
|
102
|
+
}
|
|
103
|
+
export declare function formatClientHeader(client: ClientIdentity): string;
|
|
104
|
+
/** Null means no first-party client said so, never a guessed identity. */
|
|
105
|
+
export declare function parseClientHeader(value: string | null | undefined): ClientIdentity | null;
|
|
106
|
+
/** Node's `process.platform`, named in our terms. Anything else is `unknown`. */
|
|
107
|
+
export declare function osFromNodePlatform(platform: string): ClientOs;
|
|
108
|
+
/**
|
|
109
|
+
* The host OS behind a webview, for clients with no OS API wired. Reports
|
|
110
|
+
* `unknown` rather than guessing: a wrong OS in a support log is worse than
|
|
111
|
+
* an absent one.
|
|
112
|
+
*/
|
|
113
|
+
export declare function osFromUserAgent(agent: string): ClientOs;
|
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-OASSDEWY.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-XWOV6KI6.js";
|
|
66
66
|
import "./chunk-7PA7FGLD.js";
|
|
67
67
|
import {
|
|
68
68
|
collectSceneClipIssues,
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
} from "./chunk-EXY4JJPH.js";
|
|
10
10
|
import {
|
|
11
11
|
assertComponentImportsAllowed
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-K66NLMGX.js";
|
|
13
13
|
import {
|
|
14
14
|
assertComponentBrowserHardware,
|
|
15
15
|
componentBrowserBackend,
|
|
16
16
|
componentBrowserOptions,
|
|
17
17
|
readGpuAttestation
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JWMWVP64.js";
|
|
19
19
|
import {
|
|
20
20
|
ComponentCapturePageRasterAttestationV1,
|
|
21
21
|
ComponentGraphicsApiV2,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
ComponentStillPngContainerFactsV1,
|
|
26
26
|
ComponentStillSessionAttestationV1,
|
|
27
27
|
ComponentStillSessionHostAttestationV1
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-EC6VFQE6.js";
|
|
29
29
|
import {
|
|
30
30
|
parseSceneShotSpecV2
|
|
31
31
|
} from "./chunk-CL5Y6V6K.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
assertSceneShotParamsAdmitted,
|
|
4
4
|
materializeComponentSource,
|
|
5
5
|
renderComponentAlpha
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7XZW26U2.js";
|
|
7
7
|
import {
|
|
8
8
|
componentArtifactId,
|
|
9
9
|
componentBundleId,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
} from "./chunk-EXY4JJPH.js";
|
|
14
14
|
import {
|
|
15
15
|
assertSourceReadsDeclaredAssets
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WL2MLKWU.js";
|
|
17
17
|
import {
|
|
18
18
|
resolvedComponentRenderer
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-JWMWVP64.js";
|
|
20
20
|
import {
|
|
21
21
|
ComponentBakeJobV2,
|
|
22
22
|
ComponentBakeRequestV2,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
ComponentRuntimeError,
|
|
26
26
|
assertGraphicsReceiptMatches,
|
|
27
27
|
assertRendererReceiptMatches
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-EC6VFQE6.js";
|
|
29
29
|
|
|
30
30
|
// ../execution/component-runtime/src/assetServer.ts
|
|
31
31
|
import { createHash, randomBytes } from "crypto";
|
|
@@ -170,7 +170,7 @@ function assertComponentOutputProbe(probe, expected) {
|
|
|
170
170
|
const hasAlpha = expected.codec === "vp9" ? stream?.tags?.alpha_mode === "1" : Boolean(stream?.pix_fmt?.startsWith("yuva"));
|
|
171
171
|
if (stream?.codec_name !== expectedCodec || stream.width !== expected.width || stream.height !== expected.height || frames !== expected.durationInFrames || !Number.isFinite(fps) || Math.abs(fps - expected.fps) > 1e-3 || !Number.isFinite(duration) || Math.abs(duration - expectedDuration) > Math.max(0.05, 1 / expected.fps) || !hasAlpha) {
|
|
172
172
|
throw new ComponentRuntimeError(
|
|
173
|
-
"
|
|
173
|
+
"component_output_unverifiable",
|
|
174
174
|
"Rendered component artifact failed codec, alpha, dimensions, frame-count, FPS, or duration verification."
|
|
175
175
|
);
|
|
176
176
|
}
|
|
@@ -178,7 +178,7 @@ function assertComponentOutputProbe(probe, expected) {
|
|
|
178
178
|
function verifyComponentOutput(options) {
|
|
179
179
|
const size = statSync2(options.path).size;
|
|
180
180
|
if (size <= 0 || size > (options.maxBytes ?? 1073741824)) {
|
|
181
|
-
throw new ComponentRuntimeError("
|
|
181
|
+
throw new ComponentRuntimeError("component_output_unverifiable", "Rendered component artifact has an invalid size.");
|
|
182
182
|
}
|
|
183
183
|
const bundledProbe = join(dirname(process.execPath), process.platform === "win32" ? "ffprobe.exe" : "ffprobe");
|
|
184
184
|
const ffprobeExecutable = options.ffprobeExecutable ?? process.env.COMPONENT_FFPROBE_EXECUTABLE ?? (existsSync(bundledProbe) ? bundledProbe : "ffprobe");
|
|
@@ -197,7 +197,7 @@ function verifyComponentOutput(options) {
|
|
|
197
197
|
options.path
|
|
198
198
|
], { encoding: "utf8", timeout: 3e4, maxBuffer: 2e6 }));
|
|
199
199
|
} catch (error) {
|
|
200
|
-
throw new ComponentRuntimeError("
|
|
200
|
+
throw new ComponentRuntimeError("component_output_unverifiable", "Rendered component artifact could not be probed.", { cause: error });
|
|
201
201
|
}
|
|
202
202
|
assertComponentOutputProbe(probe, options.expected);
|
|
203
203
|
if (options.expected.source.manifest.alphaPolicy === "requires-transparency") {
|
|
@@ -222,10 +222,10 @@ function verifyComponentOutput(options) {
|
|
|
222
222
|
], { encoding: "utf8", timeout: 3e4, maxBuffer: 2e6 });
|
|
223
223
|
fractions = parseAlphaOpaqueFractions(output);
|
|
224
224
|
} catch (error) {
|
|
225
|
-
throw new ComponentRuntimeError("
|
|
225
|
+
throw new ComponentRuntimeError("component_output_unverifiable", "Rendered component alpha policy could not be verified.", { cause: error });
|
|
226
226
|
}
|
|
227
227
|
if (fractions.length === 0) {
|
|
228
|
-
throw new ComponentRuntimeError("
|
|
228
|
+
throw new ComponentRuntimeError("component_output_unverifiable", "Rendered component alpha policy produced no samples.");
|
|
229
229
|
}
|
|
230
230
|
if (bakeOpacityContradictsPolicy(options.expected.source.manifest.alphaPolicy, fractions)) {
|
|
231
231
|
throw new ComponentRuntimeError("component_output_invalid", "Rendered component is opaque but its manifest requires transparency.");
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CLIENT_HEADER,
|
|
3
|
+
formatClientHeader
|
|
4
|
+
} from "./chunk-YIJZBLQE.js";
|
|
5
|
+
|
|
1
6
|
// ../mcp/src/executor.ts
|
|
2
7
|
var API_URLS = {
|
|
3
8
|
dev: "https://api-dev.cueframe.ai",
|
|
4
9
|
prod: "https://api.cueframe.ai"
|
|
5
10
|
};
|
|
6
|
-
function makeNetworkExecutor(baseUrl, apiKey) {
|
|
11
|
+
function makeNetworkExecutor(baseUrl, apiKey, client) {
|
|
12
|
+
const clientHeader = formatClientHeader(client);
|
|
7
13
|
return {
|
|
8
14
|
async invoke({ method, path, body, query, payment }) {
|
|
9
15
|
const url = `${baseUrl}${path}${query ? `?${query}` : ""}`;
|
|
10
|
-
const headers = {};
|
|
16
|
+
const headers = { [CLIENT_HEADER]: clientHeader };
|
|
11
17
|
if (payment) headers["PAYMENT-SIGNATURE"] = payment;
|
|
12
18
|
else if (apiKey) headers["authorization"] = `Bearer ${apiKey}`;
|
|
13
19
|
let payload;
|
|
@@ -25,6 +31,7 @@ function makeNetworkExecutor(baseUrl, apiKey) {
|
|
|
25
31
|
};
|
|
26
32
|
}
|
|
27
33
|
function makeSessionExecutor(opts) {
|
|
34
|
+
const client = formatClientHeader(opts.client);
|
|
28
35
|
return {
|
|
29
36
|
async invoke({ method, path, body, query, idempotent }) {
|
|
30
37
|
const token = await opts.getToken();
|
|
@@ -34,7 +41,7 @@ function makeSessionExecutor(opts) {
|
|
|
34
41
|
const url = `${opts.baseUrl}${path}${query ? `?${query}` : ""}`;
|
|
35
42
|
const headers = {
|
|
36
43
|
authorization: `Bearer ${token}`,
|
|
37
|
-
|
|
44
|
+
[CLIENT_HEADER]: client
|
|
38
45
|
};
|
|
39
46
|
let payload;
|
|
40
47
|
if (body !== void 0) {
|
|
@@ -52,10 +52,9 @@ var PREVIEW_FRAME_CASES = [
|
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
name: "an unrecognised body key is refused",
|
|
55
|
-
why: "
|
|
55
|
+
why: "The published `previewFrameBody` ends `.strict()` and SDK + MCP clients enforce it; a server looser than its own spec is the divergence. Both lanes now run the strict schema, so a typo like `timestamp` or `dryRun` is a 400 everywhere.",
|
|
56
56
|
body: { timestamps: [1], nonsenseKey: true },
|
|
57
|
-
expect: { status: 400, code: "validation_error" }
|
|
58
|
-
knownRed: ["cloud"]
|
|
57
|
+
expect: { status: 400, code: "validation_error" }
|
|
59
58
|
}
|
|
60
59
|
];
|
|
61
60
|
function isKnownRed(c, lane) {
|
|
@@ -218,7 +218,23 @@ var ERROR_CODES = {
|
|
|
218
218
|
component_graphics_unavailable: { stage: "render", category: "authoring", retryable: false, httpStatus: 422 },
|
|
219
219
|
component_graphics_mismatch: { stage: "render", category: "internal", retryable: false, httpStatus: 500 },
|
|
220
220
|
component_device_lost: { stage: "render", category: "transient", retryable: true, httpStatus: 503 },
|
|
221
|
-
|
|
221
|
+
// The component's own manifest declares transparency and its renderer produced
|
|
222
|
+
// an opaque frame. That is the author's contract contradicting itself, so the
|
|
223
|
+
// sentence naming it belongs on the wire. Fix: declare the component opaque,
|
|
224
|
+
// or stop painting an opaque background over the frame.
|
|
225
|
+
component_output_invalid: { stage: "render", category: "authoring", retryable: false, httpStatus: 422 },
|
|
226
|
+
// The other half of the same verifier: ffprobe would not read the artifact,
|
|
227
|
+
// the alpha sampler would not run or returned nothing, the artifact is empty
|
|
228
|
+
// or over the size ceiling, or it came back in a codec/size/fps we did not ask
|
|
229
|
+
// for. None of that is the author's doing and none of it is visible to them,
|
|
230
|
+
// so it stays a platform fault we see in Sentry.
|
|
231
|
+
component_output_unverifiable: { stage: "render", category: "internal", retryable: false, httpStatus: 500 },
|
|
232
|
+
// Two ways a bake dies without a diagnostic of its own. The sandbox ran out of
|
|
233
|
+
// memory: the same bake on a larger box can succeed, so it is worth one retry.
|
|
234
|
+
sandbox_oom: { stage: "render", category: "internal", retryable: true, httpStatus: 503 },
|
|
235
|
+
// The bake process died leaving nothing to read. Retrying reproduces it, so it
|
|
236
|
+
// is ours to diagnose from the run, not the caller's to wait out.
|
|
237
|
+
component_bake_crashed: { stage: "render", category: "internal", retryable: false, httpStatus: 500 },
|
|
222
238
|
component_conflict: { stage: "validate", category: "authoring", retryable: false, httpStatus: 409 },
|
|
223
239
|
component_scene_invalid: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
|
|
224
240
|
motion_preset_unknown: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// ../plane/src/contract.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var STILL_BUDGET_BASE_S = 60;
|
|
4
|
+
var STILL_BUDGET_PER_BEAT_S = 10;
|
|
5
|
+
var STILL_BUDGET_CEILING_S = 840;
|
|
6
|
+
var CO_BATCHED_CALLERS = 4;
|
|
7
|
+
var MAX_STILL_BEATS_PER_BATCH = 18;
|
|
8
|
+
function stillBudgetSeconds(beats) {
|
|
9
|
+
return STILL_BUDGET_BASE_S + STILL_BUDGET_PER_BEAT_S * beats;
|
|
10
|
+
}
|
|
11
|
+
var STILL_COBATCH_MAX_BEATS = 3;
|
|
12
|
+
var STILL_WORKER_COLD_START_S = 150;
|
|
13
|
+
function stillCaptureWaitSeconds(beats) {
|
|
14
|
+
const run = beats > STILL_COBATCH_MAX_BEATS ? beats : STILL_COBATCH_MAX_BEATS * CO_BATCHED_CALLERS;
|
|
15
|
+
return STILL_WORKER_COLD_START_S + stillBudgetSeconds(run);
|
|
16
|
+
}
|
|
17
|
+
var PreviewFrameRequest = z.object({
|
|
18
|
+
composition: z.unknown().optional().describe(
|
|
19
|
+
"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."
|
|
20
|
+
),
|
|
21
|
+
compositionId: z.string().optional().describe(
|
|
22
|
+
"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."
|
|
23
|
+
),
|
|
24
|
+
session_id: z.string().optional().describe(
|
|
25
|
+
"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."
|
|
26
|
+
),
|
|
27
|
+
timestamps: z.array(z.number()).min(1).max(MAX_STILL_BEATS_PER_BATCH).describe(
|
|
28
|
+
`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.`
|
|
29
|
+
),
|
|
30
|
+
imageFormat: z.enum(["png", "jpeg"]).optional().describe(
|
|
31
|
+
"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."
|
|
32
|
+
),
|
|
33
|
+
scale: z.number().min(0.1).max(1).optional().describe(
|
|
34
|
+
"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."
|
|
35
|
+
),
|
|
36
|
+
jpegQuality: z.number().int().min(1).max(100).optional().describe(
|
|
37
|
+
"JPEG quality (jpeg only). Default 70 \u2014 the quality the eval panel grades at."
|
|
38
|
+
)
|
|
39
|
+
// The published `previewFrameBody` is a strictObject and every generated
|
|
40
|
+
// client enforces it. A server looser than its own spec accepted `timestamp`
|
|
41
|
+
// or `dryRun` and rendered the default instead (plane conformance).
|
|
42
|
+
}).strict();
|
|
43
|
+
var DesktopPreviewFrameRequest = PreviewFrameRequest.pick({
|
|
44
|
+
timestamps: true,
|
|
45
|
+
imageFormat: true,
|
|
46
|
+
scale: true,
|
|
47
|
+
jpegQuality: true
|
|
48
|
+
}).strict();
|
|
49
|
+
var CLIENT_HEADER = "X-CueFrame-Client";
|
|
50
|
+
var CLIENT_SURFACES = ["studio", "web", "console", "cli", "mcp"];
|
|
51
|
+
var CLIENT_OSES = ["macos", "windows", "linux", "browser", "unknown"];
|
|
52
|
+
var CLIENT_VERSION = /^[A-Za-z0-9][A-Za-z0-9._+-]{0,31}$/;
|
|
53
|
+
function formatClientHeader(client) {
|
|
54
|
+
if (!CLIENT_VERSION.test(client.version)) {
|
|
55
|
+
throw new Error(
|
|
56
|
+
`${CLIENT_HEADER} cannot carry the version ${JSON.stringify(client.version)}.`
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
return `${client.surface}/${client.version}/${client.os}`;
|
|
60
|
+
}
|
|
61
|
+
function parseClientHeader(value) {
|
|
62
|
+
if (typeof value !== "string") return null;
|
|
63
|
+
const [surface, version, os, ...rest] = value.split("/");
|
|
64
|
+
if (rest.length > 0 || os === void 0) return null;
|
|
65
|
+
if (!CLIENT_SURFACES.includes(surface)) return null;
|
|
66
|
+
if (!CLIENT_OSES.includes(os)) return null;
|
|
67
|
+
if (!CLIENT_VERSION.test(version)) return null;
|
|
68
|
+
return { surface, version, os };
|
|
69
|
+
}
|
|
70
|
+
function osFromNodePlatform(platform) {
|
|
71
|
+
if (platform === "darwin") return "macos";
|
|
72
|
+
if (platform === "win32") return "windows";
|
|
73
|
+
if (platform === "linux") return "linux";
|
|
74
|
+
return "unknown";
|
|
75
|
+
}
|
|
76
|
+
function osFromUserAgent(agent) {
|
|
77
|
+
if (/Mac OS X|Macintosh/.test(agent)) return "macos";
|
|
78
|
+
if (/Windows/.test(agent)) return "windows";
|
|
79
|
+
if (/Linux|X11|CrOS/.test(agent)) return "linux";
|
|
80
|
+
return "unknown";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export {
|
|
84
|
+
STILL_BUDGET_BASE_S,
|
|
85
|
+
STILL_BUDGET_PER_BEAT_S,
|
|
86
|
+
STILL_BUDGET_CEILING_S,
|
|
87
|
+
CO_BATCHED_CALLERS,
|
|
88
|
+
MAX_STILL_BEATS_PER_BATCH,
|
|
89
|
+
stillBudgetSeconds,
|
|
90
|
+
STILL_COBATCH_MAX_BEATS,
|
|
91
|
+
STILL_WORKER_COLD_START_S,
|
|
92
|
+
stillCaptureWaitSeconds,
|
|
93
|
+
PreviewFrameRequest,
|
|
94
|
+
DesktopPreviewFrameRequest,
|
|
95
|
+
CLIENT_HEADER,
|
|
96
|
+
CLIENT_SURFACES,
|
|
97
|
+
CLIENT_OSES,
|
|
98
|
+
formatClientHeader,
|
|
99
|
+
parseClientHeader,
|
|
100
|
+
osFromNodePlatform,
|
|
101
|
+
osFromUserAgent
|
|
102
|
+
};
|
|
@@ -3,14 +3,6 @@ import {
|
|
|
3
3
|
buildEasedZooms,
|
|
4
4
|
buildPannedCenters
|
|
5
5
|
} from "./chunk-QH3YI3ND.js";
|
|
6
|
-
import {
|
|
7
|
-
flattenCompoundClips,
|
|
8
|
-
hasCompoundClips
|
|
9
|
-
} from "./chunk-QISFYLBB.js";
|
|
10
|
-
import {
|
|
11
|
-
compositionHasVo,
|
|
12
|
-
roleDefaultGainDb
|
|
13
|
-
} from "./chunk-VZ7TYX6Z.js";
|
|
14
6
|
import {
|
|
15
7
|
DOMINANCE_WEIGHTS,
|
|
16
8
|
ENTER_SEC,
|
|
@@ -28,7 +20,15 @@ import {
|
|
|
28
20
|
scoreAndRank,
|
|
29
21
|
segmentShots,
|
|
30
22
|
stabilizeSelectionHysteresis
|
|
31
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-V7LQ7ZHV.js";
|
|
24
|
+
import {
|
|
25
|
+
flattenCompoundClips,
|
|
26
|
+
hasCompoundClips
|
|
27
|
+
} from "./chunk-QISFYLBB.js";
|
|
28
|
+
import {
|
|
29
|
+
compositionHasVo,
|
|
30
|
+
roleDefaultGainDb
|
|
31
|
+
} from "./chunk-VZ7TYX6Z.js";
|
|
32
32
|
import {
|
|
33
33
|
SHOT_SCALE_TARGET,
|
|
34
34
|
shotScaleZoom
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
import {
|
|
37
37
|
CueframeError,
|
|
38
38
|
encodeError
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-XWOV6KI6.js";
|
|
40
40
|
import {
|
|
41
41
|
SCENE_CAPTURE_IDENTITY_FIELDS_V1,
|
|
42
42
|
SCENE_PRESET_TRIANGLES,
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
componentBrowserOptions,
|
|
5
5
|
resolvedComponentRenderer,
|
|
6
6
|
webglBackend
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-JWMWVP64.js";
|
|
8
|
+
import "../chunk-EC6VFQE6.js";
|
|
9
9
|
import "../chunk-CL5Y6V6K.js";
|
|
10
10
|
import "../chunk-2L7PYYJK.js";
|
|
11
11
|
import "../chunk-2ESYSVXG.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
COMPONENT_IMPORT_ALLOWLIST,
|
|
3
3
|
assertComponentImportsAllowed
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-K66NLMGX.js";
|
|
5
|
+
import "../chunk-EC6VFQE6.js";
|
|
6
6
|
import "../chunk-2ESYSVXG.js";
|
|
7
7
|
export {
|
|
8
8
|
COMPONENT_IMPORT_ALLOWLIST,
|
|
@@ -26,13 +26,13 @@ import {
|
|
|
26
26
|
stagedBrowserLocator,
|
|
27
27
|
verifyLocalStagedBrowser,
|
|
28
28
|
vp9AlphaFfmpegOverride
|
|
29
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-7XZW26U2.js";
|
|
30
30
|
import "../chunk-WB2VFDQZ.js";
|
|
31
31
|
import "../chunk-EXY4JJPH.js";
|
|
32
32
|
import "../chunk-DAARYRNT.js";
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-K66NLMGX.js";
|
|
34
|
+
import "../chunk-JWMWVP64.js";
|
|
35
|
+
import "../chunk-EC6VFQE6.js";
|
|
36
36
|
import "../chunk-CL5Y6V6K.js";
|
|
37
37
|
import "../chunk-2L7PYYJK.js";
|
|
38
38
|
import "../chunk-AVTEPAWI.js";
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
describeMissingAssetReads,
|
|
4
4
|
missingDeclaredAssetHandleReads,
|
|
5
5
|
sourceAssetReads
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-WL2MLKWU.js";
|
|
7
|
+
import "../chunk-EC6VFQE6.js";
|
|
8
8
|
import "../chunk-2ESYSVXG.js";
|
|
9
9
|
export {
|
|
10
10
|
assertSourceReadsDeclaredAssets,
|