@clipform/mcp-server 2.18.0 → 3.0.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/README.md +2 -3
- package/dist/{chunk-CHSPV2VI.js → chunk-EXV5M7YV.js} +2 -2
- package/dist/{chunk-WWIQEIFF.js → chunk-KCF7ZVDI.js} +10 -10
- package/dist/{chunk-WWIQEIFF.js.map → chunk-KCF7ZVDI.js.map} +1 -1
- package/dist/{chunk-RKYB6247.js → chunk-KNOCYZHG.js} +1 -275
- package/dist/chunk-KNOCYZHG.js.map +1 -0
- package/dist/{chunk-Y4RGN6KA.js → chunk-QBPE32AV.js} +13 -198
- package/dist/chunk-QBPE32AV.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/prompts.js +2 -2
- package/dist/resources.js +2 -2
- package/dist/server.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-RKYB6247.js.map +0 -1
- package/dist/chunk-Y4RGN6KA.js.map +0 -1
- /package/dist/{chunk-CHSPV2VI.js.map → chunk-EXV5M7YV.js.map} +0 -0
|
@@ -2628,250 +2628,6 @@ function isInactiveOptionEdge(node, action) {
|
|
|
2628
2628
|
return isOptionEdge(action) && !isBranchingActive(node);
|
|
2629
2629
|
}
|
|
2630
2630
|
|
|
2631
|
-
// ../config/video-templates.js
|
|
2632
|
-
var PRESET_BG = {
|
|
2633
|
-
bold: "#0a0a14",
|
|
2634
|
-
elegant: "#1a1a2e",
|
|
2635
|
-
minimal: "#fafafa",
|
|
2636
|
-
typewriter: "#0d1117",
|
|
2637
|
-
neon: "#0a0a0a",
|
|
2638
|
-
cinematic: "#000000"
|
|
2639
|
-
};
|
|
2640
|
-
var PRESET_NAMES = Object.keys(PRESET_BG);
|
|
2641
|
-
var THEME_MOTION = {
|
|
2642
|
-
calm: { holdMultiplier: 1.4 },
|
|
2643
|
-
balanced: { holdMultiplier: 1 },
|
|
2644
|
-
energetic: { holdMultiplier: 0.7 }
|
|
2645
|
-
};
|
|
2646
|
-
var THEME_NAMES = Object.keys(THEME_MOTION);
|
|
2647
|
-
var KEN_BURNS_EFFECTS = [
|
|
2648
|
-
"pan-left",
|
|
2649
|
-
"pan-right",
|
|
2650
|
-
"pan-up",
|
|
2651
|
-
"pan-down",
|
|
2652
|
-
"zoom-in-pan-left",
|
|
2653
|
-
"zoom-in-pan-right",
|
|
2654
|
-
"zoom-in",
|
|
2655
|
-
"zoom-out",
|
|
2656
|
-
"static"
|
|
2657
|
-
];
|
|
2658
|
-
var SLIDESHOW_COMPOSITION_TRANSITIONS = ["fade", "slide", "wipe", "none"];
|
|
2659
|
-
var SLIDESHOW_TRANSITION_DURATION = { min: 0.1, max: 5 };
|
|
2660
|
-
function isHttpUrl(value) {
|
|
2661
|
-
return /^https?:\/\//i.test(value);
|
|
2662
|
-
}
|
|
2663
|
-
var HTTP_URL_MESSAGE = "URL must start with http:// or https://";
|
|
2664
|
-
var VIDEO_LOOKS = {
|
|
2665
|
-
clean: {
|
|
2666
|
-
transition: { type: "fade", duration: 1 },
|
|
2667
|
-
motionPreset: "cinematic"
|
|
2668
|
-
},
|
|
2669
|
-
editorial: {
|
|
2670
|
-
transition: { type: "fade", duration: 1 },
|
|
2671
|
-
motionPreset: "calm",
|
|
2672
|
-
texture: { type: "halftone" },
|
|
2673
|
-
duotone: { shadow: "#1a1633", highlight: "#f5c542" }
|
|
2674
|
-
},
|
|
2675
|
-
punchy: {
|
|
2676
|
-
transition: { type: "slide", duration: 0.5 },
|
|
2677
|
-
motionPreset: "energetic",
|
|
2678
|
-
randomEffects: true
|
|
2679
|
-
},
|
|
2680
|
-
"bold-poster": {
|
|
2681
|
-
transition: { type: "fade", duration: 1 },
|
|
2682
|
-
motionPreset: "dramatic",
|
|
2683
|
-
texture: { type: "halftone" },
|
|
2684
|
-
duotone: { shadow: "#0a0a14", highlight: "#f59e0b" },
|
|
2685
|
-
backgroundColor: "#0a0a14"
|
|
2686
|
-
}
|
|
2687
|
-
};
|
|
2688
|
-
var VIDEO_LOOK_NAMES = Object.keys(VIDEO_LOOKS);
|
|
2689
|
-
var KEN_BURNS_RANDOM_POOL = KEN_BURNS_EFFECTS.filter((e) => e.startsWith("pan-"));
|
|
2690
|
-
var VIDEO_TEMPLATE_REGISTRY = [
|
|
2691
|
-
{
|
|
2692
|
-
name: "title-card",
|
|
2693
|
-
tier: "labs",
|
|
2694
|
-
description: "An intro, section break, or outro card: a title with optional tagline and subtitle over an image or solid-colour background.",
|
|
2695
|
-
keywords: ["intro card", "title screen", "opening", "outro", "section header", "branded end screen"],
|
|
2696
|
-
controls: ["title", "subtitle?", "tagline?", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2697
|
-
exampleControls: {
|
|
2698
|
-
title: "Welcome to Clipform",
|
|
2699
|
-
subtitle: "Video-first forms that actually get answered",
|
|
2700
|
-
tagline: "Get started",
|
|
2701
|
-
preset: "cinematic"
|
|
2702
|
-
}
|
|
2703
|
-
},
|
|
2704
|
-
{
|
|
2705
|
-
name: "mystery-reveal",
|
|
2706
|
-
tier: "public",
|
|
2707
|
-
description: 'A "guess what this is" reveal - a single image that resolves from obscured (blurred, pixelated, or zoomed-in) to sharp.',
|
|
2708
|
-
keywords: ["guess what this is", "reveal quiz", "blurred photo", "zoom and reveal", "mystery image", "guess the picture", "guess the flag"],
|
|
2709
|
-
controls: ["image", "variant?", "revealSeconds?", "theme?"],
|
|
2710
|
-
exampleControls: {
|
|
2711
|
-
image: "https://picsum.photos/seed/clipform-mystery/1080/1920",
|
|
2712
|
-
variant: "blur"
|
|
2713
|
-
}
|
|
2714
|
-
},
|
|
2715
|
-
{
|
|
2716
|
-
name: "colour-grid",
|
|
2717
|
-
tier: "labs",
|
|
2718
|
-
description: "A colour-matching or palette game: a grid of colour swatches to pick from or reveal.",
|
|
2719
|
-
keywords: ["colour matching", "palette quiz", "pick the colour", "swatch game", "build the flag"],
|
|
2720
|
-
controls: ["colors", "labels?", "variant?", "theme?"],
|
|
2721
|
-
exampleControls: {
|
|
2722
|
-
colors: ["#6366F1", "#EC4899", "#F59E0B", "#10B981"],
|
|
2723
|
-
labels: ["Indigo", "Pink", "Amber", "Emerald"]
|
|
2724
|
-
}
|
|
2725
|
-
},
|
|
2726
|
-
{
|
|
2727
|
-
name: "question-card",
|
|
2728
|
-
tier: "labs",
|
|
2729
|
-
description: "A survey or quiz prompt: a question over an image or solid-colour background, with an optional helper line - the workhorse for a form's question nodes.",
|
|
2730
|
-
keywords: ["ask a question", "survey question", "quiz prompt", "poll question", "form question"],
|
|
2731
|
-
controls: ["question", "helper?", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2732
|
-
exampleControls: {
|
|
2733
|
-
question: "What are you hoping to achieve?",
|
|
2734
|
-
helper: "One sentence is plenty",
|
|
2735
|
-
preset: "minimal"
|
|
2736
|
-
}
|
|
2737
|
-
},
|
|
2738
|
-
{
|
|
2739
|
-
name: "stat-highlight",
|
|
2740
|
-
tier: "labs",
|
|
2741
|
-
description: "An impressive-number beat: one big statistic or metric that pops in, with an optional label and caption - social proof and emphasis.",
|
|
2742
|
-
keywords: ["big number", "statistic", "metric highlight", "impressive figure", "social proof number"],
|
|
2743
|
-
controls: ["value", "label?", "caption?", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2744
|
-
exampleControls: {
|
|
2745
|
-
value: "10,000+",
|
|
2746
|
-
label: "forms created this month",
|
|
2747
|
-
preset: "bold"
|
|
2748
|
-
}
|
|
2749
|
-
},
|
|
2750
|
-
{
|
|
2751
|
-
name: "quote-card",
|
|
2752
|
-
tier: "labs",
|
|
2753
|
-
description: "A testimonial or pull-quote beat for social proof, with optional attribution.",
|
|
2754
|
-
keywords: ["testimonial", "pull quote", "social proof", "customer quote", "review highlight"],
|
|
2755
|
-
controls: ["quote", "attribution?", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2756
|
-
exampleControls: {
|
|
2757
|
-
quote: "The fastest way we've found to talk to customers at scale.",
|
|
2758
|
-
attribution: "Jamie R., Head of Growth",
|
|
2759
|
-
preset: "elegant"
|
|
2760
|
-
}
|
|
2761
|
-
},
|
|
2762
|
-
{
|
|
2763
|
-
name: "list-card",
|
|
2764
|
-
tier: "labs",
|
|
2765
|
-
description: `An agenda, steps, or "what you'll get" beat: a headline with a short bulleted list revealed sequentially.`,
|
|
2766
|
-
keywords: ["bullet list", "agenda", "steps", "what you'll get", "checklist", "how it works"],
|
|
2767
|
-
controls: ["title", "items", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2768
|
-
exampleControls: {
|
|
2769
|
-
title: "What you'll get",
|
|
2770
|
-
items: ["A custom quote", "A 15-minute call", "A live demo", "A follow-up plan"],
|
|
2771
|
-
preset: "bold"
|
|
2772
|
-
}
|
|
2773
|
-
},
|
|
2774
|
-
{
|
|
2775
|
-
name: "cta-card",
|
|
2776
|
-
tier: "labs",
|
|
2777
|
-
description: "A closing call-to-action: headline, action line, and optional subtext telling the viewer what to do next.",
|
|
2778
|
-
keywords: ["call to action", "closing screen", "do this next", "sign up prompt", "end card"],
|
|
2779
|
-
controls: ["headline", "action", "subtext?", "preset?", "backgroundImage?", "variant?", "theme?"],
|
|
2780
|
-
exampleControls: {
|
|
2781
|
-
headline: "Ready to get started?",
|
|
2782
|
-
action: "Sign up free",
|
|
2783
|
-
subtext: "No credit card required",
|
|
2784
|
-
preset: "cinematic"
|
|
2785
|
-
}
|
|
2786
|
-
},
|
|
2787
|
-
{
|
|
2788
|
-
name: "slideshow",
|
|
2789
|
-
tier: "public",
|
|
2790
|
-
description: "A photo and video montage: images and/or video clips with Ken Burns motion and configurable transitions, with optional narration or background audio (audio_url / background_audio_url) synced to the track length. Defaults to silent (motion only) when no audio_url is given; with audio_url the video runs exactly as long as the narration (duration_seconds is ignored). Per-item image/video dials via items, a named look via preset, plus advanced overrides: transition {type, duration}, style_preset, texture, duotone, background_color, random_effects. Accepts the same inputs as clipform_generate_video.",
|
|
2791
|
-
keywords: ["photo montage", "image slideshow", "ken burns", "picture story", "gallery", "photo gallery", "narrated montage", "video montage"],
|
|
2792
|
-
controls: ["images", "items?", "effect?", "random_effects?", "transition?", "preset?", "style_preset?", "texture?", "duotone?", "background_color?", "secondsPerImage?", "audio_url?", "background_audio_url?", "background_audio_volume?", "duration_seconds?", "theme?"],
|
|
2793
|
-
exampleControls: {
|
|
2794
|
-
images: [
|
|
2795
|
-
"https://picsum.photos/seed/clipform-slideshow-1/1080/1920",
|
|
2796
|
-
"https://picsum.photos/seed/clipform-slideshow-2/1080/1920",
|
|
2797
|
-
"https://picsum.photos/seed/clipform-slideshow-3/1080/1920"
|
|
2798
|
-
],
|
|
2799
|
-
transition: "fade"
|
|
2800
|
-
}
|
|
2801
|
-
},
|
|
2802
|
-
{
|
|
2803
|
-
name: "guess-the-city",
|
|
2804
|
-
tier: "public",
|
|
2805
|
-
description: 'A map "guess where this is" reveal - the camera flies from a globe down onto a mystery city with place names hidden, then optionally reveals the answer.',
|
|
2806
|
-
keywords: ["guess the location", "guess the city", "where in the world", "geography trivia", "map flyover", "guess the country"],
|
|
2807
|
-
controls: ["lat", "lng", "name?", "motion?", "basemap?", "revealName?", "theme?"],
|
|
2808
|
-
exampleControls: {
|
|
2809
|
-
lat: 48.8566,
|
|
2810
|
-
lng: 2.3522,
|
|
2811
|
-
name: "Paris",
|
|
2812
|
-
motion: "zoom-in"
|
|
2813
|
-
}
|
|
2814
|
-
},
|
|
2815
|
-
{
|
|
2816
|
-
name: "versus",
|
|
2817
|
-
tier: "public",
|
|
2818
|
-
description: 'A head-to-head "this or that" comparison: two options side by side for the viewer to pick between.',
|
|
2819
|
-
keywords: ["this or that", "versus", "a or b", "which do you prefer", "head to head", "pick a side", "would you rather"],
|
|
2820
|
-
controls: ["left", "right", "leftLabel?", "rightLabel?", "theme?"],
|
|
2821
|
-
exampleControls: {
|
|
2822
|
-
left: "https://picsum.photos/seed/clipform-versus-left/1080/1920",
|
|
2823
|
-
right: "https://picsum.photos/seed/clipform-versus-right/1080/1920",
|
|
2824
|
-
leftLabel: "Option A",
|
|
2825
|
-
rightLabel: "Option B"
|
|
2826
|
-
}
|
|
2827
|
-
},
|
|
2828
|
-
{
|
|
2829
|
-
name: "pick-the-answer",
|
|
2830
|
-
tier: "public",
|
|
2831
|
-
description: "A multiple-choice question grid - the everyday quiz beat. Pair with a choice node's own answer feedback for the win/lose beat; set reveal: true for an optional spotlight-the-correct-option-with-a-green-tick payoff variant.",
|
|
2832
|
-
keywords: ["multiple choice", "quiz options", "pick the answer", "pick the correct one", "reveal the answer", "trivia question", "question grid"],
|
|
2833
|
-
controls: ["options", "reveal?", "correctIndex?", "columns?", "theme?"],
|
|
2834
|
-
exampleControls: {
|
|
2835
|
-
options: ["Paris", "London", "Rome", "Berlin"],
|
|
2836
|
-
reveal: true,
|
|
2837
|
-
correctIndex: 0
|
|
2838
|
-
}
|
|
2839
|
-
},
|
|
2840
|
-
{
|
|
2841
|
-
name: "odd-one-out",
|
|
2842
|
-
tier: "public",
|
|
2843
|
-
description: `A "spot the one that does not belong" grid puzzle. Pair with a choice node's own answer feedback for the win/lose beat; set reveal: true for an optional spotlight-the-odd-item payoff variant.`,
|
|
2844
|
-
keywords: ["odd one out", "spot the odd one", "which does not belong", "find the different one", "which is different"],
|
|
2845
|
-
controls: ["items", "reveal?", "oddIndex?", "columns?", "theme?"],
|
|
2846
|
-
exampleControls: {
|
|
2847
|
-
items: [
|
|
2848
|
-
"https://picsum.photos/seed/clipform-odd-1/1080/1920",
|
|
2849
|
-
"https://picsum.photos/seed/clipform-odd-2/1080/1920",
|
|
2850
|
-
"https://picsum.photos/seed/clipform-odd-3/1080/1920",
|
|
2851
|
-
"https://picsum.photos/seed/clipform-odd-4/1080/1920"
|
|
2852
|
-
],
|
|
2853
|
-
reveal: true,
|
|
2854
|
-
oddIndex: 2
|
|
2855
|
-
}
|
|
2856
|
-
},
|
|
2857
|
-
{
|
|
2858
|
-
name: "photo-grid",
|
|
2859
|
-
tier: "public",
|
|
2860
|
-
description: "A photo wall or mosaic: several images shown together in one grid, with optional captions.",
|
|
2861
|
-
keywords: ["photo grid", "photo wall", "mosaic", "image grid", "moodboard", "gallery grid"],
|
|
2862
|
-
controls: ["images", "columns?", "labels?", "theme?"],
|
|
2863
|
-
exampleControls: {
|
|
2864
|
-
images: [
|
|
2865
|
-
"https://picsum.photos/seed/clipform-photo-1/1080/1920",
|
|
2866
|
-
"https://picsum.photos/seed/clipform-photo-2/1080/1920",
|
|
2867
|
-
"https://picsum.photos/seed/clipform-photo-3/1080/1920",
|
|
2868
|
-
"https://picsum.photos/seed/clipform-photo-4/1080/1920"
|
|
2869
|
-
]
|
|
2870
|
-
}
|
|
2871
|
-
}
|
|
2872
|
-
];
|
|
2873
|
-
var VIDEO_TEMPLATE_NAMES = VIDEO_TEMPLATE_REGISTRY.map((r) => r.name);
|
|
2874
|
-
|
|
2875
2631
|
// ../config/logic-chain.js
|
|
2876
2632
|
function outgoingTargets(actions, node) {
|
|
2877
2633
|
const out = [];
|
|
@@ -3184,27 +2940,6 @@ var CONTACT_FIELDS = [
|
|
|
3184
2940
|
var CONTACT_FIELDS_MAP = Object.fromEntries(
|
|
3185
2941
|
CONTACT_FIELDS.map((f) => [f.id, f])
|
|
3186
2942
|
);
|
|
3187
|
-
var KEN_BURNS_EFFECTS2 = [
|
|
3188
|
-
"pan-left",
|
|
3189
|
-
"pan-right",
|
|
3190
|
-
"pan-up",
|
|
3191
|
-
"pan-down",
|
|
3192
|
-
"zoom-in-pan-left",
|
|
3193
|
-
"zoom-in-pan-right",
|
|
3194
|
-
"zoom-in",
|
|
3195
|
-
"zoom-out",
|
|
3196
|
-
"static"
|
|
3197
|
-
];
|
|
3198
|
-
var KEN_BURNS_PRESETS = [
|
|
3199
|
-
"cinematic",
|
|
3200
|
-
"dramatic",
|
|
3201
|
-
"calm",
|
|
3202
|
-
"documentary",
|
|
3203
|
-
"dreamy",
|
|
3204
|
-
"moody",
|
|
3205
|
-
"energetic"
|
|
3206
|
-
];
|
|
3207
|
-
var KEN_BURNS_FIT_MODES = ["cover", "blur-pad", "auto"];
|
|
3208
2943
|
var COMPOSITION_REGISTRY = [
|
|
3209
2944
|
// Beds (full-bleed backgrounds)
|
|
3210
2945
|
{ id: "Slideshow", tier: "public", kind: "bed", scene_layer: true },
|
|
@@ -3261,7 +2996,6 @@ var MCP_TOOL_TOOLSETS = {
|
|
|
3261
2996
|
// composition's `boundary` prop, so it lives with the render tools.
|
|
3262
2997
|
clipform_fetch_boundary: "media",
|
|
3263
2998
|
clipform_generate_tts: "media",
|
|
3264
|
-
clipform_generate_video: "media",
|
|
3265
2999
|
clipform_render_composition: "media",
|
|
3266
3000
|
clipform_render_video_template: "media",
|
|
3267
3001
|
clipform_check_render: "media",
|
|
@@ -3486,17 +3220,9 @@ export {
|
|
|
3486
3220
|
ALL_VARIANTS,
|
|
3487
3221
|
resolveFormType,
|
|
3488
3222
|
getDiscoveryParams,
|
|
3489
|
-
SLIDESHOW_COMPOSITION_TRANSITIONS,
|
|
3490
|
-
SLIDESHOW_TRANSITION_DURATION,
|
|
3491
|
-
isHttpUrl,
|
|
3492
|
-
HTTP_URL_MESSAGE,
|
|
3493
|
-
VIDEO_LOOK_NAMES,
|
|
3494
3223
|
defaultTarget,
|
|
3495
3224
|
bfsOrder,
|
|
3496
3225
|
CONTACT_FIELDS,
|
|
3497
|
-
KEN_BURNS_EFFECTS2 as KEN_BURNS_EFFECTS,
|
|
3498
|
-
KEN_BURNS_PRESETS,
|
|
3499
|
-
KEN_BURNS_FIT_MODES,
|
|
3500
3226
|
exposedCompositionIds,
|
|
3501
3227
|
MCP_TOOL_TIERS,
|
|
3502
3228
|
MCP_TOOL_TOOLSETS,
|
|
@@ -3509,4 +3235,4 @@ export {
|
|
|
3509
3235
|
getSessionContextWithAuth,
|
|
3510
3236
|
getSessionContext
|
|
3511
3237
|
};
|
|
3512
|
-
//# sourceMappingURL=chunk-
|
|
3238
|
+
//# sourceMappingURL=chunk-KNOCYZHG.js.map
|