@cueframe/kernel 0.1.2 → 0.1.3

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 (46) hide show
  1. package/dist/_members/authoring/index.d.ts +1 -1
  2. package/dist/_members/authoring/prompts/index.d.ts +0 -1
  3. package/dist/_members/convex-api/api.d.ts +3 -0
  4. package/dist/_members/convex-api/api.generated.d.ts +1444 -0
  5. package/dist/_members/convex-api/dataModel.d.ts +3 -1
  6. package/dist/_members/errors/registry.d.ts +103 -1
  7. package/dist/_members/mcp/core.d.ts +1 -1
  8. package/dist/_members/mcp/generated/harness.d.ts +1 -1
  9. package/dist/_members/mcp/generated/operations.d.ts +12 -0
  10. package/dist/_members/mcp/wait.d.ts +1 -1
  11. package/dist/_members/render-harness/remotion-runtime.d.ts +53 -0
  12. package/dist/authoring/prompts.js +1 -5
  13. package/dist/authoring.js +3 -7
  14. package/dist/{chunk-LLUW26BS.js → chunk-AW57IWNW.js} +18 -1
  15. package/dist/{chunk-AO744WIK.js → chunk-DJW3UGBH.js} +41 -30
  16. package/dist/{chunk-W3SIWT7J.js → chunk-DL7WYISQ.js} +267 -13
  17. package/dist/{chunk-PIURX6IZ.js → chunk-GIA2SVVB.js} +1 -1
  18. package/dist/{chunk-CAJQ7H5A.js → chunk-HBVAZXYO.js} +1 -1
  19. package/dist/{chunk-K2IUBCND.js → chunk-HFC3MKXA.js} +0 -51
  20. package/dist/{chunk-TD347SSX.js → chunk-KFECIHED.js} +29 -18
  21. package/dist/{chunk-VHF66LCQ.js → chunk-NQSMEUJ6.js} +2 -2
  22. package/dist/{chunk-QETYXKQQ.js → chunk-SDCEJAO2.js} +97 -14
  23. package/dist/{chunk-LJ5W4ZBU.js → chunk-TMB5AY6Q.js} +1 -1
  24. package/dist/{chunk-ZPLJ24OV.js → chunk-TO4BFNLJ.js} +1 -1
  25. package/dist/{chunk-VFMW3JUY.js → chunk-TXSFYUZH.js} +1 -1
  26. package/dist/{chunk-XQ72DZKJ.js → chunk-ZPRBGW4Y.js} +1 -1
  27. package/dist/compose/renderer.js +2 -2
  28. package/dist/compose.js +5 -5
  29. package/dist/composition/projection.js +2 -2
  30. package/dist/composition-ops.js +3 -3
  31. package/dist/composition.js +2 -2
  32. package/dist/core/render.js +3 -3
  33. package/dist/core/select.js +2 -2
  34. package/dist/core.js +3 -3
  35. package/dist/director/ai-sdk.js +3 -3
  36. package/dist/director/domain.js +2 -2
  37. package/dist/director.js +3 -3
  38. package/dist/errors.js +1 -1
  39. package/dist/mcp/adapter.js +44 -14
  40. package/dist/mcp/core.js +1 -1
  41. package/dist/mcp/curation.js +1 -1
  42. package/dist/mcp/server.js +4 -4
  43. package/dist/mcp.js +4 -4
  44. package/dist/media-model/testing.js +6 -6
  45. package/dist/nle-export.js +5 -5
  46. package/package.json +14 -13
package/dist/director.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  dataChunk,
11
11
  generationArtifactFromToolResult,
12
12
  projectDirectorHistory
13
- } from "./chunk-LJ5W4ZBU.js";
13
+ } from "./chunk-TMB5AY6Q.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-ZPLJ24OV.js";
25
+ } from "./chunk-TO4BFNLJ.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-LLUW26BS.js";
47
+ import "./chunk-AW57IWNW.js";
48
48
  import "./chunk-2ESYSVXG.js";
49
49
  export {
50
50
  ChatErrorView,
package/dist/errors.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  encodeError,
6
6
  scrubSensitive,
7
7
  toWireEnvelope
8
- } from "./chunk-LLUW26BS.js";
8
+ } from "./chunk-AW57IWNW.js";
9
9
  import "./chunk-2ESYSVXG.js";
10
10
  export {
11
11
  CueframeError,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  waitForJob
3
- } from "../chunk-QETYXKQQ.js";
3
+ } from "../chunk-SDCEJAO2.js";
4
4
  import {
5
5
  apiErrorFrom,
6
6
  bodySchemaFor,
@@ -11,10 +11,10 @@ import {
11
11
  opById,
12
12
  safeParse,
13
13
  sniffImageMediaType
14
- } from "../chunk-W3SIWT7J.js";
14
+ } from "../chunk-DL7WYISQ.js";
15
15
  import {
16
16
  CURATED_TOOLS
17
- } from "../chunk-AO744WIK.js";
17
+ } from "../chunk-DJW3UGBH.js";
18
18
  import "../chunk-2ESYSVXG.js";
19
19
 
20
20
  // ../mcp/src/adapter.ts
@@ -25,9 +25,9 @@ import { tool } from "ai";
25
25
  var INTERNAL_LOOP_TOOLS = [
26
26
  {
27
27
  name: "render_frame",
28
- operationId: "previewFrame",
28
+ operationId: "previewFrameJob",
29
29
  pathArgs: { projectId: "id" },
30
- description: "Render still(s) of the WHOLE composition at the given timestamps, returning presigned image(s) \u2014 the in-loop full-composition preview. `body.timestamps` is an array of clip-relative SECONDS: pass EVERY beat you want to inspect in ONE call \u2014 a call is flat-cost and one budget unit however many timestamps it carries, and all render in a single pass (a contact sheet), so never spend calls one frame at a time. Stills are content-addressed: re-rendering an unchanged composition is free, and the judge grades the EXACT frames you looked at. (One component instead of the whole composition? use preview_component.)",
30
+ 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 EVERY beat you want to inspect in ONE call \u2014 a call is flat-cost and one budget unit however many timestamps it carries. Stills are content-addressed and retries reattach to the same execution. (One component instead of the whole composition? use preview_component.)",
31
31
  annotations: { readOnlyHint: true }
32
32
  },
33
33
  {
@@ -41,7 +41,7 @@ var INTERNAL_LOOP_TOOLS = [
41
41
  name: "preview_component",
42
42
  operationId: "previewComponent",
43
43
  pathArgs: { projectId: "id" },
44
- description: "Queue a MOTION-clip render of ONE org-installed component \u2014 ASYNC; the in-loop wrapper blocks until terminal and returns the clip. It is the SAME content-addressed bake the production render composites, so what you preview is literally the object that ships, and previewing an unchanged component is free. Failures carry typed codes (component_does_not_compile / component_runtime_error) with the sanitized author-fixable message \u2014 read it, fix the tsxSource via create_component, and re-preview. Idempotent per (componentId, params, dims).",
44
+ description: "Queue a preview of ONE org-installed component \u2014 ASYNC; the in-loop wrapper blocks until terminal. Live mode returns an image still; baked mode returns the same content-addressed VP9-alpha motion artifact the production render composites. Failures carry typed codes (component_does_not_compile / component_runtime_error) with the sanitized author-fixable message \u2014 read it, fix the tsxSource via create_component, and re-preview. Idempotent per (componentId, params, dims, executionMode).",
45
45
  annotations: { idempotentHint: true }
46
46
  },
47
47
  {
@@ -82,7 +82,7 @@ var INTERNAL_LOOP_TOOLS = [
82
82
  name: "wait_job",
83
83
  operationId: "getJob",
84
84
  title: "Wait for Job",
85
- description: "Wait for a long-running job and return the resolved result \u2014 a BOUNDED long-poll. Polls the job status (render / compose / consult / clip-suggestions / verify / preview / brand-kit extract) and blocks up to the caller's window; if the job is still running when the window closes it returns a `Still running` continuation \u2014 call wait_job again with the SAME arguments to keep waiting (the job keeps executing server-side; nothing is lost between calls). Call this right after create_render / compose / consult / suggest_briefs / score_composition / preview_component \u2014 the enqueue call returns only a receipt, and the RESULT (download URL, scores, critique) arrives here.",
85
+ description: "Wait for a long-running job and return the resolved result \u2014 a BOUNDED long-poll. Polls the job status (media / render / compose / consult / clip-suggestions / verify / preview / brand-kit extract) and blocks up to the caller's window; if the job is still running when the window closes it returns a `Still running` continuation \u2014 call wait_job again with the SAME arguments to keep waiting (the job keeps executing server-side; nothing is lost between calls). Call this right after import_media / generate_media / create_render / compose / consult / suggest_briefs / score_composition / preview_component \u2014 the enqueue call returns only a receipt, and the RESULT arrives here.",
86
86
  annotations: { readOnlyHint: true }
87
87
  }
88
88
  ];
@@ -137,6 +137,7 @@ async function pollJobToTerminal(ex, jobId, jobPoll) {
137
137
  const s = String(job?.status ?? "");
138
138
  if (s === "succeeded") return { outcome: "succeeded", job };
139
139
  if (s === "failed") return { outcome: "failed", job };
140
+ if (s === "cancelled") return { outcome: "cancelled", job };
140
141
  }
141
142
  if (Date.now() + pollMs >= deadline) return { outcome: "timeout" };
142
143
  await sleep(pollMs);
@@ -252,9 +253,23 @@ function buildRenderFrameTool(spec, ex, budget, opts) {
252
253
  const infra = infraToolErrorFromResponse(res);
253
254
  if (infra) throw infra;
254
255
  if (!isOk(res.status)) return JSON.stringify({ error: fmtErr(apiErrorFrom(res)) });
255
- const json = safeParse(res.text);
256
+ const receipt = safeParse(res.text);
257
+ if (!receipt?.jobId) return JSON.stringify({ error: "preview-frame enqueue returned no jobId" });
258
+ const done = await pollJobToTerminal(ex, receipt.jobId, opts?.jobPoll);
259
+ if (done.outcome === "failed" || done.outcome === "cancelled") {
260
+ return JSON.stringify({
261
+ error: done.outcome === "cancelled" ? "preview-frame job cancelled" : done.pollError ?? done.job?.error ?? "preview-frame job failed"
262
+ });
263
+ }
264
+ if (done.outcome === "timeout") {
265
+ return JSON.stringify({
266
+ note: `preview-frame still rendering after ${Math.round((opts?.jobPoll?.timeoutMs ?? JOB_TIMEOUT_MS) / 1e3)}s; call preview_frame again to reattach`,
267
+ jobId: receipt.jobId
268
+ });
269
+ }
270
+ const json = done.job?.result;
256
271
  return inlineStillsOrNote(
257
- (json?.stills ?? []).map((s) => s.url),
272
+ (json?.artifacts ?? []).map((artifact) => artifact.url),
258
273
  fetchImage,
259
274
  "no stills returned for the requested timestamps"
260
275
  );
@@ -293,10 +308,12 @@ function buildPreviewComponentTool(spec, ex, opts) {
293
308
  if (!isOk(res.status)) return JSON.stringify({ error: fmtErr(apiErrorFrom(res)) });
294
309
  const json = safeParse(res.text);
295
310
  let url = json?.url;
311
+ let artifactKind = json?.artifactKind;
312
+ let contentType = json?.contentType;
296
313
  if (!url && json?.jobId) {
297
314
  const done = await pollJobToTerminal(ex, json.jobId, opts?.jobPoll);
298
- if (done.outcome === "failed") {
299
- const err = done.pollError ?? (done.job?.error ? `${done.job.error.code ?? "preview_failed"}: ${done.job.error.message ?? ""}` : "preview job failed");
315
+ if (done.outcome === "failed" || done.outcome === "cancelled") {
316
+ const err = done.outcome === "cancelled" ? "preview job cancelled" : done.pollError ?? (done.job?.error ? `${done.job.error.code ?? "preview_failed"}: ${done.job.error.message ?? ""}` : "preview job failed");
300
317
  return JSON.stringify({ error: err });
301
318
  }
302
319
  if (done.outcome === "timeout") {
@@ -304,7 +321,19 @@ function buildPreviewComponentTool(spec, ex, opts) {
304
321
  note: `component preview still rendering after ${Math.round((opts?.jobPoll?.timeoutMs ?? JOB_TIMEOUT_MS) / 1e3)}s \u2014 proceed, or re-preview later`
305
322
  });
306
323
  }
307
- url = done.job?.result?.url;
324
+ const result = done.job?.result;
325
+ url = result?.url;
326
+ artifactKind = result?.artifactKind;
327
+ contentType = result?.contentType;
328
+ }
329
+ const isImage = artifactKind === "image" || contentType?.startsWith("image/") === true || !artifactKind && !contentType && /\.(?:png|jpe?g|webp)(?:\?|$)/i.test(url ?? "");
330
+ if (url && !isImage) {
331
+ return JSON.stringify({
332
+ artifactKind: artifactKind ?? "motion",
333
+ contentType: contentType ?? "video/webm",
334
+ url,
335
+ note: "Motion previews are returned as URLs; they are not attached as image blocks."
336
+ });
308
337
  }
309
338
  return inlineStillsOrNote(
310
339
  [url],
@@ -386,7 +415,7 @@ function buildVerifyCompositionTool(spec, ex, budget, opts) {
386
415
  false
387
416
  );
388
417
  }
389
- const err = done.pollError ?? (done.job?.error ? `${done.job.error.code ?? "verify_failed"}: ${done.job.error.message ?? ""}` : "verify job failed");
418
+ const err = done.outcome === "cancelled" ? "verify job cancelled" : done.pollError ?? (done.job?.error ? `${done.job.error.code ?? "verify_failed"}: ${done.job.error.message ?? ""}` : "verify job failed");
390
419
  return finish(JSON.stringify({ error: err }), false);
391
420
  }
392
421
  });
@@ -432,6 +461,7 @@ var WAIT_KINDS = [
432
461
  "compose",
433
462
  "suggestions",
434
463
  "verify",
464
+ "preview_frame",
435
465
  "preview",
436
466
  "brand_kit_extract",
437
467
  "consult"
@@ -444,7 +474,7 @@ function buildWaitJobTool(spec, ex, opts) {
444
474
  description: spec.description,
445
475
  inputSchema: z.object({
446
476
  kind: z.enum(WAIT_KINDS).describe(
447
- "What to wait on: a render job, a compose job, a consult advisory, AI clip-suggestion analysis, or a generic async job (verify / preview / brand_kit_extract \u2014 the kind is named in the enqueue receipt)."
477
+ "What to wait on: a render job, compose job, consult advisory, AI clip-suggestion analysis, or a generic async job (verify / preview_frame / preview / brand_kit_extract \u2014 use the kind in the enqueue receipt)."
448
478
  ),
449
479
  id: z.string().describe("The job id from the enqueue call (renderId / composeJobId / jobId / mediaItemId for suggestions)."),
450
480
  projectId: z.string().optional().describe("Required for render / compose / consult (their status routes are project-scoped)."),
package/dist/mcp/core.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  sniffImageMediaType,
18
18
  text,
19
19
  withMedia
20
- } from "../chunk-W3SIWT7J.js";
20
+ } from "../chunk-DL7WYISQ.js";
21
21
  import "../chunk-2ESYSVXG.js";
22
22
  export {
23
23
  __resetPreviewCache,
@@ -8,7 +8,7 @@ import {
8
8
  formatMediaList,
9
9
  formatResourceCandidates,
10
10
  formatWarnings
11
- } from "../chunk-AO744WIK.js";
11
+ } from "../chunk-DJW3UGBH.js";
12
12
  import "../chunk-2ESYSVXG.js";
13
13
  export {
14
14
  CRUD_COVERAGE,
@@ -8,10 +8,10 @@ import {
8
8
  registerRawTools,
9
9
  registerSkillPrompts,
10
10
  titleCase
11
- } from "../chunk-TD347SSX.js";
12
- import "../chunk-QETYXKQQ.js";
13
- import "../chunk-W3SIWT7J.js";
14
- import "../chunk-AO744WIK.js";
11
+ } from "../chunk-KFECIHED.js";
12
+ import "../chunk-SDCEJAO2.js";
13
+ import "../chunk-DL7WYISQ.js";
14
+ import "../chunk-DJW3UGBH.js";
15
15
  import "../chunk-2ESYSVXG.js";
16
16
  export {
17
17
  RAW_EXCLUDED_OPERATION_IDS,
package/dist/mcp.js CHANGED
@@ -9,10 +9,10 @@ import {
9
9
  registerCuratedTools,
10
10
  registerRawTools,
11
11
  registerSkillPrompts
12
- } from "./chunk-TD347SSX.js";
13
- import "./chunk-QETYXKQQ.js";
14
- import "./chunk-W3SIWT7J.js";
15
- import "./chunk-AO744WIK.js";
12
+ } from "./chunk-KFECIHED.js";
13
+ import "./chunk-SDCEJAO2.js";
14
+ import "./chunk-DL7WYISQ.js";
15
+ import "./chunk-DJW3UGBH.js";
16
16
  import "./chunk-2ESYSVXG.js";
17
17
 
18
18
  // ../mcp/src/index.ts
@@ -6032,7 +6032,7 @@ function manageArtifactAttachment(attachment) {
6032
6032
  }
6033
6033
  }
6034
6034
 
6035
- // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@22.20.1_@vitest+coverage-v8@4.1.11_j_92db6a7db25e6e55d70dc5d47c837999/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
6035
+ // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@24.13.3_@vitest+coverage-v8@4.1.11_j_c9dcd8e1465939ba296830f01bf940ab/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
6036
6036
  var NAME_WORKER_STATE = "__vitest_worker__";
6037
6037
  function getWorkerState() {
6038
6038
  const workerState = globalThis[NAME_WORKER_STATE];
@@ -12432,10 +12432,10 @@ function offsetToLineNumber(source, offset) {
12432
12432
  return line + 1;
12433
12433
  }
12434
12434
 
12435
- // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@22.20.1_@vitest+coverage-v8@4.1.11_j_92db6a7db25e6e55d70dc5d47c837999/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
12435
+ // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@24.13.3_@vitest+coverage-v8@4.1.11_j_c9dcd8e1465939ba296830f01bf940ab/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
12436
12436
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
12437
12437
 
12438
- // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@22.20.1_@vitest+coverage-v8@4.1.11_j_92db6a7db25e6e55d70dc5d47c837999/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
12438
+ // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@24.13.3_@vitest+coverage-v8@4.1.11_j_c9dcd8e1465939ba296830f01bf940ab/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
12439
12439
  var RealDate = Date;
12440
12440
  var now2 = null;
12441
12441
  var MockDate = class _MockDate extends RealDate {
@@ -13535,7 +13535,7 @@ function raceWith(promise, other) {
13535
13535
  }))]);
13536
13536
  }
13537
13537
 
13538
- // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@22.20.1_@vitest+coverage-v8@4.1.11_j_92db6a7db25e6e55d70dc5d47c837999/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js
13538
+ // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@24.13.3_@vitest+coverage-v8@4.1.11_j_c9dcd8e1465939ba296830f01bf940ab/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js
13539
13539
  var fakeTimersSrc = {};
13540
13540
  var global2;
13541
13541
  var hasRequiredGlobal;
@@ -16238,7 +16238,7 @@ Object.defineProperty(globalThis, GLOBAL_EXPECT, {
16238
16238
  var assert4 = chai_exports.assert;
16239
16239
  var should2 = chai_exports.should;
16240
16240
 
16241
- // ../../node_modules/.pnpm/vite@7.3.6_@types+node@22.20.1_jiti@2.7.0_lightningcss@1.33.0_terser@5.51.0_tsx@4.23.12_yaml@2.9.0/node_modules/vite/dist/node/module-runner.js
16241
+ // ../../node_modules/.pnpm/vite@7.3.6_@types+node@24.13.3_jiti@2.7.0_lightningcss@1.33.0_terser@5.51.0_tsx@4.23.12_yaml@2.9.0/node_modules/vite/dist/node/module-runner.js
16242
16242
  var SOURCEMAPPING_URL = "sourceMa";
16243
16243
  SOURCEMAPPING_URL += "ppingURL";
16244
16244
  var isWindows = typeof process < "u" && process.platform === "win32";
@@ -16283,7 +16283,7 @@ var envProxy = new Proxy({}, { get(_, p) {
16283
16283
  throw Error(`[module runner] Dynamic access of "import.meta.env" is not supported. Please, use "import.meta.env.${String(p)}" instead.`);
16284
16284
  } });
16285
16285
 
16286
- // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@22.20.1_@vitest+coverage-v8@4.1.11_j_92db6a7db25e6e55d70dc5d47c837999/node_modules/vitest/dist/index.js
16286
+ // ../../node_modules/.pnpm/vitest@4.1.11_@opentelemetry+api@1.9.1_@types+node@24.13.3_@vitest+coverage-v8@4.1.11_j_c9dcd8e1465939ba296830f01bf940ab/node_modules/vitest/dist/index.js
16287
16287
  var import_expect_type = __toESM(require_dist(), 1);
16288
16288
 
16289
16289
  // ../data-models/media-model/src/testing/mediaStoreContract.ts
@@ -1,7 +1,7 @@
1
- import "./chunk-VFMW3JUY.js";
1
+ import "./chunk-TXSFYUZH.js";
2
2
  import {
3
3
  getPrimitiveText
4
- } from "./chunk-CAJQ7H5A.js";
4
+ } from "./chunk-HBVAZXYO.js";
5
5
  import "./chunk-H5LMJKZU.js";
6
6
  import "./chunk-MFHXCHRI.js";
7
7
  import "./chunk-JQMPHKLU.js";
@@ -26,9 +26,9 @@ import "./chunk-XHGZ2E77.js";
26
26
  import "./chunk-ZFEXATWN.js";
27
27
  import "./chunk-CX2IIQ4R.js";
28
28
  import "./chunk-DCVJWGIA.js";
29
- import "./chunk-VHF66LCQ.js";
29
+ import "./chunk-NQSMEUJ6.js";
30
30
  import "./chunk-QH3YI3ND.js";
31
- import "./chunk-XQ72DZKJ.js";
31
+ import "./chunk-ZPRBGW4Y.js";
32
32
  import "./chunk-23HFEKV7.js";
33
33
  import "./chunk-VZ7TYX6Z.js";
34
34
  import "./chunk-7PA7FGLD.js";
@@ -36,7 +36,7 @@ import "./chunk-KYRDKK2D.js";
36
36
  import "./chunk-JF4JJAFP.js";
37
37
  import "./chunk-DENF4TPI.js";
38
38
  import "./chunk-WREYUH2E.js";
39
- import "./chunk-LLUW26BS.js";
39
+ import "./chunk-AW57IWNW.js";
40
40
  import "./chunk-2ESYSVXG.js";
41
41
 
42
42
  // ../nle-export/src/srt.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cueframe/kernel",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
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": [
@@ -17,26 +17,26 @@
17
17
  "devDependencies": {
18
18
  "tsup": "^8.3.5",
19
19
  "typescript": "^5.9.3",
20
- "@cueframe/account-model": "0.1.0",
21
20
  "@cueframe/animate": "0.1.0",
21
+ "@cueframe/authoring": "0.1.0",
22
22
  "@cueframe/brand-derivation": "0.1.0",
23
23
  "@cueframe/cloud-import": "0.1.0",
24
- "@cueframe/authoring": "0.1.0",
25
- "@cueframe/composition-ops": "0.1.0",
26
24
  "@cueframe/compose": "0.1.0",
27
- "@cueframe/composition": "0.1.0",
28
- "@cueframe/mcp": "0.1.0",
25
+ "@cueframe/composition-ops": "0.1.0",
26
+ "@cueframe/account-model": "0.1.0",
29
27
  "@cueframe/convex-api": "0.1.0",
30
- "@cueframe/errors": "0.1.0",
28
+ "@cueframe/composition": "0.1.0",
29
+ "@cueframe/director": "0.1.0",
31
30
  "@cueframe/core": "0.1.0",
32
- "@cueframe/media-model": "0.1.0",
33
31
  "@cueframe/foundation": "0.1.0",
32
+ "@cueframe/nle-export": "0.1.0",
33
+ "@cueframe/media-model": "0.1.0",
34
+ "@cueframe/errors": "0.1.0",
35
+ "@cueframe/mcp": "0.1.0",
34
36
  "@cueframe/perception": "0.1.0",
35
- "@cueframe/render-harness": "0.1.0",
36
- "@cueframe/director": "0.1.0",
37
37
  "@cueframe/plane": "0.1.0",
38
- "@cueframe/nle-export": "0.1.0",
39
- "@cueframe/primitives": "0.1.0"
38
+ "@cueframe/primitives": "0.1.0",
39
+ "@cueframe/render-harness": "0.1.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "convex": ">=1.42",
@@ -613,6 +613,7 @@
613
613
  },
614
614
  "author": "CueFrame Inc.",
615
615
  "scripts": {
616
- "build": "node ../../tools/build-aggregate.mjs kernel"
616
+ "build": "node ../../tools/build-aggregate.mjs kernel",
617
+ "check": "pnpm build"
617
618
  }
618
619
  }