@cueframe/kernel 0.2.58 → 0.2.59-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_members/account-model/testing/conversationStoreContract.d.ts +3 -4
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +3 -4
- package/dist/_members/account-model/validators/index.d.ts +0 -1
- package/dist/_members/animate/index.d.ts +0 -2
- package/dist/_members/authoring/index.d.ts +1 -1
- package/dist/_members/authoring/prompts/index.d.ts +0 -1
- package/dist/_members/authoring/resources.d.ts +2 -11
- package/dist/_members/cloud-import/CloudImportService.d.ts +0 -1
- package/dist/_members/cloud-import/index.d.ts +0 -2
- package/dist/_members/component-runtime/allowedImports.d.ts +6 -0
- package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserIdentity.d.ts +2 -12
- package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts +8 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/contracts.d.ts +2 -1
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
- package/dist/_members/component-runtime/identity.d.ts +2 -3
- package/dist/_members/component-runtime/identity.d.ts.map +1 -1
- package/dist/_members/component-runtime/importPolicy.d.ts +5 -0
- package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/checks.d.ts +71 -0
- package/dist/_members/component-runtime/template/checks.d.ts.map +1 -0
- package/dist/_members/component-runtime/template/extract.d.ts +4 -0
- package/dist/_members/component-runtime/template/extract.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/index.d.ts +1 -0
- package/dist/_members/component-runtime/template/index.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/schema.d.ts +14 -13
- package/dist/_members/component-runtime/template/schema.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts +3 -4
- package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts.map +1 -1
- package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts +15 -0
- package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts.map +1 -0
- package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -1
- package/dist/_members/compose/index.d.ts +1 -1
- package/dist/_members/compose/primitiveRegistry.d.ts +0 -2
- package/dist/_members/composition/audio/audioMix.d.ts +0 -1
- package/dist/_members/composition/audio/mixStaging.d.ts +0 -5
- package/dist/_members/composition/fixtures/index.d.ts +0 -1
- package/dist/_members/composition/graphics-plan/index.d.ts +0 -2
- package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
- package/dist/_members/composition/invariants/etag.d.ts +0 -1
- package/dist/_members/composition/invariants/index.d.ts +0 -1
- package/dist/_members/composition/ops/compositionOps.d.ts +0 -1
- package/dist/_members/composition/ops/compositionOps.shared.d.ts +6 -0
- package/dist/_members/composition/ops/index.d.ts +2 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +0 -2
- package/dist/_members/composition/projection/behind-readiness.d.ts +0 -6
- package/dist/_members/composition/timeline/link.d.ts +0 -4
- package/dist/_members/composition/timeline/plan.d.ts +0 -1
- package/dist/_members/composition/validators/brandKit.d.ts +4 -4
- package/dist/_members/composition/validators/brandKitBody.d.ts +8 -8
- package/dist/_members/composition/validators/cardHtml.d.ts +11 -0
- package/dist/_members/composition/validators/composition.d.ts +2 -5
- package/dist/_members/composition/validators/css-tree-subpaths.d.ts +16 -0
- package/dist/_members/composition/validators/index.d.ts +0 -3
- package/dist/_members/composition/validators/session.d.ts +3 -3
- package/dist/_members/composition/validators/webhook.d.ts +4 -4
- package/dist/_members/composition-ops/alphaLayers.d.ts +0 -5
- package/dist/_members/composition-ops/index.d.ts +2 -2
- package/dist/_members/composition-ops/opRecorder.d.ts +23 -3
- package/dist/_members/core/render/exportSettings.d.ts +4 -2
- package/dist/_members/core/render/index.d.ts +1 -1
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -1
- package/dist/_members/director/ai-sdk/index.d.ts +0 -1
- package/dist/_members/director/ai-sdk/messages.d.ts +0 -1
- package/dist/_members/director/domain/chat.d.ts +0 -78
- package/dist/_members/director/domain/index.d.ts +0 -1
- package/dist/_members/errors/registry.d.ts +6 -0
- package/dist/_members/foundation/canonical/index.d.ts +14 -0
- package/dist/_members/foundation/index.d.ts +1 -1
- package/dist/_members/foundation/primitives/index.d.ts +0 -2
- package/dist/_members/foundation/testing/index.d.ts +1 -0
- package/dist/_members/foundation/testing/knownRed.d.ts +13 -0
- package/dist/_members/mcp/adapter.d.ts +21 -0
- package/dist/_members/mcp/compositionOps.d.ts +10 -0
- package/dist/_members/mcp/server.d.ts +0 -5
- package/dist/_members/mcp/wait.d.ts +3 -1
- package/dist/_members/media-model/generation.d.ts +0 -25
- package/dist/_members/nle-export/xml-utils.d.ts +0 -8
- package/dist/_members/plane/conformance.d.ts +20 -0
- package/dist/_members/primitives/index.d.ts +1 -11
- package/dist/_members/primitives/lib/index.d.ts +1 -1
- package/dist/_members/primitives/lib/tokens.d.ts +0 -16
- package/dist/_members/render-harness/cardAssetAdmission.d.ts +1 -0
- package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/mediaServer.d.ts +6 -1
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
- package/dist/account-model/testing.js +15 -5
- package/dist/account-model/validators.js +5 -7
- package/dist/account-model.js +5 -7
- package/dist/animate/preparation-facts.js +1 -1
- package/dist/animate.js +2 -6
- package/dist/authoring/composer.js +1 -1
- package/dist/authoring/context.js +8 -7
- package/dist/authoring/models/defaults.d.ts +1 -0
- package/dist/authoring/models/defaults.js +7 -0
- package/dist/authoring/models.js +5 -3
- package/dist/authoring/motion.d.ts +1 -0
- package/dist/authoring/motion.js +25 -0
- package/dist/authoring/prompts.js +4 -14
- package/dist/authoring/providers.js +1 -1
- package/dist/authoring/resource-routing.js +2 -2
- package/dist/authoring/resources.js +4 -22
- package/dist/authoring/scene.js +3 -2
- package/dist/authoring.js +662 -219
- package/dist/brand-derivation/constants.js +1 -1
- package/dist/brand-derivation.js +1 -1
- package/dist/{chunk-TKFLSGAS.js → chunk-25JH5QZA.js} +2 -2
- package/dist/{chunk-LBJ5LI5V.js → chunk-2K2GBFLU.js} +17 -8
- package/dist/{chunk-RAXHCRVV.js → chunk-2PAP5LO5.js} +1 -1
- package/dist/{chunk-MNO6AO2J.js → chunk-3HLDIIWA.js} +1 -1
- package/dist/{chunk-PTVTWQ4T.js → chunk-3JEUNKDK.js} +2 -2
- package/dist/chunk-3VWJ3H4X.js +68 -0
- package/dist/{chunk-S5H6GH6M.js → chunk-3Z7CN54H.js} +1 -1
- package/dist/{chunk-FVDFPJHT.js → chunk-46WBCUPE.js} +1 -1
- package/dist/chunk-4VBLQIM5.js +30 -0
- package/dist/{chunk-N2OZDD44.js → chunk-6HA55CRU.js} +4 -5
- package/dist/{chunk-WL2MLKWU.js → chunk-6HPEMDQW.js} +1 -1
- package/dist/{chunk-PWWZTY3G.js → chunk-6KZCXAYL.js} +5 -2
- package/dist/{chunk-IEXAKOEX.js → chunk-6QGARSV6.js} +2 -15
- package/dist/{chunk-3YVIAWET.js → chunk-7II5OM7R.js} +13 -1
- package/dist/{chunk-VLJOIUHL.js → chunk-7PSQUTL5.js} +3 -3
- package/dist/{chunk-UFD4EZHM.js → chunk-AFUITAH6.js} +4 -5
- package/dist/{chunk-HGCYZMII.js → chunk-AK6QPX7A.js} +9 -9
- package/dist/{chunk-EC6VFQE6.js → chunk-BZVOCVQV.js} +1 -0
- package/dist/{chunk-RBWS5XHE.js → chunk-CAF7BRNE.js} +2 -2
- package/dist/{chunk-TR53N6HB.js → chunk-CEO47DIE.js} +6 -3
- package/dist/chunk-CIOUDOGN.js +12 -0
- package/dist/{chunk-GQ6XGAFB.js → chunk-DCKADD5B.js} +1 -1
- package/dist/{chunk-4NIJWK45.js → chunk-EISHFHU5.js} +0 -8
- package/dist/chunk-EQH37KNZ.js +224 -0
- package/dist/{chunk-EXY4JJPH.js → chunk-F6PLDBAK.js} +2 -11
- package/dist/{chunk-DAARYRNT.js → chunk-FKSXKS35.js} +6 -6
- package/dist/{chunk-KBDUEU4W.js → chunk-FZB7UX44.js} +1 -1
- package/dist/chunk-H2ZZXISB.js +24 -0
- package/dist/{chunk-WSMCZRJ2.js → chunk-I2HNC4PQ.js} +1 -1
- package/dist/{chunk-NVXSKKRN.js → chunk-IUJABAG2.js} +14 -10
- package/dist/{chunk-7NIOFHMH.js → chunk-IVFMOHAC.js} +1 -9
- package/dist/{chunk-UKDBU7HM.js → chunk-JNBNDHEF.js} +3 -3
- package/dist/{chunk-JWMWVP64.js → chunk-KC4LNZL5.js} +4 -9
- package/dist/{chunk-GCQ7Z7S7.js → chunk-KKATUGRU.js} +3 -9
- package/dist/{chunk-Q5P5UFOP.js → chunk-KLQ53NX3.js} +13 -1
- package/dist/{chunk-UMXES6ED.js → chunk-LVMWPFV4.js} +1 -1
- package/dist/{chunk-REST55RC.js → chunk-NECN7TT4.js} +5 -4
- package/dist/{chunk-4ZE564YF.js → chunk-NM7NWXGF.js} +0 -146
- package/dist/{chunk-5T655LYZ.js → chunk-NY6EI5YW.js} +4 -4
- package/dist/{chunk-UXRSEMJJ.js → chunk-ONSGT6UJ.js} +66 -35
- package/dist/{chunk-VZ7TYX6Z.js → chunk-P3EFZDM5.js} +0 -17
- package/dist/{chunk-BEFSJMFF.js → chunk-P6RVYHLT.js} +9 -9
- package/dist/{chunk-TBHSOEYK.js → chunk-PLWDYWK6.js} +4 -34
- package/dist/{chunk-KYRDKK2D.js → chunk-Q6CJ6HCU.js} +1 -6
- package/dist/{chunk-FWSJLHSV.js → chunk-R642352J.js} +1 -1
- package/dist/{chunk-XELS2BGA.js → chunk-R6HTIP3N.js} +1 -3
- package/dist/{chunk-RL5SO653.js → chunk-RQRPSSRT.js} +1 -1
- package/dist/chunk-RR7UBEBV.js +172 -0
- package/dist/{chunk-FHMTAZD4.js → chunk-RWJHZCOR.js} +1 -71
- package/dist/{chunk-73DQTUWY.js → chunk-TIAJMEQ4.js} +2 -22
- package/dist/{chunk-2ESYSVXG.js → chunk-U67V476Y.js} +2 -15
- package/dist/{chunk-3VLDQE26.js → chunk-U7KSOA2L.js} +4 -21
- package/dist/{chunk-K66NLMGX.js → chunk-UGWJC4GA.js} +62 -18
- package/dist/chunk-VBYINB74.js +136 -0
- package/dist/{chunk-W2245F6G.js → chunk-WTQRLFR2.js} +1 -1
- package/dist/{chunk-JN3GF36B.js → chunk-X2RTLS6K.js} +2 -23
- package/dist/chunk-XHMKPTHV.js +20 -0
- package/dist/{chunk-2L33CKIY.js → chunk-XOT2VWCO.js} +18 -31
- package/dist/{chunk-AK5QBHOB.js → chunk-XQGQ5EFS.js} +10 -1
- package/dist/chunk-XR76OZKC.js +21 -0
- package/dist/chunk-ZCEYEIRB.js +179 -0
- package/dist/{chunk-IMIUHG2E.js → chunk-ZPJQ3TQL.js} +1 -3
- package/dist/cloud-import.js +1 -16
- package/dist/component-runtime/browserOptions.js +4 -3
- package/dist/component-runtime/contracts.js +2 -2
- package/dist/component-runtime/identity/browser.js +2 -17
- package/dist/component-runtime/identity.js +5 -7
- package/dist/component-runtime/importPolicy.js +3 -3
- package/dist/component-runtime/mediaResolution.js +1 -1
- package/dist/component-runtime/render.js +8 -7
- package/dist/component-runtime/sourceAdmission.js +3 -3
- package/dist/component-runtime/template/testing.js +15 -12
- package/dist/component-runtime/template.js +165 -13
- package/dist/component-runtime.js +27 -28
- package/dist/compose.js +28 -45
- package/dist/composition/audio.js +4 -8
- package/dist/composition/brand-kit.js +1 -1
- package/dist/composition/brief.js +1 -1
- package/dist/composition/card-html.d.ts +1 -0
- package/dist/composition/card-html.js +15 -0
- package/dist/composition/depth.js +1 -1
- package/dist/composition/floors.js +2 -2
- package/dist/composition/fonts.js +1 -1
- package/dist/composition/graphics-plan.js +4 -44
- package/dist/composition/invariants.js +5 -12
- package/dist/composition/ops.js +7 -6
- package/dist/composition/primitive-catalog.js +2 -6
- package/dist/composition/projection.js +3 -5
- package/dist/composition/reframe/coverage.js +1 -1
- package/dist/composition/reframe/kenBurns.js +1 -1
- package/dist/composition/reframe/shotScale.js +1 -1
- package/dist/composition/reframe/trajectory.js +1 -1
- package/dist/composition/reframe.js +1 -1
- package/dist/composition/scene/budget-policy.js +1 -1
- package/dist/composition/scene.js +1 -1
- package/dist/composition/timeline.js +4 -8
- package/dist/composition/validators/brand-kit-body.js +5 -4
- package/dist/composition/validators/graphic-kinds.js +1 -1
- package/dist/composition/validators.js +8 -65
- package/dist/composition-ops.js +17 -16
- package/dist/composition.js +13 -79
- package/dist/context-7SWSVJ6Z.js +17 -0
- package/dist/core/render.js +13 -9
- package/dist/core/select.js +3 -3
- package/dist/core.js +9 -9
- package/dist/director/ai-sdk.js +7 -11
- package/dist/director/domain.js +9 -17
- package/dist/director.js +9 -21
- package/dist/{dist-LAJ2363K.js → dist-6FO67KVA.js} +1 -1
- package/dist/errors.js +2 -2
- package/dist/foundation/canonical.d.ts +1 -0
- package/dist/foundation/canonical.js +7 -0
- package/dist/foundation/primitives.js +4 -6
- package/dist/foundation/testing.d.ts +1 -0
- package/dist/foundation/testing.js +7 -0
- package/dist/foundation.js +7 -9
- package/dist/{magic-string.es-SDTMJBWP.js → magic-string.es-KVSW34UD.js} +1 -1
- package/dist/mcp/adapter.js +11 -19
- package/dist/mcp/composition-ops.d.ts +1 -0
- package/dist/mcp/composition-ops.js +11 -0
- package/dist/mcp/core.js +2 -2
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/executor.js +1 -1
- package/dist/mcp/scene-shot.js +3 -3
- package/dist/mcp/server.js +6 -7
- package/dist/mcp/wire-schema.js +13 -2
- package/dist/mcp.js +11 -10
- package/dist/media-model/generation.js +6 -8
- package/dist/media-model/media-kind.js +1 -1
- package/dist/media-model/testing.js +2 -2
- package/dist/media-model/transcriptSearch.js +1 -1
- package/dist/media-model.js +6 -8
- package/dist/nle-export/xml.js +1 -1
- package/dist/nle-export.js +2 -2
- package/dist/perception.js +1 -1
- package/dist/plane/conformance.js +8 -4
- package/dist/plane/contract.js +1 -1
- package/dist/plane.js +8 -4
- package/dist/primitives/backgrounds.js +3 -3
- package/dist/primitives/captions.js +2 -2
- package/dist/primitives/effects.js +4 -4
- package/dist/primitives/hero-text.js +4 -4
- package/dist/primitives/layouts.js +4 -4
- package/dist/primitives/lib/easings.js +1 -1
- package/dist/primitives/lib/frameScale.js +1 -1
- package/dist/primitives/lib/index.js +7 -13
- package/dist/primitives/lib/palette.js +2 -2
- package/dist/primitives/lib/preview.js +1 -1
- package/dist/primitives/lib/schema.js +1 -1
- package/dist/primitives/lib/seeded-random.js +1 -1
- package/dist/primitives/lib/text/contrast.js +3 -3
- package/dist/primitives/lib/text/fill.js +1 -1
- package/dist/primitives/lib/text/fitText.js +1 -1
- package/dist/primitives/lib/text/marker.js +1 -1
- package/dist/primitives/lib/text/motion.js +1 -1
- package/dist/primitives/lib/text/recolor.js +1 -1
- package/dist/primitives/lib/text/stage.js +1 -1
- package/dist/primitives/lib/text/typeface.js +1 -1
- package/dist/primitives/lib/tokens.js +4 -11
- package/dist/primitives/lib.js +7 -13
- package/dist/primitives/scenes.js +5 -5
- package/dist/primitives/subject-foreground.js +1 -1
- package/dist/primitives/text.js +4 -4
- package/dist/primitives/transitions.js +3 -3
- package/dist/primitives/ui-blocks.js +5 -5
- package/dist/primitives/workspace.js +1 -1
- package/dist/primitives.js +24 -38
- package/dist/render-harness/cardAssetAdmission.js +4 -4
- package/dist/render-harness/cardFonts.js +3 -3
- package/dist/render-harness/renderInputAssets.js +4 -4
- package/dist/render-harness.js +100 -82
- package/dist/{src-ZP6727AA.js → src-XI5MULKD.js} +17 -16
- package/package.json +38 -60
- package/dist/_members/account-model/validators/workingComposition.d.ts +0 -11
- package/dist/_members/animate/animations/index.d.ts +0 -9
- package/dist/_members/animate/easing/index.d.ts +0 -3
- package/dist/_members/animate/mobjects/index.d.ts +0 -4
- package/dist/_members/animate/scene/internal.d.ts +0 -29
- package/dist/_members/authoring/prompts/graphics.d.ts +0 -9
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -2
- package/dist/_members/composition/autozoom/index.d.ts +0 -25
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -34
- package/dist/_members/composition/invariants/time.d.ts +0 -14
- package/dist/_members/composition/types/index.d.ts +0 -8
- package/dist/_members/composition/validators/font.d.ts +0 -58
- package/dist/_members/composition/validators/registry.d.ts +0 -79
- package/dist/_members/composition/validators/render.d.ts +0 -2068
- package/dist/_members/director/ai-sdk/chunks.d.ts +0 -14
- package/dist/_members/director/domain/ports.d.ts +0 -32
- package/dist/_members/director/testing/contract.d.ts +0 -52
- package/dist/_members/director/testing/index.d.ts +0 -1
- package/dist/_members/foundation/codes/index.d.ts +0 -10
- package/dist/_members/nle-export/server/index.d.ts +0 -1
- package/dist/_members/nle-export/server/pack-zip.d.ts +0 -6
- package/dist/_members/render-harness/assetRefs.d.ts +0 -26
- package/dist/_members/render-harness/assetRefs.d.ts.map +0 -1
- package/dist/_members/render-harness/remotion-runtime.d.ts +0 -87
- package/dist/authoring/build-tools.d.ts +0 -1
- package/dist/authoring/build-tools.js +0 -28
- package/dist/authoring/capabilities.d.ts +0 -1
- package/dist/authoring/capabilities.js +0 -11
- package/dist/authoring/pipelineTrace.d.ts +0 -1
- package/dist/authoring/pipelineTrace.js +0 -7
- package/dist/authoring/tools.d.ts +0 -1
- package/dist/authoring/tools.js +0 -31
- package/dist/chunk-6UZYUWBX.js +0 -197
- package/dist/chunk-7EDLPIUN.js +0 -384
- package/dist/chunk-GF52TW4I.js +0 -51
- package/dist/chunk-IG3YAOUZ.js +0 -418
- package/dist/chunk-JOURGVOR.js +0 -27
- package/dist/chunk-MFMR3LHO.js +0 -116
- package/dist/chunk-OSMXQV5V.js +0 -18
- package/dist/chunk-QDBVYZSF.js +0 -128
- package/dist/chunk-U3JPILZS.js +0 -15
- package/dist/chunk-Y4HPN4BC.js +0 -364
- package/dist/composition/autozoom.d.ts +0 -1
- package/dist/composition/autozoom.js +0 -76
- package/dist/composition/fixtures.d.ts +0 -1
- package/dist/composition/fixtures.js +0 -154
- package/dist/composition/types.d.ts +0 -1
- package/dist/composition/types.js +0 -0
- package/dist/context-4WSFPRLX.js +0 -16
- package/dist/director/testing.d.ts +0 -1
- package/dist/director/testing.js +0 -22
- package/dist/foundation/codes.d.ts +0 -1
- package/dist/foundation/codes.js +0 -7
- package/dist/nle-export/server.d.ts +0 -1
- package/dist/nle-export/server.js +0 -25856
- /package/dist/{chunk-FTVZF4GO.js → chunk-S432RE6G.js} +0 -0
package/dist/chunk-7EDLPIUN.js
DELETED
|
@@ -1,384 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AgentFixableCaptureError
|
|
3
|
-
} from "./chunk-JOURGVOR.js";
|
|
4
|
-
import {
|
|
5
|
-
getPrimitiveSubtextParam,
|
|
6
|
-
getPrimitiveTextParam
|
|
7
|
-
} from "./chunk-4NIJWK45.js";
|
|
8
|
-
import {
|
|
9
|
-
selectAllOverlays
|
|
10
|
-
} from "./chunk-LBJ5LI5V.js";
|
|
11
|
-
import {
|
|
12
|
-
ComposePlan
|
|
13
|
-
} from "./chunk-IG3YAOUZ.js";
|
|
14
|
-
import {
|
|
15
|
-
OverlayClipSource
|
|
16
|
-
} from "./chunk-UFD4EZHM.js";
|
|
17
|
-
|
|
18
|
-
// ../authoring/src/tools/toolSets.ts
|
|
19
|
-
var COMPOSE_PLANNER_TOOLS = [
|
|
20
|
-
"get_context",
|
|
21
|
-
"get_word_timings",
|
|
22
|
-
"search_library",
|
|
23
|
-
"capture_frames",
|
|
24
|
-
"submit_compose_plan"
|
|
25
|
-
];
|
|
26
|
-
var COMPOSE_PLANNER_REPAIR_TOOLS = [
|
|
27
|
-
"get_context",
|
|
28
|
-
"get_word_timings",
|
|
29
|
-
"search_library",
|
|
30
|
-
"capture_frames",
|
|
31
|
-
"amend_compose_plan"
|
|
32
|
-
];
|
|
33
|
-
var COMPOSE_MOTION_TOOLS = [
|
|
34
|
-
"get_context",
|
|
35
|
-
"get_word_timings",
|
|
36
|
-
"inspect_overlay",
|
|
37
|
-
"capture_frames",
|
|
38
|
-
"update_overlay",
|
|
39
|
-
"apply_motion_preset",
|
|
40
|
-
"score_composition"
|
|
41
|
-
];
|
|
42
|
-
var COMPOSE_MOTION_VERIFY_TOOLS = COMPOSE_MOTION_TOOLS.filter(
|
|
43
|
-
(t) => t !== "update_overlay" && t !== "apply_motion_preset"
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
// ../authoring/src/tools/composeRoleTools.ts
|
|
47
|
-
import { z } from "zod";
|
|
48
|
-
function overlayViews(capabilities) {
|
|
49
|
-
return selectAllOverlays(capabilities.composition.getState().composition).flatMap(
|
|
50
|
-
(o) => o.source.kind === "overlay" ? [{
|
|
51
|
-
id: o.id,
|
|
52
|
-
template: o.source.primitiveId,
|
|
53
|
-
startTime: o.startTime,
|
|
54
|
-
duration: o.duration,
|
|
55
|
-
params: { ...o.source.params }
|
|
56
|
-
}] : []
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
var COMPOSE_ROLE_TOOLS = Object.freeze({
|
|
60
|
-
get_context: {
|
|
61
|
-
name: "get_context",
|
|
62
|
-
description: "Get current project state: transcript with word-level timings, clips on timeline, overlays, brand kit, imported assets, playhead time, timeline duration, and FPS. Always call this first.",
|
|
63
|
-
schema: z.object({}),
|
|
64
|
-
metadata: { label: "Get Context" },
|
|
65
|
-
handler: async (_args, capabilities) => {
|
|
66
|
-
const { buildDirectorContext } = await import("./context-4WSFPRLX.js");
|
|
67
|
-
return buildDirectorContext(capabilities);
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
get_word_timings: {
|
|
71
|
-
name: "get_word_timings",
|
|
72
|
-
description: "Get precise word-level timestamps for a section of the transcript. Call this BEFORE you name a cut range, so the range lands on real word boundaries instead of a rounded guess. On the library page, pass poolItemId to read a specific media item.",
|
|
73
|
-
schema: z.object({
|
|
74
|
-
startTime: z.coerce.number().min(0).describe("Start of time range in seconds"),
|
|
75
|
-
endTime: z.coerce.number().min(0).describe("End of time range in seconds"),
|
|
76
|
-
poolItemId: z.string().optional().describe("Pool item ID to read. If omitted, reads the current timeline transcript.")
|
|
77
|
-
}),
|
|
78
|
-
metadata: { label: "Get Word Timings" },
|
|
79
|
-
inputExamples: [{ input: { startTime: 12, endTime: 15 } }],
|
|
80
|
-
handler: async (args, capabilities) => {
|
|
81
|
-
const startTime = args.startTime;
|
|
82
|
-
const endTime = args.endTime;
|
|
83
|
-
if (endTime <= startTime) {
|
|
84
|
-
return { error: `Invalid range: endTime (${endTime}) must be greater than startTime (${startTime})` };
|
|
85
|
-
}
|
|
86
|
-
return capabilities.transcript.getWordTimings(startTime, endTime);
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
inspect_overlay: {
|
|
90
|
-
name: "inspect_overlay",
|
|
91
|
-
description: "Retrieve the full details of an existing overlay, including its JSX source code. Use this to inspect fonts, colors, animations, or any implementation detail of a placed overlay.",
|
|
92
|
-
schema: z.object({
|
|
93
|
-
id: z.string().describe("The ID of the overlay to inspect")
|
|
94
|
-
}),
|
|
95
|
-
metadata: { label: "Inspect Overlay" },
|
|
96
|
-
strict: true,
|
|
97
|
-
handler: async (args, capabilities) => {
|
|
98
|
-
const overlay = overlayViews(capabilities).find((o) => o.id === args.id);
|
|
99
|
-
if (!overlay) return { error: `Overlay ${args.id} not found` };
|
|
100
|
-
const lines = [
|
|
101
|
-
`Overlay ${overlay.id}:`,
|
|
102
|
-
` template: ${overlay.template}`,
|
|
103
|
-
` startTime: ${overlay.startTime}s`,
|
|
104
|
-
` duration: ${overlay.duration}s`,
|
|
105
|
-
` text: "${overlay.params.text}"`
|
|
106
|
-
];
|
|
107
|
-
if (overlay.params.subtext) lines.push(` subtext: "${overlay.params.subtext}"`);
|
|
108
|
-
if (overlay.params.position) lines.push(` position: ${overlay.params.position}`);
|
|
109
|
-
if (overlay.params.accentColor) lines.push(` accentColor: ${overlay.params.accentColor}`);
|
|
110
|
-
if (overlay.params.transition) lines.push(` transition: ${overlay.params.transition}`);
|
|
111
|
-
if (overlay.params.sequenceGroup) lines.push(` sequenceGroup: ${overlay.params.sequenceGroup}`);
|
|
112
|
-
if (overlay.params.jsxSource) {
|
|
113
|
-
lines.push(`
|
|
114
|
-
Source code:
|
|
115
|
-
${overlay.params.jsxSource}`);
|
|
116
|
-
} else {
|
|
117
|
-
lines.push(`
|
|
118
|
-
(No custom source code \u2014 uses built-in template rendering)`);
|
|
119
|
-
}
|
|
120
|
-
return lines.join("\n");
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
update_overlay: {
|
|
124
|
-
name: "update_overlay",
|
|
125
|
-
description: "Update properties of an existing motion graphic overlay. Only include the fields you want to change. Provide authored jsxSource to re-generate a custom component.",
|
|
126
|
-
schema: z.object({
|
|
127
|
-
id: z.string().min(1).describe("The overlay clip ID (a UUID). Use the exact id inspect_overlay reports \u2014 never fabricate IDs."),
|
|
128
|
-
startTime: z.coerce.number().min(0).optional().describe("New start time in seconds"),
|
|
129
|
-
duration: z.coerce.number().min(0.5).max(60).optional().describe("New duration in seconds"),
|
|
130
|
-
text: z.string().min(1).max(200).optional().describe("New primary text"),
|
|
131
|
-
subtext: z.string().max(200).optional().describe("New secondary text"),
|
|
132
|
-
position: z.string().optional().transform((v) => {
|
|
133
|
-
if (!v) return v;
|
|
134
|
-
const match = v.match(/(left|center|right)/i);
|
|
135
|
-
return match ? match[1].toLowerCase() : "center";
|
|
136
|
-
}),
|
|
137
|
-
accentColor: z.string().regex(/^#[0-9a-fA-F]{3,8}$/, "Must be a hex color (e.g., #D4AF37)").optional().describe("New accent color as hex"),
|
|
138
|
-
textColor: z.string().regex(/^#[0-9a-fA-F]{3,8}$/, "Must be a hex color").optional().describe("New text color as hex"),
|
|
139
|
-
fontFamily: z.string().optional().describe("New font family"),
|
|
140
|
-
backgroundColor: z.string().regex(/^#[0-9a-fA-F]{3,8}$/, "Must be a hex color").optional().describe("New background color as hex"),
|
|
141
|
-
jsxSource: z.string().max(5e4).optional().describe("New canonical TSX module source for the overlay"),
|
|
142
|
-
transition: z.enum(["fade", "slide", "wipe", "none"]).optional().describe("New transition type"),
|
|
143
|
-
sequenceGroup: z.string().optional().describe("New sequence group ID"),
|
|
144
|
-
primitiveId: z.string().optional().describe(
|
|
145
|
-
'Switch the overlay to a different primitive component ID (e.g. "lower-third", "heroText"). Omit to keep the current primitive.'
|
|
146
|
-
),
|
|
147
|
-
params: z.record(z.string(), z.unknown()).optional().describe(
|
|
148
|
-
"Per-primitive params bag to merge over the overlay\u2019s existing params. Only the keys you set change; existing params are preserved."
|
|
149
|
-
),
|
|
150
|
-
zPlane: OverlayClipSource.shape.zPlane.describe(
|
|
151
|
-
'Depth plane. "front" renders over the video; "behind-subject" renders UNDER the subject cut-out (the launch-video hero-text look). Omit to keep the overlay\u2019s current plane.'
|
|
152
|
-
),
|
|
153
|
-
parallax: OverlayClipSource.shape.parallax.describe(
|
|
154
|
-
"Depth parallax for a behind-subject overlay (differential motion vs the camera; 0 locks to the scene). Omit to keep the current value."
|
|
155
|
-
),
|
|
156
|
-
anchor: z.object({
|
|
157
|
-
x: z.number().min(0).max(1).describe("Horizontal anchor, source-normalized [0,1]."),
|
|
158
|
-
y: z.number().min(0).max(1).describe("Vertical anchor, source-normalized [0,1].")
|
|
159
|
-
}).optional().describe(
|
|
160
|
-
"Durable scene-space anchor for a behind-subject overlay. Omit to keep the system-placed (or previously set) anchor."
|
|
161
|
-
)
|
|
162
|
-
}),
|
|
163
|
-
metadata: { label: "Update Overlay" },
|
|
164
|
-
inputExamples: [
|
|
165
|
-
{ input: { id: "abc-123", text: "Updated Title", accentColor: "#6366f1" } },
|
|
166
|
-
{ input: { id: "def-456", startTime: 10, duration: 5, jsxSource: "export default function..." } },
|
|
167
|
-
{ input: { id: "ghi-789", zPlane: "behind-subject", anchor: { x: 0.5, y: 0.4 }, parallax: 0.1 } }
|
|
168
|
-
],
|
|
169
|
-
handler: async (args, capabilities) => {
|
|
170
|
-
const composition = capabilities.composition.getState().composition;
|
|
171
|
-
const allOverlays = selectAllOverlays(composition);
|
|
172
|
-
const existingClip = allOverlays.find((o) => o.id === args.id);
|
|
173
|
-
if (!existingClip || existingClip.source.kind !== "overlay") {
|
|
174
|
-
const valid = allOverlays.filter((o) => o.source.kind === "overlay").map((o) => `'${o.id}'`);
|
|
175
|
-
return {
|
|
176
|
-
error: `Overlay ${args.id} not found. ` + (valid.length > 0 ? `Overlay clip ids in this composition: ${valid.join(", ")}.` : `This composition has no overlay clips.`)
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
const existingSource = existingClip.source;
|
|
180
|
-
const updates = {};
|
|
181
|
-
if (args.startTime != null) updates.startTime = args.startTime;
|
|
182
|
-
if (args.duration != null) updates.duration = args.duration;
|
|
183
|
-
const existingTemplate = existingSource.primitiveId;
|
|
184
|
-
if (args.text != null && existingTemplate) {
|
|
185
|
-
if (getPrimitiveTextParam(existingTemplate) === null) {
|
|
186
|
-
return { error: `Overlay template "${existingTemplate}" does not accept a text payload.` };
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
if (args.subtext != null && existingTemplate) {
|
|
190
|
-
if (getPrimitiveSubtextParam(existingTemplate) === null) {
|
|
191
|
-
return { error: `Overlay template "${existingTemplate}" does not accept a subtext payload.` };
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
const newParams = {
|
|
195
|
-
...existingSource.params,
|
|
196
|
-
...args.params ?? {}
|
|
197
|
-
};
|
|
198
|
-
if (args.text != null) newParams.text = args.text;
|
|
199
|
-
if (args.subtext != null) newParams.subtext = args.subtext;
|
|
200
|
-
if (args.accentColor != null) newParams.accentColor = args.accentColor;
|
|
201
|
-
if (args.textColor != null) newParams.textColor = args.textColor;
|
|
202
|
-
if (args.backgroundColor != null) newParams.backgroundColor = args.backgroundColor;
|
|
203
|
-
if (args.fontFamily != null) newParams.fontFamily = args.fontFamily;
|
|
204
|
-
if (args.position != null) newParams.position = args.position;
|
|
205
|
-
if (args.transition != null) newParams.transition = args.transition;
|
|
206
|
-
if (args.sequenceGroup != null) newParams.sequenceGroup = args.sequenceGroup;
|
|
207
|
-
const jsxSource = args.jsxSource;
|
|
208
|
-
let primitiveId = args.primitiveId ?? existingTemplate;
|
|
209
|
-
if (jsxSource) {
|
|
210
|
-
newParams.jsxSource = jsxSource;
|
|
211
|
-
newParams.componentManifest ??= {
|
|
212
|
-
version: 2,
|
|
213
|
-
assets: {},
|
|
214
|
-
graphics: { api: "canvas2d", required: true, accelerationPreference: "software-allowed" },
|
|
215
|
-
alphaPolicy: "requires-transparency"
|
|
216
|
-
};
|
|
217
|
-
primitiveId = "custom";
|
|
218
|
-
}
|
|
219
|
-
const newSource = { ...existingSource, primitiveId, params: newParams };
|
|
220
|
-
if (args.zPlane != null) newSource.zPlane = args.zPlane;
|
|
221
|
-
if (args.parallax != null) newSource.parallax = args.parallax;
|
|
222
|
-
if (args.anchor != null) {
|
|
223
|
-
const a = args.anchor;
|
|
224
|
-
newSource.anchor = { space: "scene", x: a.x, y: a.y };
|
|
225
|
-
}
|
|
226
|
-
updates.source = newSource;
|
|
227
|
-
capabilities.composition.updateOverlay(args.id, updates);
|
|
228
|
-
return { success: true, message: `Updated overlay ${args.id}` };
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
capture_frames: {
|
|
232
|
-
name: "capture_frames",
|
|
233
|
-
description: "Capture rendered video frames at specific frame numbers for visual verification. Returns base64 JPEG images. Call this after creating/updating overlays to verify they look correct.",
|
|
234
|
-
schema: z.object({
|
|
235
|
-
frames: z.array(z.coerce.number().int().min(0)).min(1).max(4).describe("Frame numbers to capture (max 4)")
|
|
236
|
-
}),
|
|
237
|
-
metadata: { label: "Capture Frames", imageResponse: true, dedupExempt: true },
|
|
238
|
-
handler: async (args, capabilities) => {
|
|
239
|
-
if (!capabilities.capture) return { error: "Frame capture not available." };
|
|
240
|
-
const MAX_RETRIES = 2;
|
|
241
|
-
let lastErr;
|
|
242
|
-
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
243
|
-
try {
|
|
244
|
-
if (attempt > 0) {
|
|
245
|
-
console.info("[compose-role-tools] Retrying capture_frames", {
|
|
246
|
-
attempt,
|
|
247
|
-
cause: lastErr instanceof Error ? lastErr.message.slice(0, 300) : String(lastErr).slice(0, 300)
|
|
248
|
-
});
|
|
249
|
-
await new Promise((r) => setTimeout(r, 500 * attempt));
|
|
250
|
-
}
|
|
251
|
-
return await capabilities.capture.captureFrames(args.frames);
|
|
252
|
-
} catch (err) {
|
|
253
|
-
if (err instanceof AgentFixableCaptureError) return { error: err.message };
|
|
254
|
-
lastErr = err;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
return {
|
|
258
|
-
error: `capture_frames failed after ${MAX_RETRIES + 1} attempts: ${lastErr instanceof Error ? lastErr.message : String(lastErr)}. You are now BLIND \u2014 you cannot see what you are authoring. Do not keep editing on guesswork; this run will be failed.`
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
score_composition: {
|
|
263
|
-
name: "score_composition",
|
|
264
|
-
description: "Score the CURRENT composition against the CueFrame quality rubric (editorial, spatial, brand, caption). Renders the meaningful beats, runs the vision judge, and returns per-criterion scores (0\u201310) plus the single weakest criterion to fix next. This is your OBJECTIVE check on whether the cut is good enough \u2014 use it instead of judging from your own eyes. Call it before finalizing, and after a fix to confirm the score moved.",
|
|
265
|
-
schema: z.object({}),
|
|
266
|
-
metadata: { label: "Score Composition", dedupExempt: true },
|
|
267
|
-
toModelOutput: (result) => ({ type: "text", value: result.slice(0, 1200) }),
|
|
268
|
-
handler: async (_args, capabilities) => {
|
|
269
|
-
if (!capabilities.verify) return { error: "Composition scoring not available." };
|
|
270
|
-
return await capabilities.verify.verify();
|
|
271
|
-
}
|
|
272
|
-
},
|
|
273
|
-
apply_motion_preset: {
|
|
274
|
-
name: "apply_motion_preset",
|
|
275
|
-
description: "Apply a vetted motion preset to a STATIC card clip: the approved layout is carried verbatim; only entrance/hold/exit animate. Presets: fade-up (calm default) | slide-in-left | slide-in-right (directional) | scale-pop (punchy stat) | stagger-reveal (enumerations \u2014 needs a [data-stagger] container in the markup). Library overlays already animate \u2014 tune their params/timing with update_overlay instead; custom components already carry their authored motion.",
|
|
276
|
-
schema: z.object({
|
|
277
|
-
clipId: z.string().min(1).describe("The card clip to animate (its id in the working composition)."),
|
|
278
|
-
preset: z.enum(["fade-up", "slide-in-left", "slide-in-right", "scale-pop", "stagger-reveal"]),
|
|
279
|
-
enterMs: z.number().int().min(80).max(1200).optional().describe("Entrance duration; default 300."),
|
|
280
|
-
exitMs: z.number().int().min(80).max(1200).optional().describe("Exit duration (completes at clip end); default 300."),
|
|
281
|
-
staggerMs: z.number().int().min(40).max(400).optional().describe("stagger-reveal only: per-child delay; default 120.")
|
|
282
|
-
}),
|
|
283
|
-
metadata: { label: "Apply Motion Preset", dedupExempt: true },
|
|
284
|
-
handler: async (args, capabilities) => {
|
|
285
|
-
if (!capabilities.motionPreset) return { error: "Motion presets not available." };
|
|
286
|
-
return await capabilities.motionPreset.apply(
|
|
287
|
-
args
|
|
288
|
-
);
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
|
-
search_library: {
|
|
292
|
-
name: "search_library",
|
|
293
|
-
description: 'Search across all media in the library. Combines transcript text search (fast, exact match) with semantic scene search (CLIP text-to-image similarity). Use for questions like "find clips about pricing" or "find scenes with mountains".',
|
|
294
|
-
schema: z.object({
|
|
295
|
-
query: z.string().min(1).describe("Search query \u2014 a word/phrase or a visual concept")
|
|
296
|
-
}),
|
|
297
|
-
metadata: { label: "Search Library" },
|
|
298
|
-
inputExamples: [{ input: { query: "pricing discussion" } }],
|
|
299
|
-
handler: async (args, capabilities) => {
|
|
300
|
-
const searchFn = capabilities.resources?.searchLibrary;
|
|
301
|
-
if (!searchFn) return { error: "Library search not available. Configure a resource provider." };
|
|
302
|
-
try {
|
|
303
|
-
const results = await searchFn(args.query);
|
|
304
|
-
if (!Array.isArray(results)) {
|
|
305
|
-
return {
|
|
306
|
-
error: `Library search returned ${results === null ? "null" : typeof results}, not the candidate array this lane expects. The compose capability contract is an array of {mediaId, kind, provider, query, \u2026} \u2014 see composeCapabilities.ts.`
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
const candidates = results;
|
|
310
|
-
if (candidates.length === 0) return "No enrichment candidates available for this clip.";
|
|
311
|
-
const lines = [
|
|
312
|
-
`Enrichment candidate pool (${candidates.length} item${candidates.length === 1 ? "" : "s"}, pre-curated by upstream relevance gate):`
|
|
313
|
-
];
|
|
314
|
-
for (const c of candidates) {
|
|
315
|
-
const score = typeof c.relevanceScore === "number" ? ` (${c.relevanceScore.toFixed(1)}/10)` : "";
|
|
316
|
-
const dim = c.width && c.height ? ` ${c.width}x${c.height}` : "";
|
|
317
|
-
const dur = c.duration ? `${c.duration.toFixed(1)}s` : "?s";
|
|
318
|
-
const reason = c.relevanceReason ? `
|
|
319
|
-
\u2192 ${c.relevanceReason}` : "";
|
|
320
|
-
lines.push(` [${c.mediaId}] ${c.kind}/${c.provider}: "${c.query}" ${dur}${dim}${score}${reason}`);
|
|
321
|
-
}
|
|
322
|
-
return lines.join("\n");
|
|
323
|
-
} catch (err) {
|
|
324
|
-
return { error: `Library search failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
},
|
|
328
|
-
submit_compose_plan: {
|
|
329
|
-
name: "submit_compose_plan",
|
|
330
|
-
description: "Submit the FULL compose plan \u2014 framing per beat (frame or trim), pacing cuts, caption style intent, asset requests (resolved from the pool), graphics/hero beats, markers. Call exactly once at the end of planning. The plan is validated and then LOCKED for execution.",
|
|
331
|
-
schema: ComposePlan,
|
|
332
|
-
metadata: { label: "Submit Compose Plan" },
|
|
333
|
-
strict: true,
|
|
334
|
-
handler: async (args, capabilities) => {
|
|
335
|
-
if (!capabilities.planSink) {
|
|
336
|
-
return { error: "submit_compose_plan is only available in the planning phase." };
|
|
337
|
-
}
|
|
338
|
-
capabilities.planSink.submit(args);
|
|
339
|
-
return "Plan received. Planning phase complete \u2014 stop here.";
|
|
340
|
-
}
|
|
341
|
-
},
|
|
342
|
-
amend_compose_plan: {
|
|
343
|
-
name: "amend_compose_plan",
|
|
344
|
-
description: "REPAIR the current plan with targeted ops \u2014 you CANNOT resubmit the whole plan in repair mode. Emit ONLY ops for the sections the errors name; every other section is preserved by the system exactly as-is. Ops: framing.set/cuts.set/captions.set/markers.set (replace that whole section), graphics.add|update|remove and assets.add|update|remove (address ONE element by its exact id \u2014 ids are stable addresses; never invent or renumber them). One logical fix per op.",
|
|
345
|
-
schema: z.object({
|
|
346
|
-
ops: z.array(z.object({ type: z.string().min(1) }).passthrough()).min(1).max(20).describe(
|
|
347
|
-
"Amendment ops. The worker validates each op against the canonical PlanOp union and rejects the whole batch on any invalid op (atomic)."
|
|
348
|
-
)
|
|
349
|
-
}),
|
|
350
|
-
metadata: { label: "Amend Compose Plan" },
|
|
351
|
-
handler: async (args, capabilities) => {
|
|
352
|
-
if (!capabilities.planSink) {
|
|
353
|
-
return { error: "amend_compose_plan is only available in the planning phase." };
|
|
354
|
-
}
|
|
355
|
-
capabilities.planSink.submit({ __planOps: args.ops });
|
|
356
|
-
return "Amendment ops received. Repair round complete \u2014 stop here.";
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
});
|
|
360
|
-
var COMPOSE_ROLE_TOOL_NAMES = Object.keys(COMPOSE_ROLE_TOOLS);
|
|
361
|
-
async function dispatchComposeRoleTool(toolName, args, capabilities, opts) {
|
|
362
|
-
const entry = COMPOSE_ROLE_TOOLS[toolName];
|
|
363
|
-
if (!entry) {
|
|
364
|
-
return {
|
|
365
|
-
error: `Unknown tool: ${toolName}. This lane serves ${COMPOSE_ROLE_TOOL_NAMES.join(", ")} \u2014 every other verb moved to the curated /v1 surface.`
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
const result = entry.schema.safeParse(args);
|
|
369
|
-
if (!result.success) {
|
|
370
|
-
const issues = result.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
|
|
371
|
-
return { error: `Invalid tool arguments: ${issues}` };
|
|
372
|
-
}
|
|
373
|
-
return entry.handler(result.data, capabilities, opts);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
export {
|
|
377
|
-
COMPOSE_PLANNER_TOOLS,
|
|
378
|
-
COMPOSE_PLANNER_REPAIR_TOOLS,
|
|
379
|
-
COMPOSE_MOTION_TOOLS,
|
|
380
|
-
COMPOSE_MOTION_VERIFY_TOOLS,
|
|
381
|
-
COMPOSE_ROLE_TOOLS,
|
|
382
|
-
COMPOSE_ROLE_TOOL_NAMES,
|
|
383
|
-
dispatchComposeRoleTool
|
|
384
|
-
};
|
package/dist/chunk-GF52TW4I.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// ../authoring/src/pipelineTrace.ts
|
|
2
|
-
var DEFAULT_LOGGER = {
|
|
3
|
-
info: (msg, data) => console.info(`[pipeline-trace] ${msg}`, ...data ? [data] : []),
|
|
4
|
-
warn: (msg, data) => console.warn(`[pipeline-trace] ${msg}`, ...data ? [data] : []),
|
|
5
|
-
error: (msg, data) => console.error(`[pipeline-trace] ${msg}`, ...data ? [data] : []),
|
|
6
|
-
debug: (msg, data) => console.debug(`[pipeline-trace] ${msg}`, ...data ? [data] : [])
|
|
7
|
-
};
|
|
8
|
-
var PipelineTrace = class {
|
|
9
|
-
t0 = performance.now();
|
|
10
|
-
openSpans = /* @__PURE__ */ new Map();
|
|
11
|
-
spans = [];
|
|
12
|
-
toolCallCount = 0;
|
|
13
|
-
log;
|
|
14
|
-
constructor(logger) {
|
|
15
|
-
this.log = logger ?? DEFAULT_LOGGER;
|
|
16
|
-
}
|
|
17
|
-
start(name) {
|
|
18
|
-
this.openSpans.set(name, performance.now());
|
|
19
|
-
}
|
|
20
|
-
end(name) {
|
|
21
|
-
const startMs = this.openSpans.get(name);
|
|
22
|
-
if (startMs === void 0) return;
|
|
23
|
-
this.openSpans.delete(name);
|
|
24
|
-
this.spans.push({ name, startMs, endMs: performance.now() });
|
|
25
|
-
}
|
|
26
|
-
recordToolCall() {
|
|
27
|
-
this.toolCallCount++;
|
|
28
|
-
}
|
|
29
|
-
summary() {
|
|
30
|
-
const totalMs = performance.now() - this.t0;
|
|
31
|
-
const accounted = this.spans.reduce((sum, s) => sum + (s.endMs - s.startMs), 0);
|
|
32
|
-
const unaccounted = totalMs - accounted;
|
|
33
|
-
this.log.info(`Pipeline trace: ${Math.round(totalMs)}ms total, ${this.toolCallCount} tool calls`, {
|
|
34
|
-
totalMs: Math.round(totalMs),
|
|
35
|
-
toolCalls: this.toolCallCount
|
|
36
|
-
});
|
|
37
|
-
for (const span of this.spans) {
|
|
38
|
-
const dur = span.endMs - span.startMs;
|
|
39
|
-
const pct = totalMs > 0 ? (dur / totalMs * 100).toFixed(0) : "0";
|
|
40
|
-
this.log.info(` ${span.name.padEnd(24)} ${dur.toFixed(0).padStart(6)}ms ${pct.padStart(3)}%`);
|
|
41
|
-
}
|
|
42
|
-
if (unaccounted > 50) {
|
|
43
|
-
const pct = (unaccounted / totalMs * 100).toFixed(0);
|
|
44
|
-
this.log.info(` ${"(unaccounted)".padEnd(24)} ${unaccounted.toFixed(0).padStart(6)}ms ${pct.padStart(3)}%`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export {
|
|
50
|
-
PipelineTrace
|
|
51
|
-
};
|