@cueframe/kernel 0.1.1 → 0.1.2
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/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/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.d.ts +0 -3
- package/dist/_members/convex-api/dataModel.d.ts +0 -2
- 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 +0 -32
- 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 +1 -81
- 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/operations.d.ts +0 -23
- 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 +0 -22
- 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/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 -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 +14 -80
- 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-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
- 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-AP6ZIVAV.js → chunk-CAJQ7H5A.js} +17 -17
- package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
- 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-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
- package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
- package/dist/chunk-IEXAKOEX.js +113 -0
- package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
- package/dist/chunk-LJ5W4ZBU.js +146 -0
- package/dist/chunk-LLUW26BS.js +255 -0
- package/dist/{chunk-JJ6XD7NG.js → chunk-PIURX6IZ.js} +70 -2
- package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
- package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
- package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
- package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
- package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
- package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
- package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
- package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
- package/dist/{chunk-MBCXCJOE.js → chunk-VFMW3JUY.js} +1 -1
- package/dist/{chunk-DK2ODBNT.js → chunk-VHF66LCQ.js} +16 -98
- package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
- package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
- 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-HY3RIEZW.js → chunk-XQ72DZKJ.js} +1 -1
- package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
- package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
- package/dist/chunk-ZPLJ24OV.js +93 -0
- 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 +4 -64
- 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.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 +37 -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
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Burned tool names (amendment A12, plan 2026-07-10-flow-verbs) — names that
|
|
3
|
-
* DIED in the verb cutover and may NEVER be reused for a different job: a
|
|
4
|
-
* reused name is a silent behavior change for every old caller.
|
|
5
|
-
*
|
|
6
|
-
* Each burned name registers as a TOMBSTONE tool: calling it hard-errors with
|
|
7
|
-
* the replacement (an agent with a stale memory of the surface gets taught,
|
|
8
|
-
* not a bare method-not-found), and the tools/list entry itself documents the
|
|
9
|
-
* cutover. The gate in curation.test.ts ("burned names stay dead") asserts no
|
|
10
|
-
* curated/infrastructure tool ever takes a burned name back, that the
|
|
11
|
-
* internal-loop overlap stays exactly the documented four, and that every
|
|
12
|
-
* tombstone's replacement is a live tool.
|
|
13
|
-
*/
|
|
14
1
|
export interface BurnedName {
|
|
15
|
-
/** The dead tool name. */
|
|
16
2
|
name: string;
|
|
17
|
-
/** What to call instead (a live tool name, or a short instruction). */
|
|
18
3
|
replacement: string;
|
|
19
|
-
/** One line of why — shown in the tombstone error. */
|
|
20
4
|
reason: string;
|
|
21
5
|
}
|
|
22
6
|
export declare const BURNED_NAMES: readonly BurnedName[];
|
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport-agnostic primitives shared by every MCP layer (raw tools, curated
|
|
3
|
-
* tools, resources, wait_job) and BOTH transports (stdio + hosted). The only
|
|
4
|
-
* thing that varies between transports is the `Executor` — how a tool's HTTP
|
|
5
|
-
* call is actually performed:
|
|
6
|
-
*
|
|
7
|
-
* - stdio → network fetch against api.cueframe.ai with the env API key (single-tenant)
|
|
8
|
-
* - hosted → in-process app.fetch with the caller's forwarded auth (multi-tenant)
|
|
9
|
-
*
|
|
10
|
-
* Everything else (paths from the generated manifest, zod input schemas, result
|
|
11
|
-
* formatting, error advice) is identical, so it lives here once.
|
|
12
|
-
*/
|
|
13
1
|
import { z } from 'zod';
|
|
14
2
|
import { ApiError } from '@cueframe/sdk';
|
|
15
3
|
import { type GeneratedOperation } from './generated/operations.js';
|
|
16
|
-
/** The one seam between transports: perform an HTTP call, return status + body text. */
|
|
17
4
|
export interface Executor {
|
|
18
5
|
invoke(req: {
|
|
19
6
|
method: string;
|
|
20
7
|
path: string;
|
|
21
8
|
body?: unknown;
|
|
22
|
-
/** Query string (without leading `?`), for ops that take query params. */
|
|
23
9
|
query?: string;
|
|
24
|
-
/**
|
|
25
|
-
* base64 `PAYMENT-SIGNATURE` for a paid tool call over x402. Forwarded onto
|
|
26
|
-
* the underlying request so the REST x402 middleware verifies + settles it
|
|
27
|
-
* (mints `x402:<payer>`) — the SAME money path as a direct REST call. Absent
|
|
28
|
-
* for key/OAuth-authed calls.
|
|
29
|
-
*/
|
|
30
10
|
payment?: string;
|
|
31
11
|
}): Promise<{
|
|
32
12
|
status: number;
|
|
@@ -34,7 +14,6 @@ export interface Executor {
|
|
|
34
14
|
requestId?: string;
|
|
35
15
|
}>;
|
|
36
16
|
}
|
|
37
|
-
/** MCP content blocks we emit. The protocol also defines `resource`; add when used. */
|
|
38
17
|
export type TextBlock = {
|
|
39
18
|
type: 'text';
|
|
40
19
|
text: string;
|
|
@@ -53,34 +32,13 @@ export type ContentBlock = TextBlock | ImageBlock | AudioBlock;
|
|
|
53
32
|
export type ToolResult = {
|
|
54
33
|
content: ContentBlock[];
|
|
55
34
|
isError?: boolean;
|
|
56
|
-
/** x402 payment-required envelope (PaymentRequired) — read by the @x402/mcp client. */
|
|
57
35
|
structuredContent?: Record<string, unknown>;
|
|
58
36
|
};
|
|
59
37
|
export declare function text(s: string): ToolResult;
|
|
60
38
|
export declare function errText(s: string): ToolResult;
|
|
61
|
-
/**
|
|
62
|
-
* The JSON payload of a tool result. Since `content` gained image/audio blocks,
|
|
63
|
-
* callers can no longer assume `content[0].text` — but every result still leads
|
|
64
|
-
* with its text block (see `withMedia`), so this is the stable accessor.
|
|
65
|
-
*/
|
|
66
39
|
export declare function firstText(r: ToolResult): string;
|
|
67
40
|
export declare function sniffImageMediaType(base64: string): string;
|
|
68
|
-
/** Sniff an audio media type from magic bytes; unknown ⇒ mpeg (Freesound previews are mp3). */
|
|
69
41
|
export declare function sniffAudioMediaType(base64: string): string;
|
|
70
|
-
/**
|
|
71
|
-
* A tool result that carries the JSON payload as text AND the pixels/samples the
|
|
72
|
-
* agent needs to judge it.
|
|
73
|
-
*
|
|
74
|
-
* THE CONTRACT, and why it is shaped this way:
|
|
75
|
-
* - Media is ADDITIVE. The JSON text block is always first and unchanged, so ids,
|
|
76
|
-
* urls and flags keep flowing and nothing downstream breaks.
|
|
77
|
-
* - Zero media ⇒ NO media blocks at all, just the text. An empty content array is
|
|
78
|
-
* the one failure the old `(b) images never leave execute() content-shaped`
|
|
79
|
-
* constraint was written to avoid (adapter.ts:384-390) — the fix for "empty
|
|
80
|
-
* array is invalid" is to omit the block, not to convert every image to text
|
|
81
|
-
* forever.
|
|
82
|
-
* - Media types are SNIFFED per item, never declared by the caller.
|
|
83
|
-
*/
|
|
84
42
|
export declare function withMedia(payload: string, media: {
|
|
85
43
|
data: string;
|
|
86
44
|
kind: 'image' | 'audio';
|
|
@@ -89,33 +47,16 @@ export declare function fetchAsBase64(url: string, opts?: {
|
|
|
89
47
|
timeoutMs?: number;
|
|
90
48
|
maxBytes?: number;
|
|
91
49
|
}): Promise<string | undefined>;
|
|
92
|
-
/** Test seam — the cache is module-level and outlives a single test. */
|
|
93
50
|
export declare function __resetPreviewCache(): void;
|
|
94
|
-
/**
|
|
95
|
-
* Fetch up to `cap` previews, preserving input order and dropping failures.
|
|
96
|
-
*
|
|
97
|
-
* Bounded by BOTH a count and a cumulative byte budget: the count keeps the
|
|
98
|
-
* contact sheet legible, the bytes keep the response inside Convex's 20MB
|
|
99
|
-
* httpAction ceiling. Sequential rather than parallel because the budget has to
|
|
100
|
-
* be spent in order — a parallel batch cannot know it has already overspent.
|
|
101
|
-
*/
|
|
102
51
|
export declare function fetchPreviews(urls: (string | undefined)[], cap?: number, opts?: {
|
|
103
52
|
timeoutMs?: number;
|
|
104
53
|
maxBytes?: number;
|
|
105
|
-
/**
|
|
106
|
-
* Injected fetcher (adapter test seam / caller-owned transport). Bypasses
|
|
107
|
-
* the module cache both ways — an injected fetcher's bytes must not read
|
|
108
|
-
* from or leak into another caller's cache. Failures (undefined or throw)
|
|
109
|
-
* drop that url, matching fetchAsBase64's contract.
|
|
110
|
-
*/
|
|
111
54
|
fetchOne?: (url: string) => Promise<string | undefined>;
|
|
112
55
|
}): Promise<string[]>;
|
|
113
|
-
/** MCP tool-callback `extra` (2nd arg) — carries the per-call request `_meta`. */
|
|
114
56
|
export type ToolExtra = {
|
|
115
57
|
_meta?: Record<string, unknown>;
|
|
116
58
|
} | undefined;
|
|
117
59
|
export declare function fmtErr(err: unknown): string;
|
|
118
|
-
/** Reconstruct an ApiError from a non-2xx executor response so adviseError works. */
|
|
119
60
|
export declare function apiErrorFrom(res: {
|
|
120
61
|
status: number;
|
|
121
62
|
text: string;
|
|
@@ -123,35 +64,14 @@ export declare function apiErrorFrom(res: {
|
|
|
123
64
|
}): ApiError;
|
|
124
65
|
export declare function isOk(status: number): boolean;
|
|
125
66
|
export declare function safeParse(textBody: string): unknown;
|
|
126
|
-
/** Look up a generated operation by id; throws (fail-loud) if absent. */
|
|
127
67
|
export declare function opById(operationId: string): GeneratedOperation;
|
|
128
|
-
/** The bound zod body schema for an operation, or undefined for body-less ops. */
|
|
129
68
|
export declare function bodySchemaFor(op: GeneratedOperation): z.ZodTypeAny | undefined;
|
|
130
|
-
/**
|
|
131
|
-
* Substitute path params into an op's template. `mapArg(opParamName)` returns the
|
|
132
|
-
* concrete value (raw layer: the arg of the same name; curated layer: the friendly
|
|
133
|
-
* arg mapped to this op param). Values are URL-encoded.
|
|
134
|
-
*/
|
|
135
69
|
export declare function buildPath(op: GeneratedOperation, mapArg: (opParam: string) => unknown): string;
|
|
136
|
-
|
|
137
|
-
export declare function invokeOp(ex: Executor, op: GeneratedOperation, mapArg: (opParam: string) => unknown, body: unknown,
|
|
138
|
-
/** base64 PAYMENT-SIGNATURE for a paid (x402) tool call; omitted for authed calls. */
|
|
139
|
-
payment?: string,
|
|
140
|
-
/** Pre-encoded query string (no leading '?') — curated queryArgs filters. */
|
|
141
|
-
query?: string): Promise<{
|
|
70
|
+
export declare function invokeOp(ex: Executor, op: GeneratedOperation, mapArg: (opParam: string) => unknown, body: unknown, payment?: string, query?: string): Promise<{
|
|
142
71
|
status: number;
|
|
143
72
|
text: string;
|
|
144
73
|
requestId?: string;
|
|
145
74
|
}>;
|
|
146
|
-
/**
|
|
147
|
-
* Run an op through the executor with x402 pay-per-call support (used by every
|
|
148
|
-
* tool). Reads the client's signed payment from the tool call `_meta`, forwards
|
|
149
|
-
* it as `PAYMENT-SIGNATURE` so the REST x402 middleware verifies + settles (the
|
|
150
|
-
* SAME money path as a direct REST call), turns an inner 402 into a
|
|
151
|
-
* payment-required result, and attaches the settle receipt on success.
|
|
152
|
-
* `formatOk` builds the success result from the executor response; `label` names
|
|
153
|
-
* the tool for the error message. Payment-free (key/OAuth) calls are unaffected.
|
|
154
|
-
*/
|
|
155
75
|
export declare function dispatchOp(ex: Executor, op: GeneratedOperation, mapArg: (opParam: string) => unknown, body: unknown, extra: ToolExtra, label: string, formatOk: (res: {
|
|
156
76
|
status: number;
|
|
157
77
|
text: string;
|
|
@@ -2,154 +2,42 @@ export interface CuratedTool {
|
|
|
2
2
|
name: string;
|
|
3
3
|
operationId: string;
|
|
4
4
|
description: string;
|
|
5
|
-
/** friendly input arg name → op path-param name (e.g. { projectId: 'id' }). */
|
|
6
5
|
pathArgs?: Record<string, string>;
|
|
7
|
-
/** Optional query-string filters: arg name → one-line teaching description.
|
|
8
|
-
* The arg name IS the query-param name; the adapter exposes each as an
|
|
9
|
-
* optional string input and threads provided values onto the request URL.
|
|
10
|
-
* Without this, a description teaching a filter the curated layer can't
|
|
11
|
-
* pass returns the UNFILTERED page silently (end review 2026-07-10). */
|
|
12
6
|
queryArgs?: Record<string, string>;
|
|
13
|
-
/** Format a successful JSON body. Defaults to pretty JSON. */
|
|
14
7
|
okFormat?: (json: any, args: Record<string, any>) => string;
|
|
15
|
-
/** Fixed success text (204 / body-less). Takes precedence over okFormat. */
|
|
16
8
|
okText?: (args: Record<string, any>) => string;
|
|
17
|
-
/**
|
|
18
|
-
* Human-facing title. Defaults to Title Case of `name` (`create_render` →
|
|
19
|
-
* "Create Render"); set explicitly only where that reads badly (`wait_job` →
|
|
20
|
-
* "Wait for Job"). Required by the Anthropic connectors and OpenAI plugin
|
|
21
|
-
* reviews — an untitled tool is flagged.
|
|
22
|
-
*/
|
|
23
9
|
title?: string;
|
|
24
|
-
/**
|
|
25
|
-
* MCP tool annotations — client-side hints (Langfuse pattern).
|
|
26
|
-
*
|
|
27
|
-
* OPTIONAL BECAUSE IT OVERRIDES, NOT BECAUSE IT MAY BE ABSENT: when unset,
|
|
28
|
-
* server.ts falls back to the underlying operation's method-derived
|
|
29
|
-
* annotations from the generated manifest. Set a value here only where the
|
|
30
|
-
* curated semantics differ from the HTTP verb — this file stays the semantic
|
|
31
|
-
* SSOT (only `delete_*` is destructive; `cancel_*` is idempotent, not
|
|
32
|
-
* destructive), and the generator mirrors that reasoning.
|
|
33
|
-
*/
|
|
34
10
|
annotations?: {
|
|
35
11
|
readOnlyHint?: boolean;
|
|
36
12
|
destructiveHint?: boolean;
|
|
37
13
|
idempotentHint?: boolean;
|
|
38
14
|
openWorldHint?: boolean;
|
|
39
15
|
};
|
|
40
|
-
/**
|
|
41
|
-
* Worked input examples (K4, e2e 2026-07-17) — serialized as Anthropic
|
|
42
|
-
* `input_examples` (the AI SDK core Tool field; the provider adds the
|
|
43
|
-
* advanced-tool-use beta itself). Use to teach CADENCE the schema can't:
|
|
44
|
-
* patch-style edits over full re-emissions, batched inspection timestamps.
|
|
45
|
-
*/
|
|
46
16
|
inputExamples?: Array<{
|
|
47
17
|
input: Record<string, unknown>;
|
|
48
18
|
}>;
|
|
49
|
-
/**
|
|
50
|
-
* Maturity VISIBILITY mirror (spec 2026-07-20-client-lane-v1-launch §2.0).
|
|
51
|
-
* Execution gating is server-side (the server capability registry — the
|
|
52
|
-
* SSOT; this npm-shipped package can go stale, so it only controls listing):
|
|
53
|
-
* 'expert' hides the tool from the public listing unless the expert layer is
|
|
54
|
-
* on. Default 'stable'. Drift-gated against the server map in
|
|
55
|
-
* the backend's capabilities drift test.
|
|
56
|
-
*/
|
|
57
19
|
maturity?: 'stable' | 'expert';
|
|
58
|
-
/**
|
|
59
|
-
* Preview media to attach to a successful result, so the agent can SEE (or
|
|
60
|
-
* HEAR) what it is being asked to judge.
|
|
61
|
-
*
|
|
62
|
-
* The MCP surface used to convert every image to text at the boundary, so an
|
|
63
|
-
* external agent picked stock from resolution/duration/author and never saw
|
|
64
|
-
* its own previews. `urls` pulls the preview links out of the SAME JSON the
|
|
65
|
-
* text block already carries — media is purely ADDITIVE, the JSON is
|
|
66
|
-
* unchanged, and zero usable urls emits NO media block (see `withMedia`).
|
|
67
|
-
*
|
|
68
|
-
* `cap` is a TOKEN budget, not a correctness one: a contact sheet of a dozen
|
|
69
|
-
* thumbnails is the difference between an agent that can see and one that
|
|
70
|
-
* spends its whole context on a single full-size still.
|
|
71
|
-
*/
|
|
72
20
|
preview?: {
|
|
73
21
|
urls: (json: any) => (string | undefined)[];
|
|
74
|
-
/** Static kind, or derived from the body (stock sfx returns audio). */
|
|
75
22
|
kind?: 'image' | 'audio' | ((json: any) => 'image' | 'audio');
|
|
76
23
|
cap?: number;
|
|
77
|
-
/**
|
|
78
|
-
* Gate on the RESPONSE: attach media only when it buys a decision.
|
|
79
|
-
* Defaults to always (a `preview_frame` still IS the answer).
|
|
80
|
-
*
|
|
81
|
-
* `search_resources` sets this because the measured default was pure waste:
|
|
82
|
-
* one session shipped 68 previews (~9.24 MB, 99.76% of the tool's bytes) of
|
|
83
|
-
* which 62 came from `limit:1` calls — a picture attached to a search that
|
|
84
|
-
* returned ONE candidate decorates a decision already made. Worse, nobody
|
|
85
|
-
* saw them: base64 blocks enter the MODEL's context, and the CLI host does
|
|
86
|
-
* not render images, so the human's first sight of any frame was the
|
|
87
|
-
* finished 3:17 render. The URL is in the text payload either way.
|
|
88
|
-
*/
|
|
89
24
|
attach?: (json: any) => boolean;
|
|
90
25
|
};
|
|
91
26
|
}
|
|
92
|
-
/** Per-resource CRUD coverage. A verb is a curated tool name, or null = gap. */
|
|
93
27
|
export interface ResourceCrud {
|
|
94
28
|
resource: string;
|
|
95
29
|
create?: string[] | null;
|
|
96
30
|
read?: string[] | null;
|
|
97
31
|
update?: string | null;
|
|
98
32
|
delete?: string | null;
|
|
99
|
-
/** Justify any null/omitted verb so the coverage test passes knowingly. */
|
|
100
33
|
notes?: Record<string, string>;
|
|
101
34
|
}
|
|
102
35
|
export declare function formatMediaList(json: any): string;
|
|
103
36
|
export declare function formatComponentList(json: any): string;
|
|
104
37
|
export declare function formatResourceCandidates(json: any): string;
|
|
105
|
-
/**
|
|
106
|
-
* Render a composition for reading. Verbatim JSON while it fits — that is the
|
|
107
|
-
* documented contract (it is what you hand to validate_composition) — and a
|
|
108
|
-
* STRUCTURAL SUMMARY when the full body would exceed what the host will accept.
|
|
109
|
-
* Every clip is still listed; only the unbounded blobs (card html, caption
|
|
110
|
-
* words) are elided, and the header says so explicitly. Degrading loudly beats
|
|
111
|
-
* returning nothing, and beats a silent truncation that reads like the whole
|
|
112
|
-
* composition.
|
|
113
|
-
*/
|
|
114
38
|
export declare function formatComposition(json: any): string;
|
|
115
|
-
/**
|
|
116
|
-
* The `warnings[]` advisory channel, rendered for the reader. One idiom across
|
|
117
|
-
* every verb that carries it (create_render, apply_composition) so an agent
|
|
118
|
-
* learns to look for `⚠` exactly once.
|
|
119
|
-
*/
|
|
120
39
|
export declare function formatWarnings(json: any): string;
|
|
121
40
|
export declare const CURATED_TOOLS: CuratedTool[];
|
|
122
|
-
/**
|
|
123
|
-
* THE editor allowlist — the ONE tool vocabulary an editing agent speaks,
|
|
124
|
-
* whichever side of the Executor seam it runs on (the Convex editor agent over
|
|
125
|
-
* the platform executor; the desktop agent over the local one). Passed as
|
|
126
|
-
* `buildCuratedToolSet(executor, { allowedNames: INTERNAL_EDITOR_TOOLS })`, so
|
|
127
|
-
* every name here MUST resolve in `[...INTERNAL_LOOP_TOOLS, ...CURATED_TOOLS]` —
|
|
128
|
-
* the builder SILENTLY SKIPS an unknown name (adapter.ts), which is how a
|
|
129
|
-
* renamed tool becomes a quietly missing capability. curation.test.ts gates the
|
|
130
|
-
* subset relation; the web editor agent re-checks at module
|
|
131
|
-
* load so the failure is loud at boot, not at the turn that needed the tool.
|
|
132
|
-
*
|
|
133
|
-
* INTERNAL, as in "not the hosted MCP server's list": three of these
|
|
134
|
-
* (`get_context`, `search_library`, `analyze_transcript`) live in
|
|
135
|
-
* INTERNAL_LOOP_TOOLS precisely so they stay OFF that server, and `wait_job` is
|
|
136
|
-
* registered there by its own procedure. Membership here is NOT publication.
|
|
137
|
-
*/
|
|
138
41
|
export declare const INTERNAL_EDITOR_TOOLS: readonly string[];
|
|
139
|
-
/**
|
|
140
|
-
* Resources whose CRUD is INTENTIONALLY incomplete because the backend op does
|
|
141
|
-
* not exist yet. The coverage gate treats `${resource}.${verb}` keys here as a
|
|
142
|
-
* documented absence — but `known backend gaps are real` in curation.test.ts
|
|
143
|
-
* also asserts no generated op exists for them, so a gap CANNOT silently linger
|
|
144
|
-
* after a backend route ships: the day the op appears, curate it and DELETE the
|
|
145
|
-
* key. These are follow-up specs, not permanent design.
|
|
146
|
-
*/
|
|
147
42
|
export declare const KNOWN_BACKEND_GAPS: Set<string>;
|
|
148
|
-
/**
|
|
149
|
-
* Per-resource CRUD coverage map — completeness as an invariant. The coverage
|
|
150
|
-
* tests in curation.test.ts gate this: every referenced tool must be a real
|
|
151
|
-
* CURATED_TOOLS name, and every absent verb must be either curated, justified
|
|
152
|
-
* in `notes`, or a KNOWN_BACKEND_GAPS entry. It fails loud the day a curated
|
|
153
|
-
* tool references a renamed op or a new resource verb lands unjustified.
|
|
154
|
-
*/
|
|
155
43
|
export declare const CRUD_COVERAGE: ResourceCrud[];
|
|
@@ -1,60 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Network `Executor` factory + the public API base-URL table.
|
|
3
|
-
*
|
|
4
|
-
* Extracted from ./index.ts so it is importable WITHOUT triggering the stdio
|
|
5
|
-
* boot: ./index.ts runs `await main()` at module top-level (outside VITEST), so
|
|
6
|
-
* importing the barrel from a long-running service (e.g. the Director worker,
|
|
7
|
-
* Subsystem 3) would try to open a StdioServerTransport. This module carries
|
|
8
|
-
* only the pure factory + the URL table, so the Director imports it (and the
|
|
9
|
-
* `./adapter` / `./core` subpaths) with no boot side effect. ./index.ts
|
|
10
|
-
* re-exports `makeNetworkExecutor` so the stdio entry API is unchanged.
|
|
11
|
-
*/
|
|
12
1
|
import { type Executor } from './core.js';
|
|
13
|
-
/** Public API hosts by target. `baseUrl` carries no `/v1` — paths are `/v1/…`-prefixed. */
|
|
14
2
|
export declare const API_URLS: Record<string, string>;
|
|
15
|
-
/**
|
|
16
|
-
* Network executor: one bearer token, one base URL (single-tenant). `baseUrl`
|
|
17
|
-
* carries no `/v1` — the manifest pathTemplate is `/v1/…`-prefixed, so
|
|
18
|
-
* `baseUrl + path` is the correct single-`/v1` URL.
|
|
19
|
-
*/
|
|
20
3
|
export declare function makeNetworkExecutor(baseUrl: string, apiKey: string): Executor;
|
|
21
|
-
/**
|
|
22
|
-
* Platform executor: CueFrame's OWN internal services (the Director) drive the
|
|
23
|
-
* public /v1 tools as the PLATFORM — the deploy key + an explicit target org —
|
|
24
|
-
* instead of a per-client `Bearer <apiKey>`. One privileged identity, org as a
|
|
25
|
-
* per-call header (`x-org-id`); the `/v1` auth middleware verifies the deploy key
|
|
26
|
-
* server-side (timing-safe) and treats these as internal (billing/rate-limit
|
|
27
|
-
* skipped). No per-run credential lifecycle — the run builds this in one line.
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* Session executor — the EDITOR clients' transport (unified-surface spec's
|
|
31
|
-
* cloud leg): web + signed-in desktop drive /v1 with the Better Auth SESSION
|
|
32
|
-
* as Bearer (the same credential class `cueframe login` uses; billed like any
|
|
33
|
-
* customer identity). No API key, no deploy key, nothing stored beyond the
|
|
34
|
-
* session the client already holds.
|
|
35
|
-
*
|
|
36
|
-
* Contracts:
|
|
37
|
-
* - OFFLINE-ABSENCE: a null token yields a synthetic
|
|
38
|
-
* `{status:0, error.code:"offline"}` WITHOUT a network round-trip —
|
|
39
|
-
* consumers render cloud capabilities as ABSENT, never as error stubs.
|
|
40
|
-
* - Idempotency: mutations carry the same content-derived key as the
|
|
41
|
-
* platform executor, so a retried mutation dedups instead of repeating.
|
|
42
|
-
* - X-Client-Version: every request states its build, so requestLog can
|
|
43
|
-
* answer "who breaks if this changes" before /v1 evolves.
|
|
44
|
-
* - Retry: idempotent GETs retry ONCE on network failure; mutations never
|
|
45
|
-
* auto-retry (the key makes a caller-driven retry safe).
|
|
46
|
-
*/
|
|
47
4
|
export declare function makeSessionExecutor(opts: {
|
|
48
5
|
baseUrl: string;
|
|
49
6
|
getToken: () => Promise<string | null>;
|
|
50
7
|
clientVersion: string;
|
|
51
8
|
}): Executor;
|
|
52
9
|
export declare function makePlatformExecutor(baseUrl: string, deployKey: string, orgId: string, opts?: {
|
|
53
|
-
/**
|
|
54
|
-
* Bill this traffic to the org AS this user (X-Acting-User-Id →
|
|
55
|
-
* auth.delegated). Set by user-facing agent surfaces (editor/clips chat);
|
|
56
|
-
* omitted by internal execution (Director in-loop — already paid at the
|
|
57
|
-
* compose terminal).
|
|
58
|
-
*/
|
|
59
10
|
actingUserId?: string;
|
|
60
11
|
}): Executor;
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tiny shared formatting helpers, server-free so both server.ts and the
|
|
3
|
-
* curation SSOT (curation.ts) can import them without a circular dependency
|
|
4
|
-
* and without pulling in the MCP transport.
|
|
5
|
-
*/
|
|
6
|
-
/** Format seconds as `M:SS` (e.g. 75 → "1:15"). */
|
|
7
1
|
export declare function fmtClock(sec: number): string;
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED — do not edit by hand.
|
|
3
|
-
*
|
|
4
|
-
* Source: docs/api/openapi.json
|
|
5
|
-
* Generator: packages/mcp/scripts/generate-tools.mjs
|
|
6
|
-
* Re-run: `pnpm generate:mcp-tools` from the repo root.
|
|
7
|
-
*
|
|
8
|
-
* Transport-agnostic operation manifest. One entry per OpenAPI operation;
|
|
9
|
-
* consumed by the generic raw-tool registrar and the curated tools (for paths)
|
|
10
|
-
* in src/server.ts, executed through the per-transport Executor. CI fails if
|
|
11
|
-
* this file drifts from the current spec.
|
|
12
|
-
*/
|
|
13
|
-
/** MCP tool annotations — client-side hints. See the MCP spec's ToolAnnotations. */
|
|
14
1
|
export interface GeneratedAnnotations {
|
|
15
2
|
readOnlyHint: boolean;
|
|
16
3
|
destructiveHint?: boolean;
|
|
@@ -18,24 +5,14 @@ export interface GeneratedAnnotations {
|
|
|
18
5
|
openWorldHint: boolean;
|
|
19
6
|
}
|
|
20
7
|
export interface GeneratedOperation {
|
|
21
|
-
/** OpenAPI operationId, e.g. "createCompose". */
|
|
22
8
|
operationId: string;
|
|
23
|
-
/** Raw MCP tool name, e.g. "cueframe_api_createCompose". */
|
|
24
9
|
toolName: string;
|
|
25
|
-
/** Human-facing title, e.g. "Create Compose". Required by directory reviews. */
|
|
26
10
|
title: string;
|
|
27
|
-
/** HTTP method, upper-case. */
|
|
28
11
|
method: string;
|
|
29
|
-
/** Spec path, /v1-prefixed, e.g. "/v1/projects/{id}/compose". */
|
|
30
12
|
pathTemplate: string;
|
|
31
|
-
/** Path parameter names in declaration order, e.g. ["id"]. */
|
|
32
13
|
pathParams: string[];
|
|
33
|
-
/** bodySchemas key for the request body, or null for body-less ops. */
|
|
34
14
|
bodyKey: string | null;
|
|
35
|
-
/** Human/agent-facing description (raw expert layer). */
|
|
36
15
|
description: string;
|
|
37
|
-
/** Method-derived client hints. Curated entries may override (curation.ts). */
|
|
38
16
|
annotations: GeneratedAnnotations;
|
|
39
17
|
}
|
|
40
|
-
/** 116 operations derived from docs/api/openapi.json. */
|
|
41
18
|
export declare const GENERATED_OPERATIONS: GeneratedOperation[];
|
|
@@ -1,25 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* INTERNAL in-loop tool registry (A11/A12: the director's in-loop tool names
|
|
3
|
-
* are internal names, exempt from the client-surface rename story).
|
|
4
|
-
*
|
|
5
|
-
* The 2026-07 verb cutover removed the SESSION-SCOPED ops from the public curated
|
|
6
|
-
* surface. But the DIRECTOR's own author/designer loops kept running against a real
|
|
7
|
-
* session — `pathArgs: { projectId, sessionId }` — and THAT is what gave "render this
|
|
8
|
-
* composition at time T" two implementations chosen by caller identity: the agent could
|
|
9
|
-
* not physically address the stateless path, because every sighted tool it had was
|
|
10
|
-
* session-addressed.
|
|
11
|
-
*
|
|
12
|
-
* They are sessionless now, and it needed no new endpoints: these ops already took
|
|
13
|
-
* `body.composition`, so the agent was always sending the very thing it wanted rendered.
|
|
14
|
-
* The `sessionId` in the path never carried composition state — it carried a BOX.
|
|
15
|
-
* Dropping it means the Director's loop and the public API run the ONE seam
|
|
16
|
-
* (bake → stateless capture), and the agent's stills are the SAME content-addressed R2
|
|
17
|
-
* objects the judge grades — so it can no longer be scored on frames it never saw.
|
|
18
|
-
*
|
|
19
|
-
* `commit_session` stays session-addressed: it promotes the run's SCRATCH composition
|
|
20
|
-
* (a real Convex composition row) to active. That scratch is composition versioning, not
|
|
21
|
-
* a box — candidate isolation is a product requirement (only the winner saves), and it
|
|
22
|
-
* survives the box's removal untouched.
|
|
23
|
-
*/
|
|
24
1
|
import type { CuratedTool } from './curation.js';
|
|
25
2
|
export declare const INTERNAL_LOOP_TOOLS: CuratedTool[];
|
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skills-as-prompts.
|
|
3
|
-
*
|
|
4
|
-
* Each published SKILL.md becomes an MCP *prompt*: metadata registered up front,
|
|
5
|
-
* full markdown fetched on demand. SKILL.md stays the single source of truth.
|
|
6
|
-
* Executed through the transport's `Executor` (stdio: network; hosted: in-process)
|
|
7
|
-
* against the public skills ops from the generated manifest.
|
|
8
|
-
*
|
|
9
|
-
* The skill LIST is memoized at module scope so the hosted per-request server
|
|
10
|
-
* doesn't re-fetch it on every request (a warm isolate populates it once).
|
|
11
|
-
*
|
|
12
|
-
* `failLoud`: stdio sets it (boot once — a missing skills API means a broken
|
|
13
|
-
* server, surface it). Hosted leaves it false — a transient skills hiccup must
|
|
14
|
-
* NOT break an unrelated tool call; prompts are simply skipped that request.
|
|
15
|
-
*/
|
|
16
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
17
2
|
import { type Executor } from './core.js';
|
|
18
3
|
export declare function registerSkillPrompts(server: McpServer, ex: Executor, opts?: {
|
|
19
4
|
failLoud?: boolean;
|
|
20
5
|
}): Promise<void>;
|
|
21
|
-
/** Test seam — reset the memoized skill list. */
|
|
22
6
|
export declare function __resetSkillCache(): void;
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CueFrame MCP resources — the read side of the surface (no side effects).
|
|
3
|
-
*
|
|
4
|
-
* Every read endpoint is a URI-addressed MCP *resource*, executed through the
|
|
5
|
-
* transport's `Executor` (stdio: network; hosted: in-process) against the GET
|
|
6
|
-
* op's path from the generated manifest — the SAME single source of truth the
|
|
7
|
-
* tools use, so paths are never hand-maintained. Four templates (media,
|
|
8
|
-
* component, project, brand-kit) also carry a `list` callback so resources/list
|
|
9
|
-
* enumerates concrete instances via the matching list op.
|
|
10
|
-
*
|
|
11
|
-
* Fail-loud: a non-2xx read throws, which the MCP server surfaces as a JSON-RPC
|
|
12
|
-
* error (no try/catch swallow).
|
|
13
|
-
*/
|
|
14
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
15
2
|
import { type Executor } from './core.js';
|
|
16
3
|
export declare function registerResources(server: McpServer, ex: Executor): void;
|
|
@@ -1,69 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CueFrame MCP — transport-agnostic core. NO transport import lives here, so
|
|
3
|
-
* both the stdio entry (index.ts) and the hosted Hono route
|
|
4
|
-
* (the hosted MCP route) build their server from this one module.
|
|
5
|
-
*
|
|
6
|
-
* Layers (all execute through the injected `Executor`, paths from the generated
|
|
7
|
-
* manifest — single source of truth, drift-gated):
|
|
8
|
-
* - curated front-door → registerCuratedTools (hand-picked names + guidance)
|
|
9
|
-
* - raw expert layer → registerRawTools (generic, one tool per op)
|
|
10
|
-
* - read resources → registerResources (resources.ts)
|
|
11
|
-
* - skills-as-prompts → registerSkillPrompts (prompts.ts; async, by caller)
|
|
12
|
-
*/
|
|
13
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
14
2
|
import { type Executor } from './core.js';
|
|
15
3
|
export { registerSkillPrompts, __resetSkillCache } from './prompts.js';
|
|
16
4
|
export { SERVER_INSTRUCTIONS } from './generated/harness.js';
|
|
17
5
|
export type { Executor } from './core.js';
|
|
18
|
-
/**
|
|
19
|
-
* Transport-agnostic telemetry contract. The core emits; the TRANSPORT decides
|
|
20
|
-
* where it lands (the hosted Convex route ships these to PostHog; stdio passes
|
|
21
|
-
* no sink and pays nothing). Keeping this a plain callback is what lets the
|
|
22
|
-
* package stay free of any analytics dependency.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* A completed tool call. No `errorKind`: every handler here already converts a
|
|
26
|
-
* throw into an `isError` result before the wrapper sees it, so a thrown-error
|
|
27
|
-
* class could never be populated — it would be a permanently-null column.
|
|
28
|
-
*/
|
|
29
6
|
export type McpTelemetryEvent = {
|
|
30
7
|
tool: string;
|
|
31
8
|
isError: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Preview-attachment outcome, when the tool carries media. `urls` is what the
|
|
34
|
-
* extractor found in the response; `fetched` is how many actually encoded.
|
|
35
|
-
*
|
|
36
|
-
* This rides the SINK, not console.log: the core stays transport-agnostic (it
|
|
37
|
-
* also ships as a stdio npm package with no Convex in scope), and the hosted
|
|
38
|
-
* route decides where it lands. urls>0 with fetched===0 is the signature of a
|
|
39
|
-
* runtime-level failure — it is how the Buffer-in-Convex crash was finally
|
|
40
|
-
* found, after being invisible behind a silent catch.
|
|
41
|
-
*/
|
|
42
9
|
preview?: {
|
|
43
10
|
urls: number;
|
|
44
11
|
fetched: number;
|
|
45
12
|
};
|
|
46
13
|
};
|
|
47
14
|
export type McpTelemetrySink = (event: McpTelemetryEvent) => void;
|
|
48
|
-
/**
|
|
49
|
-
* Operations the RAW expert layer must not register, even though they are in the
|
|
50
|
-
* manifest. This is a raw-layer property, not a manifest one: the manifest is the
|
|
51
|
-
* transport-agnostic op SSOT the CURATED layer resolves paths through (`opById`),
|
|
52
|
-
* so an op dropped from it becomes uncuratable.
|
|
53
|
-
*
|
|
54
|
-
* `searchLibrary` — the raw registrar builds its inputSchema from path params +
|
|
55
|
-
* the request body only, and every argument of GET /v1/media/search is a QUERY
|
|
56
|
-
* param. `q` is REQUIRED, so the raw tool could not send it and would 400 on
|
|
57
|
-
* every call — worse than absent, because an agent reads that 400 as "the
|
|
58
|
-
* feature is broken". The working surface is the curated `search_library`
|
|
59
|
-
* (internalLoopTools.ts) whose `queryArgs` the adapter threads onto the URL.
|
|
60
|
-
* DELETE this entry once the generator + this registrar thread query params
|
|
61
|
-
* (internal issue 2026-08-07 — the Executor
|
|
62
|
-
* already carries `query`).
|
|
63
|
-
*/
|
|
64
15
|
export declare const RAW_EXCLUDED_OPERATION_IDS: ReadonlySet<string>;
|
|
65
16
|
export declare function registerRawTools(server: McpServer, ex: Executor, onEvent?: McpTelemetrySink): void;
|
|
66
|
-
/** `create_render` → "Create Render". Default title for a curated tool. */
|
|
67
17
|
export declare function titleCase(name: string): string;
|
|
68
18
|
export declare function registerCuratedTools(server: McpServer, ex: Executor, opts?: {
|
|
69
19
|
waitCapMs?: number;
|
|
@@ -72,21 +22,10 @@ export declare function registerCuratedTools(server: McpServer, ex: Executor, op
|
|
|
72
22
|
}): void;
|
|
73
23
|
export interface BuildServerOpts {
|
|
74
24
|
executor: Executor;
|
|
75
|
-
/** Expose the raw `cueframe_api_*` expert layer (one tool per operation). */
|
|
76
25
|
expert?: boolean;
|
|
77
|
-
/** SERVER_INSTRUCTIONS harness, if any. */
|
|
78
26
|
instructions?: string;
|
|
79
|
-
/** Cap wait_job blocking (ms). Hosted transports set this under the Convex
|
|
80
|
-
* httpAction limit; stdio leaves it unset (30-min default applies). */
|
|
81
27
|
waitCapMs?: number;
|
|
82
|
-
/** Optional telemetry sink. Omitted on stdio; the hosted route supplies one
|
|
83
|
-
* so agent discovery (initialize) and tool usage are measurable. */
|
|
84
28
|
onEvent?: McpTelemetrySink;
|
|
85
29
|
}
|
|
86
30
|
export declare function buildServer(opts: BuildServerOpts): McpServer;
|
|
87
|
-
/**
|
|
88
|
-
* A12 burned names: each dead verb registers as a TOMBSTONE — calling it
|
|
89
|
-
* hard-errors with the replacement instead of a bare method-not-found, so an
|
|
90
|
-
* agent with a stale memory of the surface gets re-taught in one round-trip.
|
|
91
|
-
*/
|
|
92
31
|
export declare function registerBurnedTombstones(server: McpServer, onEvent?: McpTelemetrySink): void;
|
|
@@ -1,37 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `wait_job` — block until a long-running job reaches a terminal state, by
|
|
3
|
-
* POLLING its status endpoint through the Executor. Unified across transports:
|
|
4
|
-
* the same poll loop works for stdio (network) and hosted (in-process), so the
|
|
5
|
-
* blocking-SSE path is gone (the agent only ever sees the terminal result, so
|
|
6
|
-
* polling is functionally equivalent; `create_webhook` is the event-driven path
|
|
7
|
-
* for fan-out). Pure + side-effect-free (clock/sleep injectable) so it unit-tests
|
|
8
|
-
* without a server.
|
|
9
|
-
*/
|
|
10
1
|
import { type Executor } from './core.js';
|
|
11
2
|
export type WaitResult = {
|
|
12
3
|
ok: boolean;
|
|
13
4
|
text: string;
|
|
14
|
-
/** True when the wait window expired with the job still running — a
|
|
15
|
-
* CONTINUATION, not an error: the caller re-invokes wait_job to keep
|
|
16
|
-
* waiting (bounded long-poll; plan 2026-07-06-bounded-api-jobs). */
|
|
17
5
|
stillRunning?: boolean;
|
|
18
|
-
/** Image urls to attach as MCP image blocks. An async tool's pixels arrive at
|
|
19
|
-
* wait_job, not at the enqueue call, so this is where they must surface —
|
|
20
|
-
* preview_component's own 202 carries only a jobId. Same treatment
|
|
21
|
-
* adapter.ts:578 already gives this url on the ai-SDK path. */
|
|
22
6
|
mediaUrls?: string[];
|
|
23
7
|
};
|
|
24
8
|
export type WaitKind = 'render' | 'compose' | 'suggestions' | 'verify' | 'preview' | 'brand_kit_extract' | 'consult';
|
|
25
9
|
export interface WaitDeps {
|
|
26
10
|
sleep?: (ms: number) => Promise<void>;
|
|
27
11
|
now?: () => number;
|
|
28
|
-
/** Poll interval; overridable for fast tests. */
|
|
29
12
|
pollMs?: number;
|
|
30
|
-
/** Reserved headroom for one status invoke (overshoot guard); test override. */
|
|
31
13
|
invokeBudgetMs?: number;
|
|
32
14
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Poll a job's status op until terminal or the deadline. 4xx → fail loud
|
|
35
|
-
* immediately; 5xx/transient → keep polling; 2xx non-terminal → sleep + retry.
|
|
36
|
-
*/
|
|
37
15
|
export declare function waitForJob(ex: Executor, kind: WaitKind, id: string, projectId: string | undefined, deadline: number, deps?: WaitDeps): Promise<WaitResult>;
|