@clipform/mcp-server 2.17.1 → 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.
@@ -401,8 +401,12 @@ var FEATURES = {
401
401
  share_node: {
402
402
  name: "Share individual nodes",
403
403
  description: "Share a direct link to a specific node within a form",
404
- enabled: true,
405
- status: "live",
404
+ // Pulled back 2026-09-30 (#3791): hides the node-menu Share (copy
405
+ // ?node_id= link) item. Re-enable by flipping back to enabled true +
406
+ // status 'live', and restore the per-step share paragraph in
407
+ // apps/docs/content/docs/help/sharing.mdx.
408
+ enabled: false,
409
+ status: "beta",
406
410
  wentLiveAt: "2026-07-17",
407
411
  category: "sharing"
408
412
  },
@@ -2624,238 +2628,6 @@ function isInactiveOptionEdge(node, action) {
2624
2628
  return isOptionEdge(action) && !isBranchingActive(node);
2625
2629
  }
2626
2630
 
2627
- // ../config/video-templates.js
2628
- var PRESET_BG = {
2629
- bold: "#0a0a14",
2630
- elegant: "#1a1a2e",
2631
- minimal: "#fafafa",
2632
- typewriter: "#0d1117",
2633
- neon: "#0a0a0a",
2634
- cinematic: "#000000"
2635
- };
2636
- var PRESET_NAMES = Object.keys(PRESET_BG);
2637
- var THEME_MOTION = {
2638
- calm: { holdMultiplier: 1.4 },
2639
- balanced: { holdMultiplier: 1 },
2640
- energetic: { holdMultiplier: 0.7 }
2641
- };
2642
- var THEME_NAMES = Object.keys(THEME_MOTION);
2643
- var SLIDESHOW_COMPOSITION_TRANSITIONS = ["fade", "slide", "wipe", "none"];
2644
- var SLIDESHOW_TRANSITION_DURATION = { min: 0.1, max: 5 };
2645
- function isHttpUrl(value) {
2646
- return /^https?:\/\//i.test(value);
2647
- }
2648
- var HTTP_URL_MESSAGE = "URL must start with http:// or https://";
2649
- var VIDEO_LOOKS = {
2650
- clean: {
2651
- transition: { type: "fade", duration: 1 },
2652
- motionPreset: "cinematic"
2653
- },
2654
- editorial: {
2655
- transition: { type: "fade", duration: 1 },
2656
- motionPreset: "calm",
2657
- texture: { type: "halftone" },
2658
- duotone: { shadow: "#1a1633", highlight: "#f5c542" }
2659
- },
2660
- punchy: {
2661
- transition: { type: "slide", duration: 0.5 },
2662
- motionPreset: "energetic",
2663
- randomEffects: true
2664
- },
2665
- "bold-poster": {
2666
- transition: { type: "fade", duration: 1 },
2667
- motionPreset: "dramatic",
2668
- texture: { type: "halftone" },
2669
- duotone: { shadow: "#0a0a14", highlight: "#f59e0b" },
2670
- backgroundColor: "#0a0a14"
2671
- }
2672
- };
2673
- var VIDEO_LOOK_NAMES = Object.keys(VIDEO_LOOKS);
2674
- var VIDEO_TEMPLATE_REGISTRY = [
2675
- {
2676
- name: "title-card",
2677
- tier: "labs",
2678
- description: "An intro, section break, or outro card: a title with optional tagline and subtitle over an image or solid-colour background.",
2679
- keywords: ["intro card", "title screen", "opening", "outro", "section header", "branded end screen"],
2680
- controls: ["title", "subtitle?", "tagline?", "preset?", "backgroundImage?", "variant?", "theme?"],
2681
- exampleControls: {
2682
- title: "Welcome to Clipform",
2683
- subtitle: "Video-first forms that actually get answered",
2684
- tagline: "Get started",
2685
- preset: "cinematic"
2686
- }
2687
- },
2688
- {
2689
- name: "mystery-reveal",
2690
- tier: "public",
2691
- description: 'A "guess what this is" reveal - a single image that resolves from obscured (blurred, pixelated, or zoomed-in) to sharp.',
2692
- keywords: ["guess what this is", "reveal quiz", "blurred photo", "zoom and reveal", "mystery image", "guess the picture", "guess the flag"],
2693
- controls: ["image", "variant?", "revealSeconds?", "theme?"],
2694
- exampleControls: {
2695
- image: "https://picsum.photos/seed/clipform-mystery/1080/1920",
2696
- variant: "blur"
2697
- }
2698
- },
2699
- {
2700
- name: "colour-grid",
2701
- tier: "labs",
2702
- description: "A colour-matching or palette game: a grid of colour swatches to pick from or reveal.",
2703
- keywords: ["colour matching", "palette quiz", "pick the colour", "swatch game", "build the flag"],
2704
- controls: ["colors", "labels?", "variant?", "theme?"],
2705
- exampleControls: {
2706
- colors: ["#6366F1", "#EC4899", "#F59E0B", "#10B981"],
2707
- labels: ["Indigo", "Pink", "Amber", "Emerald"]
2708
- }
2709
- },
2710
- {
2711
- name: "question-card",
2712
- tier: "labs",
2713
- 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.",
2714
- keywords: ["ask a question", "survey question", "quiz prompt", "poll question", "form question"],
2715
- controls: ["question", "helper?", "preset?", "backgroundImage?", "variant?", "theme?"],
2716
- exampleControls: {
2717
- question: "What are you hoping to achieve?",
2718
- helper: "One sentence is plenty",
2719
- preset: "minimal"
2720
- }
2721
- },
2722
- {
2723
- name: "stat-highlight",
2724
- tier: "labs",
2725
- description: "An impressive-number beat: one big statistic or metric that pops in, with an optional label and caption - social proof and emphasis.",
2726
- keywords: ["big number", "statistic", "metric highlight", "impressive figure", "social proof number"],
2727
- controls: ["value", "label?", "caption?", "preset?", "backgroundImage?", "variant?", "theme?"],
2728
- exampleControls: {
2729
- value: "10,000+",
2730
- label: "forms created this month",
2731
- preset: "bold"
2732
- }
2733
- },
2734
- {
2735
- name: "quote-card",
2736
- tier: "labs",
2737
- description: "A testimonial or pull-quote beat for social proof, with optional attribution.",
2738
- keywords: ["testimonial", "pull quote", "social proof", "customer quote", "review highlight"],
2739
- controls: ["quote", "attribution?", "preset?", "backgroundImage?", "variant?", "theme?"],
2740
- exampleControls: {
2741
- quote: "The fastest way we've found to talk to customers at scale.",
2742
- attribution: "Jamie R., Head of Growth",
2743
- preset: "elegant"
2744
- }
2745
- },
2746
- {
2747
- name: "list-card",
2748
- tier: "labs",
2749
- description: `An agenda, steps, or "what you'll get" beat: a headline with a short bulleted list revealed sequentially.`,
2750
- keywords: ["bullet list", "agenda", "steps", "what you'll get", "checklist", "how it works"],
2751
- controls: ["title", "items", "preset?", "backgroundImage?", "variant?", "theme?"],
2752
- exampleControls: {
2753
- title: "What you'll get",
2754
- items: ["A custom quote", "A 15-minute call", "A live demo", "A follow-up plan"],
2755
- preset: "bold"
2756
- }
2757
- },
2758
- {
2759
- name: "cta-card",
2760
- tier: "labs",
2761
- description: "A closing call-to-action: headline, action line, and optional subtext telling the viewer what to do next.",
2762
- keywords: ["call to action", "closing screen", "do this next", "sign up prompt", "end card"],
2763
- controls: ["headline", "action", "subtext?", "preset?", "backgroundImage?", "variant?", "theme?"],
2764
- exampleControls: {
2765
- headline: "Ready to get started?",
2766
- action: "Sign up free",
2767
- subtext: "No credit card required",
2768
- preset: "cinematic"
2769
- }
2770
- },
2771
- {
2772
- name: "slideshow",
2773
- tier: "public",
2774
- 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 - for the richer per-item mixed-media dials or advanced style overrides, use clipform_generate_video instead.",
2775
- keywords: ["photo montage", "image slideshow", "ken burns", "picture story", "gallery", "photo gallery", "narrated montage", "video montage"],
2776
- controls: ["images", "items?", "effect?", "transition?", "preset?", "secondsPerImage?", "audio_url?", "background_audio_url?", "background_audio_volume?", "duration_seconds?", "theme?"],
2777
- exampleControls: {
2778
- images: [
2779
- "https://picsum.photos/seed/clipform-slideshow-1/1080/1920",
2780
- "https://picsum.photos/seed/clipform-slideshow-2/1080/1920",
2781
- "https://picsum.photos/seed/clipform-slideshow-3/1080/1920"
2782
- ],
2783
- transition: "fade"
2784
- }
2785
- },
2786
- {
2787
- name: "guess-the-city",
2788
- tier: "public",
2789
- 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.',
2790
- keywords: ["guess the location", "guess the city", "where in the world", "geography trivia", "map flyover", "guess the country"],
2791
- controls: ["lat", "lng", "name?", "motion?", "basemap?", "revealName?", "theme?"],
2792
- exampleControls: {
2793
- lat: 48.8566,
2794
- lng: 2.3522,
2795
- name: "Paris",
2796
- motion: "zoom-in"
2797
- }
2798
- },
2799
- {
2800
- name: "versus",
2801
- tier: "public",
2802
- description: 'A head-to-head "this or that" comparison: two options side by side for the viewer to pick between.',
2803
- keywords: ["this or that", "versus", "a or b", "which do you prefer", "head to head", "pick a side", "would you rather"],
2804
- controls: ["left", "right", "leftLabel?", "rightLabel?", "theme?"],
2805
- exampleControls: {
2806
- left: "https://picsum.photos/seed/clipform-versus-left/1080/1920",
2807
- right: "https://picsum.photos/seed/clipform-versus-right/1080/1920",
2808
- leftLabel: "Option A",
2809
- rightLabel: "Option B"
2810
- }
2811
- },
2812
- {
2813
- name: "pick-the-answer",
2814
- tier: "public",
2815
- 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.",
2816
- keywords: ["multiple choice", "quiz options", "pick the answer", "pick the correct one", "reveal the answer", "trivia question", "question grid"],
2817
- controls: ["options", "reveal?", "correctIndex?", "columns?", "theme?"],
2818
- exampleControls: {
2819
- options: ["Paris", "London", "Rome", "Berlin"],
2820
- reveal: true,
2821
- correctIndex: 0
2822
- }
2823
- },
2824
- {
2825
- name: "odd-one-out",
2826
- tier: "public",
2827
- 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.`,
2828
- keywords: ["odd one out", "spot the odd one", "which does not belong", "find the different one", "which is different"],
2829
- controls: ["items", "reveal?", "oddIndex?", "columns?", "theme?"],
2830
- exampleControls: {
2831
- items: [
2832
- "https://picsum.photos/seed/clipform-odd-1/1080/1920",
2833
- "https://picsum.photos/seed/clipform-odd-2/1080/1920",
2834
- "https://picsum.photos/seed/clipform-odd-3/1080/1920",
2835
- "https://picsum.photos/seed/clipform-odd-4/1080/1920"
2836
- ],
2837
- reveal: true,
2838
- oddIndex: 2
2839
- }
2840
- },
2841
- {
2842
- name: "photo-grid",
2843
- tier: "public",
2844
- description: "A photo wall or mosaic: several images shown together in one grid, with optional captions.",
2845
- keywords: ["photo grid", "photo wall", "mosaic", "image grid", "moodboard", "gallery grid"],
2846
- controls: ["images", "columns?", "labels?", "theme?"],
2847
- exampleControls: {
2848
- images: [
2849
- "https://picsum.photos/seed/clipform-photo-1/1080/1920",
2850
- "https://picsum.photos/seed/clipform-photo-2/1080/1920",
2851
- "https://picsum.photos/seed/clipform-photo-3/1080/1920",
2852
- "https://picsum.photos/seed/clipform-photo-4/1080/1920"
2853
- ]
2854
- }
2855
- }
2856
- ];
2857
- var VIDEO_TEMPLATE_NAMES = VIDEO_TEMPLATE_REGISTRY.map((r) => r.name);
2858
-
2859
2631
  // ../config/logic-chain.js
2860
2632
  function outgoingTargets(actions, node) {
2861
2633
  const out = [];
@@ -3168,27 +2940,6 @@ var CONTACT_FIELDS = [
3168
2940
  var CONTACT_FIELDS_MAP = Object.fromEntries(
3169
2941
  CONTACT_FIELDS.map((f) => [f.id, f])
3170
2942
  );
3171
- var KEN_BURNS_EFFECTS = [
3172
- "pan-left",
3173
- "pan-right",
3174
- "pan-up",
3175
- "pan-down",
3176
- "zoom-in-pan-left",
3177
- "zoom-in-pan-right",
3178
- "zoom-in",
3179
- "zoom-out",
3180
- "static"
3181
- ];
3182
- var KEN_BURNS_PRESETS = [
3183
- "cinematic",
3184
- "dramatic",
3185
- "calm",
3186
- "documentary",
3187
- "dreamy",
3188
- "moody",
3189
- "energetic"
3190
- ];
3191
- var KEN_BURNS_FIT_MODES = ["cover", "blur-pad", "auto"];
3192
2943
  var COMPOSITION_REGISTRY = [
3193
2944
  // Beds (full-bleed backgrounds)
3194
2945
  { id: "Slideshow", tier: "public", kind: "bed", scene_layer: true },
@@ -3245,7 +2996,6 @@ var MCP_TOOL_TOOLSETS = {
3245
2996
  // composition's `boundary` prop, so it lives with the render tools.
3246
2997
  clipform_fetch_boundary: "media",
3247
2998
  clipform_generate_tts: "media",
3248
- clipform_generate_video: "media",
3249
2999
  clipform_render_composition: "media",
3250
3000
  clipform_render_video_template: "media",
3251
3001
  clipform_check_render: "media",
@@ -3470,17 +3220,9 @@ export {
3470
3220
  ALL_VARIANTS,
3471
3221
  resolveFormType,
3472
3222
  getDiscoveryParams,
3473
- SLIDESHOW_COMPOSITION_TRANSITIONS,
3474
- SLIDESHOW_TRANSITION_DURATION,
3475
- isHttpUrl,
3476
- HTTP_URL_MESSAGE,
3477
- VIDEO_LOOK_NAMES,
3478
3223
  defaultTarget,
3479
3224
  bfsOrder,
3480
3225
  CONTACT_FIELDS,
3481
- KEN_BURNS_EFFECTS,
3482
- KEN_BURNS_PRESETS,
3483
- KEN_BURNS_FIT_MODES,
3484
3226
  exposedCompositionIds,
3485
3227
  MCP_TOOL_TIERS,
3486
3228
  MCP_TOOL_TOOLSETS,
@@ -3493,4 +3235,4 @@ export {
3493
3235
  getSessionContextWithAuth,
3494
3236
  getSessionContext
3495
3237
  };
3496
- //# sourceMappingURL=chunk-FIUAXSVQ.js.map
3238
+ //# sourceMappingURL=chunk-KNOCYZHG.js.map