@cueframe/kernel 0.2.3 → 0.2.5
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/bake.d.ts +14 -0
- package/dist/_members/component-runtime/bake.d.ts.map +1 -1
- package/dist/_members/compose/primitiveRegistry.d.ts +2 -6
- package/dist/_members/composition/primitive-catalog/index.d.ts +4 -0
- package/dist/_members/mcp/generated/harness.d.ts +1 -1
- package/dist/_members/mcp/generated/inputSchemas.d.ts +1 -0
- package/dist/_members/mcp/inputSchemas.d.ts +6 -0
- package/dist/_members/mcp/server.d.ts +4 -1
- package/dist/_members/render-harness/prepareSceneBake.d.ts +5 -0
- package/dist/_members/render-harness/prepareSceneBake.d.ts.map +1 -0
- package/dist/authoring/build-tools.js +3 -3
- package/dist/authoring/tools.js +2 -2
- package/dist/authoring.js +4 -4
- package/dist/{chunk-AS5EXBNS.js → chunk-7AZLFN26.js} +12 -1
- package/dist/chunk-KQDZAHLP.js +3637 -0
- package/dist/{chunk-NUKDEOK6.js → chunk-MN6D3U5N.js} +1 -1
- package/dist/{chunk-32TH76H3.js → chunk-SC55VDLC.js} +2 -2
- package/dist/{chunk-X74EEFXV.js → chunk-TBNTAQJA.js} +1 -1
- package/dist/{chunk-UY77TMKD.js → chunk-VCSSJLOU.js} +24 -4
- package/dist/{chunk-F2DJL7P7.js → chunk-W6B7BMLO.js} +1 -1
- package/dist/component-runtime.js +1 -1
- package/dist/compose.js +181 -28
- package/dist/composition/primitive-catalog.js +3 -1
- package/dist/composition-ops.js +1 -1
- package/dist/core/render.js +1 -1
- package/dist/core.js +1 -1
- package/dist/mcp/adapter.js +1 -1
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/mcp.js +2 -2
- package/dist/nle-export.js +1 -33
- package/dist/primitives/effects.js +2 -2
- package/dist/primitives/ui-blocks.js +4 -4
- package/dist/primitives.js +9 -9
- package/dist/render-harness/renderInputAssets.js +2 -2
- package/dist/render-harness.js +4 -4
- package/package.json +10 -10
- package/dist/chunk-E6WHXIDF.js +0 -3619
- package/dist/chunk-SX523NDS.js +0 -202
- package/dist/{chunk-YHC3RXS7.js → chunk-7W6ZIKWV.js} +3 -3
- package/dist/{chunk-B3GSTQLR.js → chunk-VLJOIUHL.js} +6 -6
|
@@ -310,7 +310,7 @@ Call wait_job(kind="compose", id="${j.composeJobId}", projectId="${a.projectId}"
|
|
|
310
310
|
name: "apply_composition",
|
|
311
311
|
operationId: "applyComposition",
|
|
312
312
|
pathArgs: { projectId: "id" },
|
|
313
|
-
description: 'Atomically apply an array of CompositionOps to a project composition. All ops succeed or none do (transactional). Pass `if_match` for optimistic-concurrency control (409 stale_etag on mismatch) and `dry_run: true` to validate the batch without persisting. Use this to seed a composition (add media clips) or make targeted edits (set a crop intent, reorder clips, set the format). CAPTIONS: attach content with {type:"captions.fromTranscript", mediaId, window?} \u2014 the server slices the cached word-timed transcript, rebases times, and sentence-splits into segments (no pasting words; 422 media_no_transcript if the media has no speech); style it with {type:"setCaptionStyle", style}; or set explicit words with {type:"setCaptions", segments, style?} (e.g. translations or your own VO timings). Brand is NOT set here \u2014 it lives on the project (create_project / PATCH /projects/:id with brandKitId). CARDS: a {kind:"card", html, tokens} clip projects each `tokens` KEY `x` to the CSS custom property `--cf-x`, so the html must read it as `var(--cf-x)` \u2014 write `tokens:{"plate":"#0af"}` + `background:var(--cf-plate)`. Do NOT put dashes in the key: `"--plate"` becomes `--cf---plate` and your `var(--plate)` then resolves to NOTHING, which CSS silently degrades to a transparent background and black text. Responses carry `warnings[]` when a card reads a var nothing defines. SCENE SHOTS: for a 3D product shot \u2014 a tilted page screenshot, a lit laptop/phone showing a real screenshot, two-colour type, a colour-field backdrop, focus/grain/vignette and a camera move \u2014 use {type:"scene.add", clipId, newTrack|trackId, startTime, duration, scene, assets} and revise it with {type:"scene.update", clipId, scene?, assets?, startTime?, duration?}. You author a scene SPEC, never wrapper TSX; the server registers the component for you. There is NO built-in scene primitive in list_catalog \u2014 READ cueframe://scene-shot first for the JSON schema,
|
|
313
|
+
description: 'Atomically apply an array of CompositionOps to a project composition. All ops succeed or none do (transactional). Pass `if_match` for optimistic-concurrency control (409 stale_etag on mismatch) and `dry_run: true` to validate the batch without persisting. Use this to seed a composition (add media clips) or make targeted edits (set a crop intent, reorder clips, set the format). CAPTIONS: attach content with {type:"captions.fromTranscript", mediaId, window?} \u2014 the server slices the cached word-timed transcript, rebases times, and sentence-splits into segments (no pasting words; 422 media_no_transcript if the media has no speech); style it with {type:"setCaptionStyle", style}; or set explicit words with {type:"setCaptions", segments, style?} (e.g. translations or your own VO timings). Brand is NOT set here \u2014 it lives on the project (create_project / PATCH /projects/:id with brandKitId). CARDS: a {kind:"card", html, tokens} clip projects each `tokens` KEY `x` to the CSS custom property `--cf-x`, so the html must read it as `var(--cf-x)` \u2014 write `tokens:{"plate":"#0af"}` + `background:var(--cf-plate)`. Do NOT put dashes in the key: `"--plate"` becomes `--cf---plate` and your `var(--plate)` then resolves to NOTHING, which CSS silently degrades to a transparent background and black text. Responses carry `warnings[]` when a card reads a var nothing defines. SCENE SHOTS: for a 3D product shot \u2014 a tilted page screenshot, a lit laptop/phone showing a real screenshot, two-colour type, a colour-field backdrop, focus/grain/vignette and a camera move \u2014 use {type:"scene.add", clipId, newTrack|trackId, startTime, duration, scene, assets} and revise it with {type:"scene.update", clipId, scene?, assets?, startTime?, duration?}. You author a scene SPEC, never wrapper TSX; the server registers the component for you. There is NO built-in scene primitive in list_catalog \u2014 READ cueframe://scene-shot first for the JSON schema, the canonical V2 world-objects recipe with nested groups, slabs, pages, phones, laptops, world/screen text, admitted surfaces, camera motion, lighting, and the current resource limits.',
|
|
314
314
|
okFormat: (j, a) => {
|
|
315
315
|
const warns = formatWarnings(j);
|
|
316
316
|
if (j && typeof j.valid === "boolean") {
|
|
@@ -775,7 +775,7 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
|
|
|
775
775
|
{
|
|
776
776
|
name: "get_account",
|
|
777
777
|
operationId: "getAccount",
|
|
778
|
-
description: "ORIENT FIRST \u2014 show THIS key's account before you spend a metered call: the org it is bound to, the current plan, a per-feature entitlements map, and per-call cost ceilings. READ `balance`, NOT `included`. CueFrame is credit-funded: rendering (entitlements.exports), generation (generate), preview stills (compose_capture), the judge (compose_verify) and the Director (compose) have NO separate per-plan allowance \u2014 they all spend one shared wallet, named in `fundedBy` (`credits`; generation
|
|
778
|
+
description: "ORIENT FIRST \u2014 show THIS key's account before you spend a metered call: the org it is bound to, the current plan, a per-feature entitlements map, and per-call cost ceilings. READ `balance`, NOT `included`. CueFrame is credit-funded: rendering (entitlements.exports), generation (generate), preview stills (compose_capture), the judge (compose_verify) and the Director (compose) have NO separate per-plan allowance \u2014 they all spend one shared wallet, named in `fundedBy` (`credits`; generation is metered in provider-cost units against that wallet). Each `balance` restates that ONE wallet in that feature's own unit at `creditCost` credits per unit, so they are alternative ways to spend the same money, not four budgets. Check the requested cost against the balance. For generation, also check generationLimit: free accounts have a separate provider-cost cap even with a positive wallet. A billing_required error with reason free_generation_cap requires a credit-pack purchase through normal checkout. `included:false` means the plan genuinely lacks the feature. Every new org starts with a free credit grant, so an account with an empty usage history can still render, generate, preview and score. costCeilings.generateMediaUsdPerCall is the generate_media per-call USD cap. No args \u2014 identity is resolved from your key (never echoed from input).",
|
|
779
779
|
annotations: { readOnlyHint: true }
|
|
780
780
|
},
|
|
781
781
|
{
|
|
@@ -271,16 +271,32 @@ function assertAssetBindingsMatch(request) {
|
|
|
271
271
|
async function bakeComponentAlphaV2(options) {
|
|
272
272
|
assertSceneShotCapabilitySupported(options.job?.source?.manifest, { componentId: options.job?.source?.componentId });
|
|
273
273
|
const job = ComponentBakeJobV2.parse(options.job);
|
|
274
|
-
assertSceneShotParamsAdmitted(job.source.manifest, job.params, { componentId: job.source.componentId });
|
|
274
|
+
const scene = assertSceneShotParamsAdmitted(job.source.manifest, job.params, { componentId: job.source.componentId });
|
|
275
|
+
if (scene && !options.prepareScene) throw new ComponentRuntimeError(
|
|
276
|
+
"component_scene_invalid",
|
|
277
|
+
"scene_prepared_plan_required: The scene bake host must supply canonical scene preparation before capture."
|
|
278
|
+
);
|
|
275
279
|
const assetServer = await startComponentAssetServer({ assets: job.assets, files: job.assetFiles });
|
|
280
|
+
let sceneLease;
|
|
276
281
|
try {
|
|
277
282
|
const { assetFiles: _assetFiles, ...unsealedRequest } = job;
|
|
278
|
-
|
|
283
|
+
let request = ComponentBakeRequestV2.parse({
|
|
279
284
|
...unsealedRequest,
|
|
280
285
|
assets: assetServer.bindings
|
|
281
286
|
});
|
|
282
287
|
assertAssetBindingsMatch(request);
|
|
283
288
|
const materialized = materializeComponentSource(options.workspaceRoot, request.source);
|
|
289
|
+
const allowedAssetOrigins = /* @__PURE__ */ new Set([assetServer.origin]);
|
|
290
|
+
if (scene) {
|
|
291
|
+
sceneLease = await options.prepareScene({
|
|
292
|
+
request,
|
|
293
|
+
materialized,
|
|
294
|
+
runtimeAssets: assetServer.runtimeAssets,
|
|
295
|
+
allowedAssetOrigins
|
|
296
|
+
});
|
|
297
|
+
request = ComponentBakeRequestV2.parse({ ...request, params: sceneLease.params });
|
|
298
|
+
assertSceneShotParamsAdmitted(request.source.manifest, request.params, { componentId: request.source.componentId });
|
|
299
|
+
}
|
|
284
300
|
const bundleId = componentBundleId({
|
|
285
301
|
sourceVersionId: materialized.sourceVersionId,
|
|
286
302
|
runtimeDigest: request.runtimeDigest,
|
|
@@ -307,7 +323,7 @@ async function bakeComponentAlphaV2(options) {
|
|
|
307
323
|
id: request.source.componentId,
|
|
308
324
|
params: request.params,
|
|
309
325
|
assets: assetServer.runtimeAssets,
|
|
310
|
-
allowedAssetOrigins
|
|
326
|
+
allowedAssetOrigins,
|
|
311
327
|
seed: request.seed,
|
|
312
328
|
graphics: request.source.manifest.graphics,
|
|
313
329
|
codec: request.codec,
|
|
@@ -360,7 +376,11 @@ async function bakeComponentAlphaV2(options) {
|
|
|
360
376
|
assertRendererReceiptMatches(renderRequest, receipt);
|
|
361
377
|
return receipt;
|
|
362
378
|
} finally {
|
|
363
|
-
|
|
379
|
+
try {
|
|
380
|
+
await sceneLease?.cleanup();
|
|
381
|
+
} finally {
|
|
382
|
+
await assetServer.close();
|
|
383
|
+
}
|
|
364
384
|
}
|
|
365
385
|
}
|
|
366
386
|
function sourceIdentityForBake(request) {
|
package/dist/compose.js
CHANGED
|
@@ -1,53 +1,206 @@
|
|
|
1
|
-
import {
|
|
2
|
-
allCatalogs,
|
|
3
|
-
getPrimitiveSubtext,
|
|
4
|
-
getPrimitiveText,
|
|
5
|
-
inflatePrimitiveProps,
|
|
6
|
-
isRegisteredTransition,
|
|
7
|
-
listPrimitives,
|
|
8
|
-
registerPrimitiveOverride,
|
|
9
|
-
resetPrimitiveOverrides,
|
|
10
|
-
resolvePrimitive,
|
|
11
|
-
resolveTransitionPresentation
|
|
12
|
-
} from "./chunk-SX523NDS.js";
|
|
13
1
|
import "./chunk-JVDUSOYG.js";
|
|
14
2
|
import "./chunk-JQMPHKLU.js";
|
|
15
3
|
import "./chunk-ZZRBKGDA.js";
|
|
16
4
|
import "./chunk-GULDS3VE.js";
|
|
17
|
-
import
|
|
18
|
-
|
|
5
|
+
import {
|
|
6
|
+
isContrastCritical
|
|
7
|
+
} from "./chunk-YLDMAZZE.js";
|
|
8
|
+
import {
|
|
9
|
+
catalog as catalog7
|
|
10
|
+
} from "./chunk-I5QWBM3M.js";
|
|
11
|
+
import {
|
|
12
|
+
catalog
|
|
13
|
+
} from "./chunk-ZS3A3QUM.js";
|
|
19
14
|
import "./chunk-U4V4FZGE.js";
|
|
20
15
|
import "./chunk-DLF4WVSE.js";
|
|
21
|
-
import
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
import "./chunk-YHC3RXS7.js";
|
|
25
|
-
import "./chunk-RL5SO653.js";
|
|
26
|
-
import "./chunk-LT4PWSR2.js";
|
|
27
|
-
import "./chunk-FWSJLHSV.js";
|
|
28
|
-
import "./chunk-ZFEXATWN.js";
|
|
29
|
-
import "./chunk-6EWRIAZA.js";
|
|
30
|
-
import "./chunk-XHGZ2E77.js";
|
|
31
|
-
import "./chunk-I5QWBM3M.js";
|
|
16
|
+
import {
|
|
17
|
+
catalog as catalog3
|
|
18
|
+
} from "./chunk-FVDFPJHT.js";
|
|
32
19
|
import "./chunk-QGAWDLYX.js";
|
|
20
|
+
import {
|
|
21
|
+
catalog as catalog6
|
|
22
|
+
} from "./chunk-VLJOIUHL.js";
|
|
33
23
|
import "./chunk-S5H6GH6M.js";
|
|
34
24
|
import "./chunk-QAGGJHAF.js";
|
|
25
|
+
import {
|
|
26
|
+
catalog as catalog5
|
|
27
|
+
} from "./chunk-RAXHCRVV.js";
|
|
28
|
+
import {
|
|
29
|
+
catalog as catalog2
|
|
30
|
+
} from "./chunk-7W6ZIKWV.js";
|
|
35
31
|
import "./chunk-MFHXCHRI.js";
|
|
32
|
+
import {
|
|
33
|
+
catalog as catalog8
|
|
34
|
+
} from "./chunk-RL5SO653.js";
|
|
35
|
+
import "./chunk-LT4PWSR2.js";
|
|
36
|
+
import "./chunk-FWSJLHSV.js";
|
|
37
|
+
import "./chunk-ZFEXATWN.js";
|
|
38
|
+
import {
|
|
39
|
+
catalog as catalog4
|
|
40
|
+
} from "./chunk-6EWRIAZA.js";
|
|
41
|
+
import "./chunk-XHGZ2E77.js";
|
|
36
42
|
import "./chunk-W2245F6G.js";
|
|
37
43
|
import "./chunk-5DJ3IEJR.js";
|
|
38
44
|
import "./chunk-VKATKWWR.js";
|
|
39
45
|
import {
|
|
40
46
|
getPrimitiveSubtextParam,
|
|
47
|
+
getPrimitiveText,
|
|
41
48
|
getPrimitiveTextParam,
|
|
42
49
|
listPrimitivesByCategory
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import
|
|
50
|
+
} from "./chunk-7AZLFN26.js";
|
|
51
|
+
import {
|
|
52
|
+
NEUTRAL_RAMP
|
|
53
|
+
} from "./chunk-JF4JJAFP.js";
|
|
54
|
+
import {
|
|
55
|
+
CueframeError,
|
|
56
|
+
encodeError
|
|
57
|
+
} from "./chunk-J3DIUG24.js";
|
|
45
58
|
import "./chunk-7PA7FGLD.js";
|
|
46
|
-
import "./chunk-J3DIUG24.js";
|
|
47
59
|
import "./chunk-TARKDVP6.js";
|
|
48
60
|
import "./chunk-MH3UPKWR.js";
|
|
49
61
|
import "./chunk-2L7PYYJK.js";
|
|
50
62
|
import "./chunk-2ESYSVXG.js";
|
|
63
|
+
|
|
64
|
+
// ../execution/compose/src/primitiveRegistry.ts
|
|
65
|
+
var allCatalogs = [
|
|
66
|
+
...catalog,
|
|
67
|
+
...catalog2,
|
|
68
|
+
...catalog3,
|
|
69
|
+
...catalog4,
|
|
70
|
+
...catalog5,
|
|
71
|
+
...catalog6,
|
|
72
|
+
...catalog7,
|
|
73
|
+
...catalog8
|
|
74
|
+
];
|
|
75
|
+
var registryMap = new Map(
|
|
76
|
+
allCatalogs.map((meta) => [meta.id, meta])
|
|
77
|
+
);
|
|
78
|
+
var overrideMap = /* @__PURE__ */ new Map();
|
|
79
|
+
var overrideOwner = null;
|
|
80
|
+
function registerPrimitiveOverride(meta, owner) {
|
|
81
|
+
if (overrideOwner !== null && overrideOwner !== owner) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`primitive override registry is single-tenant per process: owner '${overrideOwner}' already registered overrides; '${owner}' must call resetPrimitiveOverrides() first (or render in its own process). Registering a second tenant's overrides into the shared map would leak across tenants.`
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
overrideOwner = owner;
|
|
87
|
+
overrideMap.set(meta.id, meta);
|
|
88
|
+
}
|
|
89
|
+
function resetPrimitiveOverrides() {
|
|
90
|
+
overrideMap.clear();
|
|
91
|
+
overrideOwner = null;
|
|
92
|
+
}
|
|
93
|
+
function resolvePrimitive(id) {
|
|
94
|
+
return overrideMap.get(id) ?? registryMap.get(id);
|
|
95
|
+
}
|
|
96
|
+
function listPrimitives() {
|
|
97
|
+
return [...registryMap.keys()];
|
|
98
|
+
}
|
|
99
|
+
function resolveTransitionPresentation(id, params = {}) {
|
|
100
|
+
const meta = resolvePrimitive(id);
|
|
101
|
+
if (!meta) return void 0;
|
|
102
|
+
if (meta.kind !== "transition") return void 0;
|
|
103
|
+
if (typeof meta.createPresentation !== "function") return void 0;
|
|
104
|
+
const validated = meta.paramsSchema ? meta.paramsSchema.parse(params) : params;
|
|
105
|
+
return meta.createPresentation(validated);
|
|
106
|
+
}
|
|
107
|
+
function isRegisteredTransition(id) {
|
|
108
|
+
const meta = resolvePrimitive(id);
|
|
109
|
+
return !!meta && meta.kind === "transition";
|
|
110
|
+
}
|
|
111
|
+
function getPrimitiveSubtext(overlay) {
|
|
112
|
+
const canonical = overlay.params.subtext;
|
|
113
|
+
if (typeof canonical === "string" && canonical.length > 0) return canonical;
|
|
114
|
+
const subtextParam = getPrimitiveSubtextParam(overlay.template);
|
|
115
|
+
if (typeof subtextParam === "string") {
|
|
116
|
+
const native = overlay.params[subtextParam];
|
|
117
|
+
if (typeof native === "string") return native;
|
|
118
|
+
}
|
|
119
|
+
return void 0;
|
|
120
|
+
}
|
|
121
|
+
var BRAND_REF_PREFIX = "$brand:";
|
|
122
|
+
var SAFE_NONCRITICAL_DEFAULT = "transparent";
|
|
123
|
+
var HYPHEN_PATH_ALIASES = {
|
|
124
|
+
"colors.text-on-accent": "colors.textOnAccent",
|
|
125
|
+
"colors.text-on-surface": "colors.textOnSurface"
|
|
126
|
+
};
|
|
127
|
+
function lookupBrandPath(kit, path) {
|
|
128
|
+
const normalized = HYPHEN_PATH_ALIASES[path] ?? path;
|
|
129
|
+
const segments = normalized.split(".");
|
|
130
|
+
let current = kit;
|
|
131
|
+
for (const segment of segments) {
|
|
132
|
+
if (current == null || typeof current !== "object") return void 0;
|
|
133
|
+
current = current[segment];
|
|
134
|
+
}
|
|
135
|
+
return current;
|
|
136
|
+
}
|
|
137
|
+
function fallbackForMiss(path, binding) {
|
|
138
|
+
const normalized = HYPHEN_PATH_ALIASES[path] ?? path;
|
|
139
|
+
if (isContrastCritical(normalized)) {
|
|
140
|
+
return NEUTRAL_RAMP.onDark;
|
|
141
|
+
}
|
|
142
|
+
if (binding?.fallback != null) {
|
|
143
|
+
return binding.fallback;
|
|
144
|
+
}
|
|
145
|
+
return SAFE_NONCRITICAL_DEFAULT;
|
|
146
|
+
}
|
|
147
|
+
function resolveBrandValue(value, brandKit, binding, onUnresolved) {
|
|
148
|
+
if (typeof value !== "string" || !value.startsWith(BRAND_REF_PREFIX)) return value;
|
|
149
|
+
const path = value.slice(BRAND_REF_PREFIX.length);
|
|
150
|
+
if (!brandKit) {
|
|
151
|
+
onUnresolved?.({ path });
|
|
152
|
+
return fallbackForMiss(path, binding);
|
|
153
|
+
}
|
|
154
|
+
const resolved = lookupBrandPath(brandKit, path);
|
|
155
|
+
if (resolved === void 0) {
|
|
156
|
+
onUnresolved?.({ path });
|
|
157
|
+
return fallbackForMiss(path, binding);
|
|
158
|
+
}
|
|
159
|
+
return resolved;
|
|
160
|
+
}
|
|
161
|
+
function bindingsByBrandPath(meta) {
|
|
162
|
+
const map = /* @__PURE__ */ new Map();
|
|
163
|
+
if (!meta?.tokens) return map;
|
|
164
|
+
for (const binding of meta.tokens) {
|
|
165
|
+
if (binding.brandKitPath && !map.has(binding.brandKitPath)) {
|
|
166
|
+
map.set(binding.brandKitPath, binding);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return map;
|
|
170
|
+
}
|
|
171
|
+
function inflatePrimitiveProps(overlay, brandKit, onUnresolved) {
|
|
172
|
+
const meta = resolvePrimitive(overlay.template);
|
|
173
|
+
const { text, subtext, ...rest } = overlay.params;
|
|
174
|
+
const result = {};
|
|
175
|
+
const bindingForPath = bindingsByBrandPath(meta);
|
|
176
|
+
for (const [key, value] of Object.entries(rest)) {
|
|
177
|
+
const binding = typeof value === "string" && value.startsWith(BRAND_REF_PREFIX) ? bindingForPath.get(value.slice(BRAND_REF_PREFIX.length)) : void 0;
|
|
178
|
+
result[key] = resolveBrandValue(value, brandKit, binding, onUnresolved);
|
|
179
|
+
}
|
|
180
|
+
if (meta?.textParam && typeof text === "string") {
|
|
181
|
+
result[meta.textParam] = text;
|
|
182
|
+
}
|
|
183
|
+
if (meta?.subtextParam && typeof subtext === "string") {
|
|
184
|
+
result[meta.subtextParam] = subtext;
|
|
185
|
+
}
|
|
186
|
+
if (meta?.paramsSchema) {
|
|
187
|
+
const parsed = meta.paramsSchema.safeParse(result);
|
|
188
|
+
if (!parsed.success) {
|
|
189
|
+
const issues = parsed.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
|
|
190
|
+
throw new Error(
|
|
191
|
+
encodeError(
|
|
192
|
+
new CueframeError(
|
|
193
|
+
"invalid_primitive_params",
|
|
194
|
+
`${meta.id}: invalid params \u2014 ${issues}`,
|
|
195
|
+
{ primitiveId: meta.id }
|
|
196
|
+
)
|
|
197
|
+
)
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
return parsed.data;
|
|
201
|
+
}
|
|
202
|
+
return result;
|
|
203
|
+
}
|
|
51
204
|
export {
|
|
52
205
|
allCatalogs,
|
|
53
206
|
getPrimitiveSubtext,
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
getPrimitiveCatalogMeta,
|
|
15
15
|
getPrimitivePropSchema,
|
|
16
16
|
getPrimitiveSubtextParam,
|
|
17
|
+
getPrimitiveText,
|
|
17
18
|
getPrimitiveTextParam,
|
|
18
19
|
hasAnyCatalogFilter,
|
|
19
20
|
isPrimitiveDisabled,
|
|
@@ -25,7 +26,7 @@ import {
|
|
|
25
26
|
validateCatalogFilters,
|
|
26
27
|
validateParamsAgainstSchema,
|
|
27
28
|
validatePrimitiveParams
|
|
28
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-7AZLFN26.js";
|
|
29
30
|
import "../chunk-7PA7FGLD.js";
|
|
30
31
|
import "../chunk-2ESYSVXG.js";
|
|
31
32
|
export {
|
|
@@ -44,6 +45,7 @@ export {
|
|
|
44
45
|
getPrimitiveCatalogMeta,
|
|
45
46
|
getPrimitivePropSchema,
|
|
46
47
|
getPrimitiveSubtextParam,
|
|
48
|
+
getPrimitiveText,
|
|
47
49
|
getPrimitiveTextParam,
|
|
48
50
|
hasAnyCatalogFilter,
|
|
49
51
|
isPrimitiveDisabled,
|
package/dist/composition-ops.js
CHANGED
|
@@ -30,8 +30,8 @@ import {
|
|
|
30
30
|
} from "./chunk-2B5VJZHL.js";
|
|
31
31
|
import "./chunk-KYRDKK2D.js";
|
|
32
32
|
import "./chunk-WREYUH2E.js";
|
|
33
|
-
import "./chunk-7PA7FGLD.js";
|
|
34
33
|
import "./chunk-J3DIUG24.js";
|
|
34
|
+
import "./chunk-7PA7FGLD.js";
|
|
35
35
|
import {
|
|
36
36
|
introducedCaptionFaceIssues
|
|
37
37
|
} from "./chunk-TARKDVP6.js";
|
package/dist/core/render.js
CHANGED
|
@@ -78,8 +78,8 @@ import "../chunk-VZ7TYX6Z.js";
|
|
|
78
78
|
import "../chunk-DENF4TPI.js";
|
|
79
79
|
import "../chunk-KYRDKK2D.js";
|
|
80
80
|
import "../chunk-WREYUH2E.js";
|
|
81
|
-
import "../chunk-7PA7FGLD.js";
|
|
82
81
|
import "../chunk-J3DIUG24.js";
|
|
82
|
+
import "../chunk-7PA7FGLD.js";
|
|
83
83
|
import "../chunk-TARKDVP6.js";
|
|
84
84
|
import "../chunk-MH3UPKWR.js";
|
|
85
85
|
import "../chunk-2L7PYYJK.js";
|
package/dist/core.js
CHANGED
|
@@ -18,8 +18,8 @@ import "./chunk-VZ7TYX6Z.js";
|
|
|
18
18
|
import "./chunk-DENF4TPI.js";
|
|
19
19
|
import "./chunk-KYRDKK2D.js";
|
|
20
20
|
import "./chunk-WREYUH2E.js";
|
|
21
|
-
import "./chunk-7PA7FGLD.js";
|
|
22
21
|
import "./chunk-J3DIUG24.js";
|
|
22
|
+
import "./chunk-7PA7FGLD.js";
|
|
23
23
|
import "./chunk-TARKDVP6.js";
|
|
24
24
|
import "./chunk-MH3UPKWR.js";
|
|
25
25
|
import "./chunk-2L7PYYJK.js";
|
package/dist/mcp/adapter.js
CHANGED
package/dist/mcp/curation.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
registerRawTools,
|
|
8
8
|
registerSkillPrompts,
|
|
9
9
|
titleCase
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-KQDZAHLP.js";
|
|
11
11
|
import "../chunk-E7GIZEPS.js";
|
|
12
12
|
import "../chunk-6BVVCRRD.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-SC55VDLC.js";
|
|
14
14
|
import "../chunk-2ESYSVXG.js";
|
|
15
15
|
export {
|
|
16
16
|
RAW_EXCLUDED_OPERATION_IDS,
|
package/dist/mcp.js
CHANGED
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
buildServer,
|
|
8
8
|
registerCuratedTools,
|
|
9
9
|
registerRawTools
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KQDZAHLP.js";
|
|
11
11
|
import "./chunk-E7GIZEPS.js";
|
|
12
12
|
import "./chunk-6BVVCRRD.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-SC55VDLC.js";
|
|
14
14
|
import "./chunk-2ESYSVXG.js";
|
|
15
15
|
export {
|
|
16
16
|
API_URLS,
|
package/dist/nle-export.js
CHANGED
|
@@ -1,39 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPrimitiveText
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-JVDUSOYG.js";
|
|
5
|
-
import "./chunk-JQMPHKLU.js";
|
|
6
|
-
import "./chunk-ZZRBKGDA.js";
|
|
7
|
-
import "./chunk-GULDS3VE.js";
|
|
8
|
-
import "./chunk-YLDMAZZE.js";
|
|
9
|
-
import "./chunk-ZS3A3QUM.js";
|
|
10
|
-
import "./chunk-U4V4FZGE.js";
|
|
11
|
-
import "./chunk-DLF4WVSE.js";
|
|
12
|
-
import "./chunk-FVDFPJHT.js";
|
|
13
|
-
import "./chunk-B3GSTQLR.js";
|
|
14
|
-
import "./chunk-RAXHCRVV.js";
|
|
15
|
-
import "./chunk-YHC3RXS7.js";
|
|
16
|
-
import "./chunk-RL5SO653.js";
|
|
17
|
-
import "./chunk-LT4PWSR2.js";
|
|
18
|
-
import "./chunk-FWSJLHSV.js";
|
|
19
|
-
import "./chunk-ZFEXATWN.js";
|
|
20
|
-
import "./chunk-6EWRIAZA.js";
|
|
21
|
-
import "./chunk-XHGZ2E77.js";
|
|
22
|
-
import "./chunk-I5QWBM3M.js";
|
|
23
|
-
import "./chunk-QGAWDLYX.js";
|
|
24
|
-
import "./chunk-S5H6GH6M.js";
|
|
25
|
-
import "./chunk-QAGGJHAF.js";
|
|
26
|
-
import "./chunk-MFHXCHRI.js";
|
|
27
|
-
import "./chunk-W2245F6G.js";
|
|
28
|
-
import "./chunk-5DJ3IEJR.js";
|
|
29
|
-
import "./chunk-VKATKWWR.js";
|
|
30
|
-
import "./chunk-AS5EXBNS.js";
|
|
31
|
-
import "./chunk-JF4JJAFP.js";
|
|
3
|
+
} from "./chunk-7AZLFN26.js";
|
|
32
4
|
import "./chunk-7PA7FGLD.js";
|
|
33
|
-
import "./chunk-J3DIUG24.js";
|
|
34
|
-
import "./chunk-TARKDVP6.js";
|
|
35
|
-
import "./chunk-MH3UPKWR.js";
|
|
36
|
-
import "./chunk-2L7PYYJK.js";
|
|
37
5
|
import "./chunk-2ESYSVXG.js";
|
|
38
6
|
|
|
39
7
|
// ../nle-export/src/srt.ts
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
Vignette,
|
|
13
13
|
catalog,
|
|
14
14
|
laneDepths
|
|
15
|
-
} from "../chunk-
|
|
16
|
-
import "../chunk-XHGZ2E77.js";
|
|
15
|
+
} from "../chunk-7W6ZIKWV.js";
|
|
17
16
|
import "../chunk-MFHXCHRI.js";
|
|
17
|
+
import "../chunk-XHGZ2E77.js";
|
|
18
18
|
import "../chunk-W2245F6G.js";
|
|
19
19
|
import "../chunk-5DJ3IEJR.js";
|
|
20
20
|
import "../chunk-VKATKWWR.js";
|
|
@@ -30,14 +30,14 @@ import {
|
|
|
30
30
|
VisualDocsSnippet,
|
|
31
31
|
VoiceWaveform,
|
|
32
32
|
catalog
|
|
33
|
-
} from "../chunk-
|
|
34
|
-
import "../chunk-LT4PWSR2.js";
|
|
35
|
-
import "../chunk-FWSJLHSV.js";
|
|
36
|
-
import "../chunk-XHGZ2E77.js";
|
|
33
|
+
} from "../chunk-VLJOIUHL.js";
|
|
37
34
|
import {
|
|
38
35
|
DashboardPopulate
|
|
39
36
|
} from "../chunk-S5H6GH6M.js";
|
|
40
37
|
import "../chunk-QAGGJHAF.js";
|
|
38
|
+
import "../chunk-LT4PWSR2.js";
|
|
39
|
+
import "../chunk-FWSJLHSV.js";
|
|
40
|
+
import "../chunk-XHGZ2E77.js";
|
|
41
41
|
import "../chunk-W2245F6G.js";
|
|
42
42
|
import "../chunk-2ESYSVXG.js";
|
|
43
43
|
export {
|
package/dist/primitives.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
catalog as catalog7
|
|
3
|
+
} from "./chunk-I5QWBM3M.js";
|
|
1
4
|
import {
|
|
2
5
|
catalog
|
|
3
6
|
} from "./chunk-ZS3A3QUM.js";
|
|
@@ -6,15 +9,19 @@ import "./chunk-DLF4WVSE.js";
|
|
|
6
9
|
import {
|
|
7
10
|
catalog as catalog3
|
|
8
11
|
} from "./chunk-FVDFPJHT.js";
|
|
12
|
+
import "./chunk-QGAWDLYX.js";
|
|
9
13
|
import {
|
|
10
14
|
catalog as catalog6
|
|
11
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VLJOIUHL.js";
|
|
16
|
+
import "./chunk-S5H6GH6M.js";
|
|
17
|
+
import "./chunk-QAGGJHAF.js";
|
|
12
18
|
import {
|
|
13
19
|
catalog as catalog5
|
|
14
20
|
} from "./chunk-RAXHCRVV.js";
|
|
15
21
|
import {
|
|
16
22
|
catalog as catalog2
|
|
17
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-7W6ZIKWV.js";
|
|
24
|
+
import "./chunk-MFHXCHRI.js";
|
|
18
25
|
import {
|
|
19
26
|
catalog as catalog8
|
|
20
27
|
} from "./chunk-RL5SO653.js";
|
|
@@ -25,13 +32,6 @@ import {
|
|
|
25
32
|
catalog as catalog4
|
|
26
33
|
} from "./chunk-6EWRIAZA.js";
|
|
27
34
|
import "./chunk-XHGZ2E77.js";
|
|
28
|
-
import {
|
|
29
|
-
catalog as catalog7
|
|
30
|
-
} from "./chunk-I5QWBM3M.js";
|
|
31
|
-
import "./chunk-QGAWDLYX.js";
|
|
32
|
-
import "./chunk-S5H6GH6M.js";
|
|
33
|
-
import "./chunk-QAGGJHAF.js";
|
|
34
|
-
import "./chunk-MFHXCHRI.js";
|
|
35
35
|
import "./chunk-W2245F6G.js";
|
|
36
36
|
import "./chunk-5DJ3IEJR.js";
|
|
37
37
|
import "./chunk-VKATKWWR.js";
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
assetUrlKey,
|
|
5
5
|
isRemoteUrl,
|
|
6
6
|
renderInputAssets
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-MN6D3U5N.js";
|
|
8
|
+
import "../chunk-7AZLFN26.js";
|
|
9
9
|
import "../chunk-7PA7FGLD.js";
|
|
10
10
|
import "../chunk-2ESYSVXG.js";
|
|
11
11
|
export {
|
package/dist/render-harness.js
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
assetUrlKey,
|
|
5
5
|
isRemoteUrl,
|
|
6
6
|
renderInputAssets
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MN6D3U5N.js";
|
|
8
8
|
import {
|
|
9
9
|
assertCardHtmlAssetFree
|
|
10
10
|
} from "./chunk-ODUWCQI3.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-VCSSJLOU.js";
|
|
12
12
|
import "./chunk-BVA3537Z.js";
|
|
13
13
|
import {
|
|
14
14
|
COMPONENT_STILL_RUNTIME_IDENTITY,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
generatedStudioPreparationFactsV1,
|
|
35
35
|
scenePresetBuilderDescriptorV1
|
|
36
36
|
} from "./chunk-VKATKWWR.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-7AZLFN26.js";
|
|
38
38
|
import {
|
|
39
39
|
SCENE_SHOT_PREPARATION_STAGE,
|
|
40
40
|
createSceneBuilderDescriptorRegistryV1,
|
|
@@ -49,10 +49,10 @@ import "./chunk-VZ7TYX6Z.js";
|
|
|
49
49
|
import "./chunk-DENF4TPI.js";
|
|
50
50
|
import "./chunk-KYRDKK2D.js";
|
|
51
51
|
import "./chunk-WREYUH2E.js";
|
|
52
|
-
import "./chunk-7PA7FGLD.js";
|
|
53
52
|
import {
|
|
54
53
|
CueframeError
|
|
55
54
|
} from "./chunk-J3DIUG24.js";
|
|
55
|
+
import "./chunk-7PA7FGLD.js";
|
|
56
56
|
import "./chunk-TARKDVP6.js";
|
|
57
57
|
import {
|
|
58
58
|
evaluateScene,
|