@cueframe/kernel 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_members/account-model/validators/contextFile.d.ts +3 -21
- package/dist/_members/account-model/validators/conversation.d.ts +12 -42
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +3 -17
- package/dist/_members/account-model/validators/sessionToken.d.ts +10 -36
- package/dist/_members/account-model/validators/uploadToken.d.ts +11 -21
- package/dist/_members/account-model/validators/userSettings.d.ts +3 -13
- package/dist/_members/account-model/validators/workingComposition.d.ts +3 -19
- package/dist/_members/authoring/agent/errors.d.ts +8 -0
- package/dist/_members/authoring/capabilities.d.ts +0 -9
- package/dist/_members/authoring/index.d.ts +1 -1
- package/dist/_members/authoring/models/defaultModels.d.ts +12 -0
- package/dist/_members/authoring/models/modelFactory.d.ts +1 -0
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +5 -7
- package/dist/_members/authoring/types.d.ts +1 -2
- package/dist/_members/cloud-import/CloudImportService.d.ts +3 -4
- package/dist/_members/cloud-import/ImportProvider.d.ts +3 -7
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -6
- package/dist/_members/cloud-import/index.d.ts +2 -4
- package/dist/_members/component-runtime/assetServer.d.ts +18 -0
- package/dist/_members/component-runtime/assetServer.d.ts.map +1 -0
- package/dist/_members/component-runtime/bake.d.ts +12 -0
- package/dist/_members/component-runtime/bake.d.ts.map +1 -0
- package/dist/_members/component-runtime/browserFirewall.d.ts +21 -0
- package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -0
- package/dist/_members/component-runtime/browserIdentity.d.ts +14 -0
- package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -0
- package/dist/_members/component-runtime/browserOptions.d.ts +8 -0
- package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -0
- package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
- package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -0
- package/dist/_members/component-runtime/contracts.d.ts +443 -0
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -0
- package/dist/_members/component-runtime/determinism.d.ts +18 -0
- package/dist/_members/component-runtime/determinism.d.ts.map +1 -0
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +9 -0
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +1 -0
- package/dist/_members/component-runtime/identity.d.ts +16 -0
- package/dist/_members/component-runtime/identity.d.ts.map +1 -0
- package/dist/_members/component-runtime/importPolicy.d.ts +3 -0
- package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -0
- package/dist/_members/component-runtime/index.d.ts +11 -0
- package/dist/_members/component-runtime/index.d.ts.map +1 -0
- package/dist/_members/component-runtime/outputVerifier.d.ts +29 -0
- package/dist/_members/component-runtime/outputVerifier.d.ts.map +1 -0
- package/dist/_members/{render-harness/localRender.d.ts → component-runtime/render.d.ts} +25 -15
- package/dist/_members/component-runtime/render.d.ts.map +1 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts +10 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -0
- package/dist/_members/compose/index.d.ts +0 -5
- package/dist/_members/composition/graphics-plan/schemas.d.ts +299 -1309
- package/dist/_members/composition/primitive-catalog/index.d.ts +2 -2
- package/dist/_members/composition/primitive-catalog/projection.d.ts +2 -15
- package/dist/_members/composition/projection/behind-readiness.d.ts +4 -2
- package/dist/_members/composition/reframe/index.d.ts +56 -528
- package/dist/_members/composition/validators/brandKit.d.ts +251 -1252
- package/dist/_members/composition/validators/composePlan.d.ts +106 -818
- package/dist/_members/composition/validators/composition.d.ts +1328 -5886
- package/dist/_members/composition/validators/font.d.ts +35 -91
- package/dist/_members/composition/validators/index.d.ts +1 -0
- package/dist/_members/composition/validators/opaqueId.d.ts +13 -0
- package/dist/_members/composition/validators/project.d.ts +17 -52
- package/dist/_members/composition/validators/registry.d.ts +53 -135
- package/dist/_members/composition/validators/render.d.ts +811 -7443
- package/dist/_members/composition/validators/session.d.ts +41 -99
- package/dist/_members/composition/validators/webhook.d.ts +25 -60
- package/dist/_members/composition-ops/alphaLayers.d.ts +3 -2
- package/dist/_members/composition-ops/index.d.ts +412 -4348
- package/dist/_members/core/render/compositionAudioAndDepth.d.ts +6 -0
- package/dist/_members/core/render/compositionRender.d.ts +3 -4
- package/dist/_members/core/render/compositionValidation.d.ts +4 -0
- package/dist/_members/core/render/index.d.ts +2 -2
- package/dist/_members/core/render/types.d.ts +16 -8
- package/dist/_members/director/ai-sdk/messages.d.ts +67 -217
- package/dist/_members/director/domain/chat.d.ts +70 -293
- package/dist/_members/director/testing/contract.d.ts +10 -10
- package/dist/_members/errors/registry.d.ts +201 -3
- package/dist/_members/foundation/primitives/index.d.ts +1 -1
- package/dist/_members/mcp/adapter.d.ts +22 -0
- package/dist/_members/mcp/burnedNames.d.ts +0 -1
- package/dist/_members/mcp/core.d.ts +6 -3
- package/dist/_members/mcp/curation.d.ts +3 -34
- package/dist/_members/mcp/curationTypes.d.ts +34 -0
- package/dist/_members/mcp/generated/harness.d.ts +1 -1
- package/dist/_members/mcp/generated/operations.d.ts +12 -2
- package/dist/_members/mcp/main.d.ts +1 -0
- package/dist/_members/mcp/mediaContextFormat.d.ts +4 -0
- package/dist/_members/mcp/prompts.d.ts +1 -1
- package/dist/_members/mcp/query.d.ts +4 -0
- package/dist/_members/mcp/resources.d.ts +1 -1
- package/dist/_members/mcp/server.d.ts +1 -2
- package/dist/_members/mcp/wireSchema.d.ts +13 -0
- package/dist/_members/media-model/api.d.ts +123 -727
- package/dist/_members/media-model/generation.d.ts +141 -228
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/opaqueId.d.ts +10 -0
- package/dist/_members/plane/contract.d.ts +16 -19
- package/dist/_members/primitives/backgrounds/animated-bar-chart/config.d.ts +3 -27
- package/dist/_members/primitives/backgrounds/animated-line-chart/config.d.ts +2 -26
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/config.d.ts +1 -17
- package/dist/_members/primitives/backgrounds/dynamic-grid/config.d.ts +6 -14
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/config.d.ts +1 -11
- package/dist/_members/primitives/backgrounds/infinite-marquee/config.d.ts +1 -21
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/config.d.ts +2 -12
- package/dist/_members/primitives/backgrounds/perspective-marquee/config.d.ts +2 -26
- package/dist/_members/primitives/backgrounds/silk-flow-bg/config.d.ts +2 -22
- package/dist/_members/primitives/backgrounds/vector-field/config.d.ts +1 -17
- package/dist/_members/primitives/backgrounds/volumetric-rays/config.d.ts +1 -19
- package/dist/_members/primitives/effects/blur/config.d.ts +5 -14
- package/dist/_members/primitives/effects/color-grade/config.d.ts +10 -18
- package/dist/_members/primitives/effects/grain/config.d.ts +9 -12
- package/dist/_members/primitives/effects/parallax/config.d.ts +8 -12
- package/dist/_members/primitives/effects/particles/config.d.ts +9 -20
- package/dist/_members/primitives/effects/pulsing-indicator/config.d.ts +1 -13
- package/dist/_members/primitives/effects/spotlight-card/config.d.ts +1 -25
- package/dist/_members/primitives/effects/spring-pop-in/config.d.ts +1 -15
- package/dist/_members/primitives/effects/success-confetti/config.d.ts +2 -26
- package/dist/_members/primitives/effects/vignette/config.d.ts +5 -12
- package/dist/_members/primitives/hero-text/config.d.ts +9 -24
- package/dist/_members/primitives/layouts/chat-to-preview-layout/config.d.ts +1 -11
- package/dist/_members/primitives/layouts/infinite-bento-pan/config.d.ts +1 -9
- package/dist/_members/primitives/layouts/letterbox/config.d.ts +1 -9
- package/dist/_members/primitives/layouts/photo-grid/config.d.ts +2 -12
- package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +7 -12
- package/dist/_members/primitives/layouts/split-screen/config.d.ts +1 -7
- package/dist/_members/primitives/layouts/staggered-bento-grid/config.d.ts +3 -51
- package/dist/_members/primitives/lib/schema.d.ts +1 -1
- package/dist/_members/primitives/scenes/changelog-bite/config.d.ts +7 -24
- package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +5 -14
- package/dist/_members/primitives/scenes/landing-code-showcase/config.d.ts +1 -7
- package/dist/_members/primitives/scenes/live-code-compilation/config.d.ts +1 -7
- package/dist/_members/primitives/scenes/pricing-tier-focus/config.d.ts +2 -12
- package/dist/_members/primitives/scenes/product-launch-trailer/config.d.ts +1 -19
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/config.d.ts +1 -11
- package/dist/_members/primitives/text/blur-reveal/config.d.ts +1 -17
- package/dist/_members/primitives/text/cinematic-title/config.d.ts +13 -73
- package/dist/_members/primitives/text/inline-highlight/config.d.ts +1 -21
- package/dist/_members/primitives/text/karaoke/config.d.ts +10 -93
- package/dist/_members/primitives/text/kinetic-type/config.d.ts +14 -49
- package/dist/_members/primitives/text/lower-third/config.d.ts +8 -70
- package/dist/_members/primitives/text/marker-highlight/config.d.ts +1 -23
- package/dist/_members/primitives/text/masked-slide-reveal/config.d.ts +1 -17
- package/dist/_members/primitives/text/matrix-decode/config.d.ts +1 -19
- package/dist/_members/primitives/text/quote-card/config.d.ts +1 -11
- package/dist/_members/primitives/text/rgb-glitch-text/config.d.ts +1 -23
- package/dist/_members/primitives/text/shimmer-sweep/config.d.ts +1 -17
- package/dist/_members/primitives/text/slot-machine-roll/config.d.ts +1 -17
- package/dist/_members/primitives/text/staggered-fade-up/config.d.ts +2 -24
- package/dist/_members/primitives/text/stat-counter/config.d.ts +6 -20
- package/dist/_members/primitives/text/strikethrough-replace/config.d.ts +1 -19
- package/dist/_members/primitives/text/text-effect/config.d.ts +10 -15
- package/dist/_members/primitives/text/text-fade-replace/config.d.ts +1 -17
- package/dist/_members/primitives/text/token-stream/config.d.ts +1 -11
- package/dist/_members/primitives/text/tracking-in/config.d.ts +1 -19
- package/dist/_members/primitives/text/typewriter/config.d.ts +1 -21
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/config.d.ts +5 -8
- package/dist/_members/primitives/transitions/code-diff-wipe/config.d.ts +1 -21
- package/dist/_members/primitives/transitions/directional-wipe/config.d.ts +7 -6
- package/dist/_members/primitives/transitions/frosted-glass-wipe/config.d.ts +1 -5
- package/dist/_members/primitives/transitions/glitch-cut/config.d.ts +1 -7
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/config.d.ts +6 -12
- package/dist/_members/primitives/transitions/ink-wipe/config.d.ts +7 -8
- package/dist/_members/primitives/transitions/kinetic-type-mask/config.d.ts +1 -7
- package/dist/_members/primitives/transitions/light-leak/config.d.ts +1 -7
- package/dist/_members/primitives/transitions/luma-matte/config.d.ts +6 -6
- package/dist/_members/primitives/transitions/morph/config.d.ts +5 -6
- package/dist/_members/primitives/transitions/spatial-push/config.d.ts +7 -6
- package/dist/_members/primitives/transitions/swipe-transition-wipe/config.d.ts +5 -10
- package/dist/_members/primitives/transitions/zoom-through/config.d.ts +2 -30
- package/dist/_members/primitives/transitions/zoom-through-transition/config.d.ts +1 -13
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/config.d.ts +1 -29
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/config.d.ts +1 -11
- package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +8 -16
- package/dist/_members/primitives/ui-blocks/before-after-slider/config.d.ts +1 -11
- package/dist/_members/primitives/ui-blocks/benchmark-bars/config.d.ts +3 -73
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/config.d.ts +1 -15
- package/dist/_members/primitives/ui-blocks/browser-flow/config.d.ts +1 -7
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/config.d.ts +1 -21
- package/dist/_members/primitives/ui-blocks/chat-exchange/config.d.ts +1 -15
- package/dist/_members/primitives/ui-blocks/code-accordion/config.d.ts +2 -26
- package/dist/_members/primitives/ui-blocks/context-meter/config.d.ts +1 -13
- package/dist/_members/primitives/ui-blocks/cursor-flow/config.d.ts +2 -66
- package/dist/_members/primitives/ui-blocks/dashboard-populate/config.d.ts +1 -9
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/config.d.ts +3 -97
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +5 -14
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/config.d.ts +1 -13
- package/dist/_members/primitives/ui-blocks/eval-scorecard/config.d.ts +2 -36
- package/dist/_members/primitives/ui-blocks/glass-code-block/config.d.ts +1 -23
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/config.d.ts +3 -113
- package/dist/_members/primitives/ui-blocks/metric-gauge/config.d.ts +2 -34
- package/dist/_members/primitives/ui-blocks/morphing-modal/config.d.ts +3 -113
- package/dist/_members/primitives/ui-blocks/pipeline-journey/config.d.ts +1 -9
- package/dist/_members/primitives/ui-blocks/progress-steps/config.d.ts +6 -37
- package/dist/_members/primitives/ui-blocks/reasoning-trace/config.d.ts +2 -12
- package/dist/_members/primitives/ui-blocks/simulated-cursor/config.d.ts +2 -54
- package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +9 -48
- package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +7 -20
- package/dist/_members/primitives/ui-blocks/tool-call-stack/config.d.ts +2 -42
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/config.d.ts +1 -19
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/config.d.ts +3 -71
- package/dist/_members/primitives/ui-blocks/voice-waveform/config.d.ts +5 -14
- package/dist/_members/primitives/workspace.d.ts +1 -5
- package/dist/_members/render-harness/cardAssetAdmission.d.ts +3 -0
- package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/index.d.ts +1 -5
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/remotion-runtime.d.ts +20 -0
- package/dist/_members/render-harness/renderInputAssets.d.ts +2 -1
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/authoring/build-tools.js +8 -8
- package/dist/authoring/context.js +5 -5
- package/dist/authoring/models.js +3 -1
- 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 +28 -27
- package/dist/{chunk-AW57IWNW.js → chunk-4FOOBSEE.js} +53 -3
- package/dist/{chunk-KFECIHED.js → chunk-4JRUGT2Y.js} +41 -106
- package/dist/{chunk-FMODQD5P.js → chunk-4ZE564YF.js} +16 -9
- package/dist/chunk-5OTQ7M43.js +718 -0
- package/dist/{chunk-GMD33ZD7.js → chunk-6ID2J64H.js} +1 -1
- package/dist/{chunk-NQSMEUJ6.js → chunk-6XI57FZZ.js} +362 -212
- package/dist/chunk-7KEUL3FI.js +500 -0
- package/dist/{chunk-GIA2SVVB.js → chunk-AD5HWBCE.js} +9 -4
- package/dist/{chunk-DCVJWGIA.js → chunk-C5SEPOWD.js} +165 -173
- package/dist/chunk-CGHTMZNC.js +6 -0
- package/dist/chunk-DHKQ47Q6.js +57 -0
- package/dist/{chunk-RP4SXXLJ.js → chunk-DQKSCHFC.js} +1 -1
- package/dist/{chunk-TO4BFNLJ.js → chunk-EEXCDFY5.js} +1 -1
- package/dist/{chunk-ZT7MHRQU.js → chunk-GCQ7Z7S7.js} +15 -5
- package/dist/{chunk-TPA6PYN2.js → chunk-GEGRJKKO.js} +25 -10
- package/dist/chunk-HHFDHJ3I.js +392 -0
- package/dist/{chunk-ICSZF37W.js → chunk-IBMJ33EL.js} +3 -3
- package/dist/{chunk-TFGKUWHY.js → chunk-IHFREGFA.js} +24 -22
- package/dist/chunk-IJ7PVJTK.js +114 -0
- package/dist/{chunk-UQSOS726.js → chunk-KKEY5MIW.js} +8 -8
- package/dist/{chunk-ZPRBGW4Y.js → chunk-LNBVTDFR.js} +1 -1
- package/dist/chunk-LQUWKBST.js +195 -0
- package/dist/chunk-M2TLRXEO.js +41 -0
- package/dist/{chunk-SDCEJAO2.js → chunk-NOEBAV2G.js} +58 -2
- package/dist/{chunk-DL7WYISQ.js → chunk-QBKDEO7J.js} +1601 -1435
- package/dist/chunk-RFXR7ATW.js +244 -0
- package/dist/chunk-SIAXP3ZO.js +131 -0
- package/dist/{chunk-MCBUX5XV.js → chunk-SLN5UKLT.js} +2 -2
- package/dist/{chunk-GH27OS5S.js → chunk-VCBLGZQQ.js} +19 -4
- package/dist/{chunk-TMB5AY6Q.js → chunk-XHUYWVYK.js} +1 -1
- package/dist/{chunk-BZZTVOGG.js → chunk-XVBOSPZI.js} +15 -17
- package/dist/{chunk-HBVAZXYO.js → chunk-Y3QGYASW.js} +14 -14
- package/dist/{chunk-DWLNPNC4.js → chunk-ZCAQHNPI.js} +1 -1
- package/dist/{chunk-DJW3UGBH.js → chunk-ZN6P3KOJ.js} +90 -39
- package/dist/chunk-ZZRBKGDA.js +109 -0
- package/dist/cloud-import.js +20 -116
- package/dist/component-runtime/browserOptions.d.ts +1 -0
- package/dist/component-runtime/browserOptions.js +7 -0
- package/dist/component-runtime/contracts.d.ts +1 -0
- package/dist/component-runtime/contracts.js +49 -0
- package/dist/component-runtime/identity/browser.d.ts +1 -0
- package/dist/component-runtime/identity/browser.js +35 -0
- package/dist/component-runtime/identity.d.ts +1 -0
- package/dist/component-runtime/identity.js +21 -0
- package/dist/component-runtime/importPolicy.d.ts +1 -0
- package/dist/component-runtime/importPolicy.js +10 -0
- package/dist/component-runtime/render.d.ts +1 -0
- package/dist/component-runtime/render.js +34 -0
- package/dist/component-runtime.d.ts +1 -0
- package/dist/component-runtime.js +132 -0
- package/dist/compose.js +16 -30
- package/dist/composition/graphics-plan.js +1 -1
- package/dist/composition/ops.js +4 -4
- package/dist/composition/primitive-catalog.js +1 -3
- package/dist/composition/projection.js +2 -2
- package/dist/composition/timeline.js +2 -2
- package/dist/composition/validators.js +4 -2
- package/dist/composition-ops.js +23 -17
- package/dist/composition.js +17 -15
- package/dist/{context-JLLU3MYD.js → context-4GSDBFT3.js} +5 -5
- package/dist/core/render.js +8 -8
- package/dist/core/select.js +2 -2
- package/dist/core.js +6 -6
- package/dist/director/ai-sdk.js +3 -3
- package/dist/director/domain.js +2 -2
- package/dist/director.js +3 -3
- package/dist/errors.js +1 -1
- package/dist/mcp/adapter.js +33 -33
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/curation.js +5 -1
- package/dist/mcp/executor.js +1 -1
- package/dist/mcp/server.js +4 -6
- package/dist/mcp/wire-schema.d.ts +1 -0
- package/dist/mcp/wire-schema.js +37 -0
- package/dist/mcp.js +6 -29
- package/dist/media-model/media-kind.js +98 -9
- package/dist/media-model.js +83 -77
- package/dist/nle-export.js +15 -24
- package/dist/plane/conformance.js +1 -1
- package/dist/plane/contract.js +7 -0
- package/dist/plane.js +1 -1
- package/dist/primitives/effects.js +1 -1
- package/dist/primitives/hero-text.js +2 -2
- package/dist/primitives/layouts.js +1 -1
- package/dist/primitives/lib/index.js +18 -18
- package/dist/primitives/lib/schema.js +1 -1
- package/dist/primitives/lib.js +18 -18
- package/dist/primitives/scenes.js +2 -2
- package/dist/primitives/text.js +2 -2
- package/dist/primitives.js +10 -10
- package/dist/render-harness/cardAssetAdmission.d.ts +1 -0
- package/dist/render-harness/cardAssetAdmission.js +8 -0
- package/dist/render-harness/renderInputAssets.d.ts +1 -0
- package/dist/render-harness/renderInputAssets.js +17 -0
- package/dist/render-harness.js +44 -572
- package/package.json +69 -61
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -2
- package/dist/_members/authoring/transpileComponent.d.ts +0 -6
- package/dist/_members/authoring/transpileHelper.d.ts +0 -8
- package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -18
- package/dist/_members/cloud-import/multipartUpload.d.ts +0 -12
- package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
- package/dist/_members/compose/sceneToRenderInput.d.ts +0 -25
- package/dist/_members/compose/schema.d.ts +0 -30
- package/dist/_members/compose/tokenResolver.d.ts +0 -17
- package/dist/_members/convex-api/api.d.ts +0 -5
- package/dist/_members/convex-api/api.generated.d.ts +0 -1444
- package/dist/_members/convex-api/dataModel.d.ts +0 -6
- package/dist/_members/render-harness/browserOptions.d.ts +0 -11
- package/dist/_members/render-harness/browserOptions.d.ts.map +0 -1
- package/dist/_members/render-harness/contractRender.d.ts +0 -27
- package/dist/_members/render-harness/contractRender.d.ts.map +0 -1
- package/dist/_members/render-harness/localRender.d.ts.map +0 -1
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -9
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +0 -1
- package/dist/authoring/transpileComponent.d.ts +0 -1
- package/dist/authoring/transpileComponent.js +0 -31
- package/dist/authoring/transpileHelper.d.ts +0 -1
- package/dist/authoring/transpileHelper.js +0 -9
- package/dist/chunk-6IU2UQI5.js +0 -107
- package/dist/chunk-EP2Y6M2J.js +0 -64
- package/dist/chunk-MHOQTPOB.js +0 -124
- package/dist/chunk-RHVLQNYF.js +0 -20
- package/dist/chunk-TXSFYUZH.js +0 -85
- package/dist/chunk-V24L35GM.js +0 -61
- package/dist/chunk-WZH57M53.js +0 -494
- package/dist/cloud-import/multipart.d.ts +0 -1
- package/dist/cloud-import/multipart.js +0 -8
- package/dist/compose/renderer.d.ts +0 -1
- package/dist/compose/renderer.js +0 -170
- package/dist/convex-api/dataModel.d.ts +0 -1
- package/dist/convex-api/dataModel.js +0 -0
- package/dist/convex-api.d.ts +0 -1
- package/dist/convex-api.js +0 -8
- package/dist/render-harness/sandboxGlobalSpecs.d.ts +0 -1
- package/dist/render-harness/sandboxGlobalSpecs.js +0 -13
- package/dist/{chunk-SAMQUUO5.js → chunk-BIBYZJL3.js} +3 -3
- package/dist/{chunk-23HFEKV7.js → chunk-QISFYLBB.js} +4 -4
- package/dist/{chunk-DYZE7JZA.js → chunk-TMIBBD5E.js} +3 -3
|
@@ -3,6 +3,64 @@ function fmtClock(sec) {
|
|
|
3
3
|
return `${Math.floor(sec / 60)}:${String(Math.floor(sec % 60)).padStart(2, "0")}`;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
// ../mcp/src/mediaContextFormat.ts
|
|
7
|
+
var CONTEXT_WINDOW_CAP = 6;
|
|
8
|
+
var CONTEXT_FACE_CAP = 3;
|
|
9
|
+
var CONTEXT_SAMPLE_WORDS = 24;
|
|
10
|
+
function formatMediaContext(json) {
|
|
11
|
+
const lines = [];
|
|
12
|
+
const dims = json?.width && json?.height ? `${json.width}\xD7${json.height}` : "unknown dimensions";
|
|
13
|
+
const duration = typeof json?.durationSec === "number" ? fmtClock(json.durationSec) : "unknown duration";
|
|
14
|
+
lines.push(`Media ${json?.mediaId ?? "?"} \u2014 ${dims}, ${duration}`);
|
|
15
|
+
if (json?.thumbnail?.url) lines.push(`thumbnail: ${json.thumbnail.url}`);
|
|
16
|
+
const windows = Array.isArray(json?.faces?.windows) ? json.faces.windows : [];
|
|
17
|
+
lines.push(`faces: ${json?.faces?.status ?? "unknown"} (${windows.length} source window(s))`);
|
|
18
|
+
for (const window of windows.slice(0, CONTEXT_WINDOW_CAP)) {
|
|
19
|
+
const faces = Array.isArray(window?.faces) ? window.faces : [];
|
|
20
|
+
const roster = faces.slice(0, CONTEXT_FACE_CAP).map((face) => {
|
|
21
|
+
const bbox = face?.bbox ?? {};
|
|
22
|
+
const box = [bbox.x, bbox.y, bbox.width, bbox.height].every((value) => typeof value === "number") ? ` bbox:${[bbox.x, bbox.y, bbox.width, bbox.height].map((n) => n.toFixed(3)).join(",")}` : "";
|
|
23
|
+
const speaking = typeof face?.speakingShare === "number" ? ` speaking:${Math.round(face.speakingShare * 100)}%` : "";
|
|
24
|
+
return `${face?.faceId ?? "?"}${box}${speaking}`;
|
|
25
|
+
});
|
|
26
|
+
lines.push(`- ${window?.window?.startSec ?? "?"}\u2192${window?.window?.endSec ?? "?"}s: ${roster.join(" | ") || "no usable subjects"}`);
|
|
27
|
+
}
|
|
28
|
+
if (windows.length > CONTEXT_WINDOW_CAP) lines.push(`- \u2026 ${windows.length - CONTEXT_WINDOW_CAP} more face windows elided`);
|
|
29
|
+
const transcript = json?.transcript;
|
|
30
|
+
const utterances = Array.isArray(transcript?.data?.utterances) ? transcript.data.utterances : Array.isArray(transcript?.data?.data) ? transcript.data.data : [];
|
|
31
|
+
const words = utterances.flatMap((utterance) => Array.isArray(utterance?.words) ? utterance.words : []);
|
|
32
|
+
const sample = words.slice(0, CONTEXT_SAMPLE_WORDS).map((word) => {
|
|
33
|
+
const start = typeof word?.start === "number" ? `@${word.start.toFixed(2)}s` : "";
|
|
34
|
+
return `${word?.word ?? word?.text ?? ""}${start}`;
|
|
35
|
+
}).filter(Boolean);
|
|
36
|
+
lines.push(`transcript: ${transcript?.status ?? "unknown"} (${utterances.length} utterance(s), ${words.length} word(s))`);
|
|
37
|
+
if (sample.length) lines.push(`sample: ${sample.join(" ")}`);
|
|
38
|
+
if (transcript?.status === "ready") {
|
|
39
|
+
lines.push("Use get_transcript(mediaItemId, limit, after/before) for exact paginated word timings.");
|
|
40
|
+
}
|
|
41
|
+
if (json?.beatGrid) {
|
|
42
|
+
const beats = Array.isArray(json.beatGrid.beatTimesMs) ? json.beatGrid.beatTimesMs : [];
|
|
43
|
+
lines.push(`beatGrid: ${json.beatGrid.bpm ?? "?"} bpm, ${beats.length} beats, ${json.beatGrid.method ?? "?"}${beats.length ? `; first ms: ${beats.slice(0, 12).join(",")}` : ""}`);
|
|
44
|
+
} else lines.push("beatGrid: none");
|
|
45
|
+
const wordTimes = Array.isArray(json?.wordGrid?.wordTimesMs) ? json.wordGrid.wordTimesMs : [];
|
|
46
|
+
lines.push(`wordGrid: ${wordTimes.length} onsets${wordTimes.length ? `; first ms: ${wordTimes.slice(0, 12).join(",")}` : ""}`);
|
|
47
|
+
lines.push(`audio: role=${json?.audioRole ?? "none"} envelope=${json?.envelope?.envelopeClass ?? "none"}`);
|
|
48
|
+
const facts = Array.isArray(json?.facts) ? json.facts : [];
|
|
49
|
+
const offers = Array.isArray(json?.offers) ? json.offers : [];
|
|
50
|
+
lines.push(`facts: ${facts.map((fact) => `${fact?.kind ?? "?"}:${fact?.status ?? "?"}`).join(", ") || "none"}`);
|
|
51
|
+
lines.push(`offers: ${offers.map((offer) => `${offer?.kind ?? "?"}${offer?.quotedUsd != null ? `($${offer.quotedUsd})` : ""}`).join(", ") || "none"}`);
|
|
52
|
+
return lines.join("\n");
|
|
53
|
+
}
|
|
54
|
+
function formatTranscriptPage(json) {
|
|
55
|
+
const utterances = Array.isArray(json?.data) ? json.data : Array.isArray(json?.utterances) ? json.utterances : [];
|
|
56
|
+
return JSON.stringify({
|
|
57
|
+
mediaItemId: json?.mediaItemId,
|
|
58
|
+
language: json?.language,
|
|
59
|
+
utterances,
|
|
60
|
+
...json?.pagination ? { pagination: json.pagination } : {}
|
|
61
|
+
}, null, 2);
|
|
62
|
+
}
|
|
63
|
+
|
|
6
64
|
// ../mcp/src/generated/catalogPreviews.ts
|
|
7
65
|
var CATALOG_PREVIEWS = {
|
|
8
66
|
"animated-bar-chart": "https://cdn.cueframe.ai/previews/animated-bar-chart@0.2.1.jpg",
|
|
@@ -112,7 +170,7 @@ ${lines.join("\n")}`;
|
|
|
112
170
|
function formatComponentList(json) {
|
|
113
171
|
const data = Array.isArray(json?.data) ? json.data : [];
|
|
114
172
|
if (data.length === 0) {
|
|
115
|
-
return "No components match. Drop a filter, or browse
|
|
173
|
+
return "No components match. Drop a filter, or browse the default first page with list_catalog().";
|
|
116
174
|
}
|
|
117
175
|
const lines = data.map((e) => {
|
|
118
176
|
const facets = [e.category, e.kind, e.tier].filter(Boolean).join(" \xB7 ");
|
|
@@ -121,7 +179,10 @@ function formatComponentList(json) {
|
|
|
121
179
|
const baked = Array.isArray(e.fixedCopy) && e.fixedCopy.length ? ` [bakes fixed copy]` : "";
|
|
122
180
|
return `- ${e.id} ${e.name} (${facets})${uc}${baked}${place}`;
|
|
123
181
|
});
|
|
124
|
-
const
|
|
182
|
+
const nextCursor = json?.pagination?.nextCursor;
|
|
183
|
+
const more = json?.pagination?.hasMore && typeof nextCursor === "string" ? `
|
|
184
|
+
|
|
185
|
+
(more \u2014 pass after=${JSON.stringify(nextCursor)})` : "";
|
|
125
186
|
return `${data.length} component${data.length !== 1 ? "s" : ""} (recommended-tier first when filtered):
|
|
126
187
|
|
|
127
188
|
${lines.join("\n")}${more}`;
|
|
@@ -209,7 +270,10 @@ function formatComposition(json) {
|
|
|
209
270
|
];
|
|
210
271
|
if (json?.captions) {
|
|
211
272
|
const segs = json.captions.segments?.length ?? 0;
|
|
212
|
-
const words = json.captions.
|
|
273
|
+
const words = Array.isArray(json.captions.segments) ? json.captions.segments.reduce(
|
|
274
|
+
(total, segment) => total + (Array.isArray(segment?.words) ? segment.words.length : 0),
|
|
275
|
+
0
|
|
276
|
+
) : 0;
|
|
213
277
|
lines.push(`captions: ${segs} segment(s), ${words} word(s) [text elided]`);
|
|
214
278
|
}
|
|
215
279
|
if (Array.isArray(json?.markers) && json.markers.length) {
|
|
@@ -233,11 +297,10 @@ var CURATED_TOOLS = [
|
|
|
233
297
|
name: "compose",
|
|
234
298
|
operationId: "compose",
|
|
235
299
|
pathArgs: { projectId: "id" },
|
|
236
|
-
description: 'Start
|
|
237
|
-
okFormat: (j, a) => `Compose
|
|
300
|
+
description: 'Start an async Director compose job: it authors an ensemble of full composition candidates, verifies each, and saves the winner to the project. Body must set EXACTLY ONE source (mutually exclusive): `briefId` \u2014 author FROM a persisted Brief (the PLANNED path: create_brief first; every Brief field is honored or the compose is refused loudly naming the field); `fromComposition: true` \u2014 author from the project\'s CURRENT composition (the GENERAL path: seed it with apply_composition first \u2014 your media clips are the intent, and any graphics you authored are CARRIED VERBATIM as locked clips the Director authors around, never re-authors or drops); or `suggestionId` \u2014 author from an AI clip suggestion (the CLIPPING path, paired with suggest_briefs). Returns { composeJobId, status, streamUrl }. Then call wait_job(kind="compose", id=composeJobId, projectId=...) to block until the winner is selected.',
|
|
301
|
+
okFormat: (j, a) => `Compose job started.
|
|
238
302
|
|
|
239
303
|
composeJobId: ${j.composeJobId}
|
|
240
|
-
workflowId: ${j.workflowId}
|
|
241
304
|
status: ${j.status}${j.streamUrl ? `
|
|
242
305
|
streamUrl: ${j.streamUrl}` : ""}
|
|
243
306
|
|
|
@@ -309,13 +372,13 @@ Call wait_job(kind="preview_frame", id="${j.jobId}") for the rendered images.`,
|
|
|
309
372
|
name: "preview_component",
|
|
310
373
|
operationId: "previewComponent",
|
|
311
374
|
pathArgs: { projectId: "id" },
|
|
312
|
-
description: 'Queue a typed preview artifact for ONE org-installed component \u2014 ASYNC: returns a jobId immediately; then wait_job(kind="preview", id=jobId).
|
|
375
|
+
description: 'Queue a typed preview artifact for ONE org-installed component \u2014 ASYNC: returns a jobId immediately; then wait_job(kind="preview", id=jobId). The preview and production compositor consume the same content-addressed component bundle and verified artifact contract. `body.componentId` selects the component; pass `body.params` to render it with props. Compile/runtime/capability failures land on the job terminal with sanitized author-fixable messages. Idempotent per immutable render key.',
|
|
313
376
|
okFormat: (j) => `Preview job queued.
|
|
314
377
|
|
|
315
378
|
jobId: ${j.jobId}
|
|
316
379
|
status: ${j.status}
|
|
317
380
|
|
|
318
|
-
Call wait_job(kind="preview", id="${j.jobId}") for the
|
|
381
|
+
Call wait_job(kind="preview", id="${j.jobId}") for the verified preview artifact; re-call it if it returns still-running.`,
|
|
319
382
|
annotations: { idempotentHint: true }
|
|
320
383
|
},
|
|
321
384
|
{
|
|
@@ -373,10 +436,6 @@ Call wait_job(kind="verify", id="${j.jobId}") to block until the scores + checkp
|
|
|
373
436
|
name: "list_briefs",
|
|
374
437
|
operationId: "listBriefs",
|
|
375
438
|
description: 'List briefs. DEFAULT shows human-authored briefs only; kind:"clip" shows the machine-minted clip briefs (suggest_briefs output), kind:"all" shows everything. Each carries its quote.',
|
|
376
|
-
queryArgs: {
|
|
377
|
-
projectId: "Scope to one project.",
|
|
378
|
-
kind: "'authored' (default) | 'clip' | 'all'."
|
|
379
|
-
},
|
|
380
439
|
annotations: { readOnlyHint: true }
|
|
381
440
|
},
|
|
382
441
|
{
|
|
@@ -394,10 +453,6 @@ Call wait_job(kind="verify", id="${j.jobId}") to block until the scores + checkp
|
|
|
394
453
|
name: "list_checkpoints",
|
|
395
454
|
operationId: "listCheckpoints",
|
|
396
455
|
description: "List checkpoint packets newest-first (filter with composeJobId for one run's v1\u2192vN gate history, or projectId). The version stack with per-version status + decisions IS the review history \u2014 nothing is deleted.",
|
|
397
|
-
queryArgs: {
|
|
398
|
-
composeJobId: "One compose run's gate history (v1\u2192vN).",
|
|
399
|
-
projectId: "Scope to one project."
|
|
400
|
-
},
|
|
401
456
|
annotations: { readOnlyHint: true }
|
|
402
457
|
},
|
|
403
458
|
{
|
|
@@ -427,7 +482,8 @@ Call wait_job(kind="verify", id="${j.jobId}") to block until the scores + checkp
|
|
|
427
482
|
{
|
|
428
483
|
name: "list_catalog",
|
|
429
484
|
operationId: "listCatalog",
|
|
430
|
-
|
|
485
|
+
defaults: { limit: 20 },
|
|
486
|
+
description: "DISCOVER WHAT TO BUILD WITH \u2014 list the component catalog: the built-in primitive catalog plus your org-installed components. The agent-safe default page is 20 entries; use pagination.nextCursor as `after`, or narrow with category, kind, tier, useCase, mood, q, or intent. Results are recommended-tier-first when filtered. Each entry carries the exact placement hint for apply_composition and fixedCopy warnings; use get_component_source to fork a primitive when baked copy must change. Read cueframe://component/{id} for the full prop schema.",
|
|
431
487
|
okFormat: (j) => formatComponentList(j),
|
|
432
488
|
annotations: { readOnlyHint: true },
|
|
433
489
|
preview: {
|
|
@@ -451,7 +507,16 @@ ${j.tsxSource}`,
|
|
|
451
507
|
name: "get_media_context",
|
|
452
508
|
operationId: "getMediaContext",
|
|
453
509
|
pathArgs: { mediaItemId: "id" },
|
|
454
|
-
description: "Fetch
|
|
510
|
+
description: "Fetch bounded authoring context for a media item: dimensions/thumbnail, compact face roster, transcript counts/sample, temporal grids, and fact readiness. The full transcript body is deliberately elided so this read cannot overflow MCP; follow with get_transcript for exact paginated word timings.",
|
|
511
|
+
okFormat: (j) => formatMediaContext(j),
|
|
512
|
+
annotations: { readOnlyHint: true }
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
name: "get_transcript",
|
|
516
|
+
operationId: "getMediaTranscript",
|
|
517
|
+
pathArgs: { mediaItemId: "id" },
|
|
518
|
+
description: "Read exact source-time transcript words in bounded utterance pages. Word start/end values are seconds from the source media start. Pass limit (20 recommended), then pagination.nextCursor as after; the formatter omits the unbounded fullText duplicate.",
|
|
519
|
+
okFormat: (j) => formatTranscriptPage(j),
|
|
455
520
|
annotations: { readOnlyHint: true }
|
|
456
521
|
},
|
|
457
522
|
{
|
|
@@ -472,11 +537,6 @@ Poll get_media_facts(mediaItemId="${a.mediaItemId}", kind="${a.body?.kind}", sta
|
|
|
472
537
|
name: "get_media_facts",
|
|
473
538
|
operationId: "listMediaFacts",
|
|
474
539
|
pathArgs: { mediaItemId: "id" },
|
|
475
|
-
queryArgs: {
|
|
476
|
-
kind: "Optional exact fact kind: subjectTrack | matte. Requires startSec and endSec.",
|
|
477
|
-
startSec: "Source-window start in seconds. Send together with kind and endSec.",
|
|
478
|
-
endSec: "Source-window end in seconds. Send together with kind and startSec."
|
|
479
|
-
},
|
|
480
540
|
description: "Read prepared subject tracks and behind-subject mattes for one media item. For an exact readiness check, pass kind + startSec + endSec together using the same SOURCE window sent to prepare_media; exact.state is pending | ready | failed | available | unavailable. Use this after prepare_media and do not call preview_frame / score_composition until the required exact fact is ready.",
|
|
481
541
|
annotations: { readOnlyHint: true, idempotentHint: true }
|
|
482
542
|
},
|
|
@@ -484,11 +544,6 @@ Poll get_media_facts(mediaItemId="${a.mediaItemId}", kind="${a.body?.kind}", sta
|
|
|
484
544
|
name: "list_media",
|
|
485
545
|
operationId: "listMedia",
|
|
486
546
|
description: "List the media in your CueFrame library. Filter a real library with kind (video|audio|image|gif|asset|source|stock), source (upload|generated|import-url|stock), or tag \u2014 so you find YOUR footage, not e2e debris. Returns media item IDs and metadata; use an ID with get_media_context, suggest_briefs, or as a composition source.",
|
|
487
|
-
queryArgs: {
|
|
488
|
-
kind: "video | audio | image | gif | asset | source | stock.",
|
|
489
|
-
source: "upload | generated | import-url | stock.",
|
|
490
|
-
tag: "Exact tag match."
|
|
491
|
-
},
|
|
492
547
|
okFormat: (j) => formatMediaList(j),
|
|
493
548
|
annotations: { readOnlyHint: true }
|
|
494
549
|
},
|
|
@@ -556,12 +611,12 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
|
|
|
556
611
|
{
|
|
557
612
|
name: "generate_media",
|
|
558
613
|
operationId: "generateMedia",
|
|
559
|
-
description: 'Generate one first-class Library media item from a prompt. Choose generator: text-to-video | text-to-image | image-to-video | text-to-music | text-to-speech | text-to-sfx | auto. Put
|
|
614
|
+
description: 'Generate one first-class Library media item from a prompt. Choose generator: text-to-video | text-to-image | image-to-video | text-to-music | text-to-speech | text-to-sfx | auto. Put supported presentation controls in body.style and first/last/image references in body.refs. Returns { id, status:"generating", estimateUsd? }; returns 402 if the estimate exceeds the per-call ceiling. Async \u2014 call wait_job(kind="media", id=mediaItemId) or use a webhook (media.completed \u2014 status rides the payload). Use the returned id like any other media item.'
|
|
560
615
|
},
|
|
561
616
|
{
|
|
562
617
|
name: "create_upload",
|
|
563
618
|
operationId: "createMediaUpload",
|
|
564
|
-
description: "Ingest a LOCAL file \u2014 bytes you hold, when there is no public URL to hand import_media (prefer import_media whenever the bytes already sit at an https URL). TWO steps: (1) this tool reserves a media
|
|
619
|
+
description: "Ingest a LOCAL file \u2014 bytes you hold, when there is no public URL to hand import_media (prefer import_media whenever the bytes already sit at an https URL). TWO steps: (1) this tool reserves a media item and returns { id, uploadUrl, expiresAt } \u2014 a short-lived PUT URL. PUT the raw file bytes to uploadUrl over HTTPS with your declared Content-Type (\u2264 ~5 GB per PUT). (2) call finalize_upload({ mediaItemId: id }) to start processing. Body: filename, contentType (allowed enum), size (bytes). Thereafter it is async exactly like import_media: poll list_media for processingStatus, or register a webhook (create_webhook on media.completed). Use the returned id with get_media_context, suggest_briefs, or as a composition source."
|
|
565
620
|
},
|
|
566
621
|
{
|
|
567
622
|
name: "finalize_upload",
|
|
@@ -572,10 +627,10 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
|
|
|
572
627
|
{
|
|
573
628
|
name: "search_resources",
|
|
574
629
|
operationId: "searchResources",
|
|
575
|
-
description: "Search licensed
|
|
630
|
+
description: "Search licensed stock media to compose with across video, photo, sound effects, and GIFs. Pass query for ONE search, or queries[] (\u226410) to run them all in a SINGLE call \u2014 strongly prefer the batch when you know several things you need. A batch returns results[], one per query in order, each with its own candidates; a query that fails carries an error and never discards the others. Optional kind [default video], provider pin, and limit \u226450 apply to every query in the batch. Returns ranked candidates, each with an opaque candidateId + attribution (author, assetUrl) + license, and a preview URL in the text. FREE + rate-limited + cached \u2014 reach for this before generate_media when real footage beats synthesis. TO SEE the candidates rather than read about them, pass limit \u22652: thumbnails/audio are attached only when you asked for options to compare. Import a chosen candidate into a project with import_resource. Candidate handles expire; re-search to refresh one.",
|
|
576
631
|
okFormat: (j) => formatResourceCandidates(j),
|
|
577
632
|
preview: {
|
|
578
|
-
urls: (j) => (Array.isArray(j?.results) ? j.results.flatMap((r) => Array.isArray(r?.candidates) ? r.candidates : []) : Array.isArray(j?.candidates) ? j.candidates : []).map((c) => c?.previewUrl),
|
|
633
|
+
urls: (j) => (Array.isArray(j?.results) ? j.results.flatMap((r) => Array.isArray(r?.candidates) ? r.candidates : []) : Array.isArray(j?.candidates) ? j.candidates : []).map((c) => (j?.kind ?? j?.results?.[0]?.kind) === "sfx" ? c?.previewUrl : c?.thumbnail),
|
|
579
634
|
kind: (j) => (j?.kind ?? j?.results?.[0]?.kind) === "sfx" ? "audio" : "image",
|
|
580
635
|
cap: 12,
|
|
581
636
|
attach: (j) => Array.isArray(j?.results) ? true : (Array.isArray(j?.candidates) ? j.candidates.length : 0) > 1
|
|
@@ -598,7 +653,7 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
|
|
|
598
653
|
name: "suggest_briefs",
|
|
599
654
|
operationId: "suggestBriefs",
|
|
600
655
|
pathArgs: { mediaItemId: "id" },
|
|
601
|
-
description: `Run AI clip-suggestion analysis on a long-form media item \u2014 the CLIPPING path (find the best short-form moments). Returns {
|
|
656
|
+
description: `Run AI clip-suggestion analysis on a long-form media item \u2014 the CLIPPING path (find the best short-form moments). Returns { status, alreadyRunning? }; then wait_job(kind="suggestions", id=mediaItemId) \u2014 its terminal lists each suggestion WITH its briefId. When the media belongs to a PROJECT, each finalized suggestion is promoted to a kind-'clip' BRIEF (its window pinned as a beat) \u2014 list_briefs {kind:"clip"} shows them and compose({ briefId }) runs the flagship path from one. Project-less media: pass the suggestion id to compose({ suggestionId }) directly. Clipping is a vertical, NOT the general path.`
|
|
602
657
|
},
|
|
603
658
|
{
|
|
604
659
|
name: "create_webhook",
|
|
@@ -733,12 +788,6 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
|
|
|
733
788
|
name: "get_usage",
|
|
734
789
|
operationId: "getUsage",
|
|
735
790
|
description: `The A2 usage ledger: every metered billing event newest-first with attribution \u2014 featureId, amount, the project/job that produced it, and the event's LIST price in USD (a plan allowance may zero it on the invoice). Answer "what did project X cost this period?" with a query instead of summing your own quotes. Filter by projectId, jobId, and/or a [from, to) epoch-ms window. Requires the billing:read scope.`,
|
|
736
|
-
queryArgs: {
|
|
737
|
-
projectId: "Scope to one project.",
|
|
738
|
-
jobId: "One job/render/compose/media id.",
|
|
739
|
-
from: "Period start, epoch-ms (inclusive).",
|
|
740
|
-
to: "Period end, epoch-ms (exclusive)."
|
|
741
|
-
},
|
|
742
791
|
annotations: { readOnlyHint: true }
|
|
743
792
|
},
|
|
744
793
|
{
|
|
@@ -911,6 +960,8 @@ var CRUD_COVERAGE = [
|
|
|
911
960
|
];
|
|
912
961
|
|
|
913
962
|
export {
|
|
963
|
+
formatMediaContext,
|
|
964
|
+
formatTranscriptPage,
|
|
914
965
|
formatMediaList,
|
|
915
966
|
formatComponentList,
|
|
916
967
|
formatResourceCandidates,
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// ../execution/primitives/src/lib/schema.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
function zodToJsonSchemaFor(schema, _name) {
|
|
4
|
+
return z.toJSONSchema(schema, {
|
|
5
|
+
target: "draft-7",
|
|
6
|
+
io: "input",
|
|
7
|
+
reused: "inline"
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function zodToDefaults(schema) {
|
|
11
|
+
if (!(schema instanceof z.ZodObject)) {
|
|
12
|
+
return {};
|
|
13
|
+
}
|
|
14
|
+
const out = {};
|
|
15
|
+
for (const [key, field] of Object.entries(schema.shape)) {
|
|
16
|
+
const parsed = field.safeParse(void 0);
|
|
17
|
+
if (parsed.success && parsed.data !== void 0) {
|
|
18
|
+
out[key] = parsed.data;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (field instanceof z.ZodObject) {
|
|
22
|
+
const nested = zodToDefaults(field);
|
|
23
|
+
if (Object.keys(nested).length > 0) {
|
|
24
|
+
out[key] = nested;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
function zodToControls(schema) {
|
|
31
|
+
if (!(schema instanceof z.ZodObject)) return [];
|
|
32
|
+
const controls = [];
|
|
33
|
+
for (const [name, field] of Object.entries(schema.shape)) {
|
|
34
|
+
const control = fieldToControl(name, field);
|
|
35
|
+
if (control) controls.push(control);
|
|
36
|
+
}
|
|
37
|
+
return controls;
|
|
38
|
+
}
|
|
39
|
+
function fieldToControl(name, field) {
|
|
40
|
+
let current = field;
|
|
41
|
+
let required = true;
|
|
42
|
+
let defaultValue;
|
|
43
|
+
while (true) {
|
|
44
|
+
if (current instanceof z.ZodOptional) {
|
|
45
|
+
required = false;
|
|
46
|
+
current = current.unwrap();
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (current instanceof z.ZodDefault) {
|
|
50
|
+
required = false;
|
|
51
|
+
const parsed = current.safeParse(void 0);
|
|
52
|
+
if (parsed.success) defaultValue = parsed.data;
|
|
53
|
+
current = current.unwrap();
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
const description = current.description;
|
|
59
|
+
const label = humanize(name);
|
|
60
|
+
if (current instanceof z.ZodString) {
|
|
61
|
+
const looksLikeColor = /color|colour|hex/i.test(name);
|
|
62
|
+
return {
|
|
63
|
+
name,
|
|
64
|
+
label,
|
|
65
|
+
description,
|
|
66
|
+
type: looksLikeColor ? "color" : "string",
|
|
67
|
+
defaultValue,
|
|
68
|
+
required
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (current instanceof z.ZodNumber) {
|
|
72
|
+
const min = current.minValue ?? void 0;
|
|
73
|
+
const max = current.maxValue ?? void 0;
|
|
74
|
+
const step = inferStep(min, max);
|
|
75
|
+
return { name, label, description, type: "number", defaultValue, min, max, step, required };
|
|
76
|
+
}
|
|
77
|
+
if (current instanceof z.ZodBoolean) {
|
|
78
|
+
return { name, label, description, type: "boolean", defaultValue, required };
|
|
79
|
+
}
|
|
80
|
+
if (current instanceof z.ZodEnum) {
|
|
81
|
+
return {
|
|
82
|
+
name,
|
|
83
|
+
label,
|
|
84
|
+
description,
|
|
85
|
+
type: "select",
|
|
86
|
+
defaultValue,
|
|
87
|
+
options: current.options.filter((value) => typeof value === "string"),
|
|
88
|
+
required
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
function humanize(name) {
|
|
94
|
+
return name.replace(/([A-Z])/g, " $1").replace(/[-_]/g, " ").replace(/\s+/g, " ").trim().replace(/^./, (c) => c.toUpperCase());
|
|
95
|
+
}
|
|
96
|
+
function inferStep(min, max) {
|
|
97
|
+
if (min === void 0 || max === void 0) return 1;
|
|
98
|
+
const range = max - min;
|
|
99
|
+
if (range <= 1) return 0.01;
|
|
100
|
+
if (range <= 10) return 0.1;
|
|
101
|
+
if (range <= 100) return 1;
|
|
102
|
+
return Math.max(1, Math.round(range / 100));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
zodToJsonSchemaFor,
|
|
107
|
+
zodToDefaults,
|
|
108
|
+
zodToControls
|
|
109
|
+
};
|
package/dist/cloud-import.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
multipartUpload
|
|
3
|
-
} from "./chunk-EP2Y6M2J.js";
|
|
4
|
-
import "./chunk-6IU2UQI5.js";
|
|
5
1
|
import "./chunk-2ESYSVXG.js";
|
|
6
2
|
|
|
7
3
|
// ../cloud-import/src/ImportProvider.tsx
|
|
@@ -10,62 +6,12 @@ import { UppyContextProvider } from "@uppy/react";
|
|
|
10
6
|
|
|
11
7
|
// ../cloud-import/src/CloudImportService.ts
|
|
12
8
|
import Uppy from "@uppy/core";
|
|
13
|
-
import AwsS3 from "@uppy/aws-s3";
|
|
14
|
-
|
|
15
|
-
// ../cloud-import/src/MediaItemPreprocessor.ts
|
|
16
|
-
import { BasePlugin } from "@uppy/core";
|
|
17
|
-
var MediaItemPreprocessor = class _MediaItemPreprocessor extends BasePlugin {
|
|
18
|
-
static pluginId = "MediaItemPreprocessor";
|
|
19
|
-
createFn = null;
|
|
20
|
-
preprocessBound;
|
|
21
|
-
constructor(uppy, opts) {
|
|
22
|
-
super(uppy, opts ?? {});
|
|
23
|
-
this.id = _MediaItemPreprocessor.pluginId;
|
|
24
|
-
this.type = "preprocessor";
|
|
25
|
-
this.preprocessBound = this.preprocess.bind(this);
|
|
26
|
-
}
|
|
27
|
-
setCreateFn(fn) {
|
|
28
|
-
this.createFn = fn;
|
|
29
|
-
}
|
|
30
|
-
install() {
|
|
31
|
-
this.uppy.addPreProcessor(this.preprocessBound);
|
|
32
|
-
}
|
|
33
|
-
uninstall() {
|
|
34
|
-
this.uppy.removePreProcessor(this.preprocessBound);
|
|
35
|
-
}
|
|
36
|
-
async preprocess(fileIDs) {
|
|
37
|
-
if (!this.createFn) return;
|
|
38
|
-
for (const fileID of fileIDs) {
|
|
39
|
-
const file = this.uppy.getFile(fileID);
|
|
40
|
-
if (!file) continue;
|
|
41
|
-
if (file.meta.convexMediaItemId) continue;
|
|
42
|
-
this.uppy.emit("preprocess-progress", file, {
|
|
43
|
-
mode: "indeterminate",
|
|
44
|
-
message: "Preparing upload\u2026"
|
|
45
|
-
});
|
|
46
|
-
try {
|
|
47
|
-
const mediaItemId = await this.createFn({
|
|
48
|
-
name: file.name ?? "unknown",
|
|
49
|
-
size: file.size ?? 0,
|
|
50
|
-
mimeType: file.type ?? "video/mp4"
|
|
51
|
-
});
|
|
52
|
-
this.uppy.setFileMeta(fileID, { convexMediaItemId: mediaItemId });
|
|
53
|
-
} catch (err) {
|
|
54
|
-
this.uppy.log(`[MediaItemPreprocessor] Failed for ${fileID}: ${err}`, "error");
|
|
55
|
-
}
|
|
56
|
-
this.uppy.emit("preprocess-complete", file);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// ../cloud-import/src/CloudImportService.ts
|
|
62
9
|
var CloudImportService = class {
|
|
63
10
|
uppy = null;
|
|
64
11
|
config = null;
|
|
65
12
|
init(config) {
|
|
66
13
|
if (this.uppy) return this.uppy;
|
|
67
14
|
this.config = config;
|
|
68
|
-
const signingUrl = this.config.uploadSigningUrl.replace(/\/$/, "");
|
|
69
15
|
const createUppy = Uppy;
|
|
70
16
|
const uppy = new createUppy({
|
|
71
17
|
id: "cloud-import",
|
|
@@ -73,14 +19,23 @@ var CloudImportService = class {
|
|
|
73
19
|
allowedFileTypes: ["video/*", "audio/*"]
|
|
74
20
|
}
|
|
75
21
|
});
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
22
|
+
const uploadFile = this.config.uploadFile;
|
|
23
|
+
uppy.addUploader(async (ids) => {
|
|
24
|
+
for (const id of ids) {
|
|
25
|
+
const file = uppy.getFile(id);
|
|
26
|
+
if (!file) continue;
|
|
27
|
+
try {
|
|
28
|
+
const uploadURL = await uploadFile(file.data, (fraction) => {
|
|
29
|
+
uppy.emit("upload-progress", file, { uploadStarted: Date.now(), bytesUploaded: Math.round((file.size ?? 0) * fraction), bytesTotal: file.size ?? 0 });
|
|
30
|
+
});
|
|
31
|
+
uppy.setFileState(id, { response: { status: 200, body: {}, uploadURL } });
|
|
32
|
+
uppy.emit("upload-success", file, { status: 200, body: {}, uploadURL });
|
|
33
|
+
} catch (error) {
|
|
34
|
+
uppy.emit("upload-error", file, error instanceof Error ? error : new Error(String(error)));
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
82
38
|
});
|
|
83
|
-
plugins.use(MediaItemPreprocessor);
|
|
84
39
|
this.uppy = uppy;
|
|
85
40
|
return this.uppy;
|
|
86
41
|
}
|
|
@@ -88,18 +43,6 @@ var CloudImportService = class {
|
|
|
88
43
|
if (!this.uppy) throw new Error("CloudImportService not initialized \u2014 call init() first");
|
|
89
44
|
return this.uppy;
|
|
90
45
|
}
|
|
91
|
-
getPreprocessor() {
|
|
92
|
-
return this.getUppy().getPlugin(MediaItemPreprocessor.pluginId);
|
|
93
|
-
}
|
|
94
|
-
setMeta(meta) {
|
|
95
|
-
this.uppy?.setMeta(meta);
|
|
96
|
-
if (meta.uploadToken) {
|
|
97
|
-
const plugin = this.uppy?.getPlugin("AwsS3Multipart");
|
|
98
|
-
if (plugin) {
|
|
99
|
-
plugin.setOptions({ headers: { "uppy-auth-token": meta.uploadToken } });
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
46
|
};
|
|
104
47
|
var cloudImportService = new CloudImportService();
|
|
105
48
|
|
|
@@ -109,9 +52,7 @@ function ImportProvider({
|
|
|
109
52
|
children,
|
|
110
53
|
available,
|
|
111
54
|
dialogSlot,
|
|
112
|
-
|
|
113
|
-
getUploadMeta,
|
|
114
|
-
createMediaItem,
|
|
55
|
+
uploadFile,
|
|
115
56
|
onUploadComplete,
|
|
116
57
|
onError
|
|
117
58
|
}) {
|
|
@@ -120,7 +61,7 @@ function ImportProvider({
|
|
|
120
61
|
const onErrorRef = useRef(onError);
|
|
121
62
|
onCompleteRef.current = onUploadComplete;
|
|
122
63
|
onErrorRef.current = onError;
|
|
123
|
-
const [uppy] = useState(() => cloudImportService.init({
|
|
64
|
+
const [uppy] = useState(() => cloudImportService.init({ uploadFile }));
|
|
124
65
|
useEffect(() => {
|
|
125
66
|
const handleComplete = (result) => {
|
|
126
67
|
const successful = result?.successful ?? [];
|
|
@@ -144,25 +85,9 @@ function ImportProvider({
|
|
|
144
85
|
uppy.off("error", handleError);
|
|
145
86
|
};
|
|
146
87
|
}, [uppy]);
|
|
147
|
-
|
|
148
|
-
try {
|
|
149
|
-
const preprocessor = cloudImportService.getPreprocessor();
|
|
150
|
-
preprocessor.setCreateFn(createMediaItem ?? null);
|
|
151
|
-
} catch {
|
|
152
|
-
}
|
|
153
|
-
}, [createMediaItem]);
|
|
154
|
-
const openModal = useCallback(async () => {
|
|
155
|
-
if (getUploadMeta) {
|
|
156
|
-
try {
|
|
157
|
-
const meta = await getUploadMeta();
|
|
158
|
-
cloudImportService.setMeta(meta);
|
|
159
|
-
} catch (err) {
|
|
160
|
-
console.error("[Import] Failed to get upload metadata:", err);
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
88
|
+
const openModal = useCallback(() => {
|
|
164
89
|
setIsOpen(true);
|
|
165
|
-
}, [
|
|
90
|
+
}, []);
|
|
166
91
|
const closeModal = useCallback(() => {
|
|
167
92
|
setIsOpen(false);
|
|
168
93
|
}, []);
|
|
@@ -179,20 +104,6 @@ function useImportIfAvailable() {
|
|
|
179
104
|
}
|
|
180
105
|
|
|
181
106
|
// ../cloud-import/src/cloudConfig.ts
|
|
182
|
-
var ENVIRONMENTS = {
|
|
183
|
-
dev: {
|
|
184
|
-
convexUrl: "https://api-dev.cueframe.ai",
|
|
185
|
-
uploadSigningUrl: "http://localhost:8787"
|
|
186
|
-
},
|
|
187
|
-
staging: {
|
|
188
|
-
convexUrl: "https://api-dev.cueframe.ai",
|
|
189
|
-
uploadSigningUrl: "https://upload-signing.cueframelabs.workers.dev"
|
|
190
|
-
},
|
|
191
|
-
production: {
|
|
192
|
-
convexUrl: "https://api.cueframe.ai",
|
|
193
|
-
uploadSigningUrl: "https://upload.cueframe.ai"
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
107
|
function detectEnvironment(convexUrl) {
|
|
197
108
|
if (!convexUrl) return "dev";
|
|
198
109
|
if (/\b(api-dev|data-dev)\.cueframe\.ai/.test(convexUrl)) return "staging";
|
|
@@ -201,10 +112,6 @@ function detectEnvironment(convexUrl) {
|
|
|
201
112
|
if (/\bexample-prod\.convex\.(cloud|site)/.test(convexUrl)) return "production";
|
|
202
113
|
return "dev";
|
|
203
114
|
}
|
|
204
|
-
function getEndpoints(convexUrl) {
|
|
205
|
-
const env = detectEnvironment(convexUrl);
|
|
206
|
-
return ENVIRONMENTS[env];
|
|
207
|
-
}
|
|
208
115
|
|
|
209
116
|
// ../cloud-import/src/index.ts
|
|
210
117
|
import {
|
|
@@ -213,12 +120,9 @@ import {
|
|
|
213
120
|
useUppyEvent
|
|
214
121
|
} from "@uppy/react";
|
|
215
122
|
export {
|
|
216
|
-
ENVIRONMENTS,
|
|
217
123
|
ImportProvider,
|
|
218
124
|
cloudImportService,
|
|
219
125
|
detectEnvironment,
|
|
220
|
-
getEndpoints,
|
|
221
|
-
multipartUpload,
|
|
222
126
|
useDropzone,
|
|
223
127
|
useImport,
|
|
224
128
|
useImportIfAvailable,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../_members/component-runtime/browserOptions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../_members/component-runtime/contracts.js";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CANVAS2D_COMPONENT_MANIFEST_V2,
|
|
3
|
+
COMPONENT_BUNDLE_VERSION,
|
|
4
|
+
COMPONENT_RECEIPT_VERSION,
|
|
5
|
+
COMPONENT_RUNTIME_ERROR_CODES,
|
|
6
|
+
COMPONENT_SOURCE_VERSION,
|
|
7
|
+
ComponentAssetBindingV2,
|
|
8
|
+
ComponentAssetDeclarationV2,
|
|
9
|
+
ComponentAssetFileV2,
|
|
10
|
+
ComponentAssetInputV2,
|
|
11
|
+
ComponentAssetKind,
|
|
12
|
+
ComponentBakeJobV2,
|
|
13
|
+
ComponentBakeRequestV2,
|
|
14
|
+
ComponentBundleV2,
|
|
15
|
+
ComponentGraphicsActualV2,
|
|
16
|
+
ComponentGraphicsRequirementV2,
|
|
17
|
+
ComponentManifestV2,
|
|
18
|
+
ComponentRenderReceiptV2,
|
|
19
|
+
ComponentRenderRequestV2,
|
|
20
|
+
ComponentRuntimeError,
|
|
21
|
+
ComponentRuntimeErrorCode,
|
|
22
|
+
ComponentSourceV2,
|
|
23
|
+
assertGraphicsReceiptMatches
|
|
24
|
+
} from "../chunk-LQUWKBST.js";
|
|
25
|
+
import "../chunk-2ESYSVXG.js";
|
|
26
|
+
export {
|
|
27
|
+
CANVAS2D_COMPONENT_MANIFEST_V2,
|
|
28
|
+
COMPONENT_BUNDLE_VERSION,
|
|
29
|
+
COMPONENT_RECEIPT_VERSION,
|
|
30
|
+
COMPONENT_RUNTIME_ERROR_CODES,
|
|
31
|
+
COMPONENT_SOURCE_VERSION,
|
|
32
|
+
ComponentAssetBindingV2,
|
|
33
|
+
ComponentAssetDeclarationV2,
|
|
34
|
+
ComponentAssetFileV2,
|
|
35
|
+
ComponentAssetInputV2,
|
|
36
|
+
ComponentAssetKind,
|
|
37
|
+
ComponentBakeJobV2,
|
|
38
|
+
ComponentBakeRequestV2,
|
|
39
|
+
ComponentBundleV2,
|
|
40
|
+
ComponentGraphicsActualV2,
|
|
41
|
+
ComponentGraphicsRequirementV2,
|
|
42
|
+
ComponentManifestV2,
|
|
43
|
+
ComponentRenderReceiptV2,
|
|
44
|
+
ComponentRenderRequestV2,
|
|
45
|
+
ComponentRuntimeError,
|
|
46
|
+
ComponentRuntimeErrorCode,
|
|
47
|
+
ComponentSourceV2,
|
|
48
|
+
assertGraphicsReceiptMatches
|
|
49
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../_members/component-runtime/browserIdentity.js";
|