@clipform/mcp-server 2.1.0 → 2.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/{chunk-QF3V3TDS.js → chunk-CNEUXDNC.js} +104 -8
- package/dist/chunk-CNEUXDNC.js.map +1 -0
- package/dist/{chunk-56JVURXQ.js → chunk-HG3FYVTR.js} +2 -2
- package/dist/{chunk-2AZNBDTI.js → chunk-MU3YSUGG.js} +6 -6
- package/dist/{chunk-2AZNBDTI.js.map → chunk-MU3YSUGG.js.map} +1 -1
- package/dist/{chunk-THT32FTT.js → chunk-TTSO4ZPG.js} +2 -2
- 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-QF3V3TDS.js.map +0 -1
- /package/dist/{chunk-56JVURXQ.js.map → chunk-HG3FYVTR.js.map} +0 -0
- /package/dist/{chunk-THT32FTT.js.map → chunk-TTSO4ZPG.js.map} +0 -0
|
@@ -164,10 +164,12 @@ var FEATURES = {
|
|
|
164
164
|
node_draw: {
|
|
165
165
|
name: "Drawing",
|
|
166
166
|
description: "Drawing canvas; respondents draw and it is saved as a PNG image",
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
|
|
170
|
-
|
|
167
|
+
// Went GA 2026-06-27 (#1012), pulled back behind the allowlist 2026-07-20
|
|
168
|
+
// (#2289) while pen options / match-to-shape mature. Prod usage at
|
|
169
|
+
// pull-back verified = Clipform Public only, zero external customers.
|
|
170
|
+
// Existing nodes still render (creation-gated only, camera precedent).
|
|
171
|
+
enabled: false,
|
|
172
|
+
status: "beta",
|
|
171
173
|
wentLiveAt: "2026-06-27",
|
|
172
174
|
category: "node-types"
|
|
173
175
|
},
|
|
@@ -295,6 +297,21 @@ var FEATURES = {
|
|
|
295
297
|
share_node: {
|
|
296
298
|
name: "Share individual nodes",
|
|
297
299
|
description: "Share a direct link to a specific node within a form",
|
|
300
|
+
enabled: true,
|
|
301
|
+
status: "live",
|
|
302
|
+
wentLiveAt: "2026-07-17",
|
|
303
|
+
category: "sharing"
|
|
304
|
+
},
|
|
305
|
+
public_results: {
|
|
306
|
+
name: "Public results portal",
|
|
307
|
+
description: "Share a live, read-only results page with anyone via a link",
|
|
308
|
+
// Ships dark (#2129): code lands ready, gated server-side (apps/api) on
|
|
309
|
+
// this flag OR the FEATURE_COMPANY_ALLOWLIST.public_results company
|
|
310
|
+
// allowlist below (companyHasPublicResults) for per-company dogfood ahead
|
|
311
|
+
// of the global flip - same flag-or-allowlist pattern as node_camera /
|
|
312
|
+
// companyHasNodeType. Flip enabled/status together for GA - the API
|
|
313
|
+
// re-checks this flag on every enable/rotate/read, so flipping it on/off
|
|
314
|
+
// (or editing the allowlist) takes effect immediately, no redeploy needed.
|
|
298
315
|
enabled: false,
|
|
299
316
|
status: "planned",
|
|
300
317
|
category: "sharing"
|
|
@@ -514,6 +531,13 @@ for (const [key, f] of Object.entries(FEATURES)) {
|
|
|
514
531
|
// ../config/node-types.js
|
|
515
532
|
var RESPONSE_FORMATS = ["text", "audio", "video"];
|
|
516
533
|
var CONSENT_TYPES = ["consent", "opt_in"];
|
|
534
|
+
var DRAW_GAME_DEFAULT_TIERS = [
|
|
535
|
+
{ min_score: 0, label: "Scribble" },
|
|
536
|
+
{ min_score: 35, label: "Warming up" },
|
|
537
|
+
{ min_score: 55, label: "Nice try" },
|
|
538
|
+
{ min_score: 75, label: "Great match" },
|
|
539
|
+
{ min_score: 92, label: "Perfect" }
|
|
540
|
+
];
|
|
517
541
|
var NODE_TYPES = {
|
|
518
542
|
start: {
|
|
519
543
|
label: "Start",
|
|
@@ -1122,7 +1146,7 @@ var NODE_TYPES = {
|
|
|
1122
1146
|
maxItems: 8,
|
|
1123
1147
|
label: "Pen colours",
|
|
1124
1148
|
default: ["#1F2937", "#EF4444", "#3B82F6", "#22C55E", "#FACC15"],
|
|
1125
|
-
description: "Colour swatches the respondent can draw with"
|
|
1149
|
+
description: "Colour swatches the respondent can draw with. The first entry is the default selection; a single entry locks the pen to that colour and hides the picker."
|
|
1126
1150
|
},
|
|
1127
1151
|
stroke_widths: {
|
|
1128
1152
|
type: "array",
|
|
@@ -1131,7 +1155,7 @@ var NODE_TYPES = {
|
|
|
1131
1155
|
maxItems: 5,
|
|
1132
1156
|
label: "Pen thicknesses",
|
|
1133
1157
|
default: [3, 6, 12],
|
|
1134
|
-
description: "Stroke widths (px) the respondent can choose"
|
|
1158
|
+
description: "Stroke widths (px) the respondent can choose. The first entry is the default selection; a single entry locks the pen to that width and hides the picker."
|
|
1135
1159
|
},
|
|
1136
1160
|
// The reference image itself is the node's attached media (media_id,
|
|
1137
1161
|
// via the same media_asset/create-media.ts pipeline every other
|
|
@@ -1145,6 +1169,55 @@ var NODE_TYPES = {
|
|
|
1145
1169
|
fit: { type: "string", enum: ["cover", "contain"], default: "contain", label: "Fit", description: "contain letterboxes the image, cover crops it to fill the canvas" },
|
|
1146
1170
|
opacity: { type: "number", minimum: 0, maximum: 1, default: 1, label: "Opacity", description: "Background image opacity, from 0 (invisible) to 1 (fully opaque)" }
|
|
1147
1171
|
}
|
|
1172
|
+
},
|
|
1173
|
+
// Optional match-to-shape game (#2148). Absent entirely by default
|
|
1174
|
+
// (not in default_config) - a node with no `game.target` behaves
|
|
1175
|
+
// exactly as it did before this key existed. `target.points` is
|
|
1176
|
+
// authored once in the builder (a simplified sketch modal, see
|
|
1177
|
+
// apps/dashboard) and stored pre-normalized to a [0,1] unit box so the
|
|
1178
|
+
// viewer's scorer (apps/viewer/lib/matchShape.ts) and the reveal
|
|
1179
|
+
// overlay share the same coordinate frame without re-deriving it.
|
|
1180
|
+
game: {
|
|
1181
|
+
type: "object",
|
|
1182
|
+
label: "Match-to-shape game",
|
|
1183
|
+
description: "Optional target shape the drawing is scored against on submit",
|
|
1184
|
+
properties: {
|
|
1185
|
+
target: {
|
|
1186
|
+
type: "object",
|
|
1187
|
+
label: "Target shape",
|
|
1188
|
+
description: "The outline the respondent is scored against, drawn once by the form builder",
|
|
1189
|
+
properties: {
|
|
1190
|
+
points: {
|
|
1191
|
+
type: "array",
|
|
1192
|
+
minItems: 2,
|
|
1193
|
+
maxItems: 500,
|
|
1194
|
+
items: {
|
|
1195
|
+
type: "object",
|
|
1196
|
+
properties: {
|
|
1197
|
+
x: { type: "number", minimum: 0, maximum: 1 },
|
|
1198
|
+
y: { type: "number", minimum: 0, maximum: 1 }
|
|
1199
|
+
}
|
|
1200
|
+
},
|
|
1201
|
+
description: "Closed polyline outline, normalized to a [0,1] unit box (aspect-preserving)"
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
},
|
|
1205
|
+
tiers: {
|
|
1206
|
+
type: "array",
|
|
1207
|
+
label: "Score tiers",
|
|
1208
|
+
minItems: 1,
|
|
1209
|
+
maxItems: 10,
|
|
1210
|
+
items: {
|
|
1211
|
+
type: "object",
|
|
1212
|
+
properties: {
|
|
1213
|
+
min_score: { type: "number", minimum: 0, maximum: 100 },
|
|
1214
|
+
label: { type: "string" }
|
|
1215
|
+
}
|
|
1216
|
+
},
|
|
1217
|
+
default: DRAW_GAME_DEFAULT_TIERS,
|
|
1218
|
+
description: "Score bands shown in the reveal, ascending by min_score - defaults to a 5-band Scribble to Perfect scale"
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1148
1221
|
}
|
|
1149
1222
|
}
|
|
1150
1223
|
},
|
|
@@ -1166,6 +1239,17 @@ var NODE_TYPES = {
|
|
|
1166
1239
|
mime_type: { type: "string", description: "Image MIME type (image/png)" }
|
|
1167
1240
|
},
|
|
1168
1241
|
description: "The exported sketch, stored as a single image in media-responses"
|
|
1242
|
+
},
|
|
1243
|
+
// Present only when the node has a configured game.target - absent for
|
|
1244
|
+
// every draw node published before #2148 and for one with no target.
|
|
1245
|
+
game: {
|
|
1246
|
+
type: "object",
|
|
1247
|
+
description: "Present when the node has a configured target shape - the respondent's match-to-shape score",
|
|
1248
|
+
properties: {
|
|
1249
|
+
score: { type: "number", minimum: 0, maximum: 100, description: "0-100 match score against the target outline" },
|
|
1250
|
+
avg_deviation: { type: "number", minimum: 0, description: "Average normalized deviation from the target outline (lower is better)" },
|
|
1251
|
+
tier: { type: "string", description: "The configured tier label the score falls into" }
|
|
1252
|
+
}
|
|
1169
1253
|
}
|
|
1170
1254
|
}
|
|
1171
1255
|
},
|
|
@@ -1184,6 +1268,17 @@ var NODE_TYPES = {
|
|
|
1184
1268
|
download_url: { type: "string", format: "uri", description: "Same link with a forced download (Content-Disposition: attachment)" },
|
|
1185
1269
|
expires_at: { type: "string", format: "date-time", description: "When url/download_url stop working" }
|
|
1186
1270
|
}
|
|
1271
|
+
},
|
|
1272
|
+
// Mirrors response_schema.game (piece 1 of #2148) - transformResponse
|
|
1273
|
+
// passes it through unchanged, so this describes the FINAL emitted shape.
|
|
1274
|
+
game: {
|
|
1275
|
+
type: "object",
|
|
1276
|
+
description: "Present when the node has a configured target shape - the respondent's match-to-shape score",
|
|
1277
|
+
properties: {
|
|
1278
|
+
score: { type: "number", minimum: 0, maximum: 100, description: "0-100 match score against the target outline" },
|
|
1279
|
+
avg_deviation: { type: "number", minimum: 0, description: "Average normalized deviation from the target outline (lower is better)" },
|
|
1280
|
+
tier: { type: "string", description: "The configured tier label the score falls into" }
|
|
1281
|
+
}
|
|
1187
1282
|
}
|
|
1188
1283
|
}
|
|
1189
1284
|
}
|
|
@@ -2010,7 +2105,8 @@ var HELP_TOPICS = {
|
|
|
2010
2105
|
cantGoLive: { path: "/help/sharing", anchor: "cant-go-live" },
|
|
2011
2106
|
liveAndDraft: { path: "/help/managing-forms", anchor: "live-and-draft" },
|
|
2012
2107
|
publishingChanges: { path: "/help/managing-forms", anchor: "publishing-changes" },
|
|
2013
|
-
embedding: { path: "/help/embed", anchor: null }
|
|
2108
|
+
embedding: { path: "/help/embed", anchor: null },
|
|
2109
|
+
publicResults: { path: "/help/public-results", anchor: null }
|
|
2014
2110
|
};
|
|
2015
2111
|
function buildHelpLinks(docsBaseUrl) {
|
|
2016
2112
|
const links = {};
|
|
@@ -2410,4 +2506,4 @@ export {
|
|
|
2410
2506
|
getSessionContextWithAuth,
|
|
2411
2507
|
getSessionContext
|
|
2412
2508
|
};
|
|
2413
|
-
//# sourceMappingURL=chunk-
|
|
2509
|
+
//# sourceMappingURL=chunk-CNEUXDNC.js.map
|