@clipform/mcp-server 1.48.0 → 2.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 +5 -2
- package/dist/{chunk-BBNREY2Q.js → chunk-6U3CVTLZ.js} +14 -14
- package/dist/{chunk-BBNREY2Q.js.map → chunk-6U3CVTLZ.js.map} +1 -1
- package/dist/{chunk-WUORO245.js → chunk-AP6UGWKC.js} +2 -2
- package/dist/{chunk-4CY5EJCR.js → chunk-GDUJLYR4.js} +83 -51
- package/dist/chunk-GDUJLYR4.js.map +1 -0
- package/dist/{chunk-3MTEM3VC.js → chunk-RX7V2UCM.js} +620 -122
- package/dist/chunk-RX7V2UCM.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.d.ts +10 -1
- package/dist/server.js +6 -4
- package/package.json +1 -1
- package/dist/chunk-3MTEM3VC.js.map +0 -1
- package/dist/chunk-4CY5EJCR.js.map +0 -1
- /package/dist/{chunk-WUORO245.js.map → chunk-AP6UGWKC.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
FORM_TYPE_KEYS,
|
|
4
4
|
callApi,
|
|
5
5
|
getSessionContext
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GDUJLYR4.js";
|
|
7
7
|
|
|
8
8
|
// src/lib/guides.ts
|
|
9
9
|
var guidesPromise = null;
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
getGuideUri,
|
|
137
137
|
registerResources
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-AP6UGWKC.js.map
|
|
@@ -112,8 +112,8 @@ var FEATURES = {
|
|
|
112
112
|
status: "live",
|
|
113
113
|
category: "node-types"
|
|
114
114
|
},
|
|
115
|
-
|
|
116
|
-
name: "
|
|
115
|
+
node_details: {
|
|
116
|
+
name: "Details",
|
|
117
117
|
description: "Structured fields (name, email, phone, company) with consent checkboxes",
|
|
118
118
|
enabled: true,
|
|
119
119
|
status: "live",
|
|
@@ -195,8 +195,9 @@ var FEATURES = {
|
|
|
195
195
|
node_file_download: {
|
|
196
196
|
name: "File download",
|
|
197
197
|
description: "Provide files for respondents to download",
|
|
198
|
-
enabled:
|
|
199
|
-
status: "
|
|
198
|
+
enabled: true,
|
|
199
|
+
status: "live",
|
|
200
|
+
wentLiveAt: "2026-07-12",
|
|
200
201
|
category: "node-types"
|
|
201
202
|
},
|
|
202
203
|
node_shopping: {
|
|
@@ -871,12 +872,12 @@ var NODE_TYPES = {
|
|
|
871
872
|
},
|
|
872
873
|
output_schema: null
|
|
873
874
|
},
|
|
874
|
-
|
|
875
|
-
label: "
|
|
876
|
-
shorthand: "
|
|
875
|
+
details: {
|
|
876
|
+
label: "Details",
|
|
877
|
+
shorthand: "Details",
|
|
877
878
|
icon: "User",
|
|
878
879
|
color: "#CFFAFE",
|
|
879
|
-
description: "Collect
|
|
880
|
+
description: "Collect several fields on one screen - name, email, phone, address, date, and more",
|
|
880
881
|
category: "input",
|
|
881
882
|
sort_order: 5,
|
|
882
883
|
has_options: false,
|
|
@@ -896,9 +897,9 @@ var NODE_TYPES = {
|
|
|
896
897
|
{ id: "first_name", type: "first_name", label: "First Name", enabled: true, required: true },
|
|
897
898
|
{ id: "email", type: "email", label: "Email", enabled: true, required: true }
|
|
898
899
|
],
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
]
|
|
900
|
+
// No agreement out of the box - the builder adds one via "Add agreement"
|
|
901
|
+
// when they actually need consent, so a fresh node ships no orphan checkbox. (#1378)
|
|
902
|
+
consent_items: []
|
|
902
903
|
},
|
|
903
904
|
config_schema: {
|
|
904
905
|
type: "object",
|
|
@@ -913,7 +914,7 @@ var NODE_TYPES = {
|
|
|
913
914
|
required: ["id", "required"],
|
|
914
915
|
properties: {
|
|
915
916
|
id: { type: "string" },
|
|
916
|
-
type: { enum: ["text", "textarea", "email", "tel", "url"], type: "string" },
|
|
917
|
+
type: { enum: ["text", "textarea", "email", "tel", "url", "date", "number"], type: "string" },
|
|
917
918
|
label: { type: "string" },
|
|
918
919
|
order: { type: "number" },
|
|
919
920
|
required: { type: "boolean", default: true },
|
|
@@ -976,7 +977,7 @@ var NODE_TYPES = {
|
|
|
976
977
|
type: "object",
|
|
977
978
|
required: ["node_type", "fields"],
|
|
978
979
|
properties: {
|
|
979
|
-
node_type: { type: "string", const: "
|
|
980
|
+
node_type: { type: "string", const: "details" },
|
|
980
981
|
fields: {
|
|
981
982
|
type: "array",
|
|
982
983
|
items: {
|
|
@@ -1090,13 +1091,14 @@ var NODE_TYPES = {
|
|
|
1090
1091
|
show_nav_bar: true,
|
|
1091
1092
|
loading: "lazy",
|
|
1092
1093
|
supports_prompt: false,
|
|
1093
|
-
supports_media:
|
|
1094
|
+
supports_media: true,
|
|
1094
1095
|
is_system: false,
|
|
1095
1096
|
show_in_results: true,
|
|
1096
1097
|
default_config: {
|
|
1097
1098
|
paper_color: "#FAF9F6",
|
|
1098
1099
|
stroke_colors: ["#1F2937", "#EF4444", "#3B82F6", "#22C55E", "#FACC15"],
|
|
1099
|
-
stroke_widths: [3, 6, 12]
|
|
1100
|
+
stroke_widths: [3, 6, 12],
|
|
1101
|
+
background: { fit: "contain", opacity: 1 }
|
|
1100
1102
|
},
|
|
1101
1103
|
config_schema: {
|
|
1102
1104
|
type: "object",
|
|
@@ -1119,6 +1121,19 @@ var NODE_TYPES = {
|
|
|
1119
1121
|
label: "Pen thicknesses",
|
|
1120
1122
|
default: [3, 6, 12],
|
|
1121
1123
|
description: "Stroke widths (px) the respondent can choose"
|
|
1124
|
+
},
|
|
1125
|
+
// The reference image itself is the node's attached media (media_id,
|
|
1126
|
+
// via the same media_asset/create-media.ts pipeline every other
|
|
1127
|
+
// supports_media node uses) - not a config field, to avoid a
|
|
1128
|
+
// duplicated asset ref. This only tunes its display/bake.
|
|
1129
|
+
background: {
|
|
1130
|
+
type: "object",
|
|
1131
|
+
label: "Background image",
|
|
1132
|
+
description: "Display settings for the optional reference image behind the drawing canvas",
|
|
1133
|
+
properties: {
|
|
1134
|
+
fit: { type: "string", enum: ["cover", "contain"], default: "contain", label: "Fit", description: "contain letterboxes the image, cover crops it to fill the canvas" },
|
|
1135
|
+
opacity: { type: "number", minimum: 0, maximum: 1, default: 1, label: "Opacity", description: "Background image opacity, from 0 (invisible) to 1 (fully opaque)" }
|
|
1136
|
+
}
|
|
1122
1137
|
}
|
|
1123
1138
|
}
|
|
1124
1139
|
},
|
|
@@ -1353,7 +1368,7 @@ var NODE_TYPES = {
|
|
|
1353
1368
|
color: "#FFEDD5",
|
|
1354
1369
|
description: "Redirect users to an external URL",
|
|
1355
1370
|
category: "end",
|
|
1356
|
-
sort_order:
|
|
1371
|
+
sort_order: 997,
|
|
1357
1372
|
has_options: false,
|
|
1358
1373
|
is_terminal: true,
|
|
1359
1374
|
show_nav_bar: false,
|
|
@@ -1383,7 +1398,7 @@ var NODE_TYPES = {
|
|
|
1383
1398
|
color: "#FFEDD5",
|
|
1384
1399
|
description: "Display a list of links for users to choose from",
|
|
1385
1400
|
category: "end",
|
|
1386
|
-
sort_order:
|
|
1401
|
+
sort_order: 998,
|
|
1387
1402
|
has_options: false,
|
|
1388
1403
|
is_terminal: true,
|
|
1389
1404
|
show_nav_bar: false,
|
|
@@ -1428,7 +1443,7 @@ var NODE_TYPES = {
|
|
|
1428
1443
|
color: "#E9D5FF",
|
|
1429
1444
|
description: "Provide a file for respondents to download",
|
|
1430
1445
|
category: "action",
|
|
1431
|
-
sort_order:
|
|
1446
|
+
sort_order: 9,
|
|
1432
1447
|
has_options: false,
|
|
1433
1448
|
is_terminal: false,
|
|
1434
1449
|
show_nav_bar: true,
|
|
@@ -1446,7 +1461,8 @@ var NODE_TYPES = {
|
|
|
1446
1461
|
items: {
|
|
1447
1462
|
type: "object",
|
|
1448
1463
|
properties: {
|
|
1449
|
-
file_name: { type: "string", label: "
|
|
1464
|
+
file_name: { type: "string", label: "Original file name", required: true },
|
|
1465
|
+
display_name: { type: "string", label: "Friendly name shown to respondents" },
|
|
1450
1466
|
file_path: { type: "string", label: "File path in storage", required: true },
|
|
1451
1467
|
file_size: { type: "number", label: "File size in bytes" },
|
|
1452
1468
|
mime_type: { type: "string", label: "MIME type" }
|
|
@@ -1454,7 +1470,7 @@ var NODE_TYPES = {
|
|
|
1454
1470
|
},
|
|
1455
1471
|
label: "Downloadable files"
|
|
1456
1472
|
},
|
|
1457
|
-
button_text: { type: "string", label: "
|
|
1473
|
+
button_text: { type: "string", label: "Continue button text", default: "Continue" },
|
|
1458
1474
|
description: { type: "string", label: "Description text" }
|
|
1459
1475
|
}
|
|
1460
1476
|
},
|
|
@@ -1477,7 +1493,28 @@ var NODE_TYPES = {
|
|
|
1477
1493
|
}
|
|
1478
1494
|
}
|
|
1479
1495
|
},
|
|
1480
|
-
output_schema:
|
|
1496
|
+
output_schema: {
|
|
1497
|
+
type: "object",
|
|
1498
|
+
required: ["node_type"],
|
|
1499
|
+
properties: {
|
|
1500
|
+
node_type: { type: "string", const: "file_download" },
|
|
1501
|
+
files: {
|
|
1502
|
+
type: "array",
|
|
1503
|
+
description: "The files the respondent downloaded, each a canonical media object with a fresh signed link.",
|
|
1504
|
+
items: {
|
|
1505
|
+
type: "object",
|
|
1506
|
+
properties: {
|
|
1507
|
+
filename: { type: "string", description: "Original filename" },
|
|
1508
|
+
content_type: { type: "string", description: "File MIME type" },
|
|
1509
|
+
downloaded_at: { type: "string", format: "date-time", description: "Timestamp when download was initiated" },
|
|
1510
|
+
url: { type: "string", format: "uri", description: "Direct, time-limited signed link (~48h, supports HTTP range)" },
|
|
1511
|
+
download_url: { type: "string", format: "uri", description: "Same link with a forced download (Content-Disposition: attachment)" },
|
|
1512
|
+
expires_at: { type: "string", format: "date-time", description: "When url/download_url stop working" }
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1481
1518
|
},
|
|
1482
1519
|
shopping: {
|
|
1483
1520
|
label: "Shopping",
|
|
@@ -1725,7 +1762,7 @@ var FORM_TYPES = {
|
|
|
1725
1762
|
aliases: ["case-study", "callout"],
|
|
1726
1763
|
variants: [],
|
|
1727
1764
|
required_features: [],
|
|
1728
|
-
required_node_types: ["open", "
|
|
1765
|
+
required_node_types: ["open", "details", "end_screen"],
|
|
1729
1766
|
default_media_style: "video",
|
|
1730
1767
|
guide_uri: "clipform://guides/interview",
|
|
1731
1768
|
guide_description: "Craft knowledge for building interview forms - warm-up pacing, open questions, consent, video responses",
|
|
@@ -1747,7 +1784,7 @@ var FORM_TYPES = {
|
|
|
1747
1784
|
aliases: ["lead-gen", "qualification", "lead-magnet"],
|
|
1748
1785
|
variants: [],
|
|
1749
1786
|
required_features: ["branching", "funnel"],
|
|
1750
|
-
required_node_types: ["choice", "
|
|
1787
|
+
required_node_types: ["choice", "details", "end_screen"],
|
|
1751
1788
|
default_media_style: "text",
|
|
1752
1789
|
guide_uri: "clipform://guides/funnel",
|
|
1753
1790
|
guide_description: "Craft knowledge for lead qualification funnels - planned feature, conditional routing coming soon",
|
|
@@ -1765,7 +1802,7 @@ var FORM_TYPES = {
|
|
|
1765
1802
|
aliases: ["story", "review"],
|
|
1766
1803
|
variants: [],
|
|
1767
1804
|
required_features: [],
|
|
1768
|
-
required_node_types: ["open", "
|
|
1805
|
+
required_node_types: ["open", "details", "end_screen"],
|
|
1769
1806
|
default_media_style: "video",
|
|
1770
1807
|
guide_uri: "clipform://guides/testimonial",
|
|
1771
1808
|
guide_description: "Craft knowledge for collecting testimonials and customer stories on video - storytelling prompts, comfort techniques, consent",
|
|
@@ -1786,7 +1823,7 @@ var FORM_TYPES = {
|
|
|
1786
1823
|
aliases: ["job-application", "admission", "enrollment", "grant"],
|
|
1787
1824
|
variants: [],
|
|
1788
1825
|
required_features: [],
|
|
1789
|
-
required_node_types: ["open", "choice", "
|
|
1826
|
+
required_node_types: ["open", "choice", "details", "end_screen"],
|
|
1790
1827
|
default_media_style: "video",
|
|
1791
1828
|
guide_uri: "clipform://guides/application",
|
|
1792
1829
|
guide_description: "Craft knowledge for application and evaluation forms - multi-section structure, video responses for behavioural questions, screening",
|
|
@@ -1806,7 +1843,7 @@ var FORM_TYPES = {
|
|
|
1806
1843
|
aliases: ["registration", "signup", "event", "rsvp", "workshop"],
|
|
1807
1844
|
variants: [],
|
|
1808
1845
|
required_features: [],
|
|
1809
|
-
required_node_types: ["
|
|
1846
|
+
required_node_types: ["details", "choice", "end_screen"],
|
|
1810
1847
|
default_media_style: "text",
|
|
1811
1848
|
guide_uri: "clipform://guides/booking",
|
|
1812
1849
|
guide_description: "Craft knowledge for event registration and booking forms - minimal friction, video welcome, confirmation flow",
|
|
@@ -1943,7 +1980,8 @@ var BUSINESS = {
|
|
|
1943
1980
|
email: {
|
|
1944
1981
|
support: "support@clipform.io",
|
|
1945
1982
|
sales: "sales@clipform.io",
|
|
1946
|
-
hello: "hello@clipform.io"
|
|
1983
|
+
hello: "hello@clipform.io",
|
|
1984
|
+
founder: "andy@clipform.io"
|
|
1947
1985
|
},
|
|
1948
1986
|
urls: getUrls()
|
|
1949
1987
|
};
|
|
@@ -2001,37 +2039,33 @@ var SLIDESHOW_TRANSITIONS = [
|
|
|
2001
2039
|
];
|
|
2002
2040
|
var COMPOSITION_REGISTRY = [
|
|
2003
2041
|
// Beds (full-bleed backgrounds)
|
|
2004
|
-
{ id: "
|
|
2042
|
+
{ id: "Slideshow", tier: "public", kind: "bed", scene_layer: true },
|
|
2005
2043
|
{ id: "Map", tier: "public", kind: "bed", scene_layer: true },
|
|
2006
2044
|
{ id: "Grid", tier: "public", kind: "bed", scene_layer: true },
|
|
2007
|
-
{ id: "
|
|
2008
|
-
{ id: "
|
|
2009
|
-
{ id: "NumberLine", tier: "public", kind: "bed" },
|
|
2010
|
-
{ id: "CountdownRing", tier: "public", kind: "bed" },
|
|
2011
|
-
{ id: "CountrySilhouetteClip", tier: "public", kind: "bed", scene_layer: true },
|
|
2012
|
-
{ id: "FlagReveal", tier: "public", kind: "bed" },
|
|
2013
|
-
{ id: "ColorCards", tier: "public", kind: "bed", scene_layer: true },
|
|
2014
|
-
{ id: "TitleCard", tier: "public", kind: "bed" },
|
|
2015
|
-
{ id: "ParallaxImage", tier: "public", kind: "bed" },
|
|
2016
|
-
{ id: "Spin3D", tier: "labs", kind: "bed", scene_layer: true },
|
|
2045
|
+
{ id: "Timeline", tier: "labs", kind: "bed" },
|
|
2046
|
+
{ id: "CountrySilhouetteClip", tier: "labs", kind: "bed", scene_layer: true },
|
|
2017
2047
|
// Overlays (assets layered on a bed)
|
|
2018
|
-
{ id: "
|
|
2019
|
-
{ id: "
|
|
2020
|
-
{ id: "BeforeAfter", tier: "public", kind: "overlay", scene_layer: true },
|
|
2021
|
-
{ id: "StatCounter", tier: "labs", kind: "overlay", scene_layer: true },
|
|
2022
|
-
{ id: "ListReveal", tier: "labs", kind: "overlay", scene_layer: true },
|
|
2048
|
+
{ id: "Text", tier: "labs", kind: "overlay", scene_layer: true },
|
|
2049
|
+
{ id: "Rebus", tier: "labs", kind: "overlay", scene_layer: true },
|
|
2023
2050
|
// Container
|
|
2024
2051
|
{ id: "Scene", tier: "labs", kind: "container" },
|
|
2025
2052
|
// Social marketing templates (gated)
|
|
2026
|
-
{ id: "ShortFormQuiz", tier: "social", kind: "
|
|
2027
|
-
{ id: "ScorecardQuiz", tier: "social", kind: "
|
|
2028
|
-
{ id: "ScorecardGK", tier: "social", kind: "
|
|
2029
|
-
{ id: "CountrySilhouetteQuiz", tier: "social", kind: "
|
|
2053
|
+
{ id: "ShortFormQuiz", tier: "social", kind: "video" },
|
|
2054
|
+
{ id: "ScorecardQuiz", tier: "social", kind: "video" },
|
|
2055
|
+
{ id: "ScorecardGK", tier: "social", kind: "video" },
|
|
2056
|
+
{ id: "CountrySilhouetteQuiz", tier: "social", kind: "video" }
|
|
2030
2057
|
];
|
|
2031
2058
|
var compositionIdsByTier = (tier) => COMPOSITION_REGISTRY.filter((c) => c.tier === tier).map((c) => c.id);
|
|
2032
2059
|
var PUBLIC_COMPOSITION_IDS = compositionIdsByTier("public");
|
|
2033
2060
|
var LABS_COMPOSITION_IDS = compositionIdsByTier("labs");
|
|
2034
2061
|
var SOCIAL_COMPOSITION_IDS = compositionIdsByTier("social");
|
|
2062
|
+
function exposedCompositionIds(includeNonPublic) {
|
|
2063
|
+
return [
|
|
2064
|
+
...PUBLIC_COMPOSITION_IDS,
|
|
2065
|
+
...includeNonPublic ? LABS_COMPOSITION_IDS : [],
|
|
2066
|
+
...includeNonPublic ? SOCIAL_COMPOSITION_IDS : []
|
|
2067
|
+
];
|
|
2068
|
+
}
|
|
2035
2069
|
var SCENE_LAYER_COMPOSITION_IDS = COMPOSITION_REGISTRY.filter((c) => c.scene_layer).map((c) => c.id);
|
|
2036
2070
|
var MCP_TOOL_TIERS = {};
|
|
2037
2071
|
|
|
@@ -2257,9 +2291,7 @@ export {
|
|
|
2257
2291
|
KEN_BURNS_PRESETS,
|
|
2258
2292
|
KEN_BURNS_FIT_MODES,
|
|
2259
2293
|
SLIDESHOW_TRANSITIONS,
|
|
2260
|
-
|
|
2261
|
-
LABS_COMPOSITION_IDS,
|
|
2262
|
-
SOCIAL_COMPOSITION_IDS,
|
|
2294
|
+
exposedCompositionIds,
|
|
2263
2295
|
MCP_TOOL_TIERS,
|
|
2264
2296
|
setMcpVersion,
|
|
2265
2297
|
callApi,
|
|
@@ -2269,4 +2301,4 @@ export {
|
|
|
2269
2301
|
getSessionContextWithAuth,
|
|
2270
2302
|
getSessionContext
|
|
2271
2303
|
};
|
|
2272
|
-
//# sourceMappingURL=chunk-
|
|
2304
|
+
//# sourceMappingURL=chunk-GDUJLYR4.js.map
|