@cueframe/kernel 0.2.37 → 0.2.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/_members/component-runtime/render.d.ts.map +1 -1
  2. package/dist/_members/component-runtime/renderDiagnostics.d.ts +13 -0
  3. package/dist/_members/component-runtime/renderDiagnostics.d.ts.map +1 -1
  4. package/dist/_members/component-runtime/sourceAdmission.d.ts +17 -5
  5. package/dist/_members/component-runtime/sourceAdmission.d.ts.map +1 -1
  6. package/dist/_members/composition/validators/composition.d.ts +16 -0
  7. package/dist/authoring/build-tools.js +5 -5
  8. package/dist/authoring/context.js +4 -4
  9. package/dist/authoring/tools.js +4 -4
  10. package/dist/authoring.js +6 -6
  11. package/dist/{chunk-256ZO323.js → chunk-26NRV5BK.js} +2 -2
  12. package/dist/{chunk-H5CPILOK.js → chunk-5JYYZDLK.js} +14 -6
  13. package/dist/{chunk-EGNTUGAM.js → chunk-AG7HKF2U.js} +1 -1
  14. package/dist/{chunk-LL5GI3IS.js → chunk-BLDL2EKL.js} +2 -2
  15. package/dist/chunk-C7TTI7FP.js +161 -0
  16. package/dist/{chunk-F2HXB6RG.js → chunk-GA6NRDK3.js} +56 -28
  17. package/dist/{chunk-AYZPTH7L.js → chunk-ID5QY7V6.js} +34 -6
  18. package/dist/{chunk-ZBQQFAE7.js → chunk-JNOM4FW3.js} +1 -1
  19. package/dist/{chunk-HLW3P5ZP.js → chunk-MJWRC7G7.js} +4 -4
  20. package/dist/{chunk-CMC6MLR3.js → chunk-POTCIQTA.js} +1 -1
  21. package/dist/{chunk-6A6AYPWO.js → chunk-S3HHEJMZ.js} +1 -1
  22. package/dist/{chunk-6VTNIYSR.js → chunk-ZUJCWFS7.js} +1 -1
  23. package/dist/component-runtime/render.js +1 -1
  24. package/dist/component-runtime/sourceAdmission.js +5 -3
  25. package/dist/component-runtime.js +7 -5
  26. package/dist/compose.js +18 -18
  27. package/dist/composition/graphics-plan.js +1 -1
  28. package/dist/composition/ops.js +3 -3
  29. package/dist/composition/validators.js +8 -2
  30. package/dist/composition-ops.js +3 -3
  31. package/dist/composition.js +8 -2
  32. package/dist/{context-43UC63RY.js → context-KNFL62QR.js} +4 -4
  33. package/dist/mcp/adapter.js +2 -2
  34. package/dist/mcp/core.js +1 -1
  35. package/dist/mcp/server.js +3 -3
  36. package/dist/mcp.js +3 -3
  37. package/dist/primitives.js +18 -18
  38. package/dist/render-harness.js +3 -3
  39. package/package.json +10 -10
  40. package/dist/chunk-SH5OTTVU.js +0 -88
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,19 @@ export declare const GRAPHICS_ATTESTATION_PREFIX = "__cueframe_graphics_v2__:";
3
3
  export declare const CAPTURE_PAGE_RASTER_ATTESTATION_PREFIX = "__cueframe_capture_raster_v1__:";
4
4
  export declare const BROWSER_RUNTIME_ERROR_PREFIX = "__cueframe_component_error_v2__:";
5
5
  export declare function componentRuntimeError(error: unknown, fallbackCode: RuntimeErrorCode, retryable?: boolean): ComponentRuntimeError;
6
+ /**
7
+ * Page diagnostics for one bake. Remotion renders on up to four pages at once,
8
+ * so one TypeError in the author's code arrives up to four times; joined
9
+ * verbatim it read as "×3" and sent a reporter bisecting three components for
10
+ * a defect in one. Identical text is one entry.
11
+ */
12
+ export declare function pageDiagnosticSink(limit?: number): {
13
+ push(entry: {
14
+ type: string;
15
+ message: string;
16
+ }): void;
17
+ readonly lines: readonly string[];
18
+ };
6
19
  export declare function parseGraphicsAttestationLog(text: string): ComponentGraphicsActualV2 | null;
7
20
  export declare function parseCapturePageRasterAttestationLog(text: string): CapturePageRasterAttestation | null;
8
21
  export declare function graphicsCollector(required: ComponentGraphicsRequirementV2): {
@@ -1 +1 @@
1
- {"version":3,"file":"renderDiagnostics.d.ts","sourceRoot":"","sources":["../src/renderDiagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmE,qBAAqB,EAA6B,KAAK,uCAAuC,IAAI,4BAA4B,EAAE,KAAK,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,KAAK,yBAAyB,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1V,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AACvE,eAAO,MAAM,sCAAsC,oCAAoC,CAAC;AACxF,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAE/E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,gBAAgB,EAC9B,SAAS,UAAQ,GAChB,qBAAqB,CAiBvB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAa1F;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI,CAStG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,8BAA8B;sBAGpD;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;eAiB9B,yBAAyB;EAUvC"}
1
+ {"version":3,"file":"renderDiagnostics.d.ts","sourceRoot":"","sources":["../src/renderDiagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmE,qBAAqB,EAA6B,KAAK,uCAAuC,IAAI,4BAA4B,EAAE,KAAK,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,KAAK,yBAAyB,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1V,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AACvE,eAAO,MAAM,sCAAsC,oCAAoC,CAAC;AACxF,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAE/E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,gBAAgB,EAC9B,SAAS,UAAQ,GAChB,qBAAqB,CAiBvB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAI,GAAG;IAC7C,IAAI,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CASA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAa1F;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI,CAStG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,8BAA8B;sBAGpD;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;eAiB9B,yBAAyB;EAUvC"}
@@ -1,14 +1,26 @@
1
1
  import { type ComponentManifestV2, type ComponentSourceV2 } from './contracts.js';
2
+ /** Slots the source demonstrably takes delivery of, or `every` when it reads `assets` dynamically. */
3
+ export type SourceAssetReads = {
4
+ slots: ReadonlySet<string>;
5
+ every: boolean;
6
+ };
2
7
  /**
3
- * Return literal slots read through `assets.<slot>.handle` (dot or bracket
4
- * spelling). The AST is the contract boundary: comments, strings, regexes and
5
- * type annotations are not runtime reads. Dynamic and aliased access is
6
- * intentionally not proof that every declared slot is consumed.
8
+ * Which declared slots the source reads, from the AST — comments, strings,
9
+ * regexes and type positions are not runtime reads. A static `assets.<slot>`
10
+ * (dot, bracket-literal or optional) or a destructure `{ <slot> } = assets`
11
+ * proves that slot. Any DYNAMIC use of `assets` — `assets[key]`,
12
+ * `Object.entries(assets)`, spreading or passing it on — proves every slot:
13
+ * the source took delivery through `assets`, which is all this rule exists to
14
+ * establish. Only `.handle` was accepted before, which refused working
15
+ * components that iterate their slots or hand `assets.<slot>` to a harness
16
+ * primitive, and taught authors to add dead `void assets.x?.handle` lines.
7
17
  */
8
- export declare function sourceAssetHandleReads(tsxSource: string): ReadonlySet<string>;
18
+ export declare function sourceAssetReads(tsxSource: string): SourceAssetReads;
9
19
  export declare function missingDeclaredAssetHandleReads(tsxSource: string, manifest: Pick<ComponentManifestV2, 'assets'> & {
10
20
  sceneShot?: unknown;
11
21
  }): string[];
22
+ /** The refusal text, written once for the public gate and the Convex create/update lane. */
23
+ export declare function describeMissingAssetReads(missing: readonly string[]): string;
12
24
  /** Refuse a component before bundling when its declared media cannot reach the mount. */
13
25
  export declare function assertSourceReadsDeclaredAssets(source: Pick<ComponentSourceV2, 'componentId' | 'tsxSource' | 'manifest'>): void;
14
26
  //# sourceMappingURL=sourceAdmission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceAdmission.d.ts","sourceRoot":"","sources":["../src/sourceAdmission.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAgBxB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE7E;AAoDD,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACtE,MAAM,EAAE,CAyBV;AAED,yFAAyF;AACzF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC,GACxE,IAAI,CAoBN"}
1
+ {"version":3,"file":"sourceAdmission.d.ts","sourceRoot":"","sources":["../src/sourceAdmission.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAIxB,sGAAsG;AACtG,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAsB9E;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAGpE;AAgHD,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACtE,MAAM,EAAE,CA0BV;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQ5E;AAED,yFAAyF;AACzF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC,GACxE,IAAI,CAeN"}
@@ -302,6 +302,20 @@ export declare const Transition: z.ZodObject<{
302
302
  duration: z.ZodNumber;
303
303
  }, z.core.$strip>;
304
304
  export type Transition = z.infer<typeof Transition>;
305
+ /**
306
+ * Where a clip's CENTRE sits, as a FRACTION of the frame: 0.5,0.5 is the centre,
307
+ * 0,0 the top-left corner, 1,1 the bottom-right. The renderer turns this straight
308
+ * into CSS `left`/`top` percentages (`x * 100`), so a value authored in pixels is
309
+ * not slightly off — it is hundreds of frame-widths off-canvas and the clip draws
310
+ * NOTHING. CUE-39: a card animated to `position.x: 180` rendered as sixteen black
311
+ * stills, and the contract had never said what the unit was.
312
+ *
313
+ * Overshoot is legitimate — an entrance slides in from just outside the frame —
314
+ * so the bound is a whole frame either side. Past that it is a unit mistake, and
315
+ * the refusal says so, the way `fontSize` refuses px.
316
+ */
317
+ export declare const POSITION_MIN = -1;
318
+ export declare const POSITION_MAX = 2;
305
319
  export declare const Region: z.ZodObject<{
306
320
  x: z.ZodNumber;
307
321
  y: z.ZodNumber;
@@ -359,6 +373,8 @@ export declare const KeyframeChannel: z.ZodArray<z.ZodObject<{
359
373
  export type KeyframeChannel = z.infer<typeof KeyframeChannel>;
360
374
  export declare const ANIMATABLE_PARAMS: readonly ["opacity", "scale", "rotation", "position.x", "position.y", "volume"];
361
375
  export type AnimatableParam = (typeof ANIMATABLE_PARAMS)[number];
376
+ /** The bound each channel's keyframe VALUES carry — one rule shared with the scalar field. */
377
+ export declare const ANIMATABLE_VALUE: Record<AnimatableParam, z.ZodNumber>;
362
378
  export declare const TimelineClip: z.ZodObject<{
363
379
  id: z.ZodString;
364
380
  startTime: z.ZodNumber;
@@ -4,13 +4,13 @@ import {
4
4
  buildPlannerTools,
5
5
  buildToolsFromSchemas,
6
6
  extractProviderError
7
- } from "../chunk-6A6AYPWO.js";
8
- import "../chunk-HLW3P5ZP.js";
7
+ } from "../chunk-S3HHEJMZ.js";
8
+ import "../chunk-MJWRC7G7.js";
9
9
  import "../chunk-JOURGVOR.js";
10
10
  import "../chunk-7AZLFN26.js";
11
- import "../chunk-CMC6MLR3.js";
12
- import "../chunk-EGNTUGAM.js";
13
- import "../chunk-AYZPTH7L.js";
11
+ import "../chunk-POTCIQTA.js";
12
+ import "../chunk-AG7HKF2U.js";
13
+ import "../chunk-ID5QY7V6.js";
14
14
  import "../chunk-WPZKOVYF.js";
15
15
  import "../chunk-B7J5UUUV.js";
16
16
  import "../chunk-KYRDKK2D.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  buildDirectorContext
3
- } from "../chunk-6VTNIYSR.js";
4
- import "../chunk-CMC6MLR3.js";
5
- import "../chunk-EGNTUGAM.js";
6
- import "../chunk-AYZPTH7L.js";
3
+ } from "../chunk-ZUJCWFS7.js";
4
+ import "../chunk-POTCIQTA.js";
5
+ import "../chunk-AG7HKF2U.js";
6
+ import "../chunk-ID5QY7V6.js";
7
7
  import "../chunk-WPZKOVYF.js";
8
8
  import "../chunk-B7J5UUUV.js";
9
9
  import "../chunk-KYRDKK2D.js";
@@ -6,12 +6,12 @@ import {
6
6
  COMPOSE_ROLE_TOOLS,
7
7
  COMPOSE_ROLE_TOOL_NAMES,
8
8
  dispatchComposeRoleTool
9
- } from "../chunk-HLW3P5ZP.js";
9
+ } from "../chunk-MJWRC7G7.js";
10
10
  import "../chunk-JOURGVOR.js";
11
11
  import "../chunk-7AZLFN26.js";
12
- import "../chunk-CMC6MLR3.js";
13
- import "../chunk-EGNTUGAM.js";
14
- import "../chunk-AYZPTH7L.js";
12
+ import "../chunk-POTCIQTA.js";
13
+ import "../chunk-AG7HKF2U.js";
14
+ import "../chunk-ID5QY7V6.js";
15
15
  import "../chunk-WPZKOVYF.js";
16
16
  import "../chunk-B7J5UUUV.js";
17
17
  import "../chunk-KYRDKK2D.js";
package/dist/authoring.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  buildPlannerTools,
12
12
  buildToolsFromSchemas,
13
13
  extractProviderError
14
- } from "./chunk-6A6AYPWO.js";
14
+ } from "./chunk-S3HHEJMZ.js";
15
15
  import {
16
16
  COMPOSE_MOTION_TOOLS,
17
17
  COMPOSE_MOTION_VERIFY_TOOLS,
@@ -20,14 +20,14 @@ import {
20
20
  COMPOSE_ROLE_TOOLS,
21
21
  COMPOSE_ROLE_TOOL_NAMES,
22
22
  dispatchComposeRoleTool
23
- } from "./chunk-HLW3P5ZP.js";
23
+ } from "./chunk-MJWRC7G7.js";
24
24
  import {
25
25
  AgentFixableCaptureError,
26
26
  getExcludedTools
27
27
  } from "./chunk-JOURGVOR.js";
28
28
  import {
29
29
  buildDirectorContext
30
- } from "./chunk-6VTNIYSR.js";
30
+ } from "./chunk-ZUJCWFS7.js";
31
31
  import {
32
32
  buildFastModel,
33
33
  buildModel,
@@ -55,9 +55,9 @@ import {
55
55
  import "./chunk-ILO4NEZ3.js";
56
56
  import "./chunk-7AZLFN26.js";
57
57
  import "./chunk-VG2ND6PX.js";
58
- import "./chunk-CMC6MLR3.js";
59
- import "./chunk-EGNTUGAM.js";
60
- import "./chunk-AYZPTH7L.js";
58
+ import "./chunk-POTCIQTA.js";
59
+ import "./chunk-AG7HKF2U.js";
60
+ import "./chunk-ID5QY7V6.js";
61
61
  import "./chunk-WPZKOVYF.js";
62
62
  import "./chunk-B7J5UUUV.js";
63
63
  import "./chunk-KYRDKK2D.js";
@@ -3,7 +3,7 @@ import {
3
3
  assertSceneShotParamsAdmitted,
4
4
  materializeComponentSource,
5
5
  renderComponentAlpha
6
- } from "./chunk-H5CPILOK.js";
6
+ } from "./chunk-5JYYZDLK.js";
7
7
  import {
8
8
  componentArtifactId,
9
9
  componentBundleId,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-EXY4JJPH.js";
14
14
  import {
15
15
  assertSourceReadsDeclaredAssets
16
- } from "./chunk-SH5OTTVU.js";
16
+ } from "./chunk-C7TTI7FP.js";
17
17
  import {
18
18
  resolvedComponentRenderer
19
19
  } from "./chunk-5BAWOULP.js";
@@ -277,6 +277,16 @@ function componentRuntimeError(error, fallbackCode, retryable = false) {
277
277
  }
278
278
  return new ComponentRuntimeError(fallbackCode, message, { retryable, cause: error });
279
279
  }
280
+ function pageDiagnosticSink(limit = 5) {
281
+ const lines = [];
282
+ return {
283
+ push(entry) {
284
+ const line = `${entry.type}: ${entry.message.slice(0, 2e3)}`;
285
+ if (lines.length < limit && !lines.includes(line)) lines.push(line);
286
+ },
287
+ lines
288
+ };
289
+ }
280
290
  function parseGraphicsAttestationLog(text) {
281
291
  if (!text.startsWith(GRAPHICS_ATTESTATION_PREFIX)) return null;
282
292
  try {
@@ -2001,12 +2011,10 @@ async function renderComponentAlpha(opts) {
2001
2011
  throw componentRuntimeError(error, "component_resource_exhausted", true);
2002
2012
  }
2003
2013
  let primaryError;
2004
- const pageDiagnostics = [];
2014
+ const pageDiagnostics = pageDiagnosticSink();
2005
2015
  try {
2006
2016
  await sizeLocalLaneWindows(renderEntryRoot, browser, width, height);
2007
- const firewall = await installComponentRequestFirewall(browser, bundleServer.origin, opts.allowedAssetOrigins ?? /* @__PURE__ */ new Set(), (entry) => {
2008
- if (pageDiagnostics.length < 5) pageDiagnostics.push(`${entry.type}: ${entry.message.slice(0, 2e3)}`);
2009
- });
2017
+ const firewall = await installComponentRequestFirewall(browser, bundleServer.origin, opts.allowedAssetOrigins ?? /* @__PURE__ */ new Set(), pageDiagnostics.push);
2010
2018
  const host = await assertComponentBrowserHardware(browser, requiredGraphics);
2011
2019
  const composition = await selectComposition({
2012
2020
  serveUrl,
@@ -2075,10 +2083,10 @@ async function renderComponentAlpha(opts) {
2075
2083
  return { videoPath, actualGraphics: collector.receipt(), host };
2076
2084
  } catch (error) {
2077
2085
  primaryError = componentRuntimeError(error, "component_runtime_error");
2078
- if (pageDiagnostics.length && primaryError instanceof ComponentRuntimeError) {
2086
+ if (pageDiagnostics.lines.length && primaryError instanceof ComponentRuntimeError) {
2079
2087
  primaryError = new ComponentRuntimeError(
2080
2088
  primaryError.code,
2081
- `${pageDiagnostics.join("\n")}
2089
+ `${pageDiagnostics.lines.join("\n")}
2082
2090
  ${primaryError.message}`,
2083
2091
  {
2084
2092
  retryable: primaryError.retryable,
@@ -4,7 +4,7 @@ import {
4
4
  Format,
5
5
  GraphicRole,
6
6
  OpaqueId
7
- } from "./chunk-AYZPTH7L.js";
7
+ } from "./chunk-ID5QY7V6.js";
8
8
  import {
9
9
  brandKitCaptionFaceIssues
10
10
  } from "./chunk-AVTEPAWI.js";
@@ -2,7 +2,7 @@ import {
2
2
  querySchemaShape,
3
3
  serializeQuery,
4
4
  waitForJob
5
- } from "./chunk-ZBQQFAE7.js";
5
+ } from "./chunk-JNOM4FW3.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-F2HXB6RG.js";
26
+ } from "./chunk-GA6NRDK3.js";
27
27
 
28
28
  // ../mcp/src/prompts.ts
29
29
  var skillListCache = null;
@@ -0,0 +1,161 @@
1
+ import {
2
+ ComponentRuntimeError
3
+ } from "./chunk-ZVG446DJ.js";
4
+
5
+ // ../execution/component-runtime/src/sourceAdmission.ts
6
+ import { parse } from "@babel/parser";
7
+ var AST_METADATA_KEYS = /* @__PURE__ */ new Set(["loc", "start", "end", "errors", "comments", "extra", "leadingComments", "trailingComments", "innerComments"]);
8
+ var BINDING_KEYS = /* @__PURE__ */ new Set(["id", "params", "param", "label", "local", "imported", "exported", "name"]);
9
+ function isAssets(node) {
10
+ return !!node && typeof node === "object" && node.type === "Identifier" && node.name === "assets";
11
+ }
12
+ function staticMember(node) {
13
+ if (!node || typeof node !== "object") return null;
14
+ const candidate = node;
15
+ if (candidate.type !== "MemberExpression" && candidate.type !== "OptionalMemberExpression") return null;
16
+ const property = candidate.property;
17
+ if (!property) return null;
18
+ const name = candidate.computed === true ? property.type === "StringLiteral" && typeof property.value === "string" ? property.value : null : property.type === "Identifier" && typeof property.name === "string" ? property.name : null;
19
+ return name === null ? null : { object: candidate.object, property: name };
20
+ }
21
+ function sourceAssetReads(tsxSource) {
22
+ const scan = scanSourceReads(tsxSource);
23
+ return { slots: scan.assetSlots, every: scan.readsEverySlot };
24
+ }
25
+ function scanSourceReads(tsxSource) {
26
+ let root;
27
+ try {
28
+ root = parse(tsxSource, {
29
+ sourceType: "module",
30
+ plugins: ["jsx", "typescript"],
31
+ errorRecovery: false
32
+ });
33
+ } catch (error) {
34
+ throw new ComponentRuntimeError(
35
+ "component_does_not_compile",
36
+ error instanceof Error ? error.message : String(error),
37
+ { cause: error }
38
+ );
39
+ }
40
+ const reads = /* @__PURE__ */ new Set();
41
+ let every = false;
42
+ let preparedPlan = false;
43
+ const recordPattern = (pattern) => {
44
+ for (const property of pattern.properties ?? []) {
45
+ if (property.type === "RestElement") {
46
+ every = true;
47
+ continue;
48
+ }
49
+ const key = property.key;
50
+ if (property.computed === true || !key) {
51
+ every = true;
52
+ continue;
53
+ }
54
+ if (key.type === "Identifier" && typeof key.name === "string") reads.add(key.name);
55
+ else if (key.type === "StringLiteral" && typeof key.value === "string") reads.add(key.value);
56
+ }
57
+ };
58
+ const visit = (value, position) => {
59
+ if (!value || typeof value !== "object") return;
60
+ if (Array.isArray(value)) {
61
+ for (const child of value) visit(child, position);
62
+ return;
63
+ }
64
+ const node = value;
65
+ const type = typeof node.type === "string" ? node.type : "";
66
+ if (type === "Identifier") {
67
+ if (position === "value" && node.name === "assets") every = true;
68
+ return;
69
+ }
70
+ if (type.startsWith("TS")) {
71
+ if ("expression" in node) visit(node.expression, "value");
72
+ return;
73
+ }
74
+ const leaf = staticMember(node);
75
+ if (leaf?.property === "preparedSceneShot") preparedPlan = true;
76
+ if (type === "MemberExpression" || type === "OptionalMemberExpression") {
77
+ if (isAssets(node.object)) {
78
+ if (leaf) reads.add(leaf.property);
79
+ else every = true;
80
+ } else {
81
+ visit(node.object, "value");
82
+ }
83
+ if (node.computed === true) visit(node.property, "value");
84
+ return;
85
+ }
86
+ if (type === "VariableDeclarator" && isAssets(node.init) && node.id?.type === "ObjectPattern") {
87
+ recordPattern(node.id);
88
+ return;
89
+ }
90
+ if (type === "ObjectPattern") {
91
+ for (const property of node.properties ?? []) {
92
+ if (property.type === "RestElement") {
93
+ visit(property.argument, "binding");
94
+ continue;
95
+ }
96
+ const key = property.key;
97
+ const nested = property.value;
98
+ if (property.computed === true) visit(key, "value");
99
+ if (property.computed !== true && key?.type === "Identifier" && key.name === "assets" && nested?.type === "ObjectPattern") {
100
+ recordPattern(nested);
101
+ continue;
102
+ }
103
+ visit(nested, "binding");
104
+ }
105
+ return;
106
+ }
107
+ if (type === "AssignmentPattern") {
108
+ visit(node.left, "binding");
109
+ visit(node.right, "value");
110
+ return;
111
+ }
112
+ if (type === "ObjectProperty" || type === "ObjectMethod" || type === "ClassProperty" || type === "ClassMethod") {
113
+ if (node.computed === true) visit(node.key, "value");
114
+ for (const [key, child] of Object.entries(node)) {
115
+ if (key === "key" || AST_METADATA_KEYS.has(key)) continue;
116
+ visit(child, BINDING_KEYS.has(key) ? "binding" : "value");
117
+ }
118
+ return;
119
+ }
120
+ for (const [key, child] of Object.entries(node)) {
121
+ if (AST_METADATA_KEYS.has(key)) continue;
122
+ visit(child, BINDING_KEYS.has(key) ? "binding" : "value");
123
+ }
124
+ };
125
+ visit(root, "value");
126
+ return { assetSlots: reads, readsEverySlot: every, readsPreparedScenePlan: preparedPlan };
127
+ }
128
+ function missingDeclaredAssetHandleReads(tsxSource, manifest) {
129
+ const slots = Object.keys(manifest.assets);
130
+ if (slots.length === 0) return [];
131
+ const scan = scanSourceReads(tsxSource);
132
+ if (manifest.sceneShot !== void 0 && scan.readsPreparedScenePlan) return [];
133
+ if (scan.readsEverySlot) return [];
134
+ return slots.filter((slot) => !scan.assetSlots.has(slot));
135
+ }
136
+ function describeMissingAssetReads(missing) {
137
+ return `The manifest declares asset slot(s) ${missing.map((slot) => JSON.stringify(slot)).join(", ")} but the source never reads ${missing.length === 1 ? "it" : "them"} from \`assets\`. Declared slots are delivered to the mount as \`assets[slot]\` ({ handle: a fetchable URL for <Img>/<Video>/<Audio>, \u2026 }); \`params\` is the clip's \`props\` and carries no asset URL. Mount as ({ durationInFrames, params, assets, render }) and read \`assets.${missing[0]}.handle\`, or read the slots dynamically (\`assets[key]\`, \`Object.entries(assets)\`), which counts for every declared slot.`;
138
+ }
139
+ function assertSourceReadsDeclaredAssets(source) {
140
+ const missing = missingDeclaredAssetHandleReads(source.tsxSource, source.manifest);
141
+ if (missing.length === 0) return;
142
+ throw new ComponentRuntimeError(
143
+ "invalid_component_source",
144
+ describeMissingAssetReads(missing),
145
+ {
146
+ locator: {
147
+ stage: "source-admission",
148
+ componentId: source.componentId,
149
+ path: "manifest.assets",
150
+ slots: missing
151
+ }
152
+ }
153
+ );
154
+ }
155
+
156
+ export {
157
+ sourceAssetReads,
158
+ missingDeclaredAssetHandleReads,
159
+ describeMissingAssetReads,
160
+ assertSourceReadsDeclaredAssets
161
+ };