@cueframe/kernel 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
- package/dist/_members/account-model/testing/index.d.ts +0 -5
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
- package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
- package/dist/_members/account-model/validators/conversation.d.ts +0 -96
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
- package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
- package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
- package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
- package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
- package/dist/_members/animate/animations/Create.d.ts +0 -19
- package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
- package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
- package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
- package/dist/_members/animate/animations/Indicate.d.ts +0 -17
- package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
- package/dist/_members/animate/animations/Transform.d.ts +0 -28
- package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
- package/dist/_members/animate/animations/Write.d.ts +0 -20
- package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
- package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
- package/dist/_members/animate/composition/Succession.d.ts +0 -17
- package/dist/_members/animate/easing/rush.d.ts +0 -14
- package/dist/_members/animate/easing/smooth.d.ts +0 -7
- package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
- package/dist/_members/animate/index.d.ts +0 -2
- package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
- package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
- package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
- package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
- package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
- package/dist/_members/animate/three/drei.d.ts +0 -7
- package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
- package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
- package/dist/_members/authoring/agent/errors.d.ts +0 -9
- package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
- package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
- package/dist/_members/authoring/agent.d.ts +0 -34
- package/dist/_members/authoring/capabilities.d.ts +0 -145
- package/dist/_members/authoring/composer/scopes.d.ts +0 -19
- package/dist/_members/authoring/context/brand.d.ts +0 -4
- package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
- package/dist/_members/authoring/context/index.d.ts +0 -1
- package/dist/_members/authoring/context/timeline.d.ts +0 -15
- package/dist/_members/authoring/context/transcript.d.ts +0 -11
- package/dist/_members/authoring/context/types.d.ts +0 -4
- package/dist/_members/authoring/decomposer.d.ts +0 -12
- package/dist/_members/authoring/evaluate.d.ts +0 -26
- package/dist/_members/authoring/evaluator.d.ts +0 -16
- package/dist/_members/authoring/index.d.ts +1 -1
- package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
- package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
- package/dist/_members/authoring/motion/shell.d.ts +0 -20
- package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
- package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
- package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
- package/dist/_members/authoring/prompts/index.d.ts +0 -1
- package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
- package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
- package/dist/_members/authoring/resource-routing.d.ts +0 -121
- package/dist/_members/authoring/resources.d.ts +0 -34
- package/dist/_members/authoring/scope.d.ts +0 -24
- package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
- package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
- package/dist/_members/authoring/tools/index.d.ts +0 -1
- package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
- package/dist/_members/authoring/transpileComponent.d.ts +0 -34
- package/dist/_members/authoring/transpileHelper.d.ts +0 -18
- package/dist/_members/authoring/types.d.ts +0 -149
- package/dist/_members/brand-derivation/constants.d.ts +0 -17
- package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
- package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
- package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
- package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
- package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
- package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
- package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
- package/dist/_members/compose/schema.d.ts +0 -15
- package/dist/_members/compose/tokenResolver.d.ts +0 -11
- package/dist/_members/composition/audio/audioMix.d.ts +0 -34
- package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
- package/dist/_members/composition/audio/musicPack.d.ts +0 -35
- package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/pack.d.ts +0 -43
- package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/palette.d.ts +0 -36
- package/dist/_members/composition/autozoom/index.d.ts +0 -32
- package/dist/_members/composition/brand-kit.d.ts +0 -8
- package/dist/_members/composition/brief/contract.d.ts +0 -90
- package/dist/_members/composition/color-grade.d.ts +0 -11
- package/dist/_members/composition/depth.d.ts +0 -19
- package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
- package/dist/_members/composition/fonts.d.ts +0 -62
- package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
- package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
- package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
- package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
- package/dist/_members/composition/invariants/composition.d.ts +0 -5
- package/dist/_members/composition/invariants/etag.d.ts +0 -7
- package/dist/_members/composition/invariants/ids.d.ts +0 -6
- package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
- package/dist/_members/composition/invariants/markers.d.ts +0 -6
- package/dist/_members/composition/invariants/time.d.ts +0 -8
- package/dist/_members/composition/invariants/tracks.d.ts +0 -48
- package/dist/_members/composition/ops/compositionOps.d.ts +4 -71
- package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
- package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
- package/dist/_members/composition/ops/selectors.d.ts +0 -66
- package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
- package/dist/_members/composition/ops/transcript.d.ts +0 -27
- package/dist/_members/composition/ops/types.d.ts +0 -51
- package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
- package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
- package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
- package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
- package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
- package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
- package/dist/_members/composition/projection/behind-readiness.d.ts +14 -89
- package/dist/_members/composition/projection/brandKit.d.ts +0 -142
- package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
- package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
- package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
- package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
- package/dist/_members/composition/projection/reframe-readiness.d.ts +4 -111
- package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
- package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
- package/dist/_members/composition/reframe/coverage.d.ts +0 -40
- package/dist/_members/composition/reframe/derive.d.ts +0 -21
- package/dist/_members/composition/reframe/index.d.ts +0 -60
- package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
- package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
- package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
- package/dist/_members/composition/timeline/compound.d.ts +0 -31
- package/dist/_members/composition/timeline/intent.d.ts +0 -29
- package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
- package/dist/_members/composition/timeline/link.d.ts +0 -27
- package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
- package/dist/_members/composition/timeline/placement.d.ts +5 -52
- package/dist/_members/composition/timeline/plan.d.ts +5 -53
- package/dist/_members/composition/timeline/resolve.d.ts +0 -36
- package/dist/_members/composition/timeline/trims.d.ts +0 -49
- package/dist/_members/composition/validators/brandKit.d.ts +0 -29
- package/dist/_members/composition/validators/composePlan.d.ts +0 -39
- package/dist/_members/composition/validators/composition.d.ts +30 -513
- package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
- package/dist/_members/composition/validators/render.d.ts +23 -23
- package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
- package/dist/_members/composition-ops/index.d.ts +27 -148
- package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
- package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
- package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
- package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
- package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
- package/dist/_members/convex-api/api.generated.d.ts +1444 -0
- package/dist/_members/convex-api/dataModel.d.ts +1 -1
- package/dist/_members/core/index.d.ts +1 -1
- package/dist/_members/core/render/bookends.d.ts +0 -44
- package/dist/_members/core/render/captions.d.ts +0 -42
- package/dist/_members/core/render/compositionRender.d.ts +1 -180
- package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
- package/dist/_members/core/render/emphasis.d.ts +0 -6
- package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
- package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
- package/dist/_members/core/render/eval/index.d.ts +0 -58
- package/dist/_members/core/render/eval/metrics.d.ts +0 -36
- package/dist/_members/core/render/exportSettings.d.ts +4 -12
- package/dist/_members/core/render/index.d.ts +1 -1
- package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
- package/dist/_members/core/render/types.d.ts +1 -184
- package/dist/_members/core/render/variantKeys.d.ts +1 -0
- package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
- package/dist/_members/core/render/vcam/constants.d.ts +0 -93
- package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
- package/dist/_members/core/render/vcam/framing.d.ts +0 -76
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
- package/dist/_members/core/render/vcam/shots.d.ts +0 -40
- package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
- package/dist/_members/core/select/errorCodes.d.ts +0 -25
- package/dist/_members/core/select/index.d.ts +0 -20
- package/dist/_members/core/select/model.d.ts +0 -79
- package/dist/_members/core/select/select.d.ts +0 -49
- package/dist/_members/core/select/stabilize.d.ts +0 -102
- package/dist/_members/core/types.d.ts +0 -1
- package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
- package/dist/_members/director/ai-sdk/context.d.ts +6 -0
- package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
- package/dist/_members/director/ai-sdk/index.d.ts +4 -0
- package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
- package/dist/_members/director/domain/chat.d.ts +357 -0
- package/dist/_members/director/domain/generation.d.ts +1 -0
- package/dist/_members/director/domain/index.d.ts +3 -0
- package/dist/_members/director/domain/ports.d.ts +32 -0
- package/dist/_members/director/index.d.ts +2 -0
- package/dist/_members/director/testing/contract.d.ts +52 -0
- package/dist/_members/director/testing/index.d.ts +1 -0
- package/dist/_members/errors/registry.d.ts +103 -33
- package/dist/_members/foundation/codes/index.d.ts +0 -21
- package/dist/_members/mcp/adapter.d.ts +1 -84
- package/dist/_members/mcp/burnedNames.d.ts +0 -16
- package/dist/_members/mcp/core.d.ts +2 -82
- package/dist/_members/mcp/curation.d.ts +0 -112
- package/dist/_members/mcp/executor.d.ts +0 -49
- package/dist/_members/mcp/format.d.ts +0 -6
- package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
- package/dist/_members/mcp/generated/harness.d.ts +1 -1
- package/dist/_members/mcp/generated/operations.d.ts +1 -12
- package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
- package/dist/_members/mcp/prompts.d.ts +0 -16
- package/dist/_members/mcp/resources.d.ts +0 -13
- package/dist/_members/mcp/server.d.ts +0 -61
- package/dist/_members/mcp/wait.d.ts +1 -23
- package/dist/_members/mcp/x402Meta.d.ts +0 -44
- package/dist/_members/media-model/generation.d.ts +314 -0
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/media-kind.d.ts +0 -27
- package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
- package/dist/_members/nle-export/fcpxml.d.ts +0 -13
- package/dist/_members/nle-export/index.d.ts +0 -6
- package/dist/_members/nle-export/types.d.ts +0 -26
- package/dist/_members/nle-export/xml/index.d.ts +0 -8
- package/dist/_members/nle-export/xml-utils.d.ts +0 -12
- package/dist/_members/perception/activeSpeaker.d.ts +0 -94
- package/dist/_members/perception/audioQuality.d.ts +0 -64
- package/dist/_members/perception/energyBeat.d.ts +0 -81
- package/dist/_members/perception/identityMatch.d.ts +0 -66
- package/dist/_members/perception/index.d.ts +0 -52
- package/dist/_members/perception/visualQuality.d.ts +0 -73
- package/dist/_members/plane/conformance.d.ts +0 -59
- package/dist/_members/plane/contract.d.ts +0 -29
- package/dist/_members/plane/index.d.ts +0 -15
- package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
- package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
- package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
- package/dist/_members/primitives/captions/Captions.d.ts +0 -24
- package/dist/_members/primitives/captions/index.d.ts +0 -15
- package/dist/_members/primitives/captions/paginate.d.ts +0 -21
- package/dist/_members/primitives/captions/placement.d.ts +0 -30
- package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
- package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
- package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
- package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
- package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
- package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
- package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
- package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
- package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
- package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
- package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
- package/dist/_members/primitives/hero-text/config.d.ts +0 -10
- package/dist/_members/primitives/hero-text/index.d.ts +0 -14
- package/dist/_members/primitives/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
- package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
- package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
- package/dist/_members/primitives/lib/easings.d.ts +0 -27
- package/dist/_members/primitives/lib/palette.d.ts +0 -22
- package/dist/_members/primitives/lib/preview.d.ts +0 -22
- package/dist/_members/primitives/lib/schema.d.ts +0 -36
- package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
- package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
- package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
- package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
- package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
- package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
- package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
- package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
- package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
- package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
- package/dist/_members/primitives/lib/tokens.d.ts +0 -87
- package/dist/_members/primitives/lib/types.d.ts +0 -141
- package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
- package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
- package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
- package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
- package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
- package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
- package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
- package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
- package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
- package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
- package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
- package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
- package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
- package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
- package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
- package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
- package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
- package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
- package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
- package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
- package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
- package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
- package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
- package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
- package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
- package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
- package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
- package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
- package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
- package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
- package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
- package/dist/_members/primitives/workspace.d.ts +0 -29
- package/dist/_members/render-harness/browserOptions.d.ts +11 -0
- package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts +0 -40
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/contractRender.d.ts +0 -16
- package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
- package/dist/_members/render-harness/extractSegments.d.ts +0 -37
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
- package/dist/_members/render-harness/index.d.ts +0 -12
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/localRender.d.ts +1 -110
- package/dist/_members/render-harness/localRender.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts +0 -22
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/mediaServer.d.ts +0 -16
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
- package/dist/_members/render-harness/remotion-runtime.d.ts +53 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
- package/dist/account-model/validators.js +1 -1
- package/dist/account-model.js +1 -1
- package/dist/animate.js +0 -15
- package/dist/authoring/build-tools.js +8 -8
- package/dist/authoring/composer.js +0 -20
- package/dist/authoring/context.js +6 -6
- package/dist/authoring/pipelineTrace.js +1 -1
- package/dist/authoring/prompts.js +1 -5
- package/dist/authoring/resource-routing.js +1 -1
- package/dist/authoring/resources.js +1 -1
- package/dist/authoring/tools.js +7 -7
- package/dist/authoring.js +14 -84
- package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
- package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
- package/dist/chunk-73DQTUWY.js +131 -0
- package/dist/chunk-AW57IWNW.js +272 -0
- package/dist/chunk-BADZHXLR.js +0 -0
- package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
- package/dist/{chunk-PDYO3DOJ.js → chunk-BZZTVOGG.js} +6 -55
- package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
- package/dist/{chunk-HI4UTTPS.js → chunk-DJW3UGBH.js} +41 -72
- package/dist/{chunk-SIGGQRY2.js → chunk-DL7WYISQ.js} +5291 -4419
- package/dist/{chunk-AQBREB5O.js → chunk-DWLNPNC4.js} +1 -4
- package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
- package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
- package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
- package/dist/chunk-FTVZF4GO.js +0 -0
- package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
- package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
- package/dist/{chunk-JJ6XD7NG.js → chunk-GIA2SVVB.js} +70 -2
- package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
- package/dist/{chunk-AP6ZIVAV.js → chunk-HBVAZXYO.js} +17 -17
- package/dist/{chunk-UY4SWJVE.js → chunk-HFC3MKXA.js} +0 -63
- package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
- package/dist/chunk-IEXAKOEX.js +113 -0
- package/dist/{chunk-RF7U3SCL.js → chunk-KFECIHED.js} +29 -26
- package/dist/{chunk-DK2ODBNT.js → chunk-NQSMEUJ6.js} +16 -98
- package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
- package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
- package/dist/{chunk-MMEJ3Y7E.js → chunk-SDCEJAO2.js} +97 -23
- package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
- package/dist/chunk-TMB5AY6Q.js +146 -0
- package/dist/chunk-TO4BFNLJ.js +93 -0
- package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
- package/dist/{chunk-MBCXCJOE.js → chunk-TXSFYUZH.js} +1 -1
- package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
- package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
- package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
- package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
- package/dist/chunk-WZH57M53.js +494 -0
- package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
- package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
- package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
- package/dist/{chunk-HY3RIEZW.js → chunk-ZPRBGW4Y.js} +1 -1
- package/dist/cloud-import/multipart.js +1 -1
- package/dist/cloud-import.js +9 -16
- package/dist/compose/renderer.js +18 -18
- package/dist/compose.js +21 -21
- package/dist/composition/audio.js +1 -1
- package/dist/composition/brand-kit.js +0 -5
- package/dist/composition/graphics-plan.js +4 -4
- package/dist/composition/ops.js +5 -5
- package/dist/composition/primitive-catalog.js +1 -1
- package/dist/composition/projection.js +11 -3
- package/dist/composition/reframe/kenBurns.js +0 -4
- package/dist/composition/reframe.js +4 -2
- package/dist/composition/timeline.js +1 -1
- package/dist/composition/validators/graphic-kinds.js +1 -1
- package/dist/composition/validators.js +4 -4
- package/dist/composition-ops.js +16 -135
- package/dist/composition.js +15 -7
- package/dist/context-JLLU3MYD.js +14 -0
- package/dist/core/render.js +9 -7
- package/dist/core/select.js +2 -6
- package/dist/core.js +5 -7
- package/dist/director/ai-sdk.d.ts +1 -0
- package/dist/director/ai-sdk.js +33 -0
- package/dist/director/domain.d.ts +1 -0
- package/dist/director/domain.js +62 -0
- package/dist/director/testing.d.ts +1 -0
- package/dist/director/testing.js +22 -0
- package/dist/director.d.ts +1 -0
- package/dist/director.js +86 -0
- package/dist/errors.js +1 -1
- package/dist/foundation.js +1 -0
- package/dist/mcp/adapter.js +45 -75
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/server.js +4 -4
- package/dist/mcp.js +4 -4
- package/dist/media-model/generation.d.ts +1 -0
- package/dist/media-model/generation.js +40 -0
- package/dist/media-model/testing.js +6 -6
- package/dist/media-model.js +38 -6
- package/dist/nle-export.js +21 -21
- package/dist/plane/contract.js +0 -3
- package/dist/primitives/backgrounds.js +2 -2
- package/dist/primitives/captions.js +0 -5
- package/dist/primitives/effects.js +2 -2
- package/dist/primitives/hero-text.js +2 -2
- package/dist/primitives/layouts.js +2 -2
- package/dist/primitives/lib/index.js +17 -17
- package/dist/primitives/lib/text/fitText.js +1 -1
- package/dist/primitives/lib/tokens.js +1 -1
- package/dist/primitives/lib.js +17 -17
- package/dist/primitives/scenes.js +2 -2
- package/dist/primitives/text.js +2 -2
- package/dist/primitives/ui-blocks.js +4 -4
- package/dist/primitives.js +21 -21
- package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
- package/dist/render-harness.js +24 -41
- package/package.json +38 -21
- package/dist/chunk-6EQXLEP6.js +0 -194
- package/dist/chunk-OCFDUCF4.js +0 -504
- package/dist/chunk-PODIYN2K.js +0 -742
- package/dist/context-YWUZDG5X.js +0 -14
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const MediaId: z.ZodBranded<z.ZodString, "Id<media>">;
|
|
3
|
+
export type MediaId = z.infer<typeof MediaId>;
|
|
4
|
+
export declare const GenerationId: z.ZodBranded<z.ZodString, "Id<generation>">;
|
|
5
|
+
export type GenerationId = z.infer<typeof GenerationId>;
|
|
6
|
+
export declare const GenerationGroupId: z.ZodBranded<z.ZodString, "Id<generationGroup>">;
|
|
7
|
+
export type GenerationGroupId = z.infer<typeof GenerationGroupId>;
|
|
8
|
+
export declare const ClientRequestId: z.ZodBranded<z.ZodString, "Id<generationRequest>">;
|
|
9
|
+
export type ClientRequestId = z.infer<typeof ClientRequestId>;
|
|
10
|
+
export declare const ProjectHome: z.ZodEnum<["local", "cloud"]>;
|
|
11
|
+
export type ProjectHome = z.infer<typeof ProjectHome>;
|
|
12
|
+
export declare const MediaKind: z.ZodEnum<["image", "video", "audio"]>;
|
|
13
|
+
export type MediaKind = z.infer<typeof MediaKind>;
|
|
14
|
+
export declare const MediaGenerator: z.ZodEnum<["text-to-video", "text-to-image", "image-to-video", "text-to-music", "text-to-speech", "text-to-sfx", "auto"]>;
|
|
15
|
+
export type MediaGenerator = z.infer<typeof MediaGenerator>;
|
|
16
|
+
export declare const GenerationReference: z.ZodObject<{
|
|
17
|
+
role: z.ZodEnum<["first-frame", "last-frame", "image", "source"]>;
|
|
18
|
+
mediaId: z.ZodBranded<z.ZodString, "Id<media>">;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
mediaId: string & z.BRAND<"Id<media>">;
|
|
21
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
22
|
+
}, {
|
|
23
|
+
mediaId: string;
|
|
24
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
25
|
+
}>;
|
|
26
|
+
export type GenerationReference = z.infer<typeof GenerationReference>;
|
|
27
|
+
export declare const GenerateMediaCommand: z.ZodObject<{
|
|
28
|
+
clientRequestId: z.ZodBranded<z.ZodString, "Id<generationRequest>">;
|
|
29
|
+
generator: z.ZodEnum<["text-to-video", "text-to-image", "image-to-video", "text-to-music", "text-to-speech", "text-to-sfx", "auto"]>;
|
|
30
|
+
prompt: z.ZodString;
|
|
31
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
32
|
+
references: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
33
|
+
role: z.ZodEnum<["first-frame", "last-frame", "image", "source"]>;
|
|
34
|
+
mediaId: z.ZodBranded<z.ZodString, "Id<media>">;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
mediaId: string & z.BRAND<"Id<media>">;
|
|
37
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
38
|
+
}, {
|
|
39
|
+
mediaId: string;
|
|
40
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
41
|
+
}>, "many">>;
|
|
42
|
+
generationGroupId: z.ZodOptional<z.ZodBranded<z.ZodString, "Id<generationGroup>">>;
|
|
43
|
+
parentMediaId: z.ZodOptional<z.ZodBranded<z.ZodString, "Id<media>">>;
|
|
44
|
+
variationNonce: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
prompt: string;
|
|
47
|
+
clientRequestId: string & z.BRAND<"Id<generationRequest>">;
|
|
48
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
49
|
+
references: {
|
|
50
|
+
mediaId: string & z.BRAND<"Id<media>">;
|
|
51
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
52
|
+
}[];
|
|
53
|
+
style?: Record<string, unknown> | undefined;
|
|
54
|
+
generationGroupId?: (string & z.BRAND<"Id<generationGroup>">) | undefined;
|
|
55
|
+
parentMediaId?: (string & z.BRAND<"Id<media>">) | undefined;
|
|
56
|
+
variationNonce?: string | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
prompt: string;
|
|
59
|
+
clientRequestId: string;
|
|
60
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
61
|
+
style?: Record<string, unknown> | undefined;
|
|
62
|
+
references?: {
|
|
63
|
+
mediaId: string;
|
|
64
|
+
role: "image" | "source" | "first-frame" | "last-frame";
|
|
65
|
+
}[] | undefined;
|
|
66
|
+
generationGroupId?: string | undefined;
|
|
67
|
+
parentMediaId?: string | undefined;
|
|
68
|
+
variationNonce?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
export type GenerateMediaCommand = z.infer<typeof GenerateMediaCommand>;
|
|
71
|
+
export declare const GenerationReceipt: z.ZodObject<{
|
|
72
|
+
clientRequestId: z.ZodBranded<z.ZodString, "Id<generationRequest>">;
|
|
73
|
+
generationId: z.ZodBranded<z.ZodString, "Id<generation>">;
|
|
74
|
+
mediaId: z.ZodBranded<z.ZodString, "Id<media>">;
|
|
75
|
+
generationGroupId: z.ZodBranded<z.ZodString, "Id<generationGroup>">;
|
|
76
|
+
version: z.ZodNumber;
|
|
77
|
+
providerJobId: z.ZodOptional<z.ZodString>;
|
|
78
|
+
estimateUsd: z.ZodOptional<z.ZodNumber>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
mediaId: string & z.BRAND<"Id<media>">;
|
|
81
|
+
clientRequestId: string & z.BRAND<"Id<generationRequest>">;
|
|
82
|
+
generationGroupId: string & z.BRAND<"Id<generationGroup>">;
|
|
83
|
+
generationId: string & z.BRAND<"Id<generation>">;
|
|
84
|
+
version: number;
|
|
85
|
+
providerJobId?: string | undefined;
|
|
86
|
+
estimateUsd?: number | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
mediaId: string;
|
|
89
|
+
clientRequestId: string;
|
|
90
|
+
generationGroupId: string;
|
|
91
|
+
generationId: string;
|
|
92
|
+
version: number;
|
|
93
|
+
providerJobId?: string | undefined;
|
|
94
|
+
estimateUsd?: number | undefined;
|
|
95
|
+
}>;
|
|
96
|
+
export type GenerationReceipt = z.infer<typeof GenerationReceipt>;
|
|
97
|
+
export declare const GenerationStatus: z.ZodEnum<["draft", "submitting", "queued", "generating", "provider_complete", "materialising", "processing", "ready", "cancelling", "cancelled", "failed"]>;
|
|
98
|
+
export type GenerationStatus = z.infer<typeof GenerationStatus>;
|
|
99
|
+
export declare const GenerationFailure: z.ZodObject<{
|
|
100
|
+
code: z.ZodString;
|
|
101
|
+
title: z.ZodString;
|
|
102
|
+
recovery: z.ZodOptional<z.ZodString>;
|
|
103
|
+
retryable: z.ZodBoolean;
|
|
104
|
+
correlationId: z.ZodOptional<z.ZodString>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
code: string;
|
|
107
|
+
title: string;
|
|
108
|
+
retryable: boolean;
|
|
109
|
+
recovery?: string | undefined;
|
|
110
|
+
correlationId?: string | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
code: string;
|
|
113
|
+
title: string;
|
|
114
|
+
retryable: boolean;
|
|
115
|
+
recovery?: string | undefined;
|
|
116
|
+
correlationId?: string | undefined;
|
|
117
|
+
}>;
|
|
118
|
+
export type GenerationFailure = z.infer<typeof GenerationFailure>;
|
|
119
|
+
export declare const GenerationArtifact: z.ZodObject<{
|
|
120
|
+
artifactVersion: z.ZodLiteral<1>;
|
|
121
|
+
clientRequestId: z.ZodBranded<z.ZodString, "Id<generationRequest>">;
|
|
122
|
+
generationId: z.ZodBranded<z.ZodString, "Id<generation>">;
|
|
123
|
+
mediaId: z.ZodBranded<z.ZodString, "Id<media>">;
|
|
124
|
+
generationGroupId: z.ZodBranded<z.ZodString, "Id<generationGroup>">;
|
|
125
|
+
version: z.ZodNumber;
|
|
126
|
+
kind: z.ZodEnum<["image", "video", "audio"]>;
|
|
127
|
+
requestSummary: z.ZodString;
|
|
128
|
+
status: z.ZodEnum<["draft", "submitting", "queued", "generating", "provider_complete", "materialising", "processing", "ready", "cancelling", "cancelled", "failed"]>;
|
|
129
|
+
progress: z.ZodOptional<z.ZodNumber>;
|
|
130
|
+
placementReady: z.ZodDefault<z.ZodBoolean>;
|
|
131
|
+
parentMediaId: z.ZodOptional<z.ZodBranded<z.ZodString, "Id<media>">>;
|
|
132
|
+
estimateUsd: z.ZodOptional<z.ZodNumber>;
|
|
133
|
+
failure: z.ZodOptional<z.ZodObject<{
|
|
134
|
+
code: z.ZodString;
|
|
135
|
+
title: z.ZodString;
|
|
136
|
+
recovery: z.ZodOptional<z.ZodString>;
|
|
137
|
+
retryable: z.ZodBoolean;
|
|
138
|
+
correlationId: z.ZodOptional<z.ZodString>;
|
|
139
|
+
}, "strip", z.ZodTypeAny, {
|
|
140
|
+
code: string;
|
|
141
|
+
title: string;
|
|
142
|
+
retryable: boolean;
|
|
143
|
+
recovery?: string | undefined;
|
|
144
|
+
correlationId?: string | undefined;
|
|
145
|
+
}, {
|
|
146
|
+
code: string;
|
|
147
|
+
title: string;
|
|
148
|
+
retryable: boolean;
|
|
149
|
+
recovery?: string | undefined;
|
|
150
|
+
correlationId?: string | undefined;
|
|
151
|
+
}>>;
|
|
152
|
+
createdAt: z.ZodNumber;
|
|
153
|
+
updatedAt: z.ZodNumber;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
kind: "video" | "audio" | "image";
|
|
156
|
+
status: "generating" | "processing" | "cancelled" | "ready" | "failed" | "draft" | "submitting" | "queued" | "provider_complete" | "materialising" | "cancelling";
|
|
157
|
+
mediaId: string & z.BRAND<"Id<media>">;
|
|
158
|
+
createdAt: number;
|
|
159
|
+
updatedAt: number;
|
|
160
|
+
clientRequestId: string & z.BRAND<"Id<generationRequest>">;
|
|
161
|
+
generationGroupId: string & z.BRAND<"Id<generationGroup>">;
|
|
162
|
+
generationId: string & z.BRAND<"Id<generation>">;
|
|
163
|
+
version: number;
|
|
164
|
+
artifactVersion: 1;
|
|
165
|
+
requestSummary: string;
|
|
166
|
+
placementReady: boolean;
|
|
167
|
+
parentMediaId?: (string & z.BRAND<"Id<media>">) | undefined;
|
|
168
|
+
estimateUsd?: number | undefined;
|
|
169
|
+
progress?: number | undefined;
|
|
170
|
+
failure?: {
|
|
171
|
+
code: string;
|
|
172
|
+
title: string;
|
|
173
|
+
retryable: boolean;
|
|
174
|
+
recovery?: string | undefined;
|
|
175
|
+
correlationId?: string | undefined;
|
|
176
|
+
} | undefined;
|
|
177
|
+
}, {
|
|
178
|
+
kind: "video" | "audio" | "image";
|
|
179
|
+
status: "generating" | "processing" | "cancelled" | "ready" | "failed" | "draft" | "submitting" | "queued" | "provider_complete" | "materialising" | "cancelling";
|
|
180
|
+
mediaId: string;
|
|
181
|
+
createdAt: number;
|
|
182
|
+
updatedAt: number;
|
|
183
|
+
clientRequestId: string;
|
|
184
|
+
generationGroupId: string;
|
|
185
|
+
generationId: string;
|
|
186
|
+
version: number;
|
|
187
|
+
artifactVersion: 1;
|
|
188
|
+
requestSummary: string;
|
|
189
|
+
parentMediaId?: string | undefined;
|
|
190
|
+
estimateUsd?: number | undefined;
|
|
191
|
+
progress?: number | undefined;
|
|
192
|
+
placementReady?: boolean | undefined;
|
|
193
|
+
failure?: {
|
|
194
|
+
code: string;
|
|
195
|
+
title: string;
|
|
196
|
+
retryable: boolean;
|
|
197
|
+
recovery?: string | undefined;
|
|
198
|
+
correlationId?: string | undefined;
|
|
199
|
+
} | undefined;
|
|
200
|
+
}>;
|
|
201
|
+
export type GenerationArtifact = z.infer<typeof GenerationArtifact>;
|
|
202
|
+
export declare const GenerationCapability: z.ZodObject<{
|
|
203
|
+
generator: z.ZodEnum<["text-to-video", "text-to-image", "image-to-video", "text-to-music", "text-to-speech", "text-to-sfx", "auto"]>;
|
|
204
|
+
outputKind: z.ZodEnum<["image", "video", "audio"]>;
|
|
205
|
+
referenceRoles: z.ZodArray<z.ZodEnum<["first-frame", "last-frame", "image", "source"]>, "many">;
|
|
206
|
+
durationSec: z.ZodOptional<z.ZodObject<{
|
|
207
|
+
min: z.ZodNumber;
|
|
208
|
+
max: z.ZodNumber;
|
|
209
|
+
}, "strip", z.ZodTypeAny, {
|
|
210
|
+
min: number;
|
|
211
|
+
max: number;
|
|
212
|
+
}, {
|
|
213
|
+
min: number;
|
|
214
|
+
max: number;
|
|
215
|
+
}>>;
|
|
216
|
+
aspectRatios: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
217
|
+
supportsCancellation: z.ZodBoolean;
|
|
218
|
+
supportsParallelAttempts: z.ZodBoolean;
|
|
219
|
+
supportsQuote: z.ZodBoolean;
|
|
220
|
+
}, "strip", z.ZodTypeAny, {
|
|
221
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
222
|
+
outputKind: "video" | "audio" | "image";
|
|
223
|
+
referenceRoles: ("image" | "source" | "first-frame" | "last-frame")[];
|
|
224
|
+
supportsCancellation: boolean;
|
|
225
|
+
supportsParallelAttempts: boolean;
|
|
226
|
+
supportsQuote: boolean;
|
|
227
|
+
durationSec?: {
|
|
228
|
+
min: number;
|
|
229
|
+
max: number;
|
|
230
|
+
} | undefined;
|
|
231
|
+
aspectRatios?: string[] | undefined;
|
|
232
|
+
}, {
|
|
233
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
234
|
+
outputKind: "video" | "audio" | "image";
|
|
235
|
+
referenceRoles: ("image" | "source" | "first-frame" | "last-frame")[];
|
|
236
|
+
supportsCancellation: boolean;
|
|
237
|
+
supportsParallelAttempts: boolean;
|
|
238
|
+
supportsQuote: boolean;
|
|
239
|
+
durationSec?: {
|
|
240
|
+
min: number;
|
|
241
|
+
max: number;
|
|
242
|
+
} | undefined;
|
|
243
|
+
aspectRatios?: string[] | undefined;
|
|
244
|
+
}>;
|
|
245
|
+
export type GenerationCapability = z.infer<typeof GenerationCapability>;
|
|
246
|
+
export declare const GenerationCapabilities: z.ZodArray<z.ZodObject<{
|
|
247
|
+
generator: z.ZodEnum<["text-to-video", "text-to-image", "image-to-video", "text-to-music", "text-to-speech", "text-to-sfx", "auto"]>;
|
|
248
|
+
outputKind: z.ZodEnum<["image", "video", "audio"]>;
|
|
249
|
+
referenceRoles: z.ZodArray<z.ZodEnum<["first-frame", "last-frame", "image", "source"]>, "many">;
|
|
250
|
+
durationSec: z.ZodOptional<z.ZodObject<{
|
|
251
|
+
min: z.ZodNumber;
|
|
252
|
+
max: z.ZodNumber;
|
|
253
|
+
}, "strip", z.ZodTypeAny, {
|
|
254
|
+
min: number;
|
|
255
|
+
max: number;
|
|
256
|
+
}, {
|
|
257
|
+
min: number;
|
|
258
|
+
max: number;
|
|
259
|
+
}>>;
|
|
260
|
+
aspectRatios: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
261
|
+
supportsCancellation: z.ZodBoolean;
|
|
262
|
+
supportsParallelAttempts: z.ZodBoolean;
|
|
263
|
+
supportsQuote: z.ZodBoolean;
|
|
264
|
+
}, "strip", z.ZodTypeAny, {
|
|
265
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
266
|
+
outputKind: "video" | "audio" | "image";
|
|
267
|
+
referenceRoles: ("image" | "source" | "first-frame" | "last-frame")[];
|
|
268
|
+
supportsCancellation: boolean;
|
|
269
|
+
supportsParallelAttempts: boolean;
|
|
270
|
+
supportsQuote: boolean;
|
|
271
|
+
durationSec?: {
|
|
272
|
+
min: number;
|
|
273
|
+
max: number;
|
|
274
|
+
} | undefined;
|
|
275
|
+
aspectRatios?: string[] | undefined;
|
|
276
|
+
}, {
|
|
277
|
+
generator: "text-to-speech" | "text-to-image" | "image-to-video" | "text-to-video" | "text-to-music" | "text-to-sfx" | "auto";
|
|
278
|
+
outputKind: "video" | "audio" | "image";
|
|
279
|
+
referenceRoles: ("image" | "source" | "first-frame" | "last-frame")[];
|
|
280
|
+
supportsCancellation: boolean;
|
|
281
|
+
supportsParallelAttempts: boolean;
|
|
282
|
+
supportsQuote: boolean;
|
|
283
|
+
durationSec?: {
|
|
284
|
+
min: number;
|
|
285
|
+
max: number;
|
|
286
|
+
} | undefined;
|
|
287
|
+
aspectRatios?: string[] | undefined;
|
|
288
|
+
}>, "many">;
|
|
289
|
+
export type GenerationCapabilities = z.infer<typeof GenerationCapabilities>;
|
|
290
|
+
export interface GenerationStateSources {
|
|
291
|
+
attempt: {
|
|
292
|
+
status: Exclude<GenerationStatus, "materialising" | "processing" | "ready">;
|
|
293
|
+
progress?: number;
|
|
294
|
+
failure?: GenerationFailure;
|
|
295
|
+
};
|
|
296
|
+
resource: {
|
|
297
|
+
kind: MediaKind;
|
|
298
|
+
durable: boolean;
|
|
299
|
+
decodable: boolean;
|
|
300
|
+
metadataReady: boolean;
|
|
301
|
+
placementReady: boolean;
|
|
302
|
+
};
|
|
303
|
+
materialisation: {
|
|
304
|
+
required: boolean;
|
|
305
|
+
status: "not_started" | "pending_source" | "downloading" | "complete" | "failed";
|
|
306
|
+
verifiedBytes: boolean;
|
|
307
|
+
failure?: GenerationFailure;
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
export declare function deriveGenerationStatus(sources: GenerationStateSources): {
|
|
311
|
+
status: GenerationStatus;
|
|
312
|
+
placementReady: boolean;
|
|
313
|
+
failure?: GenerationFailure;
|
|
314
|
+
};
|
|
@@ -1,36 +1,9 @@
|
|
|
1
|
-
/** `opaque` is `asset` renamed (spec §5): "asset" was the word that made two
|
|
2
|
-
* different concepts — storage furniture and a media classification — look
|
|
3
|
-
* like one. `opaque` states the contract: no pipeline, not placeable. */
|
|
4
1
|
export type MediaKind = "video" | "audio" | "image" | "opaque";
|
|
5
2
|
export declare const IMAGE_CONTENT_TYPES: readonly ["image/png", "image/jpeg", "image/webp"];
|
|
6
|
-
/** Closed allowlist — the complete set of accepted content-types (the acceptance
|
|
7
|
-
* gate). mediaKind() routes each: video/audio/still-image do real work;
|
|
8
|
-
* fonts/json/svg/gif route to the opaque path. Unknown bytes (not here)
|
|
9
|
-
* are rejected at the edge. */
|
|
10
3
|
export declare const ALLOWED_CONTENT_TYPES: readonly ["video/mp4", "video/quicktime", "video/x-matroska", "video/webm", "audio/mpeg", "audio/wav", "audio/x-wav", "audio/mp4", "audio/aac", "image/png", "image/jpeg", "image/webp", "image/gif", "image/svg+xml", "application/json", "font/ttf", "font/otf", "font/woff", "font/woff2"];
|
|
11
4
|
export type AllowedContentType = (typeof ALLOWED_CONTENT_TYPES)[number];
|
|
12
5
|
export declare function mediaKind(contentType: string): MediaKind;
|
|
13
6
|
export declare function extensionForContentType(contentType: string): string;
|
|
14
|
-
/** What a file IS, from nothing but its name — the ONE derivation the import
|
|
15
|
-
* door, the project-file parse gate, and migration 020's SQL all mirror. */
|
|
16
7
|
export declare function mediaKindForFilename(filename: string): MediaKind;
|
|
17
|
-
/** Every extension whose derived kind can occupy time. The import door's
|
|
18
|
-
* accept-list IS this list — derived, so the door and the authority cannot
|
|
19
|
-
* disagree (the disagreement was a thrown import for `.jpeg`/`.m4a`). */
|
|
20
8
|
export declare const POOL_EXTENSIONS: readonly string[];
|
|
21
|
-
/**
|
|
22
|
-
* The content-type to UPLOAD a file as, given what the platform claimed and
|
|
23
|
-
* what the file is called.
|
|
24
|
-
*
|
|
25
|
-
* WHY THIS EXISTS. The upload client used to send `file.type || "video/mp4"`.
|
|
26
|
-
* Both halves are wrong: the alias case rejects real MP3s (see above), and the
|
|
27
|
-
* fallback silently relabels ANY untyped file as video — so an MP3 dragged in
|
|
28
|
-
* without a MIME is accepted and then routed down the VIDEO transcode path by
|
|
29
|
-
* `mediaKind()`, which is a wrong pipeline rather than an honest refusal.
|
|
30
|
-
*
|
|
31
|
-
* Order: an already-allowed type wins, then a known alias, then the extension.
|
|
32
|
-
* If none of those resolve, the ORIGINAL string is returned unchanged — never a
|
|
33
|
-
* guess. The closed gate then refuses it and names the type the user actually
|
|
34
|
-
* has, which is the error message they need.
|
|
35
|
-
*/
|
|
36
9
|
export declare function contentTypeForUpload(filename: string, claimed?: string | null): string;
|
|
@@ -1,54 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WHAT COUNTS AS A SPOKEN-WORD HIT, AND WHAT IT IS WORTH.
|
|
3
|
-
*
|
|
4
|
-
* This rule is implemented TWICE and has to be — the desktop searches its local
|
|
5
|
-
* `transcript_segments` table in Rust (`src-tauri/src/database/transcripts.rs`),
|
|
6
|
-
* and the web searches the utterances in an R2 blob in TypeScript. Neither can
|
|
7
|
-
* call the other: one is a SQL `LIKE` chain inside a Tauri command, the other
|
|
8
|
-
* runs in a browser against a JSON object it just downloaded.
|
|
9
|
-
*
|
|
10
|
-
* SO THE RULE IS DATA, AND BOTH LANES RUN THE SAME DATA. `cases.json` beside
|
|
11
|
-
* this file is the shared table: each row is a query, some spoken lines, and
|
|
12
|
-
* the hits they must produce, in order. This module is the TypeScript runner;
|
|
13
|
-
* `contract_transcript_search_cases` in `database/mod.rs` is the Rust one,
|
|
14
|
-
* reading the same file. A rule change that lands in one lane and not the other
|
|
15
|
-
* fails the table on the side that was missed.
|
|
16
|
-
*
|
|
17
|
-
* WHY A TABLE AND NOT A PARAMETERISED SUITE: this is a pure, stateless
|
|
18
|
-
* operation — inputs in, ranking out, no store to set up — which is exactly the
|
|
19
|
-
* case CLAUDE.md's decision table assigns to fixtures-as-data. A suite is for
|
|
20
|
-
* stateful CRUD behind one interface.
|
|
21
|
-
*
|
|
22
|
-
* WHY THE SCORES MATTER RATHER THAN JUST THE ORDER: `desktopScope`'s library
|
|
23
|
-
* search puts spoken hits above visual ones and says in its own comment that a
|
|
24
|
-
* transcript score and a CLIP cosine are different units that must not be
|
|
25
|
-
* merged by value. That reasoning only holds if a transcript score means one
|
|
26
|
-
* fixed thing, so two lanes scoring the same line differently would quietly
|
|
27
|
-
* make the ordering arbitrary.
|
|
28
|
-
*/
|
|
29
|
-
/** One spoken line, as either lane holds it. */
|
|
30
1
|
export interface SpokenLine {
|
|
31
2
|
text: string;
|
|
32
3
|
start: number;
|
|
33
4
|
end: number;
|
|
34
5
|
}
|
|
35
|
-
/** One line that matched, with what it is worth. */
|
|
36
6
|
export interface TranscriptHit extends SpokenLine {
|
|
37
|
-
/** Term coverage, 0–1. NOT comparable to a CLIP cosine. */
|
|
38
7
|
score: number;
|
|
39
8
|
}
|
|
40
|
-
/**
|
|
41
|
-
* A line containing the whole query as a PHRASE is a stronger answer than one
|
|
42
|
-
* that happens to contain the same words apart. Both outrank nothing.
|
|
43
|
-
*/
|
|
44
9
|
export declare const PHRASE_SCORE = 1;
|
|
45
10
|
export declare const SCATTERED_SCORE = 0.6;
|
|
46
|
-
/** The query, lowercased and split. Empty query = no terms = no hits. */
|
|
47
11
|
export declare function searchTerms(query: string): string[];
|
|
48
|
-
/**
|
|
49
|
-
* Rank the lines that match every term.
|
|
50
|
-
*
|
|
51
|
-
* `limit` is applied LAST, after ranking, so the strongest hits survive a small
|
|
52
|
-
* limit rather than whichever happened to be spoken first.
|
|
53
|
-
*/
|
|
54
12
|
export declare function rankTranscriptHits(query: string, lines: readonly SpokenLine[], limit?: number): TranscriptHit[];
|
|
@@ -1,15 +1,2 @@
|
|
|
1
1
|
import type { ClipExportInput } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generate FCPXML v1.11. Compatible with Final Cut Pro 11 and DaVinci Resolve 19.
|
|
4
|
-
*
|
|
5
|
-
* Multi-clip, multi-asset composition:
|
|
6
|
-
* - One <format> per unique (w, h, fpsNum, fpsDen) across assets + sequence.
|
|
7
|
-
* - One <asset> per assets[] entry.
|
|
8
|
-
* - One <asset-clip> per spine[] item (offset/duration in sequence rate; start in source rate).
|
|
9
|
-
* - Markers with spineItemId render inside the matching <asset-clip>, start
|
|
10
|
-
* relativized to the clip's timelineStartFrames.
|
|
11
|
-
* - Markers without spineItemId render at spine root, start in sequence-absolute rate.
|
|
12
|
-
* - Text overlays overlapping a spine item render as markers inside that clip
|
|
13
|
-
* (value = overlay.text). Overlays outside all clips are dropped.
|
|
14
|
-
*/
|
|
15
2
|
export declare function generateFcpxml(input: ClipExportInput): string;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Root subpath — zero-dep, edge-runtime-safe. Types + pure-TS logic only.
|
|
3
|
-
*
|
|
4
|
-
* XML generators (which depend on xmlbuilder2) live at `@cueframe/nle-export/xml`.
|
|
5
|
-
* Node-only packaging (archiver) lives at `@cueframe/nle-export/server`.
|
|
6
|
-
*/
|
|
7
1
|
export { generateSrt } from "./srt.js";
|
|
8
2
|
export { compositionToClipExportInput } from "./composition-to-input.js";
|
|
9
3
|
export { compactTimeline } from "./compact-timeline.js";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export type ExportFormat = "videoClip" | "fcpxml" | "premiere";
|
|
2
2
|
export type MarkerKind = "hook" | "editorial" | "overlay" | "scene" | "custom";
|
|
3
|
-
/** One entry per unique (sourceId, originInFrames, originOutFrames) triple. */
|
|
4
3
|
export type ClipExportAsset = {
|
|
5
4
|
id: string;
|
|
6
5
|
relPath: string;
|
|
@@ -58,48 +57,23 @@ export type ClipExportInput = {
|
|
|
58
57
|
textOverlays: ExportTextOverlay[];
|
|
59
58
|
audioTracks: ExportAudioTrack[];
|
|
60
59
|
};
|
|
61
|
-
/**
|
|
62
|
-
* Trim-activity output. One entry per unique (sourceId, inFrame, outFrame)
|
|
63
|
-
* triple across all clips in a composition.
|
|
64
|
-
*/
|
|
65
60
|
export type TrimmedRef = {
|
|
66
61
|
sourceId: string;
|
|
67
|
-
/**
|
|
68
|
-
* Integer source-frame count for the clip's requested in-point. Matching
|
|
69
|
-
* key — compositionToClipExportInput resolves a clip to its ref by exact
|
|
70
|
-
* (sourceId, inFramesAtSourceRate, outFramesAtSourceRate) equality.
|
|
71
|
-
*/
|
|
72
62
|
inFramesAtSourceRate: number;
|
|
73
63
|
outFramesAtSourceRate: number;
|
|
74
64
|
r2Key: string;
|
|
75
65
|
ptsStartSec: number;
|
|
76
66
|
durationSec: number;
|
|
77
|
-
/** ffprobe-reported rational rate of the trimmed file. */
|
|
78
67
|
sourceFpsNum: number;
|
|
79
68
|
sourceFpsDen: number;
|
|
80
|
-
/**
|
|
81
|
-
* Decimal frame rate used by the trim activity to derive
|
|
82
|
-
* inFramesAtSourceRate/outFramesAtSourceRate from seconds. Preserved so
|
|
83
|
-
* the converter's round-trip uses the same formula (avoids NTSC drift
|
|
84
|
-
* when mediaItem.frameRate is decimal 29.97 but ffprobe reports rational
|
|
85
|
-
* 30000/1001).
|
|
86
|
-
*/
|
|
87
69
|
mediaItemFps: number;
|
|
88
70
|
handleBeforeSec: number;
|
|
89
71
|
handleAfterSec: number;
|
|
90
|
-
/** Human-recognizable source name (mediaItem.name). Passed through so
|
|
91
|
-
* NLE bins show "Interview A.mov" instead of a Convex id. */
|
|
92
72
|
displayName: string;
|
|
93
73
|
cacheHit: boolean;
|
|
94
74
|
};
|
|
95
75
|
export type TimelineClip = {
|
|
96
76
|
id: string;
|
|
97
|
-
/**
|
|
98
|
-
* Original clip id before compactTimeline split this segment out of a
|
|
99
|
-
* bigger clip. Unset on clips that weren't split. Consumers that need
|
|
100
|
-
* to attach per-original-clip data (e.g. scene labels) should prefer
|
|
101
|
-
* this over string-parsing `id`.
|
|
102
|
-
*/
|
|
103
77
|
originalClipId?: string;
|
|
104
78
|
poolItemId: string;
|
|
105
79
|
sourceIn: number;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NLE XML generators. Pulls `xmlbuilder2` which uses Node's Buffer, so this
|
|
3
|
-
* subpath only loads cleanly in Node or full browser bundles — NOT in edge
|
|
4
|
-
* runtimes (Convex V8 isolate, Cloudflare Workers without node-compat).
|
|
5
|
-
*
|
|
6
|
-
* Convex + edge-runtime consumers should import types + converter + srt from
|
|
7
|
-
* the package root, which is xmlbuilder2-free.
|
|
8
|
-
*/
|
|
9
1
|
export { generateFcpxml } from "../fcpxml.js";
|
|
10
2
|
export { generatePremiereXml } from "../premiere.js";
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
export interface FrameRateInfo {
|
|
2
|
-
/** Integer display rate (24 for 23.976, 30 for 29.97, 60 for 59.94). */
|
|
3
2
|
displayRate: number;
|
|
4
|
-
/** True when fps is a classical NTSC rate (N * 1000/1001). */
|
|
5
3
|
isNtsc: boolean;
|
|
6
|
-
/** FCPXML-style frame duration attribute (e.g. `1/30s` or `1001/30000s`). */
|
|
7
4
|
frameDuration: string;
|
|
8
5
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Classify a frame rate. Handles integer fps and NTSC fractional rates
|
|
11
|
-
* (23.976, 29.97, 59.94) which use rational time values with 1001 numerator.
|
|
12
|
-
*/
|
|
13
6
|
export declare function getFrameRateInfo(fps: number): FrameRateInfo;
|
|
14
|
-
/**
|
|
15
|
-
* Convert seconds to an FCPXML rational time string.
|
|
16
|
-
* For NTSC rates, emits `frames*1001 / displayRate*1000 s` so timing stays exact.
|
|
17
|
-
*/
|
|
18
7
|
export declare function toRationalTime(seconds: number, fps: number): string;
|
|
19
|
-
/** Convert seconds to an integer frame count (display frames). */
|
|
20
8
|
export declare function toFrames(seconds: number, fps: number): number;
|
|
21
9
|
export declare function slugify(s: string): string;
|
|
@@ -1,108 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @cueframe/perception — `activeSpeaker` signal provider (per-angle AV active-
|
|
3
|
-
* speaker FACT).
|
|
4
|
-
*
|
|
5
|
-
* A DECISION-FREE measurement (perception is a leaf — it produces a FACT, never a
|
|
6
|
-
* choice): per-angle audio-visual active-speaker detection (TalkNet-style ASD,
|
|
7
|
-
* arxiv:2107.06592) → a per-window speaking probability for THAT angle's dominant
|
|
8
|
-
* tracked face, calibrated to an ABSOLUTE [0,1] scalar so the Selector core can
|
|
9
|
-
* compare "who is talking" across angles (selector-abstraction spec §1.2, the
|
|
10
|
-
* `activeSpeaker` signal; §9.1 P3, switch on who's-talking).
|
|
11
|
-
*
|
|
12
|
-
* Perception NEVER imports the Selector core (the rot-guard direction): this module
|
|
13
|
-
* emits a plain `{ value, rawScore, confidence, evidence }` envelope that STRUCTURALLY
|
|
14
|
-
* matches `@cueframe/core`'s `Signal`, but the type lives here (a leaf owns its own
|
|
15
|
-
* fact shape; the core projects it). Adding/upgrading the model = a version stamp
|
|
16
|
-
* here; the core is untouched.
|
|
17
|
-
*
|
|
18
|
-
* This module is the PURE FACT CONTRACT (perception is a leaf — NO node I/O here,
|
|
19
|
-
* so it stays importable by every framework leaf):
|
|
20
|
-
* - `activeSpeakerSignal(series, sourceInSec, sourceOutSec)` — PURE: windows the
|
|
21
|
-
* per-frame ASD probabilities (over the angle's OWN source timeline) and maps the
|
|
22
|
-
* windowed speaking probability to the absolute [0,1] value + reasons.
|
|
23
|
-
*
|
|
24
|
-
* The MEASUREMENT (the TalkNet/Light-ASD model that PRODUCES an `ActiveSpeakerSeries`)
|
|
25
|
-
* lives OUTSIDE the leaf — the real perception build is the Modal skill
|
|
26
|
-
* (the backend services_router/skills/detect_active_speaker.py). It is PER-ANGLE:
|
|
27
|
-
* one angle's audio + that angle's tracked dominant face → that angle's speaking
|
|
28
|
-
* probability over time. This REPLACES the within-source Light-ASD (broken on 2+
|
|
29
|
-
* faces) — each angle's track is conditioned on its own audio, never the mixed
|
|
30
|
-
* podcast track (spec §10 — "Cannot be Deepgram-word-gated per-angle"). Both the
|
|
31
|
-
* Modal skill and any local harness feed this one calibration.
|
|
32
|
-
*
|
|
33
|
-
* LANDMINE (spec §scope-1): vocal activity ≠ SPEECH. Laughing, chewing, coughing,
|
|
34
|
-
* a hot reaction mic all raise audio energy and can fool a naive VAD — but a proper
|
|
35
|
-
* AV-ASD model (TalkNet) keys on lip-motion↔audio SYNC, so a chewing/laughing
|
|
36
|
-
* reaction shot (mouth moves, but not in speech-sync, or audio is non-speech)
|
|
37
|
-
* scores LOW. The calibration here trusts the AV model's probability; it does NOT
|
|
38
|
-
* re-derive "is talking" from audio energy alone (that would cut to the chewer).
|
|
39
|
-
* `audioEnergy` (the hot-mic VAD) is a SEPARATE, weaker signal — never conflate the
|
|
40
|
-
* two. The resolver test asserts a high-audio-energy / low-activeSpeaker fixture
|
|
41
|
-
* does NOT trigger a cut.
|
|
42
|
-
*
|
|
43
|
-
* Pure + deterministic.
|
|
44
|
-
*/
|
|
45
|
-
/** Bump when the ASD-probability→value calibration changes (the 3-stamp lesson — a
|
|
46
|
-
* stale cached activeSpeaker is served if a consumer doesn't bump alongside). The
|
|
47
|
-
* Modal model version is a DISTINCT stamp carried on the series (`modelVersion`). */
|
|
48
1
|
export declare const ACTIVE_SPEAKER_VERSION = "active-speaker-v1-2026.06.21";
|
|
49
|
-
/**
|
|
50
|
-
* The raw per-angle ASD measurement — what the Modal `detect_active_speaker` skill
|
|
51
|
-
* (and any local harness) produces for ONE angle. A per-frame speaking probability
|
|
52
|
-
* over the angle's OWN source timeline for that angle's dominant tracked face.
|
|
53
|
-
*
|
|
54
|
-
* Source-independent absolutes (each value is a probability in [0,1] from the AV
|
|
55
|
-
* model), never normalized across angles (the cross-source comparison is the
|
|
56
|
-
* Selector's job — `switchMargin`/weights, never the signal).
|
|
57
|
-
*/
|
|
58
2
|
export interface ActiveSpeakerSeries {
|
|
59
|
-
/** The Modal ASD model + weights version (e.g. the Light-ASD/TalkNet checkpoint).
|
|
60
|
-
* DISTINCT from `ACTIVE_SPEAKER_VERSION` (the calibration stamp). */
|
|
61
3
|
modelVersion: string;
|
|
62
|
-
/** Frames-per-second of `probs` (the model's visual rate — Light-ASD = 25). */
|
|
63
4
|
fps: number;
|
|
64
|
-
/** Source-second at which `probs[0]` starts (the angle's window start). */
|
|
65
5
|
windowStartSec: number;
|
|
66
|
-
/** Per-frame speaking probability ∈ [0,1] for the angle's dominant tracked face.
|
|
67
|
-
* A frame where the model had NO face crop (the dominant face left the frame)
|
|
68
|
-
* is `null` — NOT 0 (absence ≠ silence; a no-face frame must not dilute the mean
|
|
69
|
-
* toward "not speaking"). */
|
|
70
6
|
probs: Array<number | null>;
|
|
71
7
|
}
|
|
72
|
-
/** Matches `@cueframe/core`'s `Signal` shape STRUCTURALLY (perception owns its
|
|
73
|
-
* fact; the core projects `value`/`confidence`). `null` (not 0) when the angle has
|
|
74
|
-
* NO measurable face/audio over the window — absence, never "definitely silent". */
|
|
75
8
|
export interface ActiveSpeakerSignal {
|
|
76
|
-
/** ABSOLUTE, calibrated ∈ [0,1] — "is this angle's subject speaking right now,"
|
|
77
|
-
* source-independent. The talking angle scores highest. */
|
|
78
9
|
value: number;
|
|
79
|
-
/** Pre-calibration raw (the mean windowed ASD probability) for legibility. */
|
|
80
10
|
rawScore: number;
|
|
81
11
|
confidence: number;
|
|
82
|
-
/** Reasons-only ("speaking 0.91, 18/20 frames faced"); excluded from any hash. */
|
|
83
12
|
evidence: string;
|
|
84
13
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Window the per-frame ASD probabilities over `[sourceInSec, sourceOutSec)` (the
|
|
87
|
-
* angle's OWN source span — the resolver has already mapped the output grid through
|
|
88
|
-
* the angle's declared offset) and map them to the absolute [0,1] activeSpeaker
|
|
89
|
-
* value (PURE).
|
|
90
|
-
*
|
|
91
|
-
* Returns `null` — NOT 0 — when the window has no measurable signal:
|
|
92
|
-
* - the angle has no ASD series at all (no detected face → no track to score), OR
|
|
93
|
-
* - every frame in the window is `null` (the dominant face was absent the whole
|
|
94
|
-
* window).
|
|
95
|
-
* `null` is "not measured" (absence); a weight over an all-null activeSpeaker is
|
|
96
|
-
* fail-loud upstream (`selector_signal_absent`), never silently 0
|
|
97
|
-
* (`feedback_never_add_fallbacks`). A measured-but-quiet angle returns a real low
|
|
98
|
-
* value (e.g. 0.05) — that IS a measurement and DOES suppress a cut.
|
|
99
|
-
*
|
|
100
|
-
* Calibration (absolute, NOT softmax-across-angles): the AV model's per-frame
|
|
101
|
-
* probability is already an absolute speaking likelihood, so the value is the
|
|
102
|
-
* face-present mean over the window. The TalkNet/Light-ASD model keys on lip↔audio
|
|
103
|
-
* SYNC, so a laughing/chewing reaction (mouth moving, non-speech audio) already
|
|
104
|
-
* scores low at the model — this calibration trusts that and does NOT re-inflate
|
|
105
|
-
* from audio energy (the landmine). Confidence scales with face COVERAGE over the
|
|
106
|
-
* window (a face present 2/20 frames is a weak vote).
|
|
107
|
-
*/
|
|
108
14
|
export declare function activeSpeakerSignal(series: ActiveSpeakerSeries | undefined, sourceInSec: number, sourceOutSec: number): ActiveSpeakerSignal | null;
|