@cueframe/kernel 0.0.1
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/TextureLoader-UQOFUSAP.js +422 -0
- package/dist/VideoTexture-AQWSPIJG.js +62 -0
- package/dist/_members/account-model/index.d.ts +1 -0
- package/dist/_members/account-model/index.js +4 -0
- package/dist/_members/account-model/testing/conversationStoreContract.d.ts +97 -0
- package/dist/_members/account-model/testing/conversationStoreContract.js +168 -0
- package/dist/_members/account-model/testing/index.d.ts +7 -0
- package/dist/_members/account-model/testing/index.js +7 -0
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +52 -0
- package/dist/_members/account-model/testing/restorePointStoreContract.js +69 -0
- package/dist/_members/account-model/types/index.d.ts +5 -0
- package/dist/_members/account-model/types/index.js +1 -0
- package/dist/_members/account-model/validators/contextFile.d.ts +36 -0
- package/dist/_members/account-model/validators/contextFile.js +18 -0
- package/dist/_members/account-model/validators/conversation.d.ts +153 -0
- package/dist/_members/account-model/validators/conversation.js +95 -0
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +30 -0
- package/dist/_members/account-model/validators/dashboardInsight.js +16 -0
- package/dist/_members/account-model/validators/index.d.ts +7 -0
- package/dist/_members/account-model/validators/index.js +7 -0
- package/dist/_members/account-model/validators/sessionToken.d.ts +79 -0
- package/dist/_members/account-model/validators/sessionToken.js +49 -0
- package/dist/_members/account-model/validators/uploadToken.d.ts +33 -0
- package/dist/_members/account-model/validators/uploadToken.js +16 -0
- package/dist/_members/account-model/validators/userSettings.d.ts +22 -0
- package/dist/_members/account-model/validators/userSettings.js +12 -0
- package/dist/_members/account-model/validators/workingComposition.d.ts +34 -0
- package/dist/_members/account-model/validators/workingComposition.js +20 -0
- package/dist/_members/animate/animations/Create.d.ts +36 -0
- package/dist/_members/animate/animations/FadeIn.d.ts +36 -0
- package/dist/_members/animate/animations/GrowArrow.d.ts +36 -0
- package/dist/_members/animate/animations/GrowFromCenter.d.ts +25 -0
- package/dist/_members/animate/animations/Indicate.d.ts +29 -0
- package/dist/_members/animate/animations/MoveAlongPath.d.ts +30 -0
- package/dist/_members/animate/animations/Transform.d.ts +46 -0
- package/dist/_members/animate/animations/Wiggle.d.ts +31 -0
- package/dist/_members/animate/animations/Write.d.ts +35 -0
- package/dist/_members/animate/animations/index.d.ts +9 -0
- package/dist/_members/animate/composition/AnimationGroup.d.ts +32 -0
- package/dist/_members/animate/composition/LaggedStart.d.ts +33 -0
- package/dist/_members/animate/composition/Succession.d.ts +27 -0
- package/dist/_members/animate/composition/index.d.ts +3 -0
- package/dist/_members/animate/easing/index.d.ts +3 -0
- package/dist/_members/animate/easing/rush.d.ts +16 -0
- package/dist/_members/animate/easing/smooth.d.ts +8 -0
- package/dist/_members/animate/easing/smootherstep.d.ts +7 -0
- package/dist/_members/animate/index.d.ts +25 -0
- package/dist/_members/animate/mobjects/Arrow.d.ts +41 -0
- package/dist/_members/animate/mobjects/BrandBox.d.ts +43 -0
- package/dist/_members/animate/mobjects/DiGraph.d.ts +21 -0
- package/dist/_members/animate/mobjects/Graph.d.ts +72 -0
- package/dist/_members/animate/mobjects/index.d.ts +4 -0
- package/dist/_members/animate/three/ThreeCanvas.d.ts +36 -0
- package/dist/_members/animate/three/drei.d.ts +13 -0
- package/dist/_members/animate/three/index.d.ts +2 -0
- package/dist/_members/authoring/agent/buildTools.d.ts +54 -0
- package/dist/_members/authoring/agent/contextManagement.d.ts +73 -0
- package/dist/_members/authoring/agent/errors.d.ts +12 -0
- package/dist/_members/authoring/agent/index.d.ts +2 -0
- package/dist/_members/authoring/agent/memoryTool.d.ts +8 -0
- package/dist/_members/authoring/agent/promptCache.d.ts +34 -0
- package/dist/_members/authoring/agent.d.ts +59 -0
- package/dist/_members/authoring/capabilities.d.ts +306 -0
- package/dist/_members/authoring/composer/index.d.ts +2 -0
- package/dist/_members/authoring/composer/scopes.d.ts +26 -0
- package/dist/_members/authoring/context/brand.d.ts +37 -0
- package/dist/_members/authoring/context/brandTokens.d.ts +6 -0
- package/dist/_members/authoring/context/index.d.ts +8 -0
- package/dist/_members/authoring/context/timeline.d.ts +33 -0
- package/dist/_members/authoring/context/transcript.d.ts +24 -0
- package/dist/_members/authoring/context/types.d.ts +5 -0
- package/dist/_members/authoring/decomposer.d.ts +17 -0
- package/dist/_members/authoring/evaluate.d.ts +37 -0
- package/dist/_members/authoring/evaluator.d.ts +22 -0
- package/dist/_members/authoring/index.d.ts +25 -0
- package/dist/_members/authoring/models/modelFactory.d.ts +107 -0
- package/dist/_members/authoring/motion/applyMotionPreset.d.ts +31 -0
- package/dist/_members/authoring/motion/index.d.ts +6 -0
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +38 -0
- package/dist/_members/authoring/motion/shell.d.ts +30 -0
- package/dist/_members/authoring/pipelineTrace.d.ts +38 -0
- package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +5 -0
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +18 -0
- package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +5 -0
- package/dist/_members/authoring/prompts/graphics.d.ts +14 -0
- package/dist/_members/authoring/prompts/index.d.ts +4 -0
- package/dist/_members/authoring/prompts/plannerPrompt.d.ts +48 -0
- package/dist/_members/authoring/providers/index.d.ts +1 -0
- package/dist/_members/authoring/providers/resourceApi.d.ts +32 -0
- package/dist/_members/authoring/resource-routing.d.ts +186 -0
- package/dist/_members/authoring/resources.d.ts +59 -0
- package/dist/_members/authoring/scope.d.ts +31 -0
- package/dist/_members/authoring/tools/brandTokens.d.ts +34 -0
- package/dist/_members/authoring/tools/composeRoleTools.d.ts +112 -0
- package/dist/_members/authoring/tools/index.d.ts +4 -0
- package/dist/_members/authoring/tools/toolSets.d.ts +54 -0
- package/dist/_members/authoring/transpileComponent.d.ts +40 -0
- package/dist/_members/authoring/transpileHelper.d.ts +26 -0
- package/dist/_members/authoring/types.d.ts +572 -0
- package/dist/_members/brand-derivation/constants.d.ts +27 -0
- package/dist/_members/brand-derivation/constants.js +20 -0
- package/dist/_members/brand-derivation/contrastSafe.d.ts +47 -0
- package/dist/_members/brand-derivation/contrastSafe.js +114 -0
- package/dist/_members/brand-derivation/index.d.ts +1 -0
- package/dist/_members/brand-derivation/index.js +1 -0
- package/dist/_members/compose/CompositionRenderer.d.ts +12 -0
- package/dist/_members/compose/catalog.d.ts +1 -0
- package/dist/_members/compose/index.d.ts +8 -0
- package/dist/_members/compose/primitiveRegistry.d.ts +90 -0
- package/dist/_members/compose/sceneToRenderInput.d.ts +51 -0
- package/dist/_members/compose/schema.d.ts +45 -0
- package/dist/_members/compose/tokenResolver.d.ts +28 -0
- package/dist/_members/composition/audio/audioMix.d.ts +67 -0
- package/dist/_members/composition/audio/audioMix.js +61 -0
- package/dist/_members/composition/audio/index.d.ts +5 -0
- package/dist/_members/composition/audio/index.js +5 -0
- package/dist/_members/composition/audio/mixStaging.d.ts +107 -0
- package/dist/_members/composition/audio/mixStaging.js +195 -0
- package/dist/_members/composition/audio/musicPack.d.ts +56 -0
- package/dist/_members/composition/audio/musicPack.generated.d.ts +9 -0
- package/dist/_members/composition/audio/musicPack.generated.js +136 -0
- package/dist/_members/composition/audio/musicPack.js +36 -0
- package/dist/_members/composition/audio/pack.d.ts +67 -0
- package/dist/_members/composition/audio/pack.generated.d.ts +9 -0
- package/dist/_members/composition/audio/pack.generated.js +603 -0
- package/dist/_members/composition/audio/pack.js +48 -0
- package/dist/_members/composition/audio/palette.d.ts +82 -0
- package/dist/_members/composition/audio/palette.js +134 -0
- package/dist/_members/composition/autozoom/index.d.ts +57 -0
- package/dist/_members/composition/autozoom/index.js +83 -0
- package/dist/_members/composition/brand-kit.d.ts +58 -0
- package/dist/_members/composition/brand-kit.js +45 -0
- package/dist/_members/composition/brief/contract.d.ts +132 -0
- package/dist/_members/composition/brief/contract.js +209 -0
- package/dist/_members/composition/color-grade.d.ts +17 -0
- package/dist/_members/composition/color-grade.js +80 -0
- package/dist/_members/composition/depth.d.ts +24 -0
- package/dist/_members/composition/depth.js +8 -0
- package/dist/_members/composition/fixtures/agentErrored.d.ts +25 -0
- package/dist/_members/composition/fixtures/index.d.ts +7 -0
- package/dist/_members/composition/fixtures/index.js +143 -0
- package/dist/_members/composition/fixtures/vaayaErrored.d.ts +25 -0
- package/dist/_members/composition/fixtures/vaayaErrored.js +203 -0
- package/dist/_members/composition/fonts.d.ts +68 -0
- package/dist/_members/composition/fonts.js +162 -0
- package/dist/_members/composition/graphics-plan/compile.d.ts +43 -0
- package/dist/_members/composition/graphics-plan/compile.js +221 -0
- package/dist/_members/composition/graphics-plan/index.d.ts +11 -0
- package/dist/_members/composition/graphics-plan/index.js +10 -0
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +51 -0
- package/dist/_members/composition/graphics-plan/instantiateMotif.js +44 -0
- package/dist/_members/composition/graphics-plan/motion.d.ts +19 -0
- package/dist/_members/composition/graphics-plan/motion.js +66 -0
- package/dist/_members/composition/graphics-plan/schemas.d.ts +1672 -0
- package/dist/_members/composition/graphics-plan/schemas.js +261 -0
- package/dist/_members/composition/graphics-plan/solve.d.ts +34 -0
- package/dist/_members/composition/graphics-plan/solve.js +145 -0
- package/dist/_members/composition/index.d.ts +7 -0
- package/dist/_members/composition/index.js +5 -0
- package/dist/_members/composition/invariants/clipPlacement.d.ts +65 -0
- package/dist/_members/composition/invariants/clipPlacement.js +69 -0
- package/dist/_members/composition/invariants/composition.d.ts +9 -0
- package/dist/_members/composition/invariants/composition.js +28 -0
- package/dist/_members/composition/invariants/errors.d.ts +11 -0
- package/dist/_members/composition/invariants/errors.js +10 -0
- package/dist/_members/composition/invariants/etag.d.ts +10 -0
- package/dist/_members/composition/invariants/etag.js +38 -0
- package/dist/_members/composition/invariants/ids.d.ts +9 -0
- package/dist/_members/composition/invariants/ids.js +33 -0
- package/dist/_members/composition/invariants/index.d.ts +9 -0
- package/dist/_members/composition/invariants/index.js +9 -0
- package/dist/_members/composition/invariants/keyframes.d.ts +23 -0
- package/dist/_members/composition/invariants/keyframes.js +45 -0
- package/dist/_members/composition/invariants/markers.d.ts +9 -0
- package/dist/_members/composition/invariants/markers.js +29 -0
- package/dist/_members/composition/invariants/time.d.ts +22 -0
- package/dist/_members/composition/invariants/time.js +20 -0
- package/dist/_members/composition/invariants/tracks.d.ts +58 -0
- package/dist/_members/composition/invariants/tracks.js +304 -0
- package/dist/_members/composition/ops/compositionOps.d.ts +129 -0
- package/dist/_members/composition/ops/compositionOps.js +1056 -0
- package/dist/_members/composition/ops/headlessStore.d.ts +40 -0
- package/dist/_members/composition/ops/headlessStore.js +94 -0
- package/dist/_members/composition/ops/index.d.ts +6 -0
- package/dist/_members/composition/ops/index.js +4 -0
- package/dist/_members/composition/ops/selectors.d.ts +81 -0
- package/dist/_members/composition/ops/selectors.js +118 -0
- package/dist/_members/composition/ops/timeline-word.d.ts +24 -0
- package/dist/_members/composition/ops/timeline-word.js +1 -0
- package/dist/_members/composition/ops/transcript.d.ts +44 -0
- package/dist/_members/composition/ops/transcript.js +77 -0
- package/dist/_members/composition/ops/types.d.ts +145 -0
- package/dist/_members/composition/ops/types.js +16 -0
- package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +82 -0
- package/dist/_members/composition/primitive-catalog/catalogQuery.js +150 -0
- package/dist/_members/composition/primitive-catalog/disabled.d.ts +3 -0
- package/dist/_members/composition/primitive-catalog/disabled.js +32 -0
- package/dist/_members/composition/primitive-catalog/generated/meta.d.ts +2 -0
- package/dist/_members/composition/primitive-catalog/generated/meta.js +15161 -0
- package/dist/_members/composition/primitive-catalog/index.d.ts +28 -0
- package/dist/_members/composition/primitive-catalog/index.js +46 -0
- package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +76 -0
- package/dist/_members/composition/primitive-catalog/paramValidation.js +231 -0
- package/dist/_members/composition/primitive-catalog/projection.d.ts +99 -0
- package/dist/_members/composition/primitive-catalog/projection.js +164 -0
- package/dist/_members/composition/primitive-catalog/types.d.ts +123 -0
- package/dist/_members/composition/primitive-catalog/types.js +14 -0
- package/dist/_members/composition/projection/behind-placement.d.ts +64 -0
- package/dist/_members/composition/projection/behind-placement.js +62 -0
- package/dist/_members/composition/projection/brandKit.d.ts +308 -0
- package/dist/_members/composition/projection/brandKit.js +482 -0
- package/dist/_members/composition/projection/cardTokens.d.ts +70 -0
- package/dist/_members/composition/projection/cardTokens.js +209 -0
- package/dist/_members/composition/projection/composition-floor.d.ts +349 -0
- package/dist/_members/composition/projection/composition-floor.js +582 -0
- package/dist/_members/composition/projection/cropProjection.d.ts +140 -0
- package/dist/_members/composition/projection/cropProjection.js +257 -0
- package/dist/_members/composition/projection/index.d.ts +7 -0
- package/dist/_members/composition/projection/index.js +7 -0
- package/dist/_members/composition/projection/occlusion-budget.d.ts +67 -0
- package/dist/_members/composition/projection/occlusion-budget.js +104 -0
- package/dist/_members/composition/projection/safe-zones.d.ts +38 -0
- package/dist/_members/composition/projection/safe-zones.js +99 -0
- package/dist/_members/composition/reframe/aspectLoss.d.ts +49 -0
- package/dist/_members/composition/reframe/aspectLoss.js +115 -0
- package/dist/_members/composition/reframe/coverage.d.ts +48 -0
- package/dist/_members/composition/reframe/coverage.js +62 -0
- package/dist/_members/composition/reframe/derive.d.ts +37 -0
- package/dist/_members/composition/reframe/derive.js +73 -0
- package/dist/_members/composition/reframe/index.d.ts +658 -0
- package/dist/_members/composition/reframe/index.js +109 -0
- package/dist/_members/composition/reframe/kenBurns.d.ts +43 -0
- package/dist/_members/composition/reframe/kenBurns.js +64 -0
- package/dist/_members/composition/reframe/shotScale.d.ts +118 -0
- package/dist/_members/composition/reframe/shotScale.js +176 -0
- package/dist/_members/composition/reframe/trajectory.d.ts +99 -0
- package/dist/_members/composition/reframe/trajectory.js +124 -0
- package/dist/_members/composition/timeline/compound.d.ts +36 -0
- package/dist/_members/composition/timeline/compound.js +134 -0
- package/dist/_members/composition/timeline/index.d.ts +9 -0
- package/dist/_members/composition/timeline/index.js +9 -0
- package/dist/_members/composition/timeline/intent.d.ts +54 -0
- package/dist/_members/composition/timeline/intent.js +228 -0
- package/dist/_members/composition/timeline/keyframes.d.ts +50 -0
- package/dist/_members/composition/timeline/keyframes.js +121 -0
- package/dist/_members/composition/timeline/link.d.ts +36 -0
- package/dist/_members/composition/timeline/link.js +59 -0
- package/dist/_members/composition/timeline/occupancy.d.ts +72 -0
- package/dist/_members/composition/timeline/occupancy.js +36 -0
- package/dist/_members/composition/timeline/placement.d.ts +86 -0
- package/dist/_members/composition/timeline/placement.js +74 -0
- package/dist/_members/composition/timeline/plan.d.ts +109 -0
- package/dist/_members/composition/timeline/plan.js +31 -0
- package/dist/_members/composition/timeline/resolve.d.ts +55 -0
- package/dist/_members/composition/timeline/resolve.js +170 -0
- package/dist/_members/composition/timeline/trims.d.ts +54 -0
- package/dist/_members/composition/timeline/trims.js +278 -0
- package/dist/_members/composition/types/index.d.ts +8 -0
- package/dist/_members/composition/types/index.js +1 -0
- package/dist/_members/composition/validators/brandKit.d.ts +1472 -0
- package/dist/_members/composition/validators/brandKit.js +295 -0
- package/dist/_members/composition/validators/composePlan.d.ts +960 -0
- package/dist/_members/composition/validators/composePlan.js +113 -0
- package/dist/_members/composition/validators/composition.d.ts +6881 -0
- package/dist/_members/composition/validators/composition.js +703 -0
- package/dist/_members/composition/validators/font.d.ts +114 -0
- package/dist/_members/composition/validators/font.js +34 -0
- package/dist/_members/composition/validators/graphicKinds.d.ts +32 -0
- package/dist/_members/composition/validators/graphicKinds.js +30 -0
- package/dist/_members/composition/validators/index.d.ts +9 -0
- package/dist/_members/composition/validators/index.js +9 -0
- package/dist/_members/composition/validators/project.d.ts +62 -0
- package/dist/_members/composition/validators/project.js +29 -0
- package/dist/_members/composition/validators/registry.d.ts +161 -0
- package/dist/_members/composition/validators/registry.js +41 -0
- package/dist/_members/composition/validators/render.d.ts +8274 -0
- package/dist/_members/composition/validators/render.js +139 -0
- package/dist/_members/composition/validators/session.d.ts +117 -0
- package/dist/_members/composition/validators/session.js +37 -0
- package/dist/_members/composition/validators/webhook.d.ts +83 -0
- package/dist/_members/composition/validators/webhook.js +72 -0
- package/dist/_members/composition-ops/alphaLayers.d.ts +70 -0
- package/dist/_members/composition-ops/alphaLayers.js +141 -0
- package/dist/_members/composition-ops/index.d.ts +4940 -0
- package/dist/_members/composition-ops/index.js +637 -0
- package/dist/_members/composition-ops/materializeGrid.d.ts +56 -0
- package/dist/_members/composition-ops/materializeGrid.js +99 -0
- package/dist/_members/composition-ops/opRecorder.d.ts +77 -0
- package/dist/_members/composition-ops/opRecorder.js +196 -0
- package/dist/_members/composition-ops/recordingStore.d.ts +23 -0
- package/dist/_members/composition-ops/recordingStore.js +14 -0
- package/dist/_members/composition-ops/replaceRegion.d.ts +65 -0
- package/dist/_members/composition-ops/replaceRegion.js +102 -0
- package/dist/_members/composition-ops/testFixtures.d.ts +19 -0
- package/dist/_members/composition-ops/testFixtures.js +19 -0
- package/dist/_members/core/index.d.ts +3 -0
- package/dist/_members/core/index.js +5 -0
- package/dist/_members/core/render/bookends.d.ts +62 -0
- package/dist/_members/core/render/bookends.js +53 -0
- package/dist/_members/core/render/captions.d.ts +65 -0
- package/dist/_members/core/render/captions.js +127 -0
- package/dist/_members/core/render/compositionRender.d.ts +190 -0
- package/dist/_members/core/render/compositionRender.js +1249 -0
- package/dist/_members/core/render/deriveTrajectory.d.ts +188 -0
- package/dist/_members/core/render/deriveTrajectory.js +889 -0
- package/dist/_members/core/render/emphasis.d.ts +13 -0
- package/dist/_members/core/render/emphasis.js +16 -0
- package/dist/_members/core/render/eval/cropBox.d.ts +88 -0
- package/dist/_members/core/render/eval/cropBox.js +139 -0
- package/dist/_members/core/render/eval/inclusion.d.ts +50 -0
- package/dist/_members/core/render/eval/inclusion.js +96 -0
- package/dist/_members/core/render/eval/index.d.ts +93 -0
- package/dist/_members/core/render/eval/index.js +146 -0
- package/dist/_members/core/render/eval/metrics.d.ts +50 -0
- package/dist/_members/core/render/eval/metrics.js +94 -0
- package/dist/_members/core/render/exportSettings.d.ts +40 -0
- package/dist/_members/core/render/exportSettings.js +65 -0
- package/dist/_members/core/render/index.d.ts +14 -0
- package/dist/_members/core/render/index.js +20 -0
- package/dist/_members/core/render/mapFaceToPerson.d.ts +39 -0
- package/dist/_members/core/render/mapFaceToPerson.js +73 -0
- package/dist/_members/core/render/types.d.ts +304 -0
- package/dist/_members/core/render/types.js +8 -0
- package/dist/_members/core/render/vcam/cameraPath.d.ts +51 -0
- package/dist/_members/core/render/vcam/cameraPath.js +248 -0
- package/dist/_members/core/render/vcam/constants.d.ts +113 -0
- package/dist/_members/core/render/vcam/constants.js +115 -0
- package/dist/_members/core/render/vcam/errorCodes.d.ts +30 -0
- package/dist/_members/core/render/vcam/errorCodes.js +39 -0
- package/dist/_members/core/render/vcam/framing.d.ts +90 -0
- package/dist/_members/core/render/vcam/framing.js +136 -0
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +85 -0
- package/dist/_members/core/render/vcam/requiredRegion.js +137 -0
- package/dist/_members/core/render/vcam/shots.d.ts +45 -0
- package/dist/_members/core/render/vcam/shots.js +53 -0
- package/dist/_members/core/render/vcam/subjectSet.d.ts +106 -0
- package/dist/_members/core/render/vcam/subjectSet.js +388 -0
- package/dist/_members/core/select/errorCodes.d.ts +27 -0
- package/dist/_members/core/select/errorCodes.js +38 -0
- package/dist/_members/core/select/index.d.ts +27 -0
- package/dist/_members/core/select/index.js +26 -0
- package/dist/_members/core/select/model.d.ts +178 -0
- package/dist/_members/core/select/model.js +18 -0
- package/dist/_members/core/select/select.d.ts +63 -0
- package/dist/_members/core/select/select.js +244 -0
- package/dist/_members/core/select/stabilize.d.ts +145 -0
- package/dist/_members/core/select/stabilize.js +242 -0
- package/dist/_members/core/types.d.ts +84 -0
- package/dist/_members/core/types.js +7 -0
- package/dist/_members/errors/index.d.ts +1 -0
- package/dist/_members/errors/index.js +1 -0
- package/dist/_members/errors/registry.d.ts +708 -0
- package/dist/_members/errors/registry.js +560 -0
- package/dist/_members/foundation/codes/index.d.ts +31 -0
- package/dist/_members/foundation/codes/index.js +31 -0
- package/dist/_members/foundation/index.d.ts +2 -0
- package/dist/_members/foundation/index.js +2 -0
- package/dist/_members/foundation/primitives/index.d.ts +9 -0
- package/dist/_members/foundation/primitives/index.js +5 -0
- package/dist/_members/mcp/adapter.d.ts +138 -0
- package/dist/_members/mcp/adapter.js +771 -0
- package/dist/_members/mcp/burnedNames.d.ts +23 -0
- package/dist/_members/mcp/burnedNames.js +73 -0
- package/dist/_members/mcp/core.d.ts +158 -0
- package/dist/_members/mcp/core.js +390 -0
- package/dist/_members/mcp/curation.d.ts +155 -0
- package/dist/_members/mcp/curation.js +792 -0
- package/dist/_members/mcp/executor.d.ts +60 -0
- package/dist/_members/mcp/executor.js +142 -0
- package/dist/_members/mcp/format.d.ts +7 -0
- package/dist/_members/mcp/format.js +9 -0
- package/dist/_members/mcp/generated/catalogPreviews.d.ts +2 -0
- package/dist/_members/mcp/generated/catalogPreviews.js +95 -0
- package/dist/_members/mcp/generated/harness.d.ts +1 -0
- package/dist/_members/mcp/generated/harness.js +81 -0
- package/dist/_members/mcp/generated/operations.d.ts +41 -0
- package/dist/_members/mcp/generated/operations.js +131 -0
- package/dist/_members/mcp/index.d.ts +3 -0
- package/dist/_members/mcp/index.js +50 -0
- package/dist/_members/mcp/internalLoopTools.d.ts +25 -0
- package/dist/_members/mcp/internalLoopTools.js +109 -0
- package/dist/_members/mcp/prompts.d.ts +22 -0
- package/dist/_members/mcp/prompts.js +45 -0
- package/dist/_members/mcp/resources.d.ts +16 -0
- package/dist/_members/mcp/resources.js +166 -0
- package/dist/_members/mcp/server.d.ts +92 -0
- package/dist/_members/mcp/server.js +340 -0
- package/dist/_members/mcp/wait.d.ts +37 -0
- package/dist/_members/mcp/wait.js +378 -0
- package/dist/_members/mcp/x402Meta.d.ts +50 -0
- package/dist/_members/mcp/x402Meta.js +66 -0
- package/dist/_members/media-model/api.d.ts +877 -0
- package/dist/_members/media-model/api.js +175 -0
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/index.js +1 -0
- package/dist/_members/media-model/media-kind.d.ts +36 -0
- package/dist/_members/media-model/media-kind.js +116 -0
- package/dist/_members/media-model/testing/index.d.ts +2 -0
- package/dist/_members/media-model/testing/index.js +1 -0
- package/dist/_members/media-model/testing/mediaStoreContract.d.ts +17 -0
- package/dist/_members/media-model/testing/mediaStoreContract.js +82 -0
- package/dist/_members/media-model/transcriptSearch.d.ts +54 -0
- package/dist/_members/media-model/transcriptSearch.js +70 -0
- package/dist/_members/media-model/transcriptSearchCases.json +79 -0
- package/dist/_members/nle-export/compact-timeline.d.ts +2 -0
- package/dist/_members/nle-export/compact-timeline.js +73 -0
- package/dist/_members/nle-export/compact-timeline.js.map +1 -0
- package/dist/_members/nle-export/composition-to-input.d.ts +2 -0
- package/dist/_members/nle-export/composition-to-input.js +147 -0
- package/dist/_members/nle-export/composition-to-input.js.map +1 -0
- package/dist/_members/nle-export/fcpxml.d.ts +15 -0
- package/dist/_members/nle-export/fcpxml.js +159 -0
- package/dist/_members/nle-export/fcpxml.js.map +1 -0
- package/dist/_members/nle-export/index.d.ts +11 -0
- package/dist/_members/nle-export/index.js +12 -0
- package/dist/_members/nle-export/index.js.map +1 -0
- package/dist/_members/nle-export/premiere.d.ts +2 -0
- package/dist/_members/nle-export/premiere.js +161 -0
- package/dist/_members/nle-export/premiere.js.map +1 -0
- package/dist/_members/nle-export/server/index.d.ts +1 -0
- package/dist/_members/nle-export/server/index.js +2 -0
- package/dist/_members/nle-export/server/index.js.map +1 -0
- package/dist/_members/nle-export/server/pack-zip.d.ts +6 -0
- package/dist/_members/nle-export/server/pack-zip.js +38 -0
- package/dist/_members/nle-export/server/pack-zip.js.map +1 -0
- package/dist/_members/nle-export/srt.d.ts +2 -0
- package/dist/_members/nle-export/srt.js +50 -0
- package/dist/_members/nle-export/srt.js.map +1 -0
- package/dist/_members/nle-export/types.d.ts +183 -0
- package/dist/_members/nle-export/types.js +9 -0
- package/dist/_members/nle-export/types.js.map +1 -0
- package/dist/_members/nle-export/xml/index.d.ts +10 -0
- package/dist/_members/nle-export/xml/index.js +11 -0
- package/dist/_members/nle-export/xml/index.js.map +1 -0
- package/dist/_members/nle-export/xml-utils.d.ts +21 -0
- package/dist/_members/nle-export/xml-utils.js +48 -0
- package/dist/_members/nle-export/xml-utils.js.map +1 -0
- package/dist/_members/perception/activeSpeaker.d.ts +108 -0
- package/dist/_members/perception/activeSpeaker.js +103 -0
- package/dist/_members/perception/audioQuality.d.ts +78 -0
- package/dist/_members/perception/audioQuality.js +76 -0
- package/dist/_members/perception/energyBeat.d.ts +95 -0
- package/dist/_members/perception/energyBeat.js +99 -0
- package/dist/_members/perception/identityMatch.d.ts +80 -0
- package/dist/_members/perception/identityMatch.js +91 -0
- package/dist/_members/perception/index.d.ts +90 -0
- package/dist/_members/perception/index.js +48 -0
- package/dist/_members/perception/visualQuality.d.ts +86 -0
- package/dist/_members/perception/visualQuality.js +95 -0
- package/dist/_members/plane/conformance.d.ts +75 -0
- package/dist/_members/plane/conformance.js +90 -0
- package/dist/_members/plane/contract.d.ts +55 -0
- package/dist/_members/plane/contract.js +49 -0
- package/dist/_members/plane/index.d.ts +16 -0
- package/dist/_members/plane/index.js +16 -0
- package/dist/_members/primitives/backgrounds/animated-bar-chart/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +28 -0
- package/dist/_members/primitives/backgrounds/animated-line-chart/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +29 -0
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/config.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +25 -0
- package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +24 -0
- package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +17 -0
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/config.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +16 -0
- package/dist/_members/primitives/backgrounds/index.d.ts +13 -0
- package/dist/_members/primitives/backgrounds/index.js +32 -0
- package/dist/_members/primitives/backgrounds/index.js.map +1 -0
- package/dist/_members/primitives/backgrounds/infinite-marquee/config.d.ts +36 -0
- package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/config.d.ts +21 -0
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +16 -0
- package/dist/_members/primitives/backgrounds/perspective-marquee/config.d.ts +42 -0
- package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +23 -0
- package/dist/_members/primitives/backgrounds/silk-flow-bg/config.d.ts +36 -0
- package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/vector-field/config.d.ts +30 -0
- package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +25 -0
- package/dist/_members/primitives/backgrounds/volumetric-rays/config.d.ts +33 -0
- package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +30 -0
- package/dist/_members/primitives/captions/Captions.d.ts +33 -0
- package/dist/_members/primitives/captions/index.d.ts +17 -0
- package/dist/_members/primitives/captions/index.js +398 -0
- package/dist/_members/primitives/captions/index.js.map +1 -0
- package/dist/_members/primitives/captions/paginate.d.ts +31 -0
- package/dist/_members/primitives/captions/placement.d.ts +35 -0
- package/dist/_members/primitives/chunk-2LVE4UIT.js +139 -0
- package/dist/_members/primitives/chunk-2LVE4UIT.js.map +1 -0
- package/dist/_members/primitives/chunk-3IQUH6KK.js +20 -0
- package/dist/_members/primitives/chunk-3IQUH6KK.js.map +1 -0
- package/dist/_members/primitives/chunk-3OMURV6Q.js +112 -0
- package/dist/_members/primitives/chunk-3OMURV6Q.js.map +1 -0
- package/dist/_members/primitives/chunk-4IS6TMEG.js +21 -0
- package/dist/_members/primitives/chunk-4IS6TMEG.js.map +1 -0
- package/dist/_members/primitives/chunk-5MWGAEGQ.js +1644 -0
- package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +1 -0
- package/dist/_members/primitives/chunk-7RRPFPQK.js +15 -0
- package/dist/_members/primitives/chunk-7RRPFPQK.js.map +1 -0
- package/dist/_members/primitives/chunk-DH5TRZK2.js +125 -0
- package/dist/_members/primitives/chunk-DH5TRZK2.js.map +1 -0
- package/dist/_members/primitives/chunk-E3KNUSFG.js +2337 -0
- package/dist/_members/primitives/chunk-E3KNUSFG.js.map +1 -0
- package/dist/_members/primitives/chunk-G2B3G4HK.js +47 -0
- package/dist/_members/primitives/chunk-G2B3G4HK.js.map +1 -0
- package/dist/_members/primitives/chunk-HFPFGZXT.js +1494 -0
- package/dist/_members/primitives/chunk-HFPFGZXT.js.map +1 -0
- package/dist/_members/primitives/chunk-HIWVFZVH.js +19 -0
- package/dist/_members/primitives/chunk-HIWVFZVH.js.map +1 -0
- package/dist/_members/primitives/chunk-IDAL6G3Y.js +134 -0
- package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +1 -0
- package/dist/_members/primitives/chunk-KNC6JP5F.js +34 -0
- package/dist/_members/primitives/chunk-KNC6JP5F.js.map +1 -0
- package/dist/_members/primitives/chunk-KYRDVZST.js +459 -0
- package/dist/_members/primitives/chunk-KYRDVZST.js.map +1 -0
- package/dist/_members/primitives/chunk-LWLHS2NS.js +3410 -0
- package/dist/_members/primitives/chunk-LWLHS2NS.js.map +1 -0
- package/dist/_members/primitives/chunk-QAQ3P7DR.js +8855 -0
- package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +1 -0
- package/dist/_members/primitives/chunk-ROV2ODWC.js +81 -0
- package/dist/_members/primitives/chunk-ROV2ODWC.js.map +1 -0
- package/dist/_members/primitives/chunk-TCRC2FH3.js +183 -0
- package/dist/_members/primitives/chunk-TCRC2FH3.js.map +1 -0
- package/dist/_members/primitives/chunk-US4YEDAA.js +96 -0
- package/dist/_members/primitives/chunk-US4YEDAA.js.map +1 -0
- package/dist/_members/primitives/chunk-UVKRO5ER.js +13 -0
- package/dist/_members/primitives/chunk-UVKRO5ER.js.map +1 -0
- package/dist/_members/primitives/chunk-W4EIIF2I.js +10 -0
- package/dist/_members/primitives/chunk-W4EIIF2I.js.map +1 -0
- package/dist/_members/primitives/chunk-WPGKIPCO.js +3563 -0
- package/dist/_members/primitives/chunk-WPGKIPCO.js.map +1 -0
- package/dist/_members/primitives/chunk-WZFLEGMD.js +1435 -0
- package/dist/_members/primitives/chunk-WZFLEGMD.js.map +1 -0
- package/dist/_members/primitives/chunk-XHU3WBEI.js +33 -0
- package/dist/_members/primitives/chunk-XHU3WBEI.js.map +1 -0
- package/dist/_members/primitives/chunk-YN7WTZZ7.js +46 -0
- package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +1 -0
- package/dist/_members/primitives/effects/blur/config.d.ts +24 -0
- package/dist/_members/primitives/effects/blur/index.d.ts +29 -0
- package/dist/_members/primitives/effects/color-grade/config.d.ts +30 -0
- package/dist/_members/primitives/effects/color-grade/index.d.ts +35 -0
- package/dist/_members/primitives/effects/grain/config.d.ts +21 -0
- package/dist/_members/primitives/effects/grain/index.d.ts +21 -0
- package/dist/_members/primitives/effects/index.d.ts +12 -0
- package/dist/_members/primitives/effects/index.js +30 -0
- package/dist/_members/primitives/effects/index.js.map +1 -0
- package/dist/_members/primitives/effects/parallax/config.d.ts +21 -0
- package/dist/_members/primitives/effects/parallax/index.d.ts +25 -0
- package/dist/_members/primitives/effects/particles/config.d.ts +33 -0
- package/dist/_members/primitives/effects/particles/index.d.ts +31 -0
- package/dist/_members/primitives/effects/pulsing-indicator/config.d.ts +24 -0
- package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +19 -0
- package/dist/_members/primitives/effects/spotlight-card/config.d.ts +42 -0
- package/dist/_members/primitives/effects/spotlight-card/index.d.ts +25 -0
- package/dist/_members/primitives/effects/spring-pop-in/config.d.ts +27 -0
- package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +22 -0
- package/dist/_members/primitives/effects/success-confetti/config.d.ts +42 -0
- package/dist/_members/primitives/effects/success-confetti/index.d.ts +23 -0
- package/dist/_members/primitives/effects/vignette/config.d.ts +21 -0
- package/dist/_members/primitives/effects/vignette/index.d.ts +23 -0
- package/dist/_members/primitives/hero-text/HeroText.d.ts +29 -0
- package/dist/_members/primitives/hero-text/config.d.ts +46 -0
- package/dist/_members/primitives/hero-text/index.d.ts +18 -0
- package/dist/_members/primitives/hero-text/index.js +14 -0
- package/dist/_members/primitives/hero-text/index.js.map +1 -0
- package/dist/_members/primitives/index.d.ts +21 -0
- package/dist/_members/primitives/index.js +64 -0
- package/dist/_members/primitives/index.js.map +1 -0
- package/dist/_members/primitives/layouts/chat-to-preview-layout/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +19 -0
- package/dist/_members/primitives/layouts/index.d.ts +9 -0
- package/dist/_members/primitives/layouts/index.js +24 -0
- package/dist/_members/primitives/layouts/index.js.map +1 -0
- package/dist/_members/primitives/layouts/infinite-bento-pan/config.d.ts +18 -0
- package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +15 -0
- package/dist/_members/primitives/layouts/letterbox/config.d.ts +18 -0
- package/dist/_members/primitives/layouts/letterbox/index.d.ts +23 -0
- package/dist/_members/primitives/layouts/photo-grid/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/photo-grid/index.d.ts +25 -0
- package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +21 -0
- package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +32 -0
- package/dist/_members/primitives/layouts/split-screen/config.d.ts +15 -0
- package/dist/_members/primitives/layouts/split-screen/index.d.ts +22 -0
- package/dist/_members/primitives/layouts/staggered-bento-grid/config.d.ts +66 -0
- package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +24 -0
- package/dist/_members/primitives/lib/easings.d.ts +47 -0
- package/dist/_members/primitives/lib/easings.js +26 -0
- package/dist/_members/primitives/lib/easings.js.map +1 -0
- package/dist/_members/primitives/lib/index.d.ts +8 -0
- package/dist/_members/primitives/lib/index.js +74 -0
- package/dist/_members/primitives/lib/index.js.map +1 -0
- package/dist/_members/primitives/lib/palette.d.ts +55 -0
- package/dist/_members/primitives/lib/palette.js +72 -0
- package/dist/_members/primitives/lib/palette.js.map +1 -0
- package/dist/_members/primitives/lib/preview.d.ts +36 -0
- package/dist/_members/primitives/lib/preview.js +8 -0
- package/dist/_members/primitives/lib/preview.js.map +1 -0
- package/dist/_members/primitives/lib/schema.d.ts +53 -0
- package/dist/_members/primitives/lib/schema.js +12 -0
- package/dist/_members/primitives/lib/schema.js.map +1 -0
- package/dist/_members/primitives/lib/seeded-random.d.ts +33 -0
- package/dist/_members/primitives/lib/seeded-random.js +14 -0
- package/dist/_members/primitives/lib/seeded-random.js.map +1 -0
- package/dist/_members/primitives/lib/text/contrast.d.ts +27 -0
- package/dist/_members/primitives/lib/text/contrast.js +12 -0
- package/dist/_members/primitives/lib/text/contrast.js.map +1 -0
- package/dist/_members/primitives/lib/text/fill.d.ts +8 -0
- package/dist/_members/primitives/lib/text/fill.js +8 -0
- package/dist/_members/primitives/lib/text/fill.js.map +1 -0
- package/dist/_members/primitives/lib/text/fitText.d.ts +62 -0
- package/dist/_members/primitives/lib/text/fitText.js +10 -0
- package/dist/_members/primitives/lib/text/fitText.js.map +1 -0
- package/dist/_members/primitives/lib/text/marker.d.ts +15 -0
- package/dist/_members/primitives/lib/text/marker.js +8 -0
- package/dist/_members/primitives/lib/text/marker.js.map +1 -0
- package/dist/_members/primitives/lib/text/motion.d.ts +57 -0
- package/dist/_members/primitives/lib/text/motion.js +16 -0
- package/dist/_members/primitives/lib/text/motion.js.map +1 -0
- package/dist/_members/primitives/lib/text/recolor.d.ts +12 -0
- package/dist/_members/primitives/lib/text/recolor.js +8 -0
- package/dist/_members/primitives/lib/text/recolor.js.map +1 -0
- package/dist/_members/primitives/lib/text/spec.d.ts +82 -0
- package/dist/_members/primitives/lib/text/spec.js +1 -0
- package/dist/_members/primitives/lib/text/spec.js.map +1 -0
- package/dist/_members/primitives/lib/text/stage.d.ts +23 -0
- package/dist/_members/primitives/lib/text/stage.js +8 -0
- package/dist/_members/primitives/lib/text/stage.js.map +1 -0
- package/dist/_members/primitives/lib/text/typeface.d.ts +16 -0
- package/dist/_members/primitives/lib/text/typeface.js +8 -0
- package/dist/_members/primitives/lib/text/typeface.js.map +1 -0
- package/dist/_members/primitives/lib/tokens.d.ts +109 -0
- package/dist/_members/primitives/lib/tokens.js +24 -0
- package/dist/_members/primitives/lib/tokens.js.map +1 -0
- package/dist/_members/primitives/lib/types.d.ts +200 -0
- package/dist/_members/primitives/lib/types.js +1 -0
- package/dist/_members/primitives/lib/types.js.map +1 -0
- package/dist/_members/primitives/params-required.json +153 -0
- package/dist/_members/primitives/scenes/changelog-bite/config.d.ts +36 -0
- package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +28 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +24 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +16 -0
- package/dist/_members/primitives/scenes/index.d.ts +9 -0
- package/dist/_members/primitives/scenes/index.js +25 -0
- package/dist/_members/primitives/scenes/index.js.map +1 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/config.d.ts +15 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +15 -0
- package/dist/_members/primitives/scenes/landing-code-showcase/timeline.d.ts +15 -0
- package/dist/_members/primitives/scenes/live-code-compilation/config.d.ts +15 -0
- package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +14 -0
- package/dist/_members/primitives/scenes/pricing-tier-focus/config.d.ts +21 -0
- package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +15 -0
- package/dist/_members/primitives/scenes/product-launch-trailer/config.d.ts +33 -0
- package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +20 -0
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/config.d.ts +21 -0
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +15 -0
- package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +43 -0
- package/dist/_members/primitives/subject-foreground/index.d.ts +23 -0
- package/dist/_members/primitives/subject-foreground/index.js +30 -0
- package/dist/_members/primitives/subject-foreground/index.js.map +1 -0
- package/dist/_members/primitives/text/blur-reveal/config.d.ts +30 -0
- package/dist/_members/primitives/text/blur-reveal/index.d.ts +20 -0
- package/dist/_members/primitives/text/cinematic-title/config.d.ts +87 -0
- package/dist/_members/primitives/text/cinematic-title/index.d.ts +31 -0
- package/dist/_members/primitives/text/index.d.ts +23 -0
- package/dist/_members/primitives/text/index.js +57 -0
- package/dist/_members/primitives/text/index.js.map +1 -0
- package/dist/_members/primitives/text/inline-highlight/config.d.ts +36 -0
- package/dist/_members/primitives/text/inline-highlight/index.d.ts +24 -0
- package/dist/_members/primitives/text/karaoke/config.d.ts +108 -0
- package/dist/_members/primitives/text/karaoke/index.d.ts +32 -0
- package/dist/_members/primitives/text/kinetic-type/config.d.ts +60 -0
- package/dist/_members/primitives/text/kinetic-type/index.d.ts +29 -0
- package/dist/_members/primitives/text/lower-third/config.d.ts +84 -0
- package/dist/_members/primitives/text/lower-third/index.d.ts +30 -0
- package/dist/_members/primitives/text/marker-highlight/config.d.ts +39 -0
- package/dist/_members/primitives/text/marker-highlight/index.d.ts +24 -0
- package/dist/_members/primitives/text/masked-slide-reveal/config.d.ts +30 -0
- package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +19 -0
- package/dist/_members/primitives/text/matrix-decode/config.d.ts +33 -0
- package/dist/_members/primitives/text/matrix-decode/index.d.ts +21 -0
- package/dist/_members/primitives/text/quote-card/config.d.ts +21 -0
- package/dist/_members/primitives/text/quote-card/index.d.ts +23 -0
- package/dist/_members/primitives/text/rgb-glitch-text/config.d.ts +39 -0
- package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +27 -0
- package/dist/_members/primitives/text/shimmer-sweep/config.d.ts +30 -0
- package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +21 -0
- package/dist/_members/primitives/text/slot-machine-roll/config.d.ts +30 -0
- package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +19 -0
- package/dist/_members/primitives/text/staggered-fade-up/config.d.ts +39 -0
- package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +26 -0
- package/dist/_members/primitives/text/stat-counter/config.d.ts +33 -0
- package/dist/_members/primitives/text/stat-counter/index.d.ts +31 -0
- package/dist/_members/primitives/text/strikethrough-replace/config.d.ts +33 -0
- package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +21 -0
- package/dist/_members/primitives/text/text-effect/config.d.ts +24 -0
- package/dist/_members/primitives/text/text-effect/index.d.ts +29 -0
- package/dist/_members/primitives/text/text-fade-replace/config.d.ts +30 -0
- package/dist/_members/primitives/text/text-fade-replace/index.d.ts +19 -0
- package/dist/_members/primitives/text/token-stream/config.d.ts +21 -0
- package/dist/_members/primitives/text/token-stream/index.d.ts +25 -0
- package/dist/_members/primitives/text/tracking-in/config.d.ts +33 -0
- package/dist/_members/primitives/text/tracking-in/index.d.ts +21 -0
- package/dist/_members/primitives/text/typewriter/config.d.ts +36 -0
- package/dist/_members/primitives/text/typewriter/index.d.ts +26 -0
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +19 -0
- package/dist/_members/primitives/transitions/code-diff-wipe/config.d.ts +36 -0
- package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +21 -0
- package/dist/_members/primitives/transitions/directional-wipe/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/frosted-glass-wipe/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/glitch-cut/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +21 -0
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +24 -0
- package/dist/_members/primitives/transitions/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/index.js +67 -0
- package/dist/_members/primitives/transitions/index.js.map +1 -0
- package/dist/_members/primitives/transitions/ink-wipe/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +13 -0
- package/dist/_members/primitives/transitions/kinetic-type-mask/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +20 -0
- package/dist/_members/primitives/transitions/light-leak/config.d.ts +15 -0
- package/dist/_members/primitives/transitions/light-leak/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/luma-matte/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/luma-matte/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/morph/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/morph/index.d.ts +11 -0
- package/dist/_members/primitives/transitions/spatial-push/config.d.ts +12 -0
- package/dist/_members/primitives/transitions/spatial-push/index.d.ts +17 -0
- package/dist/_members/primitives/transitions/swipe-transition-wipe/config.d.ts +18 -0
- package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +22 -0
- package/dist/_members/primitives/transitions/zoom-through/config.d.ts +39 -0
- package/dist/_members/primitives/transitions/zoom-through/index.d.ts +12 -0
- package/dist/_members/primitives/transitions/zoom-through-transition/config.d.ts +24 -0
- package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/config.d.ts +48 -0
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +25 -0
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +16 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/before-after-slider/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/benchmark-bars/config.d.ts +86 -0
- package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +25 -0
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/browser-flow/config.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/config.d.ts +36 -0
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +32 -0
- package/dist/_members/primitives/ui-blocks/chat-exchange/config.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/code-accordion/config.d.ts +42 -0
- package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/context-meter/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/cursor-flow/config.d.ts +84 -0
- package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +29 -0
- package/dist/_members/primitives/ui-blocks/dashboard-populate/config.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/config.d.ts +120 -0
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +34 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +19 -0
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +17 -0
- package/dist/_members/primitives/ui-blocks/eval-scorecard/config.d.ts +48 -0
- package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/glass-code-block/config.d.ts +39 -0
- package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +22 -0
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/config.d.ts +141 -0
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +32 -0
- package/dist/_members/primitives/ui-blocks/index.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/index.js +76 -0
- package/dist/_members/primitives/ui-blocks/index.js.map +1 -0
- package/dist/_members/primitives/ui-blocks/metric-gauge/config.d.ts +46 -0
- package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/morphing-modal/config.d.ts +141 -0
- package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +35 -0
- package/dist/_members/primitives/ui-blocks/pipeline-journey/config.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +15 -0
- package/dist/_members/primitives/ui-blocks/progress-steps/config.d.ts +51 -0
- package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +22 -0
- package/dist/_members/primitives/ui-blocks/reasoning-trace/config.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +18 -0
- package/dist/_members/primitives/ui-blocks/simulated-cursor/config.d.ts +69 -0
- package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +23 -0
- package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +63 -0
- package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +39 -0
- package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +21 -0
- package/dist/_members/primitives/ui-blocks/tool-call-stack/config.d.ts +54 -0
- package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/config.d.ts +33 -0
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +20 -0
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/config.d.ts +90 -0
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +27 -0
- package/dist/_members/primitives/ui-blocks/voice-waveform/config.d.ts +24 -0
- package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +20 -0
- package/dist/_members/primitives/version-map.json +105 -0
- package/dist/_members/primitives/workspace.d.ts +51 -0
- package/dist/_members/primitives/workspace.js +60 -0
- package/dist/_members/primitives/workspace.js.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts +64 -0
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -0
- package/dist/_members/render-harness/contractRender.d.ts +43 -0
- package/dist/_members/render-harness/contractRender.d.ts.map +1 -0
- package/dist/_members/render-harness/extractSegments.d.ts +53 -0
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -0
- package/dist/_members/render-harness/index.d.ts +30 -0
- package/dist/_members/render-harness/index.d.ts.map +1 -0
- package/dist/_members/render-harness/localRender.d.ts +167 -0
- package/dist/_members/render-harness/localRender.d.ts.map +1 -0
- package/dist/_members/render-harness/materializeSources.d.ts +29 -0
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -0
- package/dist/_members/render-harness/mediaServer.d.ts +22 -0
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts +63 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -0
- package/dist/_members/render-harness/resolveAssets.d.ts +33 -0
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -0
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +23 -0
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -0
- package/dist/account-model/testing.d.ts +1 -0
- package/dist/account-model/testing.js +145 -0
- package/dist/account-model/types.d.ts +1 -0
- package/dist/account-model/types.js +0 -0
- package/dist/account-model/validators.d.ts +1 -0
- package/dist/account-model/validators.js +26 -0
- package/dist/account-model.d.ts +1 -0
- package/dist/account-model.js +26 -0
- package/dist/animate.d.ts +1 -0
- package/dist/animate.js +79412 -0
- package/dist/authoring/build-tools.d.ts +1 -0
- package/dist/authoring/build-tools.js +29 -0
- package/dist/authoring/capabilities.d.ts +1 -0
- package/dist/authoring/capabilities.js +11 -0
- package/dist/authoring/composer.d.ts +1 -0
- package/dist/authoring/composer.js +53 -0
- package/dist/authoring/context.d.ts +1 -0
- package/dist/authoring/context.js +14 -0
- package/dist/authoring/models.d.ts +1 -0
- package/dist/authoring/models.js +14 -0
- package/dist/authoring/pipelineTrace.d.ts +1 -0
- package/dist/authoring/pipelineTrace.js +7 -0
- package/dist/authoring/prompts.d.ts +1 -0
- package/dist/authoring/prompts.js +29 -0
- package/dist/authoring/providers.d.ts +1 -0
- package/dist/authoring/providers.js +99 -0
- package/dist/authoring/resource-routing.d.ts +1 -0
- package/dist/authoring/resource-routing.js +206 -0
- package/dist/authoring/resources.d.ts +1 -0
- package/dist/authoring/resources.js +35 -0
- package/dist/authoring/tools.d.ts +1 -0
- package/dist/authoring/tools.js +29 -0
- package/dist/authoring/transpileComponent.d.ts +1 -0
- package/dist/authoring/transpileComponent.js +2248 -0
- package/dist/authoring/transpileHelper.d.ts +1 -0
- package/dist/authoring/transpileHelper.js +9 -0
- package/dist/authoring/types.d.ts +1 -0
- package/dist/authoring/types.js +0 -0
- package/dist/authoring.d.ts +1 -0
- package/dist/authoring.js +1295 -0
- package/dist/brand-derivation/constants.d.ts +1 -0
- package/dist/brand-derivation/constants.js +11 -0
- package/dist/brand-derivation.d.ts +1 -0
- package/dist/brand-derivation.js +23 -0
- package/dist/chunk-2ESYSVXG.js +48 -0
- package/dist/chunk-37NJ27UU.js +501 -0
- package/dist/chunk-52AHXNKM.js +435 -0
- package/dist/chunk-5I7VDCAC.js +15647 -0
- package/dist/chunk-6CMVBTTP.js +1933 -0
- package/dist/chunk-6EQXLEP6.js +194 -0
- package/dist/chunk-6QJ3V3VS.js +1444 -0
- package/dist/chunk-7DHP4ESU.js +138 -0
- package/dist/chunk-7GISRVON.js +14176 -0
- package/dist/chunk-7PA7FGLD.js +609 -0
- package/dist/chunk-ATAF24QG.js +735 -0
- package/dist/chunk-AWT3P5ZN.js +1609 -0
- package/dist/chunk-B4VMU2IJ.js +211 -0
- package/dist/chunk-BDMTUEEZ.js +19 -0
- package/dist/chunk-BRKJKB33.js +683 -0
- package/dist/chunk-CX2IIQ4R.js +111 -0
- package/dist/chunk-D2EG7J7X.js +31 -0
- package/dist/chunk-DENF4TPI.js +249 -0
- package/dist/chunk-DIBOJJMU.js +16838 -0
- package/dist/chunk-DLF4WVSE.js +9 -0
- package/dist/chunk-DSNG6WLU.js +82 -0
- package/dist/chunk-EA6MYCYW.js +135 -0
- package/dist/chunk-EAUSEGB7.js +420 -0
- package/dist/chunk-ELLSET2N.js +195 -0
- package/dist/chunk-EMGFZ3PR.js +14 -0
- package/dist/chunk-FUWJOVVK.js +3633 -0
- package/dist/chunk-G3PBH53P.js +85 -0
- package/dist/chunk-G75E7YA4.js +11883 -0
- package/dist/chunk-GBRNYH7W.js +72 -0
- package/dist/chunk-GH27OS5S.js +104 -0
- package/dist/chunk-GULDS3VE.js +41 -0
- package/dist/chunk-H5LMJKZU.js +0 -0
- package/dist/chunk-HI4UTTPS.js +954 -0
- package/dist/chunk-JCZQT7K3.js +3266 -0
- package/dist/chunk-JD77Y2WM.js +3423 -0
- package/dist/chunk-JF4JJAFP.js +10 -0
- package/dist/chunk-JMURQODM.js +438 -0
- package/dist/chunk-JOURGVOR.js +27 -0
- package/dist/chunk-JRQVPFLF.js +459 -0
- package/dist/chunk-KF5ETMKB.js +544 -0
- package/dist/chunk-KYRDKK2D.js +47 -0
- package/dist/chunk-LD5ZOUFT.js +55 -0
- package/dist/chunk-M3I5LMAB.js +426 -0
- package/dist/chunk-MC5DLSEV.js +202 -0
- package/dist/chunk-MCBUX5XV.js +70 -0
- package/dist/chunk-MFHXCHRI.js +33 -0
- package/dist/chunk-MMEJ3Y7E.js +327 -0
- package/dist/chunk-MVEE6HEC.js +8512 -0
- package/dist/chunk-N67PDTKQ.js +1419 -0
- package/dist/chunk-NDKERSXY.js +1296 -0
- package/dist/chunk-NV4I6GJV.js +1091 -0
- package/dist/chunk-OIRUO5P7.js +397 -0
- package/dist/chunk-P43IE4WB.js +181 -0
- package/dist/chunk-QGAWDLYX.js +92 -0
- package/dist/chunk-QH3YI3ND.js +100 -0
- package/dist/chunk-QLAQHR3L.js +254 -0
- package/dist/chunk-RHVLQNYF.js +20 -0
- package/dist/chunk-S3P5BFFL.js +2265 -0
- package/dist/chunk-SIGGQRY2.js +8483 -0
- package/dist/chunk-TULRCY6U.js +729 -0
- package/dist/chunk-TWQOKKAF.js +859 -0
- package/dist/chunk-U3JPILZS.js +15 -0
- package/dist/chunk-U4V4FZGE.js +20 -0
- package/dist/chunk-UEI3NLNK.js +127 -0
- package/dist/chunk-V43Y7IE4.js +3621 -0
- package/dist/chunk-VIVQHIGZ.js +4319 -0
- package/dist/chunk-W35ZMOXB.js +23 -0
- package/dist/chunk-WB2VFDQZ.js +58 -0
- package/dist/chunk-WREYUH2E.js +104 -0
- package/dist/chunk-WZTTZHNR.js +3339 -0
- package/dist/chunk-XELS2BGA.js +13 -0
- package/dist/chunk-XLIPPLG3.js +18 -0
- package/dist/chunk-YA3OR2KK.js +249 -0
- package/dist/chunk-ZE76SSRT.js +358 -0
- package/dist/chunk-ZFEXATWN.js +46 -0
- package/dist/chunk-ZSZABOE5.js +425 -0
- package/dist/compose/renderer.d.ts +1 -0
- package/dist/compose/renderer.js +173 -0
- package/dist/compose.d.ts +1 -0
- package/dist/compose.js +76 -0
- package/dist/composition/audio.d.ts +1 -0
- package/dist/composition/audio.js +63 -0
- package/dist/composition/autozoom.d.ts +1 -0
- package/dist/composition/autozoom.js +76 -0
- package/dist/composition/brand-kit.d.ts +1 -0
- package/dist/composition/brand-kit.js +34 -0
- package/dist/composition/brief.d.ts +1 -0
- package/dist/composition/brief.js +112 -0
- package/dist/composition/depth.d.ts +1 -0
- package/dist/composition/depth.js +12 -0
- package/dist/composition/fixtures.d.ts +1 -0
- package/dist/composition/fixtures.js +154 -0
- package/dist/composition/fonts.d.ts +1 -0
- package/dist/composition/fonts.js +74 -0
- package/dist/composition/graphics-plan.d.ts +1 -0
- package/dist/composition/graphics-plan.js +400 -0
- package/dist/composition/invariants.d.ts +1 -0
- package/dist/composition/invariants.js +49 -0
- package/dist/composition/ops.d.ts +1 -0
- package/dist/composition/ops.js +53 -0
- package/dist/composition/primitive-catalog.d.ts +1 -0
- package/dist/composition/primitive-catalog.js +60 -0
- package/dist/composition/projection.d.ts +1 -0
- package/dist/composition/projection.js +119 -0
- package/dist/composition/reframe/coverage.d.ts +1 -0
- package/dist/composition/reframe/coverage.js +20 -0
- package/dist/composition/reframe/kenBurns.d.ts +1 -0
- package/dist/composition/reframe/kenBurns.js +53 -0
- package/dist/composition/reframe/shotScale.d.ts +1 -0
- package/dist/composition/reframe/shotScale.js +25 -0
- package/dist/composition/reframe/trajectory.d.ts +1 -0
- package/dist/composition/reframe/trajectory.js +17 -0
- package/dist/composition/reframe.d.ts +1 -0
- package/dist/composition/reframe.js +39 -0
- package/dist/composition/timeline.d.ts +1 -0
- package/dist/composition/timeline.js +70 -0
- package/dist/composition/types.d.ts +1 -0
- package/dist/composition/types.js +0 -0
- package/dist/composition/validators/graphic-kinds.d.ts +1 -0
- package/dist/composition/validators/graphic-kinds.js +9 -0
- package/dist/composition/validators.d.ts +1 -0
- package/dist/composition/validators.js +180 -0
- package/dist/composition-ops.d.ts +1 -0
- package/dist/composition-ops.js +882 -0
- package/dist/composition.d.ts +1 -0
- package/dist/composition.js +433 -0
- package/dist/context-CEAKQ5T7.js +14 -0
- package/dist/core/render.d.ts +1 -0
- package/dist/core/render.js +105 -0
- package/dist/core/select.d.ts +1 -0
- package/dist/core/select.js +42 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/core/types.js +0 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +38 -0
- package/dist/dist-LAJ2363K.js +545 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.js +17 -0
- package/dist/foundation/codes.d.ts +1 -0
- package/dist/foundation/codes.js +7 -0
- package/dist/foundation/primitives.d.ts +1 -0
- package/dist/foundation/primitives.js +13 -0
- package/dist/foundation.d.ts +1 -0
- package/dist/foundation.js +17 -0
- package/dist/hls-HD4C5G6W.js +33000 -0
- package/dist/magic-string.es-SDTMJBWP.js +1308 -0
- package/dist/mcp/adapter.d.ts +1 -0
- package/dist/mcp/adapter.js +670 -0
- package/dist/mcp/core.d.ts +1 -0
- package/dist/mcp/core.js +41 -0
- package/dist/mcp/curation.d.ts +1 -0
- package/dist/mcp/curation.js +23 -0
- package/dist/mcp/executor.d.ts +1 -0
- package/dist/mcp/executor.js +13 -0
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +27 -0
- package/dist/mcp.d.ts +1 -0
- package/dist/mcp.js +138 -0
- package/dist/media-model/media-kind.d.ts +1 -0
- package/dist/media-model/media-kind.js +108 -0
- package/dist/media-model/testing.d.ts +1 -0
- package/dist/media-model/testing.js +16029 -0
- package/dist/media-model/transcriptSearch.d.ts +1 -0
- package/dist/media-model/transcriptSearch.js +32 -0
- package/dist/media-model.d.ts +1 -0
- package/dist/media-model.js +154 -0
- package/dist/nle-export/server.d.ts +1 -0
- package/dist/nle-export/server.js +25658 -0
- package/dist/nle-export/xml.d.ts +1 -0
- package/dist/nle-export/xml.js +23102 -0
- package/dist/nle-export.d.ts +1 -0
- package/dist/nle-export.js +313 -0
- package/dist/perception.d.ts +1 -0
- package/dist/perception.js +145 -0
- package/dist/plane/conformance.d.ts +1 -0
- package/dist/plane/conformance.js +13 -0
- package/dist/plane/contract.d.ts +1 -0
- package/dist/plane/contract.js +31 -0
- package/dist/plane.d.ts +1 -0
- package/dist/plane.js +13 -0
- package/dist/primitives/backgrounds.d.ts +1 -0
- package/dist/primitives/backgrounds.js +32 -0
- package/dist/primitives/captions.d.ts +1 -0
- package/dist/primitives/captions.js +629 -0
- package/dist/primitives/effects.d.ts +1 -0
- package/dist/primitives/effects.js +30 -0
- package/dist/primitives/hero-text.d.ts +1 -0
- package/dist/primitives/hero-text.js +14 -0
- package/dist/primitives/layouts.d.ts +1 -0
- package/dist/primitives/layouts.js +24 -0
- package/dist/primitives/lib/easings.d.ts +1 -0
- package/dist/primitives/lib/easings.js +25 -0
- package/dist/primitives/lib/index.d.ts +1 -0
- package/dist/primitives/lib/index.js +78 -0
- package/dist/primitives/lib/palette.d.ts +1 -0
- package/dist/primitives/lib/palette.js +71 -0
- package/dist/primitives/lib/preview.d.ts +1 -0
- package/dist/primitives/lib/preview.js +8 -0
- package/dist/primitives/lib/schema.d.ts +1 -0
- package/dist/primitives/lib/schema.js +12 -0
- package/dist/primitives/lib/seeded-random.d.ts +1 -0
- package/dist/primitives/lib/seeded-random.js +13 -0
- package/dist/primitives/lib/text/contrast.d.ts +1 -0
- package/dist/primitives/lib/text/contrast.js +11 -0
- package/dist/primitives/lib/text/fill.d.ts +1 -0
- package/dist/primitives/lib/text/fill.js +7 -0
- package/dist/primitives/lib/text/fitText.d.ts +1 -0
- package/dist/primitives/lib/text/fitText.js +10 -0
- package/dist/primitives/lib/text/marker.d.ts +1 -0
- package/dist/primitives/lib/text/marker.js +7 -0
- package/dist/primitives/lib/text/motion.d.ts +1 -0
- package/dist/primitives/lib/text/motion.js +15 -0
- package/dist/primitives/lib/text/recolor.d.ts +1 -0
- package/dist/primitives/lib/text/recolor.js +7 -0
- package/dist/primitives/lib/text/spec.d.ts +1 -0
- package/dist/primitives/lib/text/spec.js +0 -0
- package/dist/primitives/lib/text/stage.d.ts +1 -0
- package/dist/primitives/lib/text/stage.js +7 -0
- package/dist/primitives/lib/text/typeface.d.ts +1 -0
- package/dist/primitives/lib/text/typeface.js +7 -0
- package/dist/primitives/lib/tokens.d.ts +1 -0
- package/dist/primitives/lib/tokens.js +24 -0
- package/dist/primitives/lib/types.d.ts +1 -0
- package/dist/primitives/lib/types.js +0 -0
- package/dist/primitives/lib.d.ts +1 -0
- package/dist/primitives/lib.js +78 -0
- package/dist/primitives/params-required.json +153 -0
- package/dist/primitives/scenes.d.ts +1 -0
- package/dist/primitives/scenes.js +25 -0
- package/dist/primitives/subject-foreground.d.ts +1 -0
- package/dist/primitives/subject-foreground.js +28 -0
- package/dist/primitives/text.d.ts +1 -0
- package/dist/primitives/text.js +57 -0
- package/dist/primitives/transitions.d.ts +1 -0
- package/dist/primitives/transitions.js +66 -0
- package/dist/primitives/ui-blocks.d.ts +1 -0
- package/dist/primitives/ui-blocks.js +76 -0
- package/dist/primitives/version-map.json +105 -0
- package/dist/primitives/workspace.d.ts +1 -0
- package/dist/primitives/workspace.js +25 -0
- package/dist/primitives.d.ts +1 -0
- package/dist/primitives.js +65 -0
- package/dist/render-harness/sandboxGlobalSpecs.d.ts +1 -0
- package/dist/render-harness/sandboxGlobalSpecs.js +13 -0
- package/dist/render-harness.d.ts +1 -0
- package/dist/render-harness.js +1019 -0
- package/dist/token-RGFIT24D.js +69 -0
- package/dist/token-util-GPLSGYVO.js +5 -0
- package/dist/vision_bundle-5Y376MAR.js +4084 -0
- package/package.json +493 -0
|
@@ -0,0 +1,1295 @@
|
|
|
1
|
+
import {
|
|
2
|
+
anthropic,
|
|
3
|
+
buildFastModel,
|
|
4
|
+
buildModel,
|
|
5
|
+
makeLangfuseFetch
|
|
6
|
+
} from "./chunk-DIBOJJMU.js";
|
|
7
|
+
import {
|
|
8
|
+
PipelineTrace
|
|
9
|
+
} from "./chunk-LD5ZOUFT.js";
|
|
10
|
+
import {
|
|
11
|
+
CODE_GEN_FEW_SHOT_EXAMPLES,
|
|
12
|
+
COMPONENT_CONTRACT,
|
|
13
|
+
DESIGN_QUALITY_RULES,
|
|
14
|
+
DESIGN_REVIEWER_PROMPT,
|
|
15
|
+
DESIGN_REVIEWER_TOOLS,
|
|
16
|
+
EVALUATOR_PROMPT,
|
|
17
|
+
PLANNING_INSTRUCTIONS,
|
|
18
|
+
TOOLKIT_REFERENCE,
|
|
19
|
+
buildExecutionTask,
|
|
20
|
+
buildPlannerUserMessage,
|
|
21
|
+
formatPlanSteps,
|
|
22
|
+
initCodeGenPrompts
|
|
23
|
+
} from "./chunk-M3I5LMAB.js";
|
|
24
|
+
import {
|
|
25
|
+
ZERO_USAGE,
|
|
26
|
+
buildDirectorTools,
|
|
27
|
+
buildPlannerTools,
|
|
28
|
+
buildToolsFromSchemas,
|
|
29
|
+
extractProviderError
|
|
30
|
+
} from "./chunk-ELLSET2N.js";
|
|
31
|
+
import {
|
|
32
|
+
ToolLoopAgent,
|
|
33
|
+
generateObject,
|
|
34
|
+
generateText,
|
|
35
|
+
isStepCount,
|
|
36
|
+
pruneMessages
|
|
37
|
+
} from "./chunk-7GISRVON.js";
|
|
38
|
+
import "./chunk-KF5ETMKB.js";
|
|
39
|
+
import "./chunk-VIVQHIGZ.js";
|
|
40
|
+
import {
|
|
41
|
+
COMPOSE_MOTION_TOOLS,
|
|
42
|
+
COMPOSE_MOTION_VERIFY_TOOLS,
|
|
43
|
+
COMPOSE_PLANNER_REPAIR_TOOLS,
|
|
44
|
+
COMPOSE_PLANNER_TOOLS,
|
|
45
|
+
COMPOSE_ROLE_TOOLS,
|
|
46
|
+
COMPOSE_ROLE_TOOL_NAMES,
|
|
47
|
+
dispatchComposeRoleTool
|
|
48
|
+
} from "./chunk-52AHXNKM.js";
|
|
49
|
+
import {
|
|
50
|
+
AgentFixableCaptureError,
|
|
51
|
+
getExcludedTools
|
|
52
|
+
} from "./chunk-JOURGVOR.js";
|
|
53
|
+
import {
|
|
54
|
+
buildDirectorContext
|
|
55
|
+
} from "./chunk-QLAQHR3L.js";
|
|
56
|
+
import "./chunk-5I7VDCAC.js";
|
|
57
|
+
import "./chunk-NV4I6GJV.js";
|
|
58
|
+
import "./chunk-OIRUO5P7.js";
|
|
59
|
+
import {
|
|
60
|
+
cssLayoutVars
|
|
61
|
+
} from "./chunk-BRKJKB33.js";
|
|
62
|
+
import "./chunk-V43Y7IE4.js";
|
|
63
|
+
import "./chunk-JF4JJAFP.js";
|
|
64
|
+
import "./chunk-TULRCY6U.js";
|
|
65
|
+
import "./chunk-ATAF24QG.js";
|
|
66
|
+
import "./chunk-W35ZMOXB.js";
|
|
67
|
+
import "./chunk-EA6MYCYW.js";
|
|
68
|
+
import "./chunk-7PA7FGLD.js";
|
|
69
|
+
import "./chunk-KYRDKK2D.js";
|
|
70
|
+
import "./chunk-WREYUH2E.js";
|
|
71
|
+
import "./chunk-37NJ27UU.js";
|
|
72
|
+
import "./chunk-2ESYSVXG.js";
|
|
73
|
+
|
|
74
|
+
// ../authoring/src/agent/contextManagement.ts
|
|
75
|
+
var EVICTED_IMAGE_STUB = "[capture still evicted to save context \u2014 the frame was seen and acted on; re-capture ONLY if you must re-verify pixels]";
|
|
76
|
+
function outputHasMedia(output) {
|
|
77
|
+
if (!output || typeof output !== "object") return false;
|
|
78
|
+
const o = output;
|
|
79
|
+
if (o.type === "content" && Array.isArray(o.value)) {
|
|
80
|
+
return o.value.some(
|
|
81
|
+
(p) => p && typeof p === "object" && p.type === "media"
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
function evictImagesFromMessage(message, pinned) {
|
|
87
|
+
const msg = message;
|
|
88
|
+
if (msg.role !== "tool" || !Array.isArray(msg.content)) return message;
|
|
89
|
+
let changed = false;
|
|
90
|
+
const content = msg.content.map((part) => {
|
|
91
|
+
const p = part;
|
|
92
|
+
if (p?.type === "tool-result" && outputHasMedia(p.output)) {
|
|
93
|
+
if (pinned && p.toolName && pinned.has(p.toolName)) return part;
|
|
94
|
+
changed = true;
|
|
95
|
+
return { ...p, output: { type: "text", value: EVICTED_IMAGE_STUB } };
|
|
96
|
+
}
|
|
97
|
+
return part;
|
|
98
|
+
});
|
|
99
|
+
return changed ? { ...msg, content } : message;
|
|
100
|
+
}
|
|
101
|
+
function buildPrepareStep(policy) {
|
|
102
|
+
const keep = Math.max(1, Math.floor(policy.keepRecentToolMessages ?? 2));
|
|
103
|
+
if (policy.evictImagesOnly) {
|
|
104
|
+
const pinned = policy.pinnedTools?.length ? new Set(policy.pinnedTools) : void 0;
|
|
105
|
+
return ({ messages }) => {
|
|
106
|
+
const cutoff = Math.max(0, messages.length - keep);
|
|
107
|
+
const withStubs = messages.map((m, i) => i < cutoff ? evictImagesFromMessage(m, pinned) : m);
|
|
108
|
+
return {
|
|
109
|
+
messages: pruneMessages({
|
|
110
|
+
messages: withStubs,
|
|
111
|
+
// Effectively "never" — tool calls/results are managed above.
|
|
112
|
+
toolCalls: `before-last-${99999}-messages`,
|
|
113
|
+
reasoning: "before-last-message",
|
|
114
|
+
emptyMessages: "remove"
|
|
115
|
+
})
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const toolCalls = `before-last-${keep}-messages`;
|
|
120
|
+
return ({ messages }) => ({
|
|
121
|
+
messages: pruneMessages({
|
|
122
|
+
messages,
|
|
123
|
+
toolCalls,
|
|
124
|
+
// Coupled to tool-call pruning, never 'none': see pruneReasoning above —
|
|
125
|
+
// older turns lose thinking WHOLESALE (valid) instead of keeping a
|
|
126
|
+
// signed thinking block on a message whose tool_use was pruned (400).
|
|
127
|
+
reasoning: "before-last-message",
|
|
128
|
+
emptyMessages: "remove"
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// ../authoring/src/agent/promptCache.ts
|
|
134
|
+
function isAnthropicModel(model) {
|
|
135
|
+
if (typeof model === "string") {
|
|
136
|
+
return model.includes("anthropic") || model.includes("claude");
|
|
137
|
+
}
|
|
138
|
+
return model.provider.includes("anthropic") || model.modelId.includes("anthropic") || model.modelId.includes("claude");
|
|
139
|
+
}
|
|
140
|
+
function addCacheControlToLastMessage(messages) {
|
|
141
|
+
if (messages.length === 0) return messages;
|
|
142
|
+
return messages.map(
|
|
143
|
+
(message, i) => i === messages.length - 1 ? {
|
|
144
|
+
...message,
|
|
145
|
+
providerOptions: {
|
|
146
|
+
...message.providerOptions,
|
|
147
|
+
anthropic: {
|
|
148
|
+
...message.providerOptions?.anthropic ?? {},
|
|
149
|
+
cacheControl: { type: "ephemeral" }
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
} : message
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
var cachePrepareStep = ({ model, messages }) => ({
|
|
156
|
+
messages: isAnthropicModel(model) ? addCacheControlToLastMessage(messages) : messages
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
// ../authoring/src/evaluate.ts
|
|
160
|
+
import { z } from "zod";
|
|
161
|
+
var CriterionResultSchema = z.object({
|
|
162
|
+
name: z.string(),
|
|
163
|
+
passed: z.boolean(),
|
|
164
|
+
feedback: z.string().optional()
|
|
165
|
+
});
|
|
166
|
+
var CriteriaEvaluationSchema = z.object({
|
|
167
|
+
criteria: z.array(CriterionResultSchema)
|
|
168
|
+
});
|
|
169
|
+
var CRITERIA_EVALUATOR_PROMPT = `You are a strict QA evaluator. For each criterion you are given, determine whether the work passes or fails.
|
|
170
|
+
|
|
171
|
+
RULES:
|
|
172
|
+
- Evaluate each criterion independently.
|
|
173
|
+
- "Pass" means the criterion is clearly met \u2014 not "close enough".
|
|
174
|
+
- If something is ambiguous, it fails. Err on the side of strictness.
|
|
175
|
+
- When you fail a criterion, provide specific, actionable feedback explaining what's wrong and how to fix it.
|
|
176
|
+
- When you pass a criterion, feedback is optional but can note what was done well.
|
|
177
|
+
- Base your evaluation only on the evidence provided (text, state JSON, or images).
|
|
178
|
+
|
|
179
|
+
OUTPUT: Return a JSON object with a "criteria" array containing one entry per criterion.`;
|
|
180
|
+
async function evaluate(options) {
|
|
181
|
+
const { model, task, criteria, compositionState, artifact, frames } = options;
|
|
182
|
+
const criteriaList = Object.entries(criteria).map(([name, desc], i) => `${i + 1}. ${name}: ${desc}`).join("\n");
|
|
183
|
+
const contentParts = [];
|
|
184
|
+
let mainText = `TASK: ${task}
|
|
185
|
+
|
|
186
|
+
CRITERIA TO EVALUATE:
|
|
187
|
+
${criteriaList}`;
|
|
188
|
+
if (compositionState) {
|
|
189
|
+
mainText += `
|
|
190
|
+
|
|
191
|
+
COMPOSITION STATE:
|
|
192
|
+
${compositionState}`;
|
|
193
|
+
}
|
|
194
|
+
if (artifact) {
|
|
195
|
+
mainText += `
|
|
196
|
+
|
|
197
|
+
ARTIFACT:
|
|
198
|
+
${artifact}`;
|
|
199
|
+
}
|
|
200
|
+
contentParts.push({ type: "text", text: mainText });
|
|
201
|
+
if (frames?.length) {
|
|
202
|
+
for (const frame of frames) {
|
|
203
|
+
contentParts.push({ type: "image", image: frame });
|
|
204
|
+
}
|
|
205
|
+
contentParts.push({
|
|
206
|
+
type: "text",
|
|
207
|
+
text: `
|
|
208
|
+
Above are ${frames.length} captured frames. Use them to evaluate visual criteria.`
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
const { object } = await generateObject({
|
|
212
|
+
model,
|
|
213
|
+
schema: CriteriaEvaluationSchema,
|
|
214
|
+
instructions: CRITERIA_EVALUATOR_PROMPT,
|
|
215
|
+
messages: [{ role: "user", content: contentParts }],
|
|
216
|
+
// One verbose feedback string per criterion; an 8-9 criterion evaluation
|
|
217
|
+
// runs ~2.5-4k tokens. A tighter cap truncates the JSON mid-string.
|
|
218
|
+
maxOutputTokens: 8e3
|
|
219
|
+
});
|
|
220
|
+
const criterionNames = Object.keys(criteria);
|
|
221
|
+
const resultMap = new Map(object.criteria.map((c) => [c.name, c]));
|
|
222
|
+
const mappedCriteria = criterionNames.map((name) => {
|
|
223
|
+
const result = resultMap.get(name);
|
|
224
|
+
return {
|
|
225
|
+
name,
|
|
226
|
+
passed: result?.passed ?? false,
|
|
227
|
+
...result?.feedback && { feedback: result.feedback }
|
|
228
|
+
};
|
|
229
|
+
});
|
|
230
|
+
const allPassed = mappedCriteria.every((c) => c.passed);
|
|
231
|
+
return {
|
|
232
|
+
passed: allPassed,
|
|
233
|
+
criteria: mappedCriteria,
|
|
234
|
+
bestAttempt: 1
|
|
235
|
+
// Caller manages bestAttempt tracking across retries
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// ../authoring/src/evaluator.ts
|
|
240
|
+
import { z as z2 } from "zod";
|
|
241
|
+
var EvaluationSchema = z2.object({
|
|
242
|
+
scores: z2.record(z2.string(), z2.number()),
|
|
243
|
+
critique: z2.string(),
|
|
244
|
+
evidence: z2.array(z2.string())
|
|
245
|
+
});
|
|
246
|
+
var TIMELINE_RUBRIC = {
|
|
247
|
+
dimensions: [
|
|
248
|
+
{ name: "correctness", weight: 0.25, description: "Are all requested changes actually applied? Nothing missing?" },
|
|
249
|
+
{ name: "precision", weight: 0.2, description: "Are timings, positions, and durations accurate?" },
|
|
250
|
+
{ name: "design_quality", weight: 0.25, description: "Is the visual design professional? Layered composition, choreographed timing, not just centered text?" },
|
|
251
|
+
{ name: "completeness", weight: 0.15, description: "Were all parts of the request addressed?" },
|
|
252
|
+
{ name: "craft", weight: 0.15, description: "Spring physics, staggered entrances, exit choreography, accent elements?" }
|
|
253
|
+
],
|
|
254
|
+
passThreshold: 6
|
|
255
|
+
};
|
|
256
|
+
var ARTIFACT_RUBRIC = {
|
|
257
|
+
dimensions: [
|
|
258
|
+
{ name: "accuracy", weight: 0.25, description: "Is the content factually correct and relevant?" },
|
|
259
|
+
{ name: "format", weight: 0.2, description: "Does it match the requested format (markdown, platform-specific, etc.)?" },
|
|
260
|
+
{ name: "quality", weight: 0.25, description: "Is the writing quality professional?" },
|
|
261
|
+
{ name: "audience_fit", weight: 0.15, description: "Is it appropriate for the target platform/audience?" },
|
|
262
|
+
{ name: "completeness", weight: 0.15, description: "Are all requested sections/elements present?" }
|
|
263
|
+
],
|
|
264
|
+
passThreshold: 6
|
|
265
|
+
};
|
|
266
|
+
function computeWeightedScore(scores, dimensions) {
|
|
267
|
+
return dimensions.reduce((sum, d) => {
|
|
268
|
+
return sum + (scores[d.name] ?? 0) * d.weight;
|
|
269
|
+
}, 0);
|
|
270
|
+
}
|
|
271
|
+
function buildDimensionsText(dimensions) {
|
|
272
|
+
return dimensions.map((d) => `- ${d.name} (weight: ${d.weight}): ${d.description}`).join("\n");
|
|
273
|
+
}
|
|
274
|
+
function buildCriteriaText(verificationCriteria) {
|
|
275
|
+
if (verificationCriteria.length === 0) return "";
|
|
276
|
+
return `
|
|
277
|
+
|
|
278
|
+
VERIFICATION CRITERIA (each must be met to pass):
|
|
279
|
+
${verificationCriteria.map((c, i) => `${i + 1}. ${c}`).join("\n")}`;
|
|
280
|
+
}
|
|
281
|
+
function toEvaluationResult(obj, rubric) {
|
|
282
|
+
const weightedScore = computeWeightedScore(obj.scores, rubric.dimensions);
|
|
283
|
+
return {
|
|
284
|
+
scores: obj.scores,
|
|
285
|
+
weightedScore,
|
|
286
|
+
passed: weightedScore >= rubric.passThreshold,
|
|
287
|
+
critique: obj.critique,
|
|
288
|
+
evidence: obj.evidence
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
async function evaluateArtifact(model, artifact, task, rubric, verificationCriteria) {
|
|
292
|
+
const dimensionsText = buildDimensionsText(rubric.dimensions);
|
|
293
|
+
const criteriaText = buildCriteriaText(verificationCriteria);
|
|
294
|
+
const { object } = await generateObject({
|
|
295
|
+
model,
|
|
296
|
+
schema: EvaluationSchema,
|
|
297
|
+
instructions: EVALUATOR_PROMPT,
|
|
298
|
+
prompt: `TASK: ${task}
|
|
299
|
+
|
|
300
|
+
DIMENSIONS TO SCORE:
|
|
301
|
+
${dimensionsText}${criteriaText}
|
|
302
|
+
|
|
303
|
+
ARTIFACT TO EVALUATE:
|
|
304
|
+
${artifact}`,
|
|
305
|
+
// critique + evidence run long; a tighter cap truncates the JSON mid-string.
|
|
306
|
+
maxOutputTokens: 8e3
|
|
307
|
+
});
|
|
308
|
+
return toEvaluationResult(object, rubric);
|
|
309
|
+
}
|
|
310
|
+
async function evaluateTimeline(model, task, rubric, verificationCriteria, compositionContext, capturedFrames) {
|
|
311
|
+
const dimensionsText = buildDimensionsText(rubric.dimensions);
|
|
312
|
+
const criteriaText = buildCriteriaText(verificationCriteria);
|
|
313
|
+
const contentParts = [
|
|
314
|
+
{ type: "text", text: `TASK: ${task}
|
|
315
|
+
|
|
316
|
+
DIMENSIONS TO SCORE:
|
|
317
|
+
${dimensionsText}${criteriaText}
|
|
318
|
+
|
|
319
|
+
COMPOSITION STATE:
|
|
320
|
+
${compositionContext}` }
|
|
321
|
+
];
|
|
322
|
+
if (capturedFrames?.length) {
|
|
323
|
+
for (const frame of capturedFrames) {
|
|
324
|
+
contentParts.push({ type: "image", image: frame });
|
|
325
|
+
}
|
|
326
|
+
contentParts.push({ type: "text", text: `
|
|
327
|
+
|
|
328
|
+
Above are ${capturedFrames.length} captured frames. Inspect for visual quality, positioning, and timing.` });
|
|
329
|
+
}
|
|
330
|
+
const { object } = await generateObject({
|
|
331
|
+
model,
|
|
332
|
+
schema: EvaluationSchema,
|
|
333
|
+
instructions: EVALUATOR_PROMPT,
|
|
334
|
+
messages: [{ role: "user", content: contentParts }],
|
|
335
|
+
// critique + evidence run long; a tighter cap truncates the JSON mid-string.
|
|
336
|
+
maxOutputTokens: 8e3
|
|
337
|
+
});
|
|
338
|
+
return toEvaluationResult(object, rubric);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// ../authoring/src/agent.ts
|
|
342
|
+
var HARD_TIMEOUT_MS = 30 * 60 * 1e3;
|
|
343
|
+
var STEP_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
344
|
+
function reserveFinalStep(base, maxSteps, finalStepTools, toolNames) {
|
|
345
|
+
const allowed = finalStepTools.filter((t) => toolNames.includes(t));
|
|
346
|
+
return async (opts) => {
|
|
347
|
+
const prepared = await base(opts);
|
|
348
|
+
if (opts.stepNumber < maxSteps - 1) return prepared;
|
|
349
|
+
return { ...prepared, activeTools: allowed };
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
function infraErrorFromSteps(steps) {
|
|
353
|
+
for (const step of steps) {
|
|
354
|
+
const content = step.content ?? [];
|
|
355
|
+
for (const part of content) {
|
|
356
|
+
const p = part;
|
|
357
|
+
if (p.type !== "tool-error") continue;
|
|
358
|
+
const e = p.error;
|
|
359
|
+
if (e instanceof Error && e.name === "InfraToolError" && e.infra === true) {
|
|
360
|
+
return e;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
var Agent = class {
|
|
367
|
+
config;
|
|
368
|
+
capabilities;
|
|
369
|
+
messages = [];
|
|
370
|
+
excludedTools;
|
|
371
|
+
log;
|
|
372
|
+
/** Monotonic step index for onStepMetrics; reset per run(). */
|
|
373
|
+
stepCounter = 0;
|
|
374
|
+
constructor(config) {
|
|
375
|
+
this.config = config;
|
|
376
|
+
this.capabilities = config.capabilities;
|
|
377
|
+
this.excludedTools = config.capabilities ? getExcludedTools(config.capabilities) : /* @__PURE__ */ new Set();
|
|
378
|
+
this.log = config.logger ?? {
|
|
379
|
+
info: () => {
|
|
380
|
+
},
|
|
381
|
+
warn: () => {
|
|
382
|
+
},
|
|
383
|
+
error: () => {
|
|
384
|
+
},
|
|
385
|
+
debug: () => {
|
|
386
|
+
}
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
/** Reset conversation history (new session). */
|
|
390
|
+
reset() {
|
|
391
|
+
this.messages = [];
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Run the agent with a prompt.
|
|
395
|
+
*
|
|
396
|
+
* Without criteria/rubric: single generation pass.
|
|
397
|
+
* With criteria + maxAttempts > 1: generate → evaluate → refine loop (criteria mode).
|
|
398
|
+
* With rubric + maxAttempts > 1: generate → evaluate → refine loop (rubric mode).
|
|
399
|
+
*/
|
|
400
|
+
async run(prompt, opts = {}) {
|
|
401
|
+
this.stepCounter = 0;
|
|
402
|
+
const { criteria, rubric, maxAttempts = 1 } = opts;
|
|
403
|
+
const hasCriteria = criteria && Object.keys(criteria).length > 0;
|
|
404
|
+
const hasRubric = !!rubric;
|
|
405
|
+
const needsEvaluation = (hasCriteria || hasRubric) && maxAttempts > 1;
|
|
406
|
+
if (!needsEvaluation) {
|
|
407
|
+
return this.executeOnce(prompt, opts);
|
|
408
|
+
}
|
|
409
|
+
if (hasRubric) {
|
|
410
|
+
return this.runWithRubric(prompt, opts);
|
|
411
|
+
}
|
|
412
|
+
return this.runWithCriteria(prompt, opts);
|
|
413
|
+
}
|
|
414
|
+
// ── Quality loop: criteria mode (pass/fail per criterion) ──
|
|
415
|
+
async runWithCriteria(prompt, opts) {
|
|
416
|
+
const { criteria, maxAttempts = 1 } = opts;
|
|
417
|
+
let bestResult;
|
|
418
|
+
let bestScore = -1;
|
|
419
|
+
let totalUsage = { ...ZERO_USAGE };
|
|
420
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
421
|
+
const currentPrompt = attempt === 1 ? prompt : this.buildRefinementPrompt(prompt, bestResult.evaluation, criteria);
|
|
422
|
+
const result = await this.executeOnce(currentPrompt, opts);
|
|
423
|
+
totalUsage = addUsage(totalUsage, result.usage);
|
|
424
|
+
if (!result.success) {
|
|
425
|
+
return { ...result, attempts: attempt, usage: totalUsage };
|
|
426
|
+
}
|
|
427
|
+
let evaluation;
|
|
428
|
+
try {
|
|
429
|
+
evaluation = await this.evaluateResult(result, prompt, criteria, opts);
|
|
430
|
+
} catch (err) {
|
|
431
|
+
this.log.warn?.("Evaluator failed; accepting attempt without grading", {
|
|
432
|
+
attempt,
|
|
433
|
+
error: err instanceof Error ? err.message : String(err)
|
|
434
|
+
});
|
|
435
|
+
return { ...result, attempts: attempt, usage: totalUsage };
|
|
436
|
+
}
|
|
437
|
+
const score = evaluation.criteria.filter((c) => c.passed).length;
|
|
438
|
+
if (score > bestScore) {
|
|
439
|
+
bestScore = score;
|
|
440
|
+
bestResult = {
|
|
441
|
+
...result,
|
|
442
|
+
evaluation: { ...evaluation, bestAttempt: attempt },
|
|
443
|
+
attempts: attempt,
|
|
444
|
+
usage: totalUsage
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
this.config.hooks?.afterEvaluate?.(criteria, evaluation);
|
|
448
|
+
if (evaluation.passed) {
|
|
449
|
+
return {
|
|
450
|
+
...result,
|
|
451
|
+
evaluation: { ...evaluation, bestAttempt: attempt },
|
|
452
|
+
attempts: attempt,
|
|
453
|
+
usage: totalUsage,
|
|
454
|
+
success: true
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
this.log.info?.("Evaluation failed, retrying", {
|
|
458
|
+
attempt,
|
|
459
|
+
maxAttempts,
|
|
460
|
+
passedCriteria: score,
|
|
461
|
+
totalCriteria: evaluation.criteria.length
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
return bestResult;
|
|
465
|
+
}
|
|
466
|
+
// ── Quality loop: rubric mode (weighted numeric scoring) ──
|
|
467
|
+
async runWithRubric(prompt, opts) {
|
|
468
|
+
const { rubric, verificationCriteria = [], maxAttempts = 1 } = opts;
|
|
469
|
+
let bestResult;
|
|
470
|
+
let bestScore = -1;
|
|
471
|
+
let totalUsage = { ...ZERO_USAGE };
|
|
472
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
473
|
+
const currentPrompt = attempt === 1 ? prompt : this.buildRubricRefinementPrompt(prompt, bestResult.rubricEvaluation);
|
|
474
|
+
const result = await this.executeOnce(currentPrompt, opts);
|
|
475
|
+
totalUsage = addUsage(totalUsage, result.usage);
|
|
476
|
+
if (!result.success) {
|
|
477
|
+
return { ...result, attempts: attempt, usage: totalUsage };
|
|
478
|
+
}
|
|
479
|
+
let evaluation;
|
|
480
|
+
try {
|
|
481
|
+
evaluation = await this.evaluateWithRubric(result, prompt, rubric, verificationCriteria, opts);
|
|
482
|
+
} catch (err) {
|
|
483
|
+
this.log.warn?.("Rubric evaluator failed; accepting attempt without grading", {
|
|
484
|
+
attempt,
|
|
485
|
+
error: err instanceof Error ? err.message : String(err)
|
|
486
|
+
});
|
|
487
|
+
return { ...result, attempts: attempt, usage: totalUsage };
|
|
488
|
+
}
|
|
489
|
+
if (evaluation.weightedScore > bestScore) {
|
|
490
|
+
bestScore = evaluation.weightedScore;
|
|
491
|
+
bestResult = {
|
|
492
|
+
...result,
|
|
493
|
+
rubricEvaluation: evaluation,
|
|
494
|
+
attempts: attempt,
|
|
495
|
+
usage: totalUsage
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
if (evaluation.passed) {
|
|
499
|
+
return {
|
|
500
|
+
...result,
|
|
501
|
+
rubricEvaluation: evaluation,
|
|
502
|
+
attempts: attempt,
|
|
503
|
+
usage: totalUsage,
|
|
504
|
+
success: true
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
this.log.info?.("Rubric evaluation failed, retrying", {
|
|
508
|
+
attempt,
|
|
509
|
+
maxAttempts,
|
|
510
|
+
weightedScore: evaluation.weightedScore,
|
|
511
|
+
threshold: rubric.passThreshold
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
return bestResult;
|
|
515
|
+
}
|
|
516
|
+
// ── Private: single execution pass ──
|
|
517
|
+
async executeOnce(prompt, opts) {
|
|
518
|
+
this.messages.push({ role: "user", content: prompt });
|
|
519
|
+
const hasTools = !!this.capabilities;
|
|
520
|
+
if (!hasTools) {
|
|
521
|
+
return this.executeText(prompt, opts);
|
|
522
|
+
}
|
|
523
|
+
return this.executeWithTools(prompt, opts);
|
|
524
|
+
}
|
|
525
|
+
// ── Text-only execution (no capabilities) ──
|
|
526
|
+
async executeText(_prompt, opts) {
|
|
527
|
+
try {
|
|
528
|
+
const cacheBreakpoint = {
|
|
529
|
+
providerOptions: { anthropic: { cacheControl: { type: "ephemeral" } } }
|
|
530
|
+
};
|
|
531
|
+
const result = await generateText({
|
|
532
|
+
model: this.config.model,
|
|
533
|
+
instructions: {
|
|
534
|
+
role: "system",
|
|
535
|
+
content: this.config.systemPrompt,
|
|
536
|
+
...cacheBreakpoint
|
|
537
|
+
},
|
|
538
|
+
messages: this.messages.map((m, i) => ({
|
|
539
|
+
role: m.role,
|
|
540
|
+
content: m.content,
|
|
541
|
+
...i === 0 ? cacheBreakpoint : {}
|
|
542
|
+
})),
|
|
543
|
+
abortSignal: opts.abortSignal
|
|
544
|
+
});
|
|
545
|
+
const text = result.text;
|
|
546
|
+
if (text) {
|
|
547
|
+
this.messages.push({ role: "assistant", content: text });
|
|
548
|
+
}
|
|
549
|
+
return {
|
|
550
|
+
success: true,
|
|
551
|
+
text,
|
|
552
|
+
attempts: 1,
|
|
553
|
+
usage: result.usage
|
|
554
|
+
};
|
|
555
|
+
} catch (err) {
|
|
556
|
+
if (opts.abortSignal?.aborted) {
|
|
557
|
+
const reason = err instanceof Error ? err.message : "Cancelled.";
|
|
558
|
+
return { success: false, text: reason, attempts: 1, usage: ZERO_USAGE };
|
|
559
|
+
}
|
|
560
|
+
const errMsg = extractProviderError(err);
|
|
561
|
+
this.log.error?.("Agent text generation failed", { error: errMsg });
|
|
562
|
+
return { success: false, text: errMsg, attempts: 1, usage: ZERO_USAGE };
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
// ── Tool-based execution ──
|
|
566
|
+
async executeWithTools(_prompt, opts) {
|
|
567
|
+
const capabilities = this.capabilities;
|
|
568
|
+
const context = buildDirectorContext(capabilities, { maxChars: 32e3 });
|
|
569
|
+
const contextJson = JSON.stringify(context, null, 2);
|
|
570
|
+
const system = `${this.config.systemPrompt}
|
|
571
|
+
|
|
572
|
+
## Current Context
|
|
573
|
+
|
|
574
|
+
\`\`\`json
|
|
575
|
+
${contextJson}
|
|
576
|
+
\`\`\``;
|
|
577
|
+
const configTools = this.config.allowedTools;
|
|
578
|
+
if (!opts.tools && !configTools && this.config.buildToolSet) {
|
|
579
|
+
throw new Error(
|
|
580
|
+
"Agent: `buildToolSet` was provided without `allowedTools` (and run() named no tools). The injected factory builds a different tool vocabulary, so the in-process compose-role tool list is not a valid default for it \u2014 state the tool names the factory should build."
|
|
581
|
+
);
|
|
582
|
+
}
|
|
583
|
+
const allTools = configTools ? configTools.filter((t) => !this.excludedTools.has(t)) : COMPOSE_ROLE_TOOL_NAMES.filter((t) => !this.excludedTools.has(t));
|
|
584
|
+
const allowedTools = opts.tools ?? allTools;
|
|
585
|
+
const onProgress = () => {
|
|
586
|
+
};
|
|
587
|
+
const beforeHook = this.config.hooks?.beforeToolCall;
|
|
588
|
+
const afterHook = this.config.hooks?.afterToolCall;
|
|
589
|
+
const tools = this.config.buildToolSet ? this.config.buildToolSet({ allowedTools, onProgress }) : buildDirectorTools({
|
|
590
|
+
capabilities,
|
|
591
|
+
allowedTools,
|
|
592
|
+
onProgress,
|
|
593
|
+
cachedContext: context
|
|
594
|
+
});
|
|
595
|
+
const wrappedTools = {
|
|
596
|
+
...this.wrapToolsWithHooks(tools, beforeHook, afterHook),
|
|
597
|
+
...this.config.extraTools ?? {}
|
|
598
|
+
};
|
|
599
|
+
const maxSteps = this.config.maxSteps ?? 20;
|
|
600
|
+
const maxOutputTokens = this.config.maxOutputTokens ?? 16e3;
|
|
601
|
+
const agent = new ToolLoopAgent({
|
|
602
|
+
model: this.config.model,
|
|
603
|
+
maxOutputTokens,
|
|
604
|
+
// Config uses a structural per-provider record (the nominal
|
|
605
|
+
// ProviderOptions type isn't re-exported by every ai@6 minor); derive
|
|
606
|
+
// the SDK's own type from the constructor so the cast tracks upgrades.
|
|
607
|
+
...this.config.providerOptions ? {
|
|
608
|
+
providerOptions: this.config.providerOptions
|
|
609
|
+
} : {},
|
|
610
|
+
instructions: {
|
|
611
|
+
role: "system",
|
|
612
|
+
content: system,
|
|
613
|
+
providerOptions: {
|
|
614
|
+
anthropic: { cacheControl: { type: "ephemeral" } }
|
|
615
|
+
}
|
|
616
|
+
},
|
|
617
|
+
tools: wrappedTools,
|
|
618
|
+
// B6: halt on an infra-sentinel tool-error step (second condition) — the
|
|
619
|
+
// model cannot fix a dead scratch/session, so further steps are waste.
|
|
620
|
+
stopWhen: [
|
|
621
|
+
isStepCount(maxSteps),
|
|
622
|
+
({ steps }) => infraErrorFromSteps(steps) !== null
|
|
623
|
+
],
|
|
624
|
+
// Observability: log each step's tool calls so the agent's craft
|
|
625
|
+
// behaviour — which tools it invokes vs SKIPS — is visible in the worker
|
|
626
|
+
// logs instead of a ~100s black box between phases. Names only (args are
|
|
627
|
+
// verbose); enough to see the tool sequence (e.g. did it call
|
|
628
|
+
// set_crop_intents / enable_captions_behind_speaker / capture_frames).
|
|
629
|
+
onStepEnd: (step) => {
|
|
630
|
+
const names = (step.toolCalls ?? []).map((t) => t.toolName);
|
|
631
|
+
this.log.info(`[agent] step tools=[${names.join(", ") || "none"}] finish=${step.finishReason ?? "?"}`);
|
|
632
|
+
const sink = this.config.hooks?.onStepMetrics;
|
|
633
|
+
if (sink) {
|
|
634
|
+
const argChars = (step.toolCalls ?? []).reduce(
|
|
635
|
+
(n, t) => n + JSON.stringify(t.input ?? "").length,
|
|
636
|
+
0
|
|
637
|
+
);
|
|
638
|
+
const anth = step.providerMetadata?.anthropic ?? {};
|
|
639
|
+
const num = (v) => typeof v === "number" ? v : void 0;
|
|
640
|
+
sink({
|
|
641
|
+
stepIndex: this.stepCounter++,
|
|
642
|
+
toolNames: names,
|
|
643
|
+
visibleChars: (step.text?.length ?? 0) + argChars,
|
|
644
|
+
outputTokens: step.usage?.outputTokens,
|
|
645
|
+
inputTokens: step.usage?.inputTokens,
|
|
646
|
+
cacheReadTokens: step.usage?.cachedInputTokens ?? num(anth["cacheReadInputTokens"]),
|
|
647
|
+
cacheWriteTokens: num(anth["cacheCreationInputTokens"]),
|
|
648
|
+
reasoningTokens: step.usage?.reasoningTokens,
|
|
649
|
+
...step.finishReason ? { finishReason: step.finishReason } : {}
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
},
|
|
653
|
+
// Context management: evict stale tool content between steps so a long
|
|
654
|
+
// tool-heavy run (accumulating tool-results + base64 capture images)
|
|
655
|
+
// stays under the model's window. Off unless the caller sets a policy.
|
|
656
|
+
// The moving cache breakpoint applies only when eviction is OFF: the
|
|
657
|
+
// sliding prune window rewrites messages BEFORE the prior step's
|
|
658
|
+
// breakpoint each step, so stamped tail entries would be written at
|
|
659
|
+
// 1.25x and never read back — strictly worse than no stamp. (Possible
|
|
660
|
+
// follow-up: stamp the eviction boundary instead, whose pruned prefix
|
|
661
|
+
// is stable step-over-step.) See promptCache.ts for why the
|
|
662
|
+
// system-only breakpoint leaves image tool-results uncached.
|
|
663
|
+
prepareStep: this.config.finalStepTools ? reserveFinalStep(
|
|
664
|
+
this.config.contextManagement ? buildPrepareStep(this.config.contextManagement) : cachePrepareStep,
|
|
665
|
+
maxSteps,
|
|
666
|
+
this.config.finalStepTools,
|
|
667
|
+
Object.keys(wrappedTools)
|
|
668
|
+
) : this.config.contextManagement ? buildPrepareStep(this.config.contextManagement) : cachePrepareStep
|
|
669
|
+
});
|
|
670
|
+
try {
|
|
671
|
+
const messages = this.messages.map((m) => ({
|
|
672
|
+
role: m.role,
|
|
673
|
+
content: m.content
|
|
674
|
+
}));
|
|
675
|
+
if (opts.headless !== false) {
|
|
676
|
+
const result2 = await agent.generate({
|
|
677
|
+
messages,
|
|
678
|
+
abortSignal: opts.abortSignal,
|
|
679
|
+
timeout: { totalMs: HARD_TIMEOUT_MS, stepMs: STEP_TIMEOUT_MS }
|
|
680
|
+
});
|
|
681
|
+
{
|
|
682
|
+
const infra = infraErrorFromSteps(
|
|
683
|
+
result2.steps ?? []
|
|
684
|
+
);
|
|
685
|
+
if (infra) throw infra;
|
|
686
|
+
}
|
|
687
|
+
if (result2.text) {
|
|
688
|
+
this.messages.push({ role: "assistant", content: result2.text });
|
|
689
|
+
}
|
|
690
|
+
return {
|
|
691
|
+
success: true,
|
|
692
|
+
text: result2.text,
|
|
693
|
+
attempts: 1,
|
|
694
|
+
usage: result2.totalUsage
|
|
695
|
+
};
|
|
696
|
+
}
|
|
697
|
+
const result = await agent.stream({
|
|
698
|
+
messages,
|
|
699
|
+
abortSignal: opts.abortSignal,
|
|
700
|
+
timeout: { totalMs: HARD_TIMEOUT_MS, stepMs: STEP_TIMEOUT_MS }
|
|
701
|
+
});
|
|
702
|
+
for await (const _chunk of result.textStream) {
|
|
703
|
+
if (opts.abortSignal?.aborted) break;
|
|
704
|
+
}
|
|
705
|
+
const [finalText, totalUsage] = await Promise.all([result.text, result.totalUsage]);
|
|
706
|
+
{
|
|
707
|
+
const steps = await result.steps?.catch(() => []);
|
|
708
|
+
const infra = infraErrorFromSteps(steps ?? []);
|
|
709
|
+
if (infra) throw infra;
|
|
710
|
+
}
|
|
711
|
+
if (finalText) {
|
|
712
|
+
this.messages.push({ role: "assistant", content: finalText });
|
|
713
|
+
}
|
|
714
|
+
return {
|
|
715
|
+
success: true,
|
|
716
|
+
text: finalText,
|
|
717
|
+
attempts: 1,
|
|
718
|
+
usage: totalUsage
|
|
719
|
+
};
|
|
720
|
+
} catch (err) {
|
|
721
|
+
if (opts.abortSignal?.aborted) {
|
|
722
|
+
const reason = err instanceof Error ? err.message : "Cancelled.";
|
|
723
|
+
return { success: false, text: reason, attempts: 1, usage: ZERO_USAGE };
|
|
724
|
+
}
|
|
725
|
+
if (err instanceof Error && err.name === "InfraToolError" && err.infra === true) {
|
|
726
|
+
throw err;
|
|
727
|
+
}
|
|
728
|
+
const errMsg = extractProviderError(err);
|
|
729
|
+
this.log.error?.("Agent tool execution failed", { error: errMsg });
|
|
730
|
+
return { success: false, text: errMsg, attempts: 1, usage: ZERO_USAGE };
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
// ── Hook wiring ──
|
|
734
|
+
wrapToolsWithHooks(tools, beforeHook, afterHook) {
|
|
735
|
+
if (!beforeHook && !afterHook) return tools;
|
|
736
|
+
const wrapped = {};
|
|
737
|
+
for (const [name, toolDef] of Object.entries(tools)) {
|
|
738
|
+
const t = toolDef;
|
|
739
|
+
const origExecute = t.execute;
|
|
740
|
+
if (!origExecute) {
|
|
741
|
+
wrapped[name] = t;
|
|
742
|
+
continue;
|
|
743
|
+
}
|
|
744
|
+
wrapped[name] = {
|
|
745
|
+
...t,
|
|
746
|
+
execute: async (args) => {
|
|
747
|
+
if (beforeHook) {
|
|
748
|
+
const allowed = await Promise.resolve(beforeHook(name, args));
|
|
749
|
+
if (!allowed) {
|
|
750
|
+
const blocked = JSON.stringify({ error: `Tool call "${name}" blocked by beforeToolCall hook.` });
|
|
751
|
+
afterHook?.(name, { toolName: name, success: false, message: "Blocked by hook" });
|
|
752
|
+
return blocked;
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
const t0 = Date.now();
|
|
756
|
+
const result = await origExecute(args);
|
|
757
|
+
if (afterHook) {
|
|
758
|
+
const resultStr = typeof result === "string" ? result : JSON.stringify(result);
|
|
759
|
+
const isError = resultStr.includes('"error"');
|
|
760
|
+
afterHook(name, {
|
|
761
|
+
toolName: name,
|
|
762
|
+
success: !isError,
|
|
763
|
+
message: typeof result === "string" ? result.slice(0, 200) : JSON.stringify(result).slice(0, 200),
|
|
764
|
+
durationMs: Date.now() - t0,
|
|
765
|
+
argsBytes: JSON.stringify(args ?? {}).length,
|
|
766
|
+
resultBytes: resultStr.length
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
return result;
|
|
770
|
+
}
|
|
771
|
+
};
|
|
772
|
+
}
|
|
773
|
+
return wrapped;
|
|
774
|
+
}
|
|
775
|
+
// ── Evaluation ──
|
|
776
|
+
async evaluateResult(result, task, criteria, _opts) {
|
|
777
|
+
const evalModel = this.config.evaluationModel ?? this.config.model;
|
|
778
|
+
const capabilities = this.capabilities;
|
|
779
|
+
if (capabilities?.capture) {
|
|
780
|
+
const context = buildDirectorContext(capabilities, { maxChars: 32e3 });
|
|
781
|
+
const duration = context.timelineDuration ?? 0;
|
|
782
|
+
const frameTimes = duration > 0 ? [duration * 0.25, duration * 0.5, duration * 0.75] : [0];
|
|
783
|
+
try {
|
|
784
|
+
const frames = await capabilities.capture.captureFrames(frameTimes);
|
|
785
|
+
return evaluate({
|
|
786
|
+
model: evalModel,
|
|
787
|
+
task,
|
|
788
|
+
criteria,
|
|
789
|
+
compositionState: JSON.stringify(context, null, 2),
|
|
790
|
+
frames
|
|
791
|
+
});
|
|
792
|
+
} catch {
|
|
793
|
+
return evaluate({
|
|
794
|
+
model: evalModel,
|
|
795
|
+
task,
|
|
796
|
+
criteria,
|
|
797
|
+
compositionState: JSON.stringify(context, null, 2)
|
|
798
|
+
});
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
if (capabilities) {
|
|
802
|
+
const context = buildDirectorContext(capabilities, { maxChars: 32e3 });
|
|
803
|
+
return evaluate({
|
|
804
|
+
model: evalModel,
|
|
805
|
+
task,
|
|
806
|
+
criteria,
|
|
807
|
+
compositionState: JSON.stringify(context, null, 2)
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
return evaluate({
|
|
811
|
+
model: evalModel,
|
|
812
|
+
task,
|
|
813
|
+
criteria,
|
|
814
|
+
artifact: result.text
|
|
815
|
+
});
|
|
816
|
+
}
|
|
817
|
+
// ── Rubric-based evaluation ──
|
|
818
|
+
async evaluateWithRubric(result, task, rubric, verificationCriteria, _opts) {
|
|
819
|
+
const evalModel = this.config.evaluationModel ?? this.config.model;
|
|
820
|
+
const capabilities = this.capabilities;
|
|
821
|
+
if (capabilities?.composition) {
|
|
822
|
+
const context = buildDirectorContext(capabilities, { maxChars: 32e3 });
|
|
823
|
+
const compositionContext = JSON.stringify(context, null, 2);
|
|
824
|
+
let capturedFrames;
|
|
825
|
+
if (capabilities.capture) {
|
|
826
|
+
const duration = context.timelineDuration ?? 0;
|
|
827
|
+
const frameTimes = duration > 0 ? [duration * 0.25, duration * 0.5, duration * 0.75] : [0];
|
|
828
|
+
try {
|
|
829
|
+
capturedFrames = await capabilities.capture.captureFrames(frameTimes);
|
|
830
|
+
} catch {
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
return evaluateTimeline(evalModel, task, rubric, verificationCriteria, compositionContext, capturedFrames);
|
|
834
|
+
}
|
|
835
|
+
return evaluateArtifact(evalModel, result.text ?? "", task, rubric, verificationCriteria);
|
|
836
|
+
}
|
|
837
|
+
// ── Refinement prompts ──
|
|
838
|
+
buildRefinementPrompt(originalTask, evaluation, criteria) {
|
|
839
|
+
const failedCriteria = evaluation.criteria.filter((c) => !c.passed).map((c) => {
|
|
840
|
+
const desc = criteria[c.name] ?? "";
|
|
841
|
+
return `- ${c.name}: ${desc}${c.feedback ? `
|
|
842
|
+
Feedback: ${c.feedback}` : ""}`;
|
|
843
|
+
}).join("\n");
|
|
844
|
+
return `The previous attempt did not meet all quality criteria.
|
|
845
|
+
|
|
846
|
+
ORIGINAL TASK: ${originalTask}
|
|
847
|
+
|
|
848
|
+
FAILED CRITERIA:
|
|
849
|
+
${failedCriteria}
|
|
850
|
+
|
|
851
|
+
Please fix the issues described above. Focus only on the failed criteria \u2014 do not undo work that already passed.`;
|
|
852
|
+
}
|
|
853
|
+
buildRubricRefinementPrompt(originalTask, evaluation) {
|
|
854
|
+
const scoreLines = Object.entries(evaluation.scores).map(([dim, score]) => `- ${dim}: ${score}/10`).join("\n");
|
|
855
|
+
return `The previous attempt scored ${evaluation.weightedScore.toFixed(1)}/10 (threshold: pass requires higher).
|
|
856
|
+
|
|
857
|
+
ORIGINAL TASK: ${originalTask}
|
|
858
|
+
|
|
859
|
+
SCORES:
|
|
860
|
+
${scoreLines}
|
|
861
|
+
|
|
862
|
+
CRITIQUE: ${evaluation.critique}
|
|
863
|
+
|
|
864
|
+
EVIDENCE:
|
|
865
|
+
${evaluation.evidence.map((e) => `- ${e}`).join("\n")}
|
|
866
|
+
|
|
867
|
+
Please address the critique above. Focus on the lowest-scoring dimensions.`;
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
function addUsage(a, b) {
|
|
871
|
+
return {
|
|
872
|
+
inputTokens: (a.inputTokens ?? 0) + (b.inputTokens ?? 0),
|
|
873
|
+
outputTokens: (a.outputTokens ?? 0) + (b.outputTokens ?? 0),
|
|
874
|
+
totalTokens: (a.totalTokens ?? 0) + (b.totalTokens ?? 0),
|
|
875
|
+
inputTokenDetails: a.inputTokenDetails,
|
|
876
|
+
outputTokenDetails: a.outputTokenDetails
|
|
877
|
+
};
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
// ../authoring/src/agent/memoryTool.ts
|
|
881
|
+
var MAX_MEMORY_CHARS = 16e3;
|
|
882
|
+
var ROOT = "/memories";
|
|
883
|
+
function totalChars(store) {
|
|
884
|
+
let n = 0;
|
|
885
|
+
for (const [p, c] of store) n += p.length + c.length;
|
|
886
|
+
return n;
|
|
887
|
+
}
|
|
888
|
+
function assertPath(path) {
|
|
889
|
+
if (path !== ROOT && !path.startsWith(ROOT + "/")) {
|
|
890
|
+
throw new Error(`Invalid path "${path}" \u2014 all memory lives under ${ROOT}/`);
|
|
891
|
+
}
|
|
892
|
+
return path;
|
|
893
|
+
}
|
|
894
|
+
function createAgentMemory(seed) {
|
|
895
|
+
const store = new Map(Object.entries(seed ?? {}));
|
|
896
|
+
const view = (path, range) => {
|
|
897
|
+
if (path === ROOT || path === ROOT + "/") {
|
|
898
|
+
if (store.size === 0) return `${ROOT}/ is empty \u2014 no notes from a previous attempt.`;
|
|
899
|
+
return [...store.keys()].sort().map((p) => `${p} (${store.get(p).length} chars)`).join("\n");
|
|
900
|
+
}
|
|
901
|
+
const content = store.get(path);
|
|
902
|
+
if (content === void 0) throw new Error(`File not found: ${path}`);
|
|
903
|
+
if (!range) return content;
|
|
904
|
+
const lines = content.split("\n");
|
|
905
|
+
const [from, to] = range;
|
|
906
|
+
return lines.slice(Math.max(0, from - 1), to).join("\n");
|
|
907
|
+
};
|
|
908
|
+
const write = (path, content) => {
|
|
909
|
+
const next = new Map(store);
|
|
910
|
+
next.set(path, content);
|
|
911
|
+
if (totalChars(next) > MAX_MEMORY_CHARS) {
|
|
912
|
+
throw new Error(
|
|
913
|
+
`Memory budget exceeded (${MAX_MEMORY_CHARS} chars total) \u2014 condense your notes: keep decisions and what worked, drop transcripts.`
|
|
914
|
+
);
|
|
915
|
+
}
|
|
916
|
+
store.set(path, content);
|
|
917
|
+
return `OK: ${path} (${content.length} chars)`;
|
|
918
|
+
};
|
|
919
|
+
const execute = async (input) => {
|
|
920
|
+
try {
|
|
921
|
+
switch (input.command) {
|
|
922
|
+
case "view":
|
|
923
|
+
return view(assertPath(input.path ?? ROOT), input.view_range);
|
|
924
|
+
case "create":
|
|
925
|
+
return write(assertPath(input.path), input.file_text ?? "");
|
|
926
|
+
case "str_replace": {
|
|
927
|
+
const path = assertPath(input.path);
|
|
928
|
+
const content = store.get(path);
|
|
929
|
+
if (content === void 0) throw new Error(`File not found: ${path}`);
|
|
930
|
+
const occurrences = content.split(input.old_str).length - 1;
|
|
931
|
+
if (occurrences === 0) throw new Error(`old_str not found in ${path}`);
|
|
932
|
+
if (occurrences > 1) throw new Error(`old_str appears ${occurrences} times in ${path} \u2014 must be unique`);
|
|
933
|
+
return write(path, content.replace(input.old_str, input.new_str ?? ""));
|
|
934
|
+
}
|
|
935
|
+
case "insert": {
|
|
936
|
+
const path = assertPath(input.path);
|
|
937
|
+
const content = store.get(path);
|
|
938
|
+
if (content === void 0) throw new Error(`File not found: ${path}`);
|
|
939
|
+
const lines = content.split("\n");
|
|
940
|
+
const at = Math.max(0, Math.min(input.insert_line ?? 0, lines.length));
|
|
941
|
+
lines.splice(at, 0, input.insert_text ?? "");
|
|
942
|
+
return write(path, lines.join("\n"));
|
|
943
|
+
}
|
|
944
|
+
case "delete": {
|
|
945
|
+
const path = assertPath(input.path);
|
|
946
|
+
if (path === ROOT) {
|
|
947
|
+
store.clear();
|
|
948
|
+
return `OK: cleared ${ROOT}/`;
|
|
949
|
+
}
|
|
950
|
+
if (!store.delete(path)) throw new Error(`File not found: ${path}`);
|
|
951
|
+
return `OK: deleted ${path}`;
|
|
952
|
+
}
|
|
953
|
+
case "rename": {
|
|
954
|
+
const from = assertPath(input.old_path);
|
|
955
|
+
const to = assertPath(input.new_path);
|
|
956
|
+
const content = store.get(from);
|
|
957
|
+
if (content === void 0) throw new Error(`File not found: ${from}`);
|
|
958
|
+
store.delete(from);
|
|
959
|
+
store.set(to, content);
|
|
960
|
+
return `OK: ${from} \u2192 ${to}`;
|
|
961
|
+
}
|
|
962
|
+
default:
|
|
963
|
+
throw new Error(`Unknown memory command: ${input.command}`);
|
|
964
|
+
}
|
|
965
|
+
} catch (err) {
|
|
966
|
+
return `Error: ${err instanceof Error ? err.message : String(err)}`;
|
|
967
|
+
}
|
|
968
|
+
};
|
|
969
|
+
return {
|
|
970
|
+
tools: { memory: anthropic.tools.memory_20250818({ execute }) },
|
|
971
|
+
snapshot: () => Object.fromEntries(store)
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
// ../authoring/src/scope.ts
|
|
976
|
+
function renderSkillContent(name, body) {
|
|
977
|
+
return `
|
|
978
|
+
|
|
979
|
+
## Craft constraints \u2014 ${name} (MANDATORY: these are graded by the critic panel)
|
|
980
|
+
${body}`;
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
// ../authoring/src/decomposer.ts
|
|
984
|
+
import { z as z3 } from "zod";
|
|
985
|
+
|
|
986
|
+
// ../authoring/src/prompts/decomposerPrompt.ts
|
|
987
|
+
var DECOMPOSER_PROMPT = `You decompose video editing tasks into sequential phases.
|
|
988
|
+
|
|
989
|
+
Each phase is one of:
|
|
990
|
+
- timeline_edit: modifies the video composition (add overlays, trim clips, etc.)
|
|
991
|
+
- artifact: produces text output (blog post, show notes, descriptions)
|
|
992
|
+
- scene_composition: creates a new composition from scratch using scenes (documentary, slideshow, social content)
|
|
993
|
+
|
|
994
|
+
Rules:
|
|
995
|
+
- Timeline edit and scene_composition phases run sequentially (each depends on previous state)
|
|
996
|
+
- Artifact phases can reference the timeline but don't modify it
|
|
997
|
+
- Each phase should be independently verifiable
|
|
998
|
+
- Keep phases focused \u2014 one clear objective per phase
|
|
999
|
+
- Include verification criteria for each phase
|
|
1000
|
+
|
|
1001
|
+
OUTPUT FORMAT (JSON only, no markdown):
|
|
1002
|
+
{
|
|
1003
|
+
"phases": [
|
|
1004
|
+
{
|
|
1005
|
+
"name": "short-name",
|
|
1006
|
+
"output": "timeline_edit" | "artifact" | "scene_composition",
|
|
1007
|
+
"description": "what this phase does",
|
|
1008
|
+
"verificationCriteria": ["criterion 1", "criterion 2"],
|
|
1009
|
+
"evaluationPasses": 1 | 3
|
|
1010
|
+
}
|
|
1011
|
+
]
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
Set evaluationPasses to 1 for timeline edits and scene compositions, 3 for artifacts (content gets more critique passes).`;
|
|
1015
|
+
|
|
1016
|
+
// ../authoring/src/decomposer.ts
|
|
1017
|
+
var PhaseSchema = z3.object({
|
|
1018
|
+
phases: z3.array(z3.object({
|
|
1019
|
+
name: z3.string(),
|
|
1020
|
+
output: z3.enum(["timeline_edit", "artifact", "scene_composition"]).default("timeline_edit"),
|
|
1021
|
+
description: z3.string(),
|
|
1022
|
+
verificationCriteria: z3.array(z3.string()).default([]),
|
|
1023
|
+
evaluationPasses: z3.number().default(1)
|
|
1024
|
+
}))
|
|
1025
|
+
});
|
|
1026
|
+
var COMPLEX_KEYWORDS = /\b(workflow|produce|post-?produce|podcast|episode|batch|multi|series|sequence|blog|show.?notes|thumbnail|description)\b/i;
|
|
1027
|
+
function shouldDecompose(task, hasTranscript) {
|
|
1028
|
+
if (task.length < 60 && !hasTranscript) return false;
|
|
1029
|
+
if (COMPLEX_KEYWORDS.test(task)) return true;
|
|
1030
|
+
const clauses = task.split(/,|\band\b/i).filter((c) => c.trim().length > 10);
|
|
1031
|
+
return clauses.length >= 2;
|
|
1032
|
+
}
|
|
1033
|
+
function singlePhase(task) {
|
|
1034
|
+
return [{
|
|
1035
|
+
name: "execute",
|
|
1036
|
+
output: "timeline_edit",
|
|
1037
|
+
description: task,
|
|
1038
|
+
verificationCriteria: [],
|
|
1039
|
+
evaluationPasses: 0,
|
|
1040
|
+
tools: [],
|
|
1041
|
+
// all tools available
|
|
1042
|
+
status: "pending"
|
|
1043
|
+
}];
|
|
1044
|
+
}
|
|
1045
|
+
async function decompose(model, task, context) {
|
|
1046
|
+
try {
|
|
1047
|
+
const { object } = await generateObject({
|
|
1048
|
+
model,
|
|
1049
|
+
schema: PhaseSchema,
|
|
1050
|
+
instructions: DECOMPOSER_PROMPT,
|
|
1051
|
+
prompt: `TASK: ${task}
|
|
1052
|
+
|
|
1053
|
+
COMPOSITION CONTEXT:
|
|
1054
|
+
${context}`,
|
|
1055
|
+
maxOutputTokens: 1500
|
|
1056
|
+
});
|
|
1057
|
+
return object.phases.map((p) => ({
|
|
1058
|
+
...p,
|
|
1059
|
+
tools: [],
|
|
1060
|
+
status: "pending"
|
|
1061
|
+
}));
|
|
1062
|
+
} catch {
|
|
1063
|
+
return singlePhase(task);
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
// ../authoring/src/motion/shell.ts
|
|
1068
|
+
var MOTION_PRESETS = [
|
|
1069
|
+
"fade-up",
|
|
1070
|
+
"slide-in-left",
|
|
1071
|
+
"slide-in-right",
|
|
1072
|
+
"scale-pop",
|
|
1073
|
+
"stagger-reveal"
|
|
1074
|
+
];
|
|
1075
|
+
var PRESET_FROM = {
|
|
1076
|
+
"fade-up": { dx: 0, dy: 24, scale: 1 },
|
|
1077
|
+
"slide-in-left": { dx: -48, dy: 0, scale: 1 },
|
|
1078
|
+
"slide-in-right": { dx: 48, dy: 0, scale: 1 },
|
|
1079
|
+
"scale-pop": { dx: 0, dy: 0, scale: 0.92 },
|
|
1080
|
+
"stagger-reveal": { dx: 0, dy: 12, scale: 1 }
|
|
1081
|
+
};
|
|
1082
|
+
var PRESET_SUSTAIN = {
|
|
1083
|
+
"fade-up": { dx: 0, dy: -6, scale: 0.012 },
|
|
1084
|
+
"slide-in-left": { dx: 14, dy: 0, scale: 8e-3 },
|
|
1085
|
+
"slide-in-right": { dx: -14, dy: 0, scale: 8e-3 },
|
|
1086
|
+
"scale-pop": { dx: 0, dy: -4, scale: 0.012 },
|
|
1087
|
+
"stagger-reveal": { dx: 0, dy: -4, scale: 0.01 }
|
|
1088
|
+
};
|
|
1089
|
+
var POP_WOBBLE = { amp: 8e-3, tau: 0.45, hz: 1.8 };
|
|
1090
|
+
var STAGGER_BREATHE = { amp: 2, periodS: 3.4, phase: 0.9 };
|
|
1091
|
+
var MAX_STAGGER_CHILDREN = 8;
|
|
1092
|
+
function generateMotionShell(cardHtml, opts) {
|
|
1093
|
+
if (!cardHtml.trim()) throw new Error("generateMotionShell: empty card markup");
|
|
1094
|
+
const enterMs = opts.enterMs ?? 300;
|
|
1095
|
+
const exitMs = opts.exitMs ?? 300;
|
|
1096
|
+
const staggerMs = opts.staggerMs ?? 120;
|
|
1097
|
+
const from = PRESET_FROM[opts.preset];
|
|
1098
|
+
if (!from) throw new Error(`generateMotionShell: unknown preset '${opts.preset}'`);
|
|
1099
|
+
const sustain = PRESET_SUSTAIN[opts.preset];
|
|
1100
|
+
const tokenVars = cssLayoutVars(opts.tokens, void 0);
|
|
1101
|
+
const staggerBlock = opts.preset === "stagger-reveal" ? `
|
|
1102
|
+
// Per-child reveal + sustained breathing: values are computed from the
|
|
1103
|
+
// CURRENT frame and emitted as static nth-child rules \u2014 legal under
|
|
1104
|
+
// Remotion's seek-and-freeze (this is per-frame static CSS, not a CSS
|
|
1105
|
+
// animation). Children live inside the verbatim markup's [data-stagger]
|
|
1106
|
+
// container; extra rules no-op. Breathing gives each tile a phase-offset
|
|
1107
|
+
// \xB1${STAGGER_BREATHE.amp}px float for the whole hold, so a revealed mosaic never freezes.
|
|
1108
|
+
const staggerF = Math.max(1, Math.round((${staggerMs} / 1000) * fps));
|
|
1109
|
+
const staggerRules = Array.from({ length: ${MAX_STAGGER_CHILDREN} }, (_, i) => {
|
|
1110
|
+
const s = enterF + i * staggerF;
|
|
1111
|
+
const o = interpolate(frame, [s, s + enterF], [0, 1], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
|
|
1112
|
+
const breathe = ${STAGGER_BREATHE.amp} * Math.sin((tSec / ${STAGGER_BREATHE.periodS}) * Math.PI * 2 + i * ${STAGGER_BREATHE.phase});
|
|
1113
|
+
// 'translate' (the independent CSS property), NOT 'transform': this rule
|
|
1114
|
+
// out-specifies any author class (0,2,0), so a transform here would
|
|
1115
|
+
// clobber an author rotate/scale on the tile; the independent property
|
|
1116
|
+
// composes with the author transform in Chromium.
|
|
1117
|
+
return '[data-stagger] > *:nth-child(' + (i + 1) + ') { opacity: ' + o + '; translate: 0 ' + breathe.toFixed(3) + 'px; }';
|
|
1118
|
+
}).join('\\n');` : "";
|
|
1119
|
+
const staggerStyleEl = opts.preset === "stagger-reveal" ? `<style>{staggerRules}</style>` : "";
|
|
1120
|
+
return `// generated by @cueframe/authoring generateMotionShell \u2014 preset: ${opts.preset}
|
|
1121
|
+
export default function CardMotionShell({ durationInFrames, params }) {
|
|
1122
|
+
const frame = useCurrentFrame();
|
|
1123
|
+
const { fps } = useVideoConfig();
|
|
1124
|
+
const CARD_HTML = ${JSON.stringify(cardHtml)};
|
|
1125
|
+
const enterF = Math.max(1, Math.round((${enterMs} / 1000) * fps));
|
|
1126
|
+
const exitF = Math.max(1, Math.round((${exitMs} / 1000) * fps));
|
|
1127
|
+
const enter = interpolate(frame, [0, enterF], [0, 1],
|
|
1128
|
+
{ easing: Easing.out(Easing.cubic), extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
|
|
1129
|
+
const exit = interpolate(frame,
|
|
1130
|
+
[Math.max(enterF + 1, durationInFrames - exitF), durationInFrames], [1, 0],
|
|
1131
|
+
{ easing: Easing.in(Easing.cubic), extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
|
|
1132
|
+
const opacity = Math.min(enter, exit);
|
|
1133
|
+
// SUSTAIN: post-entrance micro-motion for the full remaining clip. 'hold'
|
|
1134
|
+
// runs 0\u21921 linearly from entrance-end to the last frame (linear on purpose \u2014
|
|
1135
|
+
// constant perceived velocity = ambient life); tSec is seconds since the
|
|
1136
|
+
// entrance completed (drives the settle wobble / breathing phases).
|
|
1137
|
+
const hold = interpolate(frame, [enterF, durationInFrames], [0, 1],
|
|
1138
|
+
{ extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
|
|
1139
|
+
const tSec = Math.max(0, frame - enterF) / fps;
|
|
1140
|
+
const wobble = ${opts.preset === "scale-pop" ? `${POP_WOBBLE.amp} * Math.exp(-tSec / ${POP_WOBBLE.tau}) * Math.sin(tSec * Math.PI * 2 * ${POP_WOBBLE.hz})` : "0"};
|
|
1141
|
+
const dx = ${from.dx} * (1 - enter) + ${sustain.dx} * hold;
|
|
1142
|
+
const dy = ${from.dy} * (1 - enter) + ${sustain.dy} * hold;
|
|
1143
|
+
const scale = ${from.scale} + (1 - ${from.scale}) * enter + ${sustain.scale} * hold + wobble;${staggerBlock}
|
|
1144
|
+
const TOKEN_VARS = ${JSON.stringify(tokenVars)};
|
|
1145
|
+
return (
|
|
1146
|
+
<div style={{ position: 'absolute', inset: 0, ...TOKEN_VARS,
|
|
1147
|
+
opacity, transform: 'translate(' + dx + 'px,' + dy + 'px) scale(' + scale + ')' }}>
|
|
1148
|
+
${staggerStyleEl}<div style={{ width: '100%', height: '100%' }}
|
|
1149
|
+
dangerouslySetInnerHTML={{ __html: CARD_HTML }} />
|
|
1150
|
+
</div>
|
|
1151
|
+
);
|
|
1152
|
+
}
|
|
1153
|
+
`;
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
// ../authoring/src/motion/applyMotionPreset.ts
|
|
1157
|
+
var MotionPresetError = class extends Error {
|
|
1158
|
+
constructor(code, message, opIndex) {
|
|
1159
|
+
super(message);
|
|
1160
|
+
this.code = code;
|
|
1161
|
+
this.opIndex = opIndex;
|
|
1162
|
+
this.name = "MotionPresetError";
|
|
1163
|
+
}
|
|
1164
|
+
};
|
|
1165
|
+
function resolveMotionPresetCard(composition, input) {
|
|
1166
|
+
if (!MOTION_PRESETS.includes(input.preset)) {
|
|
1167
|
+
throw new MotionPresetError(
|
|
1168
|
+
"motion_preset_unknown",
|
|
1169
|
+
`unknown motion preset '${input.preset}' \u2014 pick one of: ${MOTION_PRESETS.join(", ")}`
|
|
1170
|
+
);
|
|
1171
|
+
}
|
|
1172
|
+
const tracks = composition.tracks ?? [];
|
|
1173
|
+
const sourced = tracks.flatMap((t) => t?.contents ?? []).filter((c) => !!c && typeof c === "object" && "source" in c && "id" in c);
|
|
1174
|
+
const clip = sourced.find((c) => c.id === input.clipId);
|
|
1175
|
+
if (!clip) {
|
|
1176
|
+
const cards = sourced.filter((c) => c.source.kind === "card").map((c) => `'${c.id}'`);
|
|
1177
|
+
throw new MotionPresetError(
|
|
1178
|
+
"motion_preset_target_invalid",
|
|
1179
|
+
`applyMotionPreset: no clip '${input.clipId}' in the composition. ` + (cards.length > 0 ? `Static card clip ids present: ${cards.join(", ")}.` : `No static card clips remain (already shelled or none authored).`)
|
|
1180
|
+
);
|
|
1181
|
+
}
|
|
1182
|
+
if (clip.source.kind !== "card" || !clip.source.html) {
|
|
1183
|
+
throw new MotionPresetError(
|
|
1184
|
+
"motion_preset_target_invalid",
|
|
1185
|
+
`applyMotionPreset targets only static card clips \u2014 clip '${input.clipId}' is '${clip.source.kind}'. Library overlays already move (update them directly); components already carry their authored motion.`
|
|
1186
|
+
);
|
|
1187
|
+
}
|
|
1188
|
+
return {
|
|
1189
|
+
cardHtml: clip.source.html,
|
|
1190
|
+
// The card's token layer rides with the markup — generateMotionShell bakes
|
|
1191
|
+
// it as `--cf-*` vars so the shelled card keeps the values it was authored
|
|
1192
|
+
// against (the custom render lane applies no token vars).
|
|
1193
|
+
...clip.source.tokens !== void 0 ? { tokens: clip.source.tokens } : {},
|
|
1194
|
+
// Depth rides through the shell: a behind-subject card must stay behind
|
|
1195
|
+
// after the source swap, or the preset silently pops it in front of the
|
|
1196
|
+
// subject (2026-08-10 issue — the sink's whole-source replace dropped it).
|
|
1197
|
+
...clip.source.zPlane !== void 0 ? { zPlane: clip.source.zPlane } : {}
|
|
1198
|
+
};
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
// ../authoring/src/motion/materializeMotionPresetOps.ts
|
|
1202
|
+
var isMotionPresetOp = (op) => !!op && typeof op === "object" && op.type === "applyMotionPreset";
|
|
1203
|
+
var hasMotionPresetOp = (ops) => ops.some(isMotionPresetOp);
|
|
1204
|
+
async function materializeMotionPresetOpsCore(composition, ops, opts, deps) {
|
|
1205
|
+
const out = [];
|
|
1206
|
+
for (let i = 0; i < ops.length; i++) {
|
|
1207
|
+
const op = ops[i];
|
|
1208
|
+
if (!isMotionPresetOp(op)) {
|
|
1209
|
+
out.push(op);
|
|
1210
|
+
continue;
|
|
1211
|
+
}
|
|
1212
|
+
let card;
|
|
1213
|
+
try {
|
|
1214
|
+
card = resolveMotionPresetCard(composition, { clipId: op.clipId, preset: op.preset });
|
|
1215
|
+
} catch (err) {
|
|
1216
|
+
if (err instanceof MotionPresetError) err.opIndex = i;
|
|
1217
|
+
throw err;
|
|
1218
|
+
}
|
|
1219
|
+
if (opts.dryRun) continue;
|
|
1220
|
+
const tsxSource = generateMotionShell(card.cardHtml, {
|
|
1221
|
+
preset: op.preset,
|
|
1222
|
+
...op.params?.enterMs !== void 0 ? { enterMs: op.params.enterMs } : {},
|
|
1223
|
+
...op.params?.exitMs !== void 0 ? { exitMs: op.params.exitMs } : {},
|
|
1224
|
+
...op.params?.staggerMs !== void 0 ? { staggerMs: op.params.staggerMs } : {},
|
|
1225
|
+
...card.tokens !== void 0 ? { tokens: card.tokens } : {}
|
|
1226
|
+
});
|
|
1227
|
+
const componentId = `motion-shell-${op.clipId}`;
|
|
1228
|
+
const { jsSource } = await deps.transpile(componentId, tsxSource);
|
|
1229
|
+
out.push(
|
|
1230
|
+
await deps.sink({
|
|
1231
|
+
componentId,
|
|
1232
|
+
clipId: op.clipId,
|
|
1233
|
+
preset: op.preset,
|
|
1234
|
+
tsxSource,
|
|
1235
|
+
jsSource,
|
|
1236
|
+
...card.zPlane !== void 0 ? { zPlane: card.zPlane } : {}
|
|
1237
|
+
})
|
|
1238
|
+
);
|
|
1239
|
+
}
|
|
1240
|
+
return out;
|
|
1241
|
+
}
|
|
1242
|
+
export {
|
|
1243
|
+
ARTIFACT_RUBRIC,
|
|
1244
|
+
Agent,
|
|
1245
|
+
AgentFixableCaptureError,
|
|
1246
|
+
CODE_GEN_FEW_SHOT_EXAMPLES,
|
|
1247
|
+
COMPONENT_CONTRACT,
|
|
1248
|
+
COMPOSE_MOTION_TOOLS,
|
|
1249
|
+
COMPOSE_MOTION_VERIFY_TOOLS,
|
|
1250
|
+
COMPOSE_PLANNER_REPAIR_TOOLS,
|
|
1251
|
+
COMPOSE_PLANNER_TOOLS,
|
|
1252
|
+
COMPOSE_ROLE_TOOLS,
|
|
1253
|
+
COMPOSE_ROLE_TOOL_NAMES,
|
|
1254
|
+
DESIGN_QUALITY_RULES,
|
|
1255
|
+
DESIGN_REVIEWER_PROMPT,
|
|
1256
|
+
DESIGN_REVIEWER_TOOLS,
|
|
1257
|
+
EVALUATOR_PROMPT,
|
|
1258
|
+
MOTION_PRESETS,
|
|
1259
|
+
MotionPresetError,
|
|
1260
|
+
PLANNING_INSTRUCTIONS,
|
|
1261
|
+
PipelineTrace as RequestTrace,
|
|
1262
|
+
TIMELINE_RUBRIC,
|
|
1263
|
+
TOOLKIT_REFERENCE,
|
|
1264
|
+
ZERO_USAGE,
|
|
1265
|
+
buildDirectorContext as buildAgentContext,
|
|
1266
|
+
buildDirectorContext,
|
|
1267
|
+
buildDirectorTools,
|
|
1268
|
+
buildExecutionTask,
|
|
1269
|
+
buildFastModel,
|
|
1270
|
+
buildModel,
|
|
1271
|
+
buildPlannerTools,
|
|
1272
|
+
buildPlannerUserMessage,
|
|
1273
|
+
buildPrepareStep,
|
|
1274
|
+
buildToolsFromSchemas,
|
|
1275
|
+
cachePrepareStep,
|
|
1276
|
+
createAgentMemory,
|
|
1277
|
+
decompose,
|
|
1278
|
+
dispatchComposeRoleTool,
|
|
1279
|
+
evaluate,
|
|
1280
|
+
evaluateArtifact,
|
|
1281
|
+
evaluateTimeline,
|
|
1282
|
+
extractProviderError,
|
|
1283
|
+
formatPlanSteps,
|
|
1284
|
+
generateMotionShell,
|
|
1285
|
+
getExcludedTools,
|
|
1286
|
+
hasMotionPresetOp,
|
|
1287
|
+
initCodeGenPrompts,
|
|
1288
|
+
isMotionPresetOp,
|
|
1289
|
+
makeLangfuseFetch,
|
|
1290
|
+
materializeMotionPresetOpsCore,
|
|
1291
|
+
renderSkillContent,
|
|
1292
|
+
resolveMotionPresetCard,
|
|
1293
|
+
shouldDecompose,
|
|
1294
|
+
singlePhase
|
|
1295
|
+
};
|