@cueframe/kernel 0.2.57 → 0.2.59-rc.0

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 (370) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +111 -0
  2. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +3 -4
  3. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +3 -4
  4. package/dist/_members/account-model/validators/index.d.ts +0 -1
  5. package/dist/_members/animate/index.d.ts +0 -2
  6. package/dist/_members/authoring/index.d.ts +1 -1
  7. package/dist/_members/authoring/prompts/index.d.ts +0 -1
  8. package/dist/_members/authoring/resources.d.ts +2 -11
  9. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -1
  10. package/dist/_members/cloud-import/index.d.ts +0 -2
  11. package/dist/_members/component-runtime/allowedImports.d.ts +6 -0
  12. package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -1
  13. package/dist/_members/component-runtime/browserIdentity.d.ts +2 -12
  14. package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -1
  15. package/dist/_members/component-runtime/canonicalIdentity.d.ts +8 -1
  16. package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
  17. package/dist/_members/component-runtime/contracts.d.ts +2 -1
  18. package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
  19. package/dist/_members/component-runtime/identity.d.ts +2 -3
  20. package/dist/_members/component-runtime/identity.d.ts.map +1 -1
  21. package/dist/_members/component-runtime/importPolicy.d.ts +5 -0
  22. package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
  23. package/dist/_members/component-runtime/template/bind.d.ts +22 -0
  24. package/dist/_members/component-runtime/template/bind.d.ts.map +1 -0
  25. package/dist/_members/component-runtime/template/checks.d.ts +71 -0
  26. package/dist/_members/component-runtime/template/checks.d.ts.map +1 -0
  27. package/dist/_members/component-runtime/template/extract.d.ts +35 -0
  28. package/dist/_members/component-runtime/template/extract.d.ts.map +1 -0
  29. package/dist/_members/component-runtime/template/index.d.ts +6 -0
  30. package/dist/_members/component-runtime/template/index.d.ts.map +1 -0
  31. package/dist/_members/component-runtime/template/schema.d.ts +1581 -0
  32. package/dist/_members/component-runtime/template/schema.d.ts.map +1 -0
  33. package/dist/_members/component-runtime/template/testing/fixtures.d.ts +33 -0
  34. package/dist/_members/component-runtime/template/testing/fixtures.d.ts.map +1 -0
  35. package/dist/_members/component-runtime/template/testing/index.d.ts +3 -0
  36. package/dist/_members/component-runtime/template/testing/index.d.ts.map +1 -0
  37. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts +53 -0
  38. package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts.map +1 -0
  39. package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts +15 -0
  40. package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts.map +1 -0
  41. package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -1
  42. package/dist/_members/compose/index.d.ts +1 -1
  43. package/dist/_members/compose/primitiveRegistry.d.ts +0 -2
  44. package/dist/_members/composition/audio/audioMix.d.ts +0 -1
  45. package/dist/_members/composition/audio/mixStaging.d.ts +0 -5
  46. package/dist/_members/composition/fixtures/index.d.ts +0 -1
  47. package/dist/_members/composition/graphics-plan/index.d.ts +0 -2
  48. package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
  49. package/dist/_members/composition/invariants/etag.d.ts +0 -1
  50. package/dist/_members/composition/invariants/index.d.ts +0 -1
  51. package/dist/_members/composition/ops/compositionOps.d.ts +0 -1
  52. package/dist/_members/composition/ops/compositionOps.shared.d.ts +6 -0
  53. package/dist/_members/composition/ops/index.d.ts +2 -1
  54. package/dist/_members/composition/primitive-catalog/index.d.ts +2 -3
  55. package/dist/_members/composition/primitive-catalog/types.d.ts +3 -1
  56. package/dist/_members/composition/projection/behind-readiness.d.ts +0 -6
  57. package/dist/_members/composition/timeline/link.d.ts +0 -4
  58. package/dist/_members/composition/timeline/plan.d.ts +0 -1
  59. package/dist/_members/composition/validators/brandKit.d.ts +11 -4
  60. package/dist/_members/composition/validators/brandKitBody.d.ts +543 -0
  61. package/dist/_members/composition/validators/cardHtml.d.ts +11 -0
  62. package/dist/_members/composition/validators/composition.d.ts +2 -5
  63. package/dist/_members/composition/validators/css-tree-subpaths.d.ts +16 -0
  64. package/dist/_members/composition/validators/index.d.ts +0 -3
  65. package/dist/_members/composition/validators/session.d.ts +3 -3
  66. package/dist/_members/composition/validators/webhook.d.ts +4 -4
  67. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -5
  68. package/dist/_members/composition-ops/index.d.ts +2 -2
  69. package/dist/_members/composition-ops/opRecorder.d.ts +23 -3
  70. package/dist/_members/core/render/exportSettings.d.ts +4 -2
  71. package/dist/_members/core/render/index.d.ts +1 -1
  72. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -1
  73. package/dist/_members/director/ai-sdk/index.d.ts +0 -1
  74. package/dist/_members/director/ai-sdk/messages.d.ts +0 -1
  75. package/dist/_members/director/domain/chat.d.ts +0 -78
  76. package/dist/_members/director/domain/index.d.ts +0 -1
  77. package/dist/_members/errors/registry.d.ts +42 -0
  78. package/dist/_members/foundation/canonical/index.d.ts +14 -0
  79. package/dist/_members/foundation/index.d.ts +1 -1
  80. package/dist/_members/foundation/primitives/index.d.ts +0 -2
  81. package/dist/_members/foundation/testing/index.d.ts +1 -0
  82. package/dist/_members/foundation/testing/knownRed.d.ts +13 -0
  83. package/dist/_members/mcp/adapter.d.ts +21 -0
  84. package/dist/_members/mcp/compositionOps.d.ts +10 -0
  85. package/dist/_members/mcp/server.d.ts +0 -2
  86. package/dist/_members/mcp/wait.d.ts +3 -1
  87. package/dist/_members/media-model/generation.d.ts +0 -25
  88. package/dist/_members/nle-export/xml-utils.d.ts +0 -8
  89. package/dist/_members/plane/conformance.d.ts +20 -0
  90. package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +1 -1
  91. package/dist/_members/primitives/effects/blur/config.d.ts +1 -1
  92. package/dist/_members/primitives/effects/color-grade/config.d.ts +2 -2
  93. package/dist/_members/primitives/effects/grain/config.d.ts +3 -3
  94. package/dist/_members/primitives/effects/particles/config.d.ts +2 -2
  95. package/dist/_members/primitives/effects/stage-camera/config.d.ts +6 -6
  96. package/dist/_members/primitives/effects/vignette/config.d.ts +1 -1
  97. package/dist/_members/primitives/index.d.ts +1 -11
  98. package/dist/_members/primitives/layouts/flex-layout/config.d.ts +3 -3
  99. package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +2 -2
  100. package/dist/_members/primitives/lib/index.d.ts +1 -1
  101. package/dist/_members/primitives/lib/tokens.d.ts +0 -16
  102. package/dist/_members/primitives/lib/types.d.ts +1 -1
  103. package/dist/_members/primitives/scenes/device-showcase/config.d.ts +7 -7
  104. package/dist/_members/primitives/text/cinematic-title/config.d.ts +3 -3
  105. package/dist/_members/primitives/text/karaoke/config.d.ts +1 -1
  106. package/dist/_members/primitives/text/kinetic-type/config.d.ts +3 -3
  107. package/dist/_members/primitives/text/stat-counter/config.d.ts +1 -1
  108. package/dist/_members/primitives/text/text-effect/config.d.ts +2 -2
  109. package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +1 -1
  110. package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +3 -3
  111. package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +2 -2
  112. package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +2 -2
  113. package/dist/_members/render-harness/cardAssetAdmission.d.ts +1 -0
  114. package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
  115. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  116. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  117. package/dist/_members/render-harness/mediaServer.d.ts +6 -1
  118. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  119. package/dist/account-model/testing.js +15 -5
  120. package/dist/account-model/validators.js +5 -7
  121. package/dist/account-model.js +5 -7
  122. package/dist/animate/preparation-facts.js +1 -1
  123. package/dist/animate.js +2 -6
  124. package/dist/authoring/composer.js +1 -1
  125. package/dist/authoring/context.js +8 -6
  126. package/dist/authoring/models/defaults.d.ts +1 -0
  127. package/dist/authoring/models/defaults.js +7 -0
  128. package/dist/authoring/models.js +5 -3
  129. package/dist/authoring/motion.d.ts +1 -0
  130. package/dist/authoring/motion.js +25 -0
  131. package/dist/authoring/prompts.js +4 -14
  132. package/dist/authoring/providers.js +1 -1
  133. package/dist/authoring/resource-routing.js +2 -2
  134. package/dist/authoring/resources.js +4 -22
  135. package/dist/authoring/scene.js +3 -2
  136. package/dist/authoring.js +662 -218
  137. package/dist/brand-derivation/constants.js +1 -1
  138. package/dist/brand-derivation.js +1 -1
  139. package/dist/{chunk-TKFLSGAS.js → chunk-25JH5QZA.js} +2 -2
  140. package/dist/{chunk-LBJ5LI5V.js → chunk-2K2GBFLU.js} +17 -8
  141. package/dist/{chunk-RAXHCRVV.js → chunk-2PAP5LO5.js} +1 -1
  142. package/dist/{chunk-JPMVNMF3.js → chunk-3HLDIIWA.js} +1 -1
  143. package/dist/{chunk-PTVTWQ4T.js → chunk-3JEUNKDK.js} +2 -2
  144. package/dist/chunk-3VWJ3H4X.js +68 -0
  145. package/dist/{chunk-S5H6GH6M.js → chunk-3Z7CN54H.js} +1 -1
  146. package/dist/{chunk-FVDFPJHT.js → chunk-46WBCUPE.js} +1 -1
  147. package/dist/chunk-4VBLQIM5.js +30 -0
  148. package/dist/{chunk-N2OZDD44.js → chunk-6HA55CRU.js} +4 -5
  149. package/dist/{chunk-WL2MLKWU.js → chunk-6HPEMDQW.js} +1 -1
  150. package/dist/chunk-6KZCXAYL.js +257 -0
  151. package/dist/{chunk-IEXAKOEX.js → chunk-6QGARSV6.js} +2 -15
  152. package/dist/{chunk-3YVIAWET.js → chunk-7II5OM7R.js} +13 -1
  153. package/dist/{chunk-VLJOIUHL.js → chunk-7PSQUTL5.js} +3 -3
  154. package/dist/{chunk-UFD4EZHM.js → chunk-AFUITAH6.js} +4 -5
  155. package/dist/{chunk-HGCYZMII.js → chunk-AK6QPX7A.js} +9 -9
  156. package/dist/{chunk-EC6VFQE6.js → chunk-BZVOCVQV.js} +1 -0
  157. package/dist/{chunk-RBWS5XHE.js → chunk-CAF7BRNE.js} +2 -2
  158. package/dist/chunk-CEO47DIE.js +199 -0
  159. package/dist/chunk-CIOUDOGN.js +12 -0
  160. package/dist/{chunk-BDFAA747.js → chunk-DCKADD5B.js} +1 -1
  161. package/dist/{chunk-7AZLFN26.js → chunk-EISHFHU5.js} +20 -20
  162. package/dist/chunk-EQH37KNZ.js +224 -0
  163. package/dist/{chunk-EXY4JJPH.js → chunk-F6PLDBAK.js} +2 -11
  164. package/dist/{chunk-DAARYRNT.js → chunk-FKSXKS35.js} +6 -6
  165. package/dist/{chunk-KBDUEU4W.js → chunk-FZB7UX44.js} +1 -1
  166. package/dist/chunk-H2ZZXISB.js +24 -0
  167. package/dist/{chunk-WSMCZRJ2.js → chunk-I2HNC4PQ.js} +1 -1
  168. package/dist/{chunk-VXGA7LQQ.js → chunk-IUJABAG2.js} +14 -10
  169. package/dist/{chunk-MZB4ZXYW.js → chunk-IVFMOHAC.js} +1 -9
  170. package/dist/{chunk-UKDBU7HM.js → chunk-JNBNDHEF.js} +3 -3
  171. package/dist/{chunk-JWMWVP64.js → chunk-KC4LNZL5.js} +4 -9
  172. package/dist/{chunk-GCQ7Z7S7.js → chunk-KKATUGRU.js} +3 -9
  173. package/dist/{chunk-Q5P5UFOP.js → chunk-KLQ53NX3.js} +13 -1
  174. package/dist/{chunk-UMXES6ED.js → chunk-LVMWPFV4.js} +1 -1
  175. package/dist/chunk-NECN7TT4.js +367 -0
  176. package/dist/{chunk-4ZE564YF.js → chunk-NM7NWXGF.js} +0 -146
  177. package/dist/{chunk-KSRFYFUZ.js → chunk-NY6EI5YW.js} +4 -4
  178. package/dist/{chunk-4PV3UYJF.js → chunk-ONSGT6UJ.js} +257 -226
  179. package/dist/{chunk-VZ7TYX6Z.js → chunk-P3EFZDM5.js} +0 -17
  180. package/dist/{chunk-BEFSJMFF.js → chunk-P6RVYHLT.js} +9 -9
  181. package/dist/{chunk-TBHSOEYK.js → chunk-PLWDYWK6.js} +4 -34
  182. package/dist/{chunk-KYRDKK2D.js → chunk-Q6CJ6HCU.js} +1 -6
  183. package/dist/{chunk-FWSJLHSV.js → chunk-R642352J.js} +1 -1
  184. package/dist/{chunk-XELS2BGA.js → chunk-R6HTIP3N.js} +1 -3
  185. package/dist/{chunk-RL5SO653.js → chunk-RQRPSSRT.js} +1 -1
  186. package/dist/chunk-RR7UBEBV.js +172 -0
  187. package/dist/{chunk-FHMTAZD4.js → chunk-RWJHZCOR.js} +1 -71
  188. package/dist/{chunk-73DQTUWY.js → chunk-TIAJMEQ4.js} +2 -22
  189. package/dist/{chunk-2ESYSVXG.js → chunk-U67V476Y.js} +2 -15
  190. package/dist/{chunk-N54EGUVM.js → chunk-U7KSOA2L.js} +4 -21
  191. package/dist/{chunk-K66NLMGX.js → chunk-UGWJC4GA.js} +62 -18
  192. package/dist/chunk-VBYINB74.js +136 -0
  193. package/dist/{chunk-W2245F6G.js → chunk-WTQRLFR2.js} +1 -1
  194. package/dist/{chunk-Z4G3VM3H.js → chunk-X2RTLS6K.js} +2 -23
  195. package/dist/chunk-XHMKPTHV.js +20 -0
  196. package/dist/{chunk-R7G2PNEZ.js → chunk-XOT2VWCO.js} +13 -28
  197. package/dist/{chunk-E63UEO5C.js → chunk-XQGQ5EFS.js} +16 -1
  198. package/dist/chunk-XR76OZKC.js +21 -0
  199. package/dist/chunk-ZCEYEIRB.js +179 -0
  200. package/dist/{chunk-IMIUHG2E.js → chunk-ZPJQ3TQL.js} +1 -3
  201. package/dist/cloud-import.js +1 -16
  202. package/dist/component-runtime/browserOptions.js +4 -3
  203. package/dist/component-runtime/contracts.js +2 -2
  204. package/dist/component-runtime/identity/browser.js +2 -17
  205. package/dist/component-runtime/identity.js +5 -7
  206. package/dist/component-runtime/importPolicy.js +3 -3
  207. package/dist/component-runtime/mediaResolution.js +1 -1
  208. package/dist/component-runtime/render.js +8 -7
  209. package/dist/component-runtime/sourceAdmission.js +3 -3
  210. package/dist/component-runtime/template/testing.d.ts +1 -0
  211. package/dist/component-runtime/template/testing.js +383 -0
  212. package/dist/component-runtime/template.d.ts +1 -0
  213. package/dist/component-runtime/template.js +251 -0
  214. package/dist/component-runtime.js +27 -28
  215. package/dist/compose.js +22 -39
  216. package/dist/composition/audio.js +4 -8
  217. package/dist/composition/brand-kit.js +1 -1
  218. package/dist/composition/brief.js +1 -1
  219. package/dist/composition/card-html.d.ts +1 -0
  220. package/dist/composition/card-html.js +15 -0
  221. package/dist/composition/depth.js +1 -1
  222. package/dist/composition/floors.js +2 -2
  223. package/dist/composition/fonts.js +1 -1
  224. package/dist/composition/graphics-plan.js +4 -44
  225. package/dist/composition/invariants.js +5 -12
  226. package/dist/composition/ops.js +7 -5
  227. package/dist/composition/primitive-catalog.js +4 -6
  228. package/dist/composition/projection.js +3 -5
  229. package/dist/composition/reframe/coverage.js +1 -1
  230. package/dist/composition/reframe/kenBurns.js +1 -1
  231. package/dist/composition/reframe/shotScale.js +1 -1
  232. package/dist/composition/reframe/trajectory.js +1 -1
  233. package/dist/composition/reframe.js +1 -1
  234. package/dist/composition/scene/budget-policy.js +1 -1
  235. package/dist/composition/scene.js +1 -1
  236. package/dist/composition/timeline.js +4 -8
  237. package/dist/composition/validators/brand-kit-body.d.ts +1 -0
  238. package/dist/composition/validators/brand-kit-body.js +18 -0
  239. package/dist/composition/validators/graphic-kinds.js +1 -1
  240. package/dist/composition/validators.js +16 -69
  241. package/dist/composition-ops.js +17 -15
  242. package/dist/composition.js +21 -83
  243. package/dist/context-7SWSVJ6Z.js +17 -0
  244. package/dist/core/render.js +13 -9
  245. package/dist/core/select.js +3 -3
  246. package/dist/core.js +9 -9
  247. package/dist/director/ai-sdk.js +7 -11
  248. package/dist/director/domain.js +9 -17
  249. package/dist/director.js +9 -21
  250. package/dist/{dist-LAJ2363K.js → dist-6FO67KVA.js} +1 -1
  251. package/dist/errors.js +2 -2
  252. package/dist/foundation/canonical.d.ts +1 -0
  253. package/dist/foundation/canonical.js +7 -0
  254. package/dist/foundation/primitives.js +4 -6
  255. package/dist/foundation/testing.d.ts +1 -0
  256. package/dist/foundation/testing.js +7 -0
  257. package/dist/foundation.js +7 -9
  258. package/dist/{magic-string.es-SDTMJBWP.js → magic-string.es-KVSW34UD.js} +1 -1
  259. package/dist/mcp/adapter.js +8 -16
  260. package/dist/mcp/composition-ops.d.ts +1 -0
  261. package/dist/mcp/composition-ops.js +11 -0
  262. package/dist/mcp/core.js +2 -2
  263. package/dist/mcp/curation.js +1 -1
  264. package/dist/mcp/executor.js +1 -1
  265. package/dist/mcp/scene-shot.js +3 -3
  266. package/dist/mcp/server.js +6 -30
  267. package/dist/mcp/wire-schema.js +13 -2
  268. package/dist/mcp.js +11 -33
  269. package/dist/media-model/generation.js +6 -8
  270. package/dist/media-model/media-kind.js +1 -1
  271. package/dist/media-model/testing.js +2 -2
  272. package/dist/media-model/transcriptSearch.js +1 -1
  273. package/dist/media-model.js +6 -8
  274. package/dist/nle-export/xml.js +1 -1
  275. package/dist/nle-export.js +2 -2
  276. package/dist/perception.js +1 -1
  277. package/dist/plane/conformance.js +8 -4
  278. package/dist/plane/contract.js +1 -1
  279. package/dist/plane.js +8 -4
  280. package/dist/primitives/backgrounds.js +3 -3
  281. package/dist/primitives/captions.js +5 -5
  282. package/dist/primitives/effects.js +4 -4
  283. package/dist/primitives/hero-text.js +4 -4
  284. package/dist/primitives/layouts.js +4 -4
  285. package/dist/primitives/lib/easings.js +1 -1
  286. package/dist/primitives/lib/frameScale.js +1 -1
  287. package/dist/primitives/lib/index.js +7 -13
  288. package/dist/primitives/lib/palette.js +2 -2
  289. package/dist/primitives/lib/preview.js +1 -1
  290. package/dist/primitives/lib/schema.js +1 -1
  291. package/dist/primitives/lib/seeded-random.js +1 -1
  292. package/dist/primitives/lib/text/contrast.js +3 -3
  293. package/dist/primitives/lib/text/fill.js +1 -1
  294. package/dist/primitives/lib/text/fitText.js +1 -1
  295. package/dist/primitives/lib/text/marker.js +1 -1
  296. package/dist/primitives/lib/text/motion.js +1 -1
  297. package/dist/primitives/lib/text/recolor.js +1 -1
  298. package/dist/primitives/lib/text/stage.js +1 -1
  299. package/dist/primitives/lib/text/typeface.js +1 -1
  300. package/dist/primitives/lib/tokens.js +4 -11
  301. package/dist/primitives/lib.js +7 -13
  302. package/dist/primitives/scenes.js +5 -5
  303. package/dist/primitives/subject-foreground.js +1 -1
  304. package/dist/primitives/text.js +4 -4
  305. package/dist/primitives/transitions.js +3 -3
  306. package/dist/primitives/ui-blocks.js +5 -5
  307. package/dist/primitives/workspace.js +1 -1
  308. package/dist/primitives.js +18 -32
  309. package/dist/render-harness/cardAssetAdmission.js +4 -4
  310. package/dist/render-harness/cardFonts.js +3 -3
  311. package/dist/render-harness/renderInputAssets.js +4 -4
  312. package/dist/render-harness.js +100 -82
  313. package/dist/src-XI5MULKD.js +71 -0
  314. package/package.json +51 -61
  315. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -11
  316. package/dist/_members/animate/animations/index.d.ts +0 -9
  317. package/dist/_members/animate/easing/index.d.ts +0 -3
  318. package/dist/_members/animate/mobjects/index.d.ts +0 -4
  319. package/dist/_members/animate/scene/internal.d.ts +0 -29
  320. package/dist/_members/authoring/prompts/graphics.d.ts +0 -9
  321. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -2
  322. package/dist/_members/composition/autozoom/index.d.ts +0 -25
  323. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -34
  324. package/dist/_members/composition/invariants/time.d.ts +0 -14
  325. package/dist/_members/composition/types/index.d.ts +0 -8
  326. package/dist/_members/composition/validators/font.d.ts +0 -58
  327. package/dist/_members/composition/validators/registry.d.ts +0 -79
  328. package/dist/_members/composition/validators/render.d.ts +0 -2068
  329. package/dist/_members/director/ai-sdk/chunks.d.ts +0 -14
  330. package/dist/_members/director/domain/ports.d.ts +0 -32
  331. package/dist/_members/director/testing/contract.d.ts +0 -52
  332. package/dist/_members/director/testing/index.d.ts +0 -1
  333. package/dist/_members/foundation/codes/index.d.ts +0 -10
  334. package/dist/_members/nle-export/server/index.d.ts +0 -1
  335. package/dist/_members/nle-export/server/pack-zip.d.ts +0 -6
  336. package/dist/_members/render-harness/assetRefs.d.ts +0 -26
  337. package/dist/_members/render-harness/assetRefs.d.ts.map +0 -1
  338. package/dist/_members/render-harness/remotion-runtime.d.ts +0 -87
  339. package/dist/authoring/build-tools.d.ts +0 -1
  340. package/dist/authoring/build-tools.js +0 -27
  341. package/dist/authoring/capabilities.d.ts +0 -1
  342. package/dist/authoring/capabilities.js +0 -11
  343. package/dist/authoring/pipelineTrace.d.ts +0 -1
  344. package/dist/authoring/pipelineTrace.js +0 -7
  345. package/dist/authoring/tools.d.ts +0 -1
  346. package/dist/authoring/tools.js +0 -30
  347. package/dist/chunk-AXRSCHQX.js +0 -661
  348. package/dist/chunk-DV7ZFVL4.js +0 -116
  349. package/dist/chunk-GF52TW4I.js +0 -51
  350. package/dist/chunk-JOURGVOR.js +0 -27
  351. package/dist/chunk-LBN5KQC6.js +0 -384
  352. package/dist/chunk-OSMXQV5V.js +0 -18
  353. package/dist/chunk-QDBVYZSF.js +0 -128
  354. package/dist/chunk-RERR5JLM.js +0 -197
  355. package/dist/chunk-U3JPILZS.js +0 -15
  356. package/dist/chunk-Y4HPN4BC.js +0 -364
  357. package/dist/composition/autozoom.d.ts +0 -1
  358. package/dist/composition/autozoom.js +0 -76
  359. package/dist/composition/fixtures.d.ts +0 -1
  360. package/dist/composition/fixtures.js +0 -154
  361. package/dist/composition/types.d.ts +0 -1
  362. package/dist/composition/types.js +0 -0
  363. package/dist/context-6HPUO36M.js +0 -15
  364. package/dist/director/testing.d.ts +0 -1
  365. package/dist/director/testing.js +0 -22
  366. package/dist/foundation/codes.d.ts +0 -1
  367. package/dist/foundation/codes.js +0 -7
  368. package/dist/nle-export/server.d.ts +0 -1
  369. package/dist/nle-export/server.js +0 -25856
  370. /package/dist/{chunk-FTVZF4GO.js → chunk-S432RE6G.js} +0 -0
@@ -3,19 +3,19 @@ import {
3
3
  componentDir,
4
4
  findWorkspace
5
5
  } from "./chunk-WB2VFDQZ.js";
6
- import {
7
- sha256Hex,
8
- sourceVersionId
9
- } from "./chunk-EXY4JJPH.js";
10
- import {
11
- assertComponentImportsAllowed
12
- } from "./chunk-K66NLMGX.js";
13
6
  import {
14
7
  assertComponentBrowserHardware,
15
8
  componentBrowserBackend,
16
9
  componentBrowserOptions,
17
10
  readGpuAttestation
18
- } from "./chunk-JWMWVP64.js";
11
+ } from "./chunk-KC4LNZL5.js";
12
+ import {
13
+ sha256Hex,
14
+ sourceVersionId
15
+ } from "./chunk-F6PLDBAK.js";
16
+ import {
17
+ assertComponentImportsAllowed
18
+ } from "./chunk-UGWJC4GA.js";
19
19
  import {
20
20
  ComponentCapturePageRasterAttestationV1,
21
21
  ComponentGraphicsApiV2,
@@ -25,7 +25,7 @@ import {
25
25
  ComponentStillPngContainerFactsV1,
26
26
  ComponentStillSessionAttestationV1,
27
27
  ComponentStillSessionHostAttestationV1
28
- } from "./chunk-EC6VFQE6.js";
28
+ } from "./chunk-BZVOCVQV.js";
29
29
  import {
30
30
  parseSceneShotSpecV2
31
31
  } from "./chunk-CL5Y6V6K.js";
@@ -240,6 +240,7 @@ var COMPONENT_RUNTIME_ERROR_CODES = [
240
240
  "component_asset_integrity_failed",
241
241
  "component_network_denied",
242
242
  "component_import_denied",
243
+ "component_api_mismatch",
243
244
  "component_graphics_unavailable",
244
245
  "component_graphics_mismatch",
245
246
  "component_device_lost",
@@ -11,7 +11,7 @@ import {
11
11
  FLOOR_SHADOW,
12
12
  FLOOR_TEXT,
13
13
  resolveContrast
14
- } from "./chunk-FWSJLHSV.js";
14
+ } from "./chunk-R642352J.js";
15
15
  import {
16
16
  resolveEasing,
17
17
  staggerRise,
@@ -34,7 +34,7 @@ import {
34
34
  TEXT_MUTED,
35
35
  VIOLET,
36
36
  WARNING
37
- } from "./chunk-W2245F6G.js";
37
+ } from "./chunk-WTQRLFR2.js";
38
38
 
39
39
  // ../execution/primitives/src/text/blur-reveal/index.tsx
40
40
  import { interpolate, useCurrentFrame, useVideoConfig } from "remotion";
@@ -0,0 +1,199 @@
1
+ import {
2
+ MotifMotionPreset
3
+ } from "./chunk-6KZCXAYL.js";
4
+ import {
5
+ GraphicRole
6
+ } from "./chunk-AFUITAH6.js";
7
+ import {
8
+ CardHtml
9
+ } from "./chunk-EQH37KNZ.js";
10
+
11
+ // ../composition/src/validators/brandKitBody.ts
12
+ import { z } from "zod";
13
+ var BrandFontField = z.object({
14
+ fontFamily: z.string().min(1, "fontFamily: non-empty string"),
15
+ fontWeight: z.number()
16
+ });
17
+ var BrandMotifBody = z.discriminatedUnion("kind", [
18
+ z.object({
19
+ kind: z.literal("card"),
20
+ html: CardHtml,
21
+ tokens: z.record(z.string(), z.string()).optional()
22
+ }),
23
+ z.object({
24
+ kind: z.literal("overlay"),
25
+ primitiveId: z.string().min(1),
26
+ params: z.record(z.string(), z.unknown()).optional()
27
+ }),
28
+ z.object({
29
+ kind: z.literal("component"),
30
+ componentId: z.string().min(1),
31
+ props: z.record(z.string(), z.unknown()).optional()
32
+ })
33
+ ]);
34
+ var BrandMotif = z.object({
35
+ id: z.string().min(1).max(40),
36
+ observed: z.string().min(1).max(500),
37
+ body: BrandMotifBody,
38
+ motion: z.object({
39
+ preset: MotifMotionPreset,
40
+ enterMs: z.number().int().min(0).max(5e3).optional(),
41
+ exitMs: z.number().int().min(0).max(5e3).optional(),
42
+ staggerMs: z.number().int().min(0).max(2e3).optional(),
43
+ confidence: z.enum(["high", "low"]).optional()
44
+ }).optional(),
45
+ role: z.enum(GraphicRole.options),
46
+ zone: z.object({ x: z.number(), y: z.number(), w: z.number(), h: z.number() }).optional(),
47
+ evidence: z.array(z.number().int().min(0)).max(24).optional(),
48
+ diffScore: z.number().min(0).max(1).optional(),
49
+ coverage: z.enum(["reproduced", "approximated", "skipped"]),
50
+ skipReason: z.string().max(300).optional()
51
+ });
52
+ var BrandAudioPaletteRef = z.string().min(1);
53
+ var BrandAudioSchema = z.object({
54
+ sfxIntensity: z.enum(["off", "light", "standard", "dense"]).optional(),
55
+ musicEnabled: z.boolean().optional(),
56
+ musicMood: z.string().max(300).optional(),
57
+ sonicLogo: z.object({
58
+ ref: BrandAudioPaletteRef,
59
+ placement: z.enum(["intro", "outro", "both"]),
60
+ offsetMs: z.number().int().min(0).max(1e4).optional()
61
+ }).optional().describe(
62
+ "A brand sound signature bound to the intro/outro bookend. `ref` = a palette reference; bound only when the kit carries the matching bumper (intro/outro), else a non-blocking advisory."
63
+ ),
64
+ uiSoundSet: z.object({
65
+ tick: BrandAudioPaletteRef.optional(),
66
+ pop: BrandAudioPaletteRef.optional(),
67
+ impact: BrandAudioPaletteRef.optional(),
68
+ confirm: BrandAudioPaletteRef.optional(),
69
+ error: BrandAudioPaletteRef.optional(),
70
+ whoosh: BrandAudioPaletteRef.optional(),
71
+ riser: BrandAudioPaletteRef.optional()
72
+ }).optional().describe(
73
+ "Per-family SFX overrides (the brand's own tick/pop/\u2026). Highest-priority tier over the org palette + pack default in the compose SFX draw."
74
+ ),
75
+ bedStyle: z.object({
76
+ bedId: BrandAudioPaletteRef.optional(),
77
+ genre: z.string().max(120).optional(),
78
+ bpmRange: z.object({ min: z.number(), max: z.number() }).optional()
79
+ }).optional().describe(
80
+ "Preferred music bed (`bedId`) or a style hint (`genre` / `bpmRange`). Surfaced for driving agents; compose does not auto-select a pack bed."
81
+ ),
82
+ ambiencePreference: z.object({ ref: BrandAudioPaletteRef }).nullable().optional().describe(
83
+ "Preferred ambience bed (`{ref}`) or explicit null (opt-out). Surfaced for driving agents; compose has no ambience auto-placement."
84
+ )
85
+ });
86
+ var BrandIntroOutroBody = (field) => z.object({
87
+ kind: z.enum(["card", "video"]),
88
+ src: z.string().min(1, `${field}.src: non-empty string`).optional(),
89
+ title: z.string().optional(),
90
+ subtitle: z.string().optional(),
91
+ durationMs: z.number().optional()
92
+ });
93
+ var BrandKitBodyShape = {
94
+ kitId: z.string().min(1, "kitId: non-empty string required").max(200, "kitId: exceeds max length of 200").refine((v) => v.trim().length > 0, "kitId: non-empty string required"),
95
+ name: z.string().min(1, "name: non-empty string required").max(200, "name: exceeds max length of 200").refine((v) => v.trim().length > 0, "name: non-empty string required"),
96
+ description: z.string().max(2e3).optional(),
97
+ tagline: z.string().max(500).optional(),
98
+ secondaryTagline: z.string().max(500).optional(),
99
+ colors: z.object({
100
+ primary: z.string().min(1, "colors.primary: non-empty string"),
101
+ secondary: z.string().min(1, "colors.secondary: non-empty string"),
102
+ accent: z.string().min(1, "colors.accent: non-empty string"),
103
+ background: z.string().min(1, "colors.background: non-empty string"),
104
+ text: z.string().min(1, "colors.text: non-empty string")
105
+ }),
106
+ extraColors: z.array(z.object({
107
+ hex: z.string().min(1, "extraColors[].hex: non-empty string"),
108
+ label: z.string().min(1, "extraColors[].label: non-empty string"),
109
+ usage: z.string().optional()
110
+ })).optional(),
111
+ headingFont: BrandFontField,
112
+ bodyFont: BrandFontField,
113
+ voiceGuidelines: z.string().max(5e3).optional(),
114
+ syncCaptions: z.boolean().optional(),
115
+ captionProfile: z.object({
116
+ fontFamily: z.string().optional(),
117
+ fontSize: z.number().optional(),
118
+ fontWeight: z.number().optional(),
119
+ color: z.string().optional(),
120
+ highlightColor: z.string().optional(),
121
+ backgroundColor: z.string().optional(),
122
+ plate: z.enum(["glass", "solid", "none"]).optional(),
123
+ position: z.enum(["top", "center", "bottom"]).optional(),
124
+ textTransform: z.enum(["none", "uppercase"]).optional(),
125
+ entrance: z.enum(["none", "fade", "word-pop", "stagger-up"]).optional(),
126
+ entranceMs: z.number().optional(),
127
+ entranceStaggerMs: z.number().optional(),
128
+ exitMs: z.number().optional(),
129
+ emphasisColor: z.string().optional(),
130
+ emphasisScale: z.number().optional(),
131
+ emphasisFontFamily: z.string().optional(),
132
+ emphasisFontWeight: z.number().optional(),
133
+ emphasisFontStyle: z.enum(["normal", "italic"]).optional(),
134
+ emphasisTextTransform: z.enum(["none", "uppercase"]).optional(),
135
+ emphasisLetterSpacing: z.number().optional(),
136
+ emphasisPlate: z.boolean().optional(),
137
+ emphasisPlateColor: z.string().optional(),
138
+ emphasisPlateTextColor: z.string().optional()
139
+ }).optional(),
140
+ motion: z.object({
141
+ duration: z.number().optional(),
142
+ easing: z.union([
143
+ z.enum(["linear", "ease", "ease-in", "ease-out", "ease-in-out"]),
144
+ z.object({
145
+ kind: z.literal("cubic-bezier"),
146
+ x1: z.number(),
147
+ y1: z.number(),
148
+ x2: z.number(),
149
+ y2: z.number()
150
+ })
151
+ ]).optional(),
152
+ entrance: z.enum(["none", "fade", "word-pop", "stagger-up"]).optional(),
153
+ staggerMs: z.number().optional(),
154
+ exitMs: z.number().optional()
155
+ }).optional(),
156
+ logo: z.object({
157
+ src: z.string().min(1, "logo.src: non-empty string"),
158
+ alt: z.string().optional(),
159
+ placement: z.enum(["tl", "tr", "bl", "br"]).optional(),
160
+ sizePct: z.number().optional()
161
+ }).optional(),
162
+ intro: BrandIntroOutroBody("intro").optional(),
163
+ outro: BrandIntroOutroBody("outro").optional(),
164
+ watermark: z.object({
165
+ src: z.string().min(1, "watermark.src: non-empty string"),
166
+ opacity: z.number().min(0).max(1).optional(),
167
+ placement: z.enum(["tl", "tr", "bl", "br"]).optional()
168
+ }).optional(),
169
+ spacing: z.object({
170
+ base: z.number().optional(),
171
+ lg: z.number().optional(),
172
+ sm: z.number().optional()
173
+ }).optional(),
174
+ sizing: z.object({
175
+ fontSizeHeading: z.number().optional(),
176
+ fontSizeBody: z.number().optional(),
177
+ fontSizeLabel: z.number().optional(),
178
+ borderRadius: z.number().optional()
179
+ }).optional(),
180
+ audio: BrandAudioSchema.optional(),
181
+ motifs: z.array(BrandMotif).max(24).optional(),
182
+ styleRubric: z.string().max(4e3).optional(),
183
+ density: z.object({
184
+ graphicsPerMin: z.number().min(0).max(60),
185
+ maxSimultaneous: z.number().int().min(1).max(6)
186
+ }).optional(),
187
+ inspiration: z.object({
188
+ sources: z.array(z.string()).min(1).max(24),
189
+ extractedAt: z.number(),
190
+ extractionVersion: z.string().min(1).max(60)
191
+ }).optional()
192
+ };
193
+ var BrandKitBodySchema = z.strictObject(BrandKitBodyShape);
194
+
195
+ export {
196
+ BrandAudioSchema,
197
+ BrandKitBodyShape,
198
+ BrandKitBodySchema
199
+ };
@@ -0,0 +1,12 @@
1
+ // ../authoring/src/models/defaultModels.ts
2
+ var DEFAULT_MODEL_IDS = {
3
+ anthropic: "claude-opus-5",
4
+ openai: "gpt-4.1",
5
+ ollama: "llama3.1",
6
+ /** Cheaper model used for fast-mode / low-effort turns. */
7
+ fast: "claude-haiku-4-5"
8
+ };
9
+
10
+ export {
11
+ DEFAULT_MODEL_IDS
12
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CueframeError
3
- } from "./chunk-E63UEO5C.js";
3
+ } from "./chunk-XQGQ5EFS.js";
4
4
  import {
5
5
  bundledFontFamilyFaces,
6
6
  isGenericOnlyStack,
@@ -16270,6 +16270,24 @@ var PRIMITIVE_META = [
16270
16270
  }
16271
16271
  ];
16272
16272
 
16273
+ // ../composition/src/primitive-catalog/types.ts
16274
+ var PRIMITIVE_USE_CASES = [
16275
+ "intro",
16276
+ "outro",
16277
+ "full-scene",
16278
+ "title-over-footage",
16279
+ "transition",
16280
+ "background",
16281
+ "grade",
16282
+ "emphasis",
16283
+ "explainer",
16284
+ "social-cut",
16285
+ "ui-entrance",
16286
+ "camera",
16287
+ "rhythm",
16288
+ "data"
16289
+ ];
16290
+
16273
16291
  // ../composition/src/primitive-catalog/disabled.ts
16274
16292
  var DISABLED_PRIMITIVE_IDS = /* @__PURE__ */ new Set([]);
16275
16293
  function isPrimitiveDisabled(id) {
@@ -16533,18 +16551,7 @@ var CATALOG_CATEGORY_VALUES = /* @__PURE__ */ new Set([
16533
16551
  ]);
16534
16552
  var CATALOG_KIND_VALUES = /* @__PURE__ */ new Set(["component", "transition", "scene"]);
16535
16553
  var CATALOG_TIER_VALUES = /* @__PURE__ */ new Set(["recommended", "standard", "niche"]);
16536
- var CATALOG_USE_CASE_VALUES = /* @__PURE__ */ new Set([
16537
- "intro",
16538
- "outro",
16539
- "full-scene",
16540
- "title-over-footage",
16541
- "transition",
16542
- "background",
16543
- "grade",
16544
- "emphasis",
16545
- "explainer",
16546
- "social-cut"
16547
- ]);
16554
+ var CATALOG_USE_CASE_VALUES = new Set(PRIMITIVE_USE_CASES);
16548
16555
  var TIER_RANK = { recommended: 0, standard: 1, niche: 2 };
16549
16556
  var CatalogFilterError = class extends Error {
16550
16557
  constructor(field, value, allowed) {
@@ -16682,12 +16689,6 @@ function getPrimitiveSubtextParam(id) {
16682
16689
  function getPrimitiveCatalogMeta(id) {
16683
16690
  return byId2.get(id);
16684
16691
  }
16685
- function listPrimitiveIds() {
16686
- return [...byId2.keys()];
16687
- }
16688
- function getPrimitivePropSchema(id) {
16689
- return byId2.get(id)?.propSchema;
16690
- }
16691
16692
  function getPrimitiveText(overlay) {
16692
16693
  const canonical = overlay.params.text;
16693
16694
  if (typeof canonical === "string" && canonical.length > 0) return canonical;
@@ -16701,6 +16702,7 @@ function getPrimitiveText(overlay) {
16701
16702
 
16702
16703
  export {
16703
16704
  PRIMITIVE_META,
16705
+ PRIMITIVE_USE_CASES,
16704
16706
  DISABLED_PRIMITIVE_IDS,
16705
16707
  isPrimitiveDisabled,
16706
16708
  derivePlacement,
@@ -16724,7 +16726,5 @@ export {
16724
16726
  getPrimitiveTextParam,
16725
16727
  getPrimitiveSubtextParam,
16726
16728
  getPrimitiveCatalogMeta,
16727
- listPrimitiveIds,
16728
- getPrimitivePropSchema,
16729
16729
  getPrimitiveText
16730
16730
  };
@@ -0,0 +1,224 @@
1
+ // ../composition/src/validators/cardHtml.ts
2
+ import parseCss from "css-tree/parser";
3
+ import walkCss from "css-tree/walker";
4
+ import { parseFragment } from "parse5";
5
+ import { z } from "zod";
6
+ function isFragmentReference(value) {
7
+ return value.trim().startsWith("#");
8
+ }
9
+ function cssUrlPayloads(value) {
10
+ return [...value.matchAll(/url\(\s*(['"]?)(.*?)\1\s*\)/gi)].map((m) => m[2] ?? "");
11
+ }
12
+ function hasNonFragmentCssUrl(value) {
13
+ return cssUrlPayloads(value).some((payload) => !isFragmentReference(payload));
14
+ }
15
+ var HTML_ELEMENTS = [
16
+ "abbr",
17
+ "address",
18
+ "article",
19
+ "aside",
20
+ "b",
21
+ "bdi",
22
+ "bdo",
23
+ "blockquote",
24
+ "br",
25
+ "button",
26
+ "caption",
27
+ "cite",
28
+ "code",
29
+ "col",
30
+ "colgroup",
31
+ "data",
32
+ "dd",
33
+ "del",
34
+ "dfn",
35
+ "div",
36
+ "dl",
37
+ "dt",
38
+ "em",
39
+ "figcaption",
40
+ "figure",
41
+ "footer",
42
+ "h1",
43
+ "h2",
44
+ "h3",
45
+ "h4",
46
+ "h5",
47
+ "h6",
48
+ "header",
49
+ "hgroup",
50
+ "hr",
51
+ "i",
52
+ "ins",
53
+ "kbd",
54
+ "label",
55
+ "li",
56
+ "main",
57
+ "mark",
58
+ "meter",
59
+ "nav",
60
+ "ol",
61
+ "p",
62
+ "pre",
63
+ "progress",
64
+ "q",
65
+ "rp",
66
+ "rt",
67
+ "ruby",
68
+ "s",
69
+ "samp",
70
+ "section",
71
+ "small",
72
+ "span",
73
+ "strong",
74
+ "style",
75
+ "sub",
76
+ "sup",
77
+ "table",
78
+ "tbody",
79
+ "td",
80
+ "tfoot",
81
+ "th",
82
+ "thead",
83
+ "time",
84
+ "tr",
85
+ "u",
86
+ "ul",
87
+ "var",
88
+ "wbr"
89
+ ];
90
+ var SVG_ELEMENTS = [
91
+ "svg",
92
+ "g",
93
+ "defs",
94
+ "symbol",
95
+ "use",
96
+ "title",
97
+ "desc",
98
+ "path",
99
+ "rect",
100
+ "circle",
101
+ "ellipse",
102
+ "line",
103
+ "polyline",
104
+ "polygon",
105
+ "text",
106
+ "tspan",
107
+ "textpath",
108
+ "lineargradient",
109
+ "radialgradient",
110
+ "stop",
111
+ "clippath",
112
+ "mask",
113
+ "pattern",
114
+ "marker",
115
+ "filter",
116
+ "feblend",
117
+ "fecolormatrix",
118
+ "fecomponenttransfer",
119
+ "fecomposite",
120
+ "feconvolvematrix",
121
+ "fediffuselighting",
122
+ "fedisplacementmap",
123
+ "fedistantlight",
124
+ "fedropshadow",
125
+ "feflood",
126
+ "fefunca",
127
+ "fefuncb",
128
+ "fefuncg",
129
+ "fefuncr",
130
+ "fegaussianblur",
131
+ "femerge",
132
+ "femergenode",
133
+ "femorphology",
134
+ "feoffset",
135
+ "fepointlight",
136
+ "fespecularlighting",
137
+ "fespotlight",
138
+ "fetile",
139
+ "feturbulence"
140
+ ];
141
+ var ALLOWED_ELEMENTS = /* @__PURE__ */ new Set([...HTML_ELEMENTS, ...SVG_ELEMENTS]);
142
+ var URL_ATTRIBUTES = /* @__PURE__ */ new Set(["action", "data", "formaction", "href", "poster", "src", "srcset"]);
143
+ var CSS_VALUE_ATTRIBUTES = /* @__PURE__ */ new Set([
144
+ "clip-path",
145
+ "cursor",
146
+ "fill",
147
+ "filter",
148
+ "marker",
149
+ "marker-end",
150
+ "marker-mid",
151
+ "marker-start",
152
+ "mask",
153
+ "stroke"
154
+ ]);
155
+ function cssProblem(css, context) {
156
+ let ast;
157
+ try {
158
+ ast = parseCss(css, { context });
159
+ } catch (cause) {
160
+ return `contains invalid CSS: ${String(cause)}`;
161
+ }
162
+ let problem = null;
163
+ walkCss(ast, (node) => {
164
+ if (problem) return;
165
+ if (node.type === "Url" && !isFragmentReference(node.value)) {
166
+ problem = "contains a CSS url() asset reference";
167
+ } else if (node.type === "Atrule" && ["import", "font-face"].includes(node.name.toLowerCase())) {
168
+ problem = `contains a forbidden CSS @${node.name} rule`;
169
+ }
170
+ });
171
+ return problem;
172
+ }
173
+ function nodeProblem(node) {
174
+ if (node.nodeName === "#comment" || node.nodeName === "#text") return null;
175
+ if ("tagName" in node) {
176
+ const tag = node.tagName.toLowerCase();
177
+ if (!ALLOWED_ELEMENTS.has(tag)) return `contains <${node.tagName}>, which a card may not use`;
178
+ for (const attr of node.attrs) {
179
+ const name = attr.name.toLowerCase();
180
+ if (name.startsWith("on")) return `contains the event handler '${attr.name}'`;
181
+ if (URL_ATTRIBUTES.has(name) && !isFragmentReference(attr.value)) {
182
+ return `contains a ${attr.name} reference outside the card`;
183
+ }
184
+ if (name === "style") {
185
+ const problem = cssProblem(attr.value, "declarationList");
186
+ if (problem) return problem;
187
+ }
188
+ if (CSS_VALUE_ATTRIBUTES.has(name) && hasNonFragmentCssUrl(attr.value)) {
189
+ return `contains a ${attr.name} url() reference outside the card`;
190
+ }
191
+ }
192
+ if (tag === "style") {
193
+ const css = node.childNodes.filter((child) => child.nodeName === "#text").map((child) => child.value).join("");
194
+ const problem = cssProblem(css, "stylesheet");
195
+ if (problem) return problem;
196
+ }
197
+ }
198
+ if ("childNodes" in node) {
199
+ for (const child of node.childNodes) {
200
+ const problem = nodeProblem(child);
201
+ if (problem) return problem;
202
+ }
203
+ }
204
+ return null;
205
+ }
206
+ function cardHtmlProblem(html) {
207
+ for (const node of parseFragment(html).childNodes) {
208
+ const problem = nodeProblem(node);
209
+ if (problem) return problem;
210
+ }
211
+ return null;
212
+ }
213
+ var CardHtml = z.string().min(1).superRefine((html, ctx) => {
214
+ const problem = cardHtmlProblem(html);
215
+ if (problem) ctx.addIssue({ code: "custom", message: `Card HTML ${problem}.` });
216
+ });
217
+
218
+ export {
219
+ isFragmentReference,
220
+ cssUrlPayloads,
221
+ hasNonFragmentCssUrl,
222
+ cardHtmlProblem,
223
+ CardHtml
224
+ };
@@ -3,7 +3,7 @@ import {
3
3
  componentBundleIdentity,
4
4
  componentRenderIdentity,
5
5
  sourceVersionIdentity
6
- } from "./chunk-DAARYRNT.js";
6
+ } from "./chunk-FKSXKS35.js";
7
7
 
8
8
  // ../execution/component-runtime/src/identity.ts
9
9
  import { createHash } from "crypto";
@@ -22,20 +22,11 @@ function componentRenderKey(request) {
22
22
  function componentArtifactId(input) {
23
23
  return sha256Hex(componentArtifactIdentity(input));
24
24
  }
25
- function bundleIdentityFields(bundle) {
26
- return {
27
- bundleId: bundle.bundleId,
28
- sourceVersionId: bundle.sourceVersionId,
29
- runtimeDigest: bundle.runtimeDigest,
30
- dependencyLockDigest: bundle.dependencyLockDigest
31
- };
32
- }
33
25
 
34
26
  export {
35
27
  sha256Hex,
36
28
  sourceVersionId,
37
29
  componentBundleId,
38
30
  componentRenderKey,
39
- componentArtifactId,
40
- bundleIdentityFields
31
+ componentArtifactId
41
32
  };
@@ -32,21 +32,21 @@ function canonicalValue(value, seen) {
32
32
  seen.delete(value);
33
33
  }
34
34
  }
35
- function canonicalJson(value) {
35
+ function canonicalIdentityJson(value) {
36
36
  return JSON.stringify(canonicalValue(value, /* @__PURE__ */ new Set()));
37
37
  }
38
38
  function sourceVersionIdentity(source) {
39
- return canonicalJson(source);
39
+ return canonicalIdentityJson(source);
40
40
  }
41
41
  function componentBundleIdentity(input) {
42
- return canonicalJson({ domain: "cueframe.component.bundle.v2", ...input });
42
+ return canonicalIdentityJson({ domain: "cueframe.component.bundle.v2", ...input });
43
43
  }
44
44
  function componentRenderIdentity(request) {
45
- return canonicalJson({ domain: "cueframe.component.render.v2", request });
45
+ return canonicalIdentityJson({ domain: "cueframe.component.render.v2", request });
46
46
  }
47
47
  function componentArtifactIdentity(input) {
48
48
  const { host: _host, ...identity } = input.receipt;
49
- return canonicalJson({
49
+ return canonicalIdentityJson({
50
50
  domain: "cueframe.component.artifact.v2",
51
51
  outputSha256: input.outputSha256,
52
52
  receipt: identity
@@ -54,7 +54,7 @@ function componentArtifactIdentity(input) {
54
54
  }
55
55
 
56
56
  export {
57
- canonicalJson,
57
+ canonicalIdentityJson,
58
58
  sourceVersionIdentity,
59
59
  componentBundleIdentity,
60
60
  componentRenderIdentity,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __export
3
- } from "./chunk-2ESYSVXG.js";
3
+ } from "./chunk-U67V476Y.js";
4
4
 
5
5
  // ../sdk/src/client.ts
6
6
  var ApiError = class extends Error {
@@ -0,0 +1,24 @@
1
+ import {
2
+ cardHtmlProblem
3
+ } from "./chunk-EQH37KNZ.js";
4
+ import {
5
+ CueframeError
6
+ } from "./chunk-XQGQ5EFS.js";
7
+
8
+ // ../execution/render-harness/src/cardAssetAdmission.ts
9
+ function assertCardHtmlAssetFree(input) {
10
+ for (const overlay of input.overlays ?? []) {
11
+ if (overlay.template !== "card") continue;
12
+ const html = overlay.params?.html;
13
+ if (typeof html !== "string") continue;
14
+ const problem = cardHtmlProblem(html);
15
+ if (problem) {
16
+ const locator = `overlay '${overlay.id}'`;
17
+ throw new CueframeError("card_external_asset_forbidden", `Card ${locator} ${problem}`, void 0, { card: locator });
18
+ }
19
+ }
20
+ }
21
+
22
+ export {
23
+ assertCardHtmlAssetFree
24
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  bodySchemaFor,
3
3
  opById
4
- } from "./chunk-KBDUEU4W.js";
4
+ } from "./chunk-FZB7UX44.js";
5
5
 
6
6
  // ../mcp/src/generated/sceneContract.ts
7
7
  function deepFreeze(value) {