@cueframe/kernel 0.2.44 → 0.2.46

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 (70) hide show
  1. package/dist/_members/composition/ops/compositionOps.shared.d.ts +1 -1
  2. package/dist/_members/composition/projection/cropProjection.d.ts +2 -1
  3. package/dist/_members/composition-ops/index.d.ts +4 -0
  4. package/dist/_members/composition-ops/materializeCaptions.d.ts +19 -0
  5. package/dist/_members/core/render/compositionRender.d.ts +1 -1
  6. package/dist/_members/core/render/index.d.ts +1 -1
  7. package/dist/_members/core/render/trackProjection.d.ts +24 -0
  8. package/dist/_members/core/render/types.d.ts +1 -0
  9. package/dist/_members/errors/registry.d.ts +32 -0
  10. package/dist/_members/mcp/executor.d.ts +1 -1
  11. package/dist/_members/mcp/generated/harness.d.ts +1 -1
  12. package/dist/_members/mcp/server.d.ts +2 -0
  13. package/dist/_members/plane/contract.d.ts +12 -5
  14. package/dist/authoring/build-tools.js +3 -3
  15. package/dist/authoring/context.js +2 -2
  16. package/dist/authoring/tools.js +2 -2
  17. package/dist/authoring.js +6 -6
  18. package/dist/{chunk-S3HHEJMZ.js → chunk-4FKNPTLX.js} +1 -1
  19. package/dist/{chunk-4GLMARCJ.js → chunk-ACURZCPN.js} +1 -1
  20. package/dist/{chunk-JENEKKAM.js → chunk-AJ3YRZ7A.js} +44 -5
  21. package/dist/{chunk-46PFSJZE.js → chunk-AOIY7NGF.js} +3059 -3120
  22. package/dist/{chunk-MJWRC7G7.js → chunk-BBNF4QLD.js} +2 -2
  23. package/dist/{chunk-5YO4LAB7.js → chunk-CFIQY4OE.js} +1 -1
  24. package/dist/{chunk-GOJKL5FM.js → chunk-DV7ZFVL4.js} +1 -1
  25. package/dist/{chunk-XWOV6KI6.js → chunk-E63UEO5C.js} +8 -2
  26. package/dist/{chunk-ZXWSZUSU.js → chunk-FEG264CF.js} +55 -32
  27. package/dist/{chunk-OASSDEWY.js → chunk-FGJ7GKWZ.js} +6 -6
  28. package/dist/{chunk-SPF3AXTB.js → chunk-FYS2XUKJ.js} +1 -1
  29. package/dist/{chunk-QISFYLBB.js → chunk-IMIUHG2E.js} +1 -1
  30. package/dist/{chunk-V7LQ7ZHV.js → chunk-JPMVNMF3.js} +1 -1
  31. package/dist/chunk-LELDNLLA.js +1060 -0
  32. package/dist/{chunk-KKHI5NLK.js → chunk-N54EGUVM.js} +1 -1
  33. package/dist/{chunk-WYRKF2OX.js → chunk-Q5P5UFOP.js} +1 -1
  34. package/dist/{chunk-ZUJCWFS7.js → chunk-SLUTOUWI.js} +1 -1
  35. package/dist/{chunk-DENF4TPI.js → chunk-T56BK7NS.js} +6 -4
  36. package/dist/{chunk-B4VMU2IJ.js → chunk-TBHSOEYK.js} +1 -1
  37. package/dist/{chunk-POTCIQTA.js → chunk-VEQTURKN.js} +90 -11
  38. package/dist/{chunk-YIJZBLQE.js → chunk-W5AFGFVZ.js} +24 -3
  39. package/dist/{chunk-WKT7SEVP.js → chunk-WWXTJZ67.js} +4 -2
  40. package/dist/{chunk-OZNULDQE.js → chunk-XSBVOXSB.js} +1 -1
  41. package/dist/{chunk-FRNBTODO.js → chunk-Z4G3VM3H.js} +1 -1
  42. package/dist/compose.js +1 -1
  43. package/dist/composition/invariants.js +2 -2
  44. package/dist/composition/ops.js +1 -1
  45. package/dist/composition/projection.js +2 -2
  46. package/dist/composition/timeline.js +2 -2
  47. package/dist/composition-ops.js +36 -894
  48. package/dist/composition.js +4 -4
  49. package/dist/{context-KNFL62QR.js → context-YNR73FNI.js} +2 -2
  50. package/dist/core/render.js +7 -5
  51. package/dist/core/select.js +2 -2
  52. package/dist/core.js +5 -5
  53. package/dist/director/ai-sdk.js +3 -3
  54. package/dist/director/domain.js +2 -2
  55. package/dist/director.js +3 -3
  56. package/dist/errors.js +3 -1
  57. package/dist/mcp/adapter.js +3 -3
  58. package/dist/mcp/core.js +1 -1
  59. package/dist/mcp/curation.js +1 -1
  60. package/dist/mcp/executor.js +2 -2
  61. package/dist/mcp/scene-shot.js +2 -2
  62. package/dist/mcp/server.js +26 -5
  63. package/dist/mcp.js +26 -7
  64. package/dist/plane/conformance.js +1 -1
  65. package/dist/plane/contract.js +5 -1
  66. package/dist/plane.js +1 -1
  67. package/dist/render-harness/cardAssetAdmission.js +2 -2
  68. package/dist/render-harness/cardFonts.js +2 -2
  69. package/dist/render-harness.js +7 -7
  70. package/package.json +11 -11
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  decodeError,
11
11
  scrubSensitive
12
- } from "./chunk-XWOV6KI6.js";
12
+ } from "./chunk-E63UEO5C.js";
13
13
 
14
14
  // ../director/src/domain/chat.ts
15
15
  import { z } from "zod";
@@ -52,7 +52,7 @@ var PREVIEW_FRAME_CASES = [
52
52
  },
53
53
  {
54
54
  name: "an unrecognised body key is refused",
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.",
55
+ why: "The published `PreviewFrameJobBody` 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
57
  expect: { status: 400, code: "validation_error" }
58
58
  }
@@ -2,7 +2,7 @@ import {
2
2
  selectAllClips,
3
3
  selectAllOverlays,
4
4
  selectSceneMarkers
5
- } from "./chunk-POTCIQTA.js";
5
+ } from "./chunk-VEQTURKN.js";
6
6
 
7
7
  // ../authoring/src/context/transcript.ts
8
8
  var MAX_TRANSCRIPT_CHARS = 6e4;
@@ -101,7 +101,8 @@ function checkExcludedRanges(track) {
101
101
  if (!ranges || ranges.length === 0) continue;
102
102
  const trim = content.source.trim;
103
103
  const trimStart = trim?.start ?? 0;
104
- const trimEnd = trim?.end ?? trimStart + content.duration;
104
+ const rate = content.source.playbackRate ?? 1;
105
+ const trimEnd = trim?.end ?? trimStart + content.duration * rate;
105
106
  let prevEnd = -Infinity;
106
107
  let total = 0;
107
108
  let earlyExit = false;
@@ -159,18 +160,19 @@ function checkExcludedRanges(track) {
159
160
  }
160
161
  if (earlyExit) continue;
161
162
  const trimSpan = trimEnd - trimStart;
162
- const expectedDuration = trimSpan - total;
163
+ const expectedDuration = (trimSpan - total) / rate;
163
164
  if (Math.abs(expectedDuration - content.duration) > 1e-3) {
164
165
  violations.push({
165
166
  code: "excluded_range_duration_mismatch",
166
- message: `Track ${track.id}: TimelineClip ${content.id} duration (${content.duration}) \u2260 trimSpan (${trimSpan}) \u2212 \u03A3excluded (${total}) = ${expectedDuration}`,
167
+ message: `Track ${track.id}: TimelineClip ${content.id} duration (${content.duration}) \u2260 (trimSpan (${trimSpan}) \u2212 \u03A3excluded (${total})) \xF7 playbackRate (${rate}) = ${expectedDuration}`,
167
168
  details: {
168
169
  trackId: track.id,
169
170
  clipId: content.id,
170
171
  expected: expectedDuration,
171
172
  actual: content.duration,
172
173
  trimSpan,
173
- totalExcluded: total
174
+ totalExcluded: total,
175
+ playbackRate: rate
174
176
  }
175
177
  });
176
178
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  checkTracks
3
- } from "./chunk-DENF4TPI.js";
3
+ } from "./chunk-T56BK7NS.js";
4
4
 
5
5
  // ../composition/src/invariants/etag.ts
6
6
  import { sha256 } from "@noble/hashes/sha256";
@@ -48,12 +48,44 @@ function findMarkerById(composition, id) {
48
48
  }
49
49
  return void 0;
50
50
  }
51
- function trimSourceFor(source, clipRelStart, clipRelEnd) {
51
+ function trimSourceFor(source, clipRelStart, clipRelEnd, clipDuration) {
52
52
  if (source.kind !== "media") return source;
53
53
  const baseStart = source.trim?.start ?? 0;
54
+ const rate = source.playbackRate ?? 1;
55
+ const excluded = source.excludedRanges ?? [];
56
+ const excludedDuration = excluded.reduce((sum, range) => sum + range.end - range.start, 0);
57
+ const baseEnd = source.trim?.end ?? baseStart + clipDuration * rate + excludedDuration;
58
+ const playable = [];
59
+ let cursor = baseStart;
60
+ for (const range of excluded) {
61
+ if (range.start > cursor) playable.push({ start: cursor, end: range.start });
62
+ cursor = Math.max(cursor, range.end);
63
+ }
64
+ if (cursor < baseEnd) playable.push({ start: cursor, end: baseEnd });
65
+ const sourceAt = (outputSeconds, edge) => {
66
+ let remaining = outputSeconds * rate;
67
+ for (let i = 0; i < playable.length; i++) {
68
+ const span = playable[i];
69
+ const length = span.end - span.start;
70
+ if (remaining < length - 1e-9) return span.start + remaining;
71
+ if (Math.abs(remaining - length) <= 1e-9) {
72
+ return edge === "start" && playable[i + 1] ? playable[i + 1].start : span.end;
73
+ }
74
+ remaining -= length;
75
+ }
76
+ return baseEnd;
77
+ };
78
+ const start = sourceAt(clipRelStart, "start");
79
+ const end = sourceAt(clipRelEnd, "end");
80
+ const retained = excluded.flatMap((range) => {
81
+ const clippedStart = Math.max(range.start, start);
82
+ const clippedEnd = Math.min(range.end, end);
83
+ return clippedEnd > clippedStart ? [{ ...range, start: clippedStart, end: clippedEnd }] : [];
84
+ });
54
85
  return {
55
86
  ...source,
56
- trim: { start: baseStart + clipRelStart, end: baseStart + clipRelEnd }
87
+ trim: { start, end },
88
+ ...retained.length > 0 ? { excludedRanges: retained } : { excludedRanges: void 0 }
57
89
  };
58
90
  }
59
91
  function cutTimedRange(start, end, cutStart, cutEnd) {
@@ -234,7 +266,11 @@ function createCompositionOps(get, set) {
234
266
  const oldRate = clip.source.playbackRate ?? 1;
235
267
  if (props.playbackRate !== oldRate) {
236
268
  const trim = clip.source.trim;
237
- const sourceDuration = trim ? trim.end - trim.start : clip.duration * oldRate;
269
+ const excludedDuration = clip.source.excludedRanges?.reduce(
270
+ (sum, range) => sum + range.end - range.start,
271
+ 0
272
+ ) ?? 0;
273
+ const sourceDuration = trim ? trim.end - trim.start - excludedDuration : clip.duration * oldRate;
238
274
  const newDuration = sourceDuration / props.playbackRate;
239
275
  const oldEnd = clip.startTime + clip.duration;
240
276
  const delta = newDuration - clip.duration;
@@ -252,6 +288,16 @@ function createCompositionOps(get, set) {
252
288
  if (props.fit !== void 0) target.fit = props.fit;
253
289
  if (rateChange) {
254
290
  if (target.source.kind === "media") {
291
+ if (!target.source.trim && target.source.excludedRanges?.length) {
292
+ const excludedDuration = target.source.excludedRanges.reduce(
293
+ (sum, range) => sum + range.end - range.start,
294
+ 0
295
+ );
296
+ target.source.trim = {
297
+ start: 0,
298
+ end: target.duration * (target.source.playbackRate ?? 1) + excludedDuration
299
+ };
300
+ }
255
301
  target.source.playbackRate = rateChange.newRate;
256
302
  }
257
303
  target.duration = rateChange.newDuration;
@@ -421,7 +467,7 @@ function createCompositionOps(get, set) {
421
467
  }
422
468
  if (cs < start) {
423
469
  const leftDuration = start - cs;
424
- const leftSource = trimSourceFor(c.source, 0, leftDuration);
470
+ const leftSource = trimSourceFor(c.source, 0, leftDuration, c.duration);
425
471
  next.push({ ...c, id: c.id, duration: leftDuration, source: leftSource });
426
472
  }
427
473
  if (ce > end) {
@@ -430,7 +476,8 @@ function createCompositionOps(get, set) {
430
476
  const rightSource = trimSourceFor(
431
477
  c.source,
432
478
  sourceOffsetIntoOriginal,
433
- sourceOffsetIntoOriginal + rightDuration
479
+ sourceOffsetIntoOriginal + rightDuration,
480
+ c.duration
434
481
  );
435
482
  next.push({
436
483
  ...c,
@@ -472,7 +519,7 @@ function createCompositionOps(get, set) {
472
519
  const before = target.source.excludedRanges ?? [];
473
520
  const beforeTotal = before.reduce((acc, r) => acc + (r.end - r.start), 0);
474
521
  const trimStart = target.source.trim?.start ?? 0;
475
- const trimEnd = target.source.trim?.end ?? trimStart + target.duration + beforeTotal;
522
+ const trimEnd = target.source.trim?.end ?? trimStart + target.duration * (target.source.playbackRate ?? 1) + beforeTotal;
476
523
  const lo = Math.max(sourceStart, trimStart);
477
524
  const hi = Math.min(sourceEnd, trimEnd);
478
525
  if (!(hi > lo)) return;
@@ -510,9 +557,12 @@ function createCompositionOps(get, set) {
510
557
  });
511
558
  }
512
559
  const afterTotal = merged.reduce((acc, r) => acc + (r.end - r.start), 0);
513
- const delta = afterTotal - beforeTotal;
514
- if (delta <= 0) return;
560
+ const addedSourceDuration = afterTotal - beforeTotal;
561
+ if (addedSourceDuration <= 0) return;
562
+ const rate = target.source.playbackRate ?? 1;
563
+ const delta = addedSourceDuration / rate;
515
564
  if (target.duration - delta <= 1e-3) return;
565
+ if (!target.source.trim) target.source.trim = { start: trimStart, end: trimEnd };
516
566
  target.source.excludedRanges = merged;
517
567
  target.duration = target.duration - delta;
518
568
  for (let i = found.clipIndex + 1; i < track.contents.length; i++) {
@@ -522,7 +572,7 @@ function createCompositionOps(get, set) {
522
572
  (acc, r) => acc + Math.max(0, Math.min(r.end, lo) - Math.max(r.start, trimStart)),
523
573
  0
524
574
  );
525
- const tStart = target.startTime + (lo - trimStart) - excludedBeforeLo;
575
+ const tStart = target.startTime + (lo - trimStart - excludedBeforeLo) / rate;
526
576
  const tEnd = tStart + delta;
527
577
  if (draft.composition.markers) {
528
578
  draft.composition.markers = draft.composition.markers.flatMap((m) => {
@@ -551,9 +601,19 @@ function createCompositionOps(get, set) {
551
601
  const ranges = target.source.excludedRanges;
552
602
  if (!ranges || rangeIdx < 0 || rangeIdx >= ranges.length) return;
553
603
  const removed = ranges[rangeIdx];
554
- const restored = removed.end - removed.start;
604
+ const restored = (removed.end - removed.start) / (target.source.playbackRate ?? 1);
555
605
  if (restored <= 0) return;
606
+ const trimStart = target.source.trim?.start ?? 0;
607
+ const excludedBefore = ranges.reduce((sum, range, index) => index === rangeIdx ? sum : sum + Math.max(0, Math.min(range.end, removed.start) - Math.max(range.start, trimStart)), 0);
608
+ const insertAt = target.startTime + (removed.start - trimStart - excludedBefore) / (target.source.playbackRate ?? 1);
556
609
  const next = ranges.filter((_, i) => i !== rangeIdx);
610
+ if (!target.source.trim) {
611
+ const totalExcluded = ranges.reduce((sum, range) => sum + range.end - range.start, 0);
612
+ target.source.trim = {
613
+ start: 0,
614
+ end: target.duration * (target.source.playbackRate ?? 1) + totalExcluded
615
+ };
616
+ }
557
617
  if (next.length === 0) {
558
618
  delete target.source.excludedRanges;
559
619
  } else {
@@ -563,6 +623,24 @@ function createCompositionOps(get, set) {
563
623
  for (let i = found.clipIndex + 1; i < track.contents.length; i++) {
564
624
  track.contents[i].startTime = track.contents[i].startTime + restored;
565
625
  }
626
+ for (const marker of draft.composition.markers ?? []) {
627
+ const shifted = shiftTimedRange(marker.startTime, marker.endTime, insertAt, restored);
628
+ if (shifted) {
629
+ marker.startTime = shifted.start;
630
+ if (shifted.end !== void 0) marker.endTime = shifted.end;
631
+ }
632
+ }
633
+ if (draft.composition.captions) {
634
+ for (const segment of draft.composition.captions.segments) {
635
+ for (const word of segment.words) {
636
+ const shifted = shiftTimedRange(word.startMs, word.endMs, insertAt * 1e3, restored * 1e3);
637
+ if (shifted) {
638
+ word.startMs = shifted.start;
639
+ word.endMs = shifted.end ?? word.endMs;
640
+ }
641
+ }
642
+ }
643
+ }
566
644
  });
567
645
  },
568
646
  setCropIntents: (clipId, segments) => {
@@ -622,7 +700,8 @@ function createCompositionOps(get, set) {
622
700
  ...Object.fromEntries(Object.entries(style).filter(([, v]) => v !== void 0))
623
701
  } : existing?.style;
624
702
  const styleField = mergedStyle && Object.keys(mergedStyle).length > 0 ? { style: mergedStyle } : {};
625
- draft.composition.captions = derivedFrom ? { source: "derived", from: derivedFrom, segments, ...styleField } : { source: "authored", segments, ...styleField };
703
+ const depthField = existing?.zPlane ? { zPlane: existing.zPlane } : {};
704
+ draft.composition.captions = derivedFrom ? { source: "derived", from: derivedFrom, segments, ...styleField, ...depthField } : { source: "authored", segments, ...styleField, ...depthField };
626
705
  });
627
706
  },
628
707
  ripple: (time, amount) => {
@@ -36,7 +36,7 @@ var PreviewFrameRequest = z.object({
36
36
  jpegQuality: z.number().int().min(1).max(100).optional().describe(
37
37
  "JPEG quality (jpeg only). Default 70 \u2014 the quality the eval panel grades at."
38
38
  )
39
- // The published `previewFrameBody` is a strictObject and every generated
39
+ // The published `PreviewFrameJobBody` is a strictObject and every generated
40
40
  // client enforces it. A server looser than its own spec accepted `timestamp`
41
41
  // or `dryRun` and rendered the default instead (plane conformance).
42
42
  }).strict();
@@ -47,15 +47,30 @@ var DesktopPreviewFrameRequest = PreviewFrameRequest.pick({
47
47
  jpegQuality: true
48
48
  }).strict();
49
49
  var CLIENT_HEADER = "X-CueFrame-Client";
50
- var CLIENT_SURFACES = ["studio", "web", "console", "cli", "mcp"];
50
+ var CLIENT_SURFACES = [
51
+ "studio",
52
+ "web",
53
+ "console",
54
+ "clips",
55
+ "cli",
56
+ "mcp",
57
+ "director"
58
+ ];
51
59
  var CLIENT_OSES = ["macos", "windows", "linux", "browser", "unknown"];
52
60
  var CLIENT_VERSION = /^[A-Za-z0-9][A-Za-z0-9._+-]{0,31}$/;
61
+ var BROWSER_SURFACES = ["web", "console", "clips"];
62
+ function clientPairIsPossible(surface, os) {
63
+ return BROWSER_SURFACES.includes(surface) === (os === "browser");
64
+ }
53
65
  function formatClientHeader(client) {
54
66
  if (!CLIENT_VERSION.test(client.version)) {
55
67
  throw new Error(
56
68
  `${CLIENT_HEADER} cannot carry the version ${JSON.stringify(client.version)}.`
57
69
  );
58
70
  }
71
+ if (!clientPairIsPossible(client.surface, client.os)) {
72
+ throw new Error(`${CLIENT_HEADER} cannot carry ${client.surface} on ${client.os}.`);
73
+ }
59
74
  return `${client.surface}/${client.version}/${client.os}`;
60
75
  }
61
76
  function parseClientHeader(value) {
@@ -65,6 +80,7 @@ function parseClientHeader(value) {
65
80
  if (!CLIENT_SURFACES.includes(surface)) return null;
66
81
  if (!CLIENT_OSES.includes(os)) return null;
67
82
  if (!CLIENT_VERSION.test(version)) return null;
83
+ if (!clientPairIsPossible(surface, os)) return null;
68
84
  return { surface, version, os };
69
85
  }
70
86
  function osFromNodePlatform(platform) {
@@ -79,6 +95,9 @@ function osFromUserAgent(agent) {
79
95
  if (/Linux|X11|CrOS/.test(agent)) return "linux";
80
96
  return "unknown";
81
97
  }
98
+ function clientOs(surface, agent) {
99
+ return surface === "studio" ? osFromUserAgent(agent) : "browser";
100
+ }
82
101
 
83
102
  export {
84
103
  STILL_BUDGET_BASE_S,
@@ -95,8 +114,10 @@ export {
95
114
  CLIENT_HEADER,
96
115
  CLIENT_SURFACES,
97
116
  CLIENT_OSES,
117
+ clientPairIsPossible,
98
118
  formatClientHeader,
99
119
  parseClientHeader,
100
120
  osFromNodePlatform,
101
- osFromUserAgent
121
+ osFromUserAgent,
122
+ clientOs
102
123
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CLIENT_HEADER,
3
3
  formatClientHeader
4
- } from "./chunk-YIJZBLQE.js";
4
+ } from "./chunk-W5AFGFVZ.js";
5
5
 
6
6
  // ../mcp/src/executor.ts
7
7
  var API_URLS = {
@@ -87,13 +87,15 @@ function requestIdempotencyKey(prefix, content, idempotent) {
87
87
  const identity = idempotent ? content : `${content}|${freshInvocationNonce()}`;
88
88
  return `${prefix}-${fnv1a(identity)}`;
89
89
  }
90
- function makePlatformExecutor(baseUrl, deployKey, orgId, opts) {
90
+ function makePlatformExecutor(baseUrl, deployKey, orgId, client, opts) {
91
+ const clientHeader = formatClientHeader(client);
91
92
  return {
92
93
  async invoke({ method, path, body, query, idempotent }) {
93
94
  const url = `${baseUrl}${path}${query ? `?${query}` : ""}`;
94
95
  const headers = {
95
96
  "x-deploy-key": deployKey,
96
97
  "x-org-id": orgId,
98
+ [CLIENT_HEADER]: clientHeader,
97
99
  ...opts?.actingUserId ? { "x-acting-user-id": opts.actingUserId } : {}
98
100
  };
99
101
  if (method !== "GET" && method !== "HEAD") {
@@ -5,7 +5,7 @@ import {
5
5
  isOk,
6
6
  opById,
7
7
  safeParse
8
- } from "./chunk-46PFSJZE.js";
8
+ } from "./chunk-AOIY7NGF.js";
9
9
 
10
10
  // ../mcp/src/wait.ts
11
11
  var defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ChatErrorView,
3
3
  DirectorTurnContext
4
- } from "./chunk-KKHI5NLK.js";
4
+ } from "./chunk-N54EGUVM.js";
5
5
  import {
6
6
  GenerationArtifact
7
7
  } from "./chunk-73DQTUWY.js";
package/dist/compose.js CHANGED
@@ -54,7 +54,7 @@ import {
54
54
  import {
55
55
  CueframeError,
56
56
  encodeError
57
- } from "./chunk-XWOV6KI6.js";
57
+ } from "./chunk-E63UEO5C.js";
58
58
  import "./chunk-7PA7FGLD.js";
59
59
  import "./chunk-CL5Y6V6K.js";
60
60
  import "./chunk-2L7PYYJK.js";
@@ -11,7 +11,7 @@ import {
11
11
  otioFrames,
12
12
  otioRationalTime,
13
13
  sourceFrame
14
- } from "../chunk-B4VMU2IJ.js";
14
+ } from "../chunk-TBHSOEYK.js";
15
15
  import {
16
16
  InvariantError,
17
17
  checkClipDurationMatchesTrim,
@@ -22,7 +22,7 @@ import {
22
22
  checkTracks,
23
23
  checkTransitions,
24
24
  isSourceKindCompatible
25
- } from "../chunk-DENF4TPI.js";
25
+ } from "../chunk-T56BK7NS.js";
26
26
  import "../chunk-2ESYSVXG.js";
27
27
  export {
28
28
  InvariantError,
@@ -20,7 +20,7 @@ import {
20
20
  selectMediaClipAt,
21
21
  selectSceneMarkers,
22
22
  selectTracksByKind
23
- } from "../chunk-POTCIQTA.js";
23
+ } from "../chunk-VEQTURKN.js";
24
24
  import "../chunk-AG7HKF2U.js";
25
25
  import "../chunk-ID5QY7V6.js";
26
26
  import "../chunk-WPZKOVYF.js";
@@ -32,7 +32,7 @@ import {
32
32
  silhouetteKeepOutForWindow,
33
33
  sourceRectToOutput,
34
34
  sourceWindowKey
35
- } from "../chunk-OASSDEWY.js";
35
+ } from "../chunk-FGJ7GKWZ.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-XWOV6KI6.js";
77
+ import "../chunk-E63UEO5C.js";
78
78
  import "../chunk-AVTEPAWI.js";
79
79
  import "../chunk-2ESYSVXG.js";
80
80
  export {
@@ -26,8 +26,8 @@ import {
26
26
  trackKindForSource,
27
27
  trimForSubRange,
28
28
  valueAt
29
- } from "../chunk-QISFYLBB.js";
30
- import "../chunk-DENF4TPI.js";
29
+ } from "../chunk-IMIUHG2E.js";
30
+ import "../chunk-T56BK7NS.js";
31
31
  import {
32
32
  expandClipIdsToLinkGroups,
33
33
  expandToLinkGroup,