@clipform/mcp-server 4.4.0 → 4.5.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/api-client.js +1 -1
- package/dist/{chunk-E2T3UTF3.js → chunk-OSOUHA2R.js} +5 -5
- package/dist/{chunk-K2JHO4A4.js → chunk-Q6OG6RXP.js} +42 -24
- package/dist/chunk-Q6OG6RXP.js.map +1 -0
- package/dist/{chunk-5JFU4OEI.js → chunk-RN5ORN7O.js} +2 -2
- package/dist/{chunk-HWOV2WRK.js → chunk-TKNPSBNU.js} +3 -3
- package/dist/{chunk-F4AFULRJ.js → chunk-WTYIKGXQ.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/prompts.js +3 -3
- package/dist/resources.js +3 -3
- package/dist/server.js +5 -5
- package/package.json +2 -2
- package/server.json +2 -2
- package/dist/chunk-K2JHO4A4.js.map +0 -1
- /package/dist/{chunk-E2T3UTF3.js.map → chunk-OSOUHA2R.js.map} +0 -0
- /package/dist/{chunk-5JFU4OEI.js.map → chunk-RN5ORN7O.js.map} +0 -0
- /package/dist/{chunk-HWOV2WRK.js.map → chunk-TKNPSBNU.js.map} +0 -0
- /package/dist/{chunk-F4AFULRJ.js.map → chunk-WTYIKGXQ.js.map} +0 -0
package/dist/api-client.js
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
union,
|
|
30
30
|
unknown,
|
|
31
31
|
url
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-TKNPSBNU.js";
|
|
33
33
|
import {
|
|
34
34
|
GUIDE_TYPES,
|
|
35
35
|
QUIZ_VARIANTS,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
getGuideUri,
|
|
39
39
|
guideFallbackText,
|
|
40
40
|
registerResources
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-WTYIKGXQ.js";
|
|
42
42
|
import {
|
|
43
43
|
ANON_PREVIEW_LINK_LABEL,
|
|
44
44
|
ANON_PREVIEW_NOTICE,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
capsFromToolsets,
|
|
51
51
|
isPreviewViewerUrl,
|
|
52
52
|
withAdoptedNotice
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-RN5ORN7O.js";
|
|
54
54
|
import {
|
|
55
55
|
ACTIVE_NODE_TYPES,
|
|
56
56
|
CONTACT_FIELDS,
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
stripGatedConfigKeys,
|
|
76
76
|
structuredResult,
|
|
77
77
|
textResult
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-Q6OG6RXP.js";
|
|
79
79
|
import {
|
|
80
80
|
getMcpAuth,
|
|
81
81
|
runWithMcpAuth,
|
|
@@ -20290,4 +20290,4 @@ export {
|
|
|
20290
20290
|
* MIT Licensed
|
|
20291
20291
|
*)
|
|
20292
20292
|
*/
|
|
20293
|
-
//# sourceMappingURL=chunk-
|
|
20293
|
+
//# sourceMappingURL=chunk-OSOUHA2R.js.map
|
|
@@ -253,12 +253,12 @@ var FEATURES = {
|
|
|
253
253
|
// Description mirrors NODE_TYPES.camera.description (the node SSOT) - the
|
|
254
254
|
// node captures photo OR video (allowed_capture, #2759), not photo only.
|
|
255
255
|
description: "Capture a photo or video from the device camera",
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
//
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
// GA 2026-10-26 (#5017). The NODE_COMPANY_ALLOWLIST.node_camera entry
|
|
257
|
+
// below stays as a safety valve: flip enabled back to false to pull it
|
|
258
|
+
// behind the allowlist again (draw precedent).
|
|
259
|
+
enabled: true,
|
|
260
|
+
status: "live",
|
|
261
|
+
wentLiveAt: "2026-10-26",
|
|
262
262
|
category: "node-types"
|
|
263
263
|
},
|
|
264
264
|
node_conditional: {
|
|
@@ -837,6 +837,7 @@ var HELP_TOPICS = {
|
|
|
837
837
|
// from a node's type id.
|
|
838
838
|
node_choice: { path: "/help/node-types", anchor: "choice" },
|
|
839
839
|
node_open: { path: "/help/node-types", anchor: "open-ended" },
|
|
840
|
+
node_camera: { path: "/help/node-types", anchor: "camera" },
|
|
840
841
|
node_details: { path: "/help/node-types", anchor: "details" },
|
|
841
842
|
node_button: { path: "/help/node-types", anchor: "button" },
|
|
842
843
|
node_end_screen: { path: "/help/node-types", anchor: "end-screen" },
|
|
@@ -1220,6 +1221,9 @@ var NODE_TYPES = {
|
|
|
1220
1221
|
// is absent from the publish gate below (pre-existing drift, not widened
|
|
1221
1222
|
// here) because calendar_id is owner-scoped regardless.
|
|
1222
1223
|
owner_scoped_config_keys: ["calendly", "calcom", "google_meet"],
|
|
1224
|
+
// The viewer iframes calendly / calcom scheduling_url (Booking.tsx): an outbound embed.
|
|
1225
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847).
|
|
1226
|
+
blocked_for_anon_mcp: true,
|
|
1223
1227
|
default_config: null,
|
|
1224
1228
|
config_schema: {
|
|
1225
1229
|
type: "object",
|
|
@@ -1479,6 +1483,8 @@ var NODE_TYPES = {
|
|
|
1479
1483
|
// Files, not a flat value - a notification renders a typed placeholder (#4154).
|
|
1480
1484
|
notify_inline: false,
|
|
1481
1485
|
owner_scoped_config_keys: [],
|
|
1486
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847; derived into ANON_MCP_BLOCKED_NODE_TYPES).
|
|
1487
|
+
blocked_for_anon_mcp: true,
|
|
1482
1488
|
default_config: null,
|
|
1483
1489
|
config_schema: {
|
|
1484
1490
|
type: "object",
|
|
@@ -1584,21 +1590,6 @@ var NODE_TYPES = {
|
|
|
1584
1590
|
stroke_widths: [3, 6, 12],
|
|
1585
1591
|
diagram: { opacity: 1, scale: 1 }
|
|
1586
1592
|
},
|
|
1587
|
-
// Named one-click setups shown as extra rows in the dashboard node picker
|
|
1588
|
-
// (#5060). Same node type (no new id, no migration): a preset only overlays
|
|
1589
|
-
// default_config. `open_media_picker` opens the template-image picker on the
|
|
1590
|
-
// new node straight away. Each config key must exist in config_schema and
|
|
1591
|
-
// `icon` must be a known node icon (packages/config/test/node-type-picker-presets.test.js).
|
|
1592
|
-
picker_presets: [
|
|
1593
|
-
{
|
|
1594
|
-
id: "markup",
|
|
1595
|
-
label: "Mark up",
|
|
1596
|
-
icon: "Highlighter",
|
|
1597
|
-
description: "Respondents mark a spot on a diagram or image - one red pen, undo and clear",
|
|
1598
|
-
config: { stroke_colors: ["#EF4444"], stroke_widths: [6] },
|
|
1599
|
-
open_media_picker: true
|
|
1600
|
-
}
|
|
1601
|
-
],
|
|
1602
1593
|
config_schema: {
|
|
1603
1594
|
type: "object",
|
|
1604
1595
|
properties: {
|
|
@@ -2001,6 +1992,8 @@ var NODE_TYPES = {
|
|
|
2001
1992
|
// own showcase waiver (graph-validation.js) still names workspace_integration_id
|
|
2002
1993
|
// directly since it's the only per-type check today.
|
|
2003
1994
|
owner_scoped_config_keys: ["workspace_integration_id"],
|
|
1995
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847; derived into ANON_MCP_BLOCKED_NODE_TYPES).
|
|
1996
|
+
blocked_for_anon_mcp: true,
|
|
2004
1997
|
// A payment confirmation line is the whole point of a notification for
|
|
2005
1998
|
// this node type - always inline (#4154).
|
|
2006
1999
|
notify_inline: true,
|
|
@@ -2258,6 +2251,8 @@ var NODE_TYPES = {
|
|
|
2258
2251
|
// (filtered by NON_COUNTABLE_FILTER); false is a no-op default.
|
|
2259
2252
|
notify_inline: false,
|
|
2260
2253
|
owner_scoped_config_keys: [],
|
|
2254
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847; derived into ANON_MCP_BLOCKED_NODE_TYPES).
|
|
2255
|
+
blocked_for_anon_mcp: true,
|
|
2261
2256
|
default_config: { url: "", auto_redirect: true },
|
|
2262
2257
|
config_schema: {
|
|
2263
2258
|
type: "object",
|
|
@@ -2292,6 +2287,8 @@ var NODE_TYPES = {
|
|
|
2292
2287
|
// (filtered by NON_COUNTABLE_FILTER); false is a no-op default.
|
|
2293
2288
|
notify_inline: false,
|
|
2294
2289
|
owner_scoped_config_keys: [],
|
|
2290
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847; derived into ANON_MCP_BLOCKED_NODE_TYPES).
|
|
2291
|
+
blocked_for_anon_mcp: true,
|
|
2295
2292
|
default_config: { links: [{ id: "default", url: "", title: "", description: "", order: 0 }], auto_redirect: false },
|
|
2296
2293
|
config_schema: {
|
|
2297
2294
|
type: "object",
|
|
@@ -2343,6 +2340,8 @@ var NODE_TYPES = {
|
|
|
2343
2340
|
// copy so a forked node can't keep serving the source workspace's files;
|
|
2344
2341
|
// the publish gate's "No files uploaded" check then forces a fresh upload.
|
|
2345
2342
|
owner_scoped_config_keys: ["files"],
|
|
2343
|
+
// Unclaimed anonymous-MCP forms may not go live with this node (#4847; derived into ANON_MCP_BLOCKED_NODE_TYPES).
|
|
2344
|
+
blocked_for_anon_mcp: true,
|
|
2346
2345
|
default_config: null,
|
|
2347
2346
|
config_schema: {
|
|
2348
2347
|
type: "object",
|
|
@@ -2512,7 +2511,7 @@ var NODE_TYPES = {
|
|
|
2512
2511
|
show_share_button: { type: "boolean", label: "Show share button", default: false, description: "Show a share button above the CTA" },
|
|
2513
2512
|
cta_type: { type: "string", label: "CTA type", enum: ["none", "restart", "external_link"], default: "none", description: "Primary call-to-action button type" },
|
|
2514
2513
|
cta_text: { type: "string", label: "CTA button text", default: "Continue", description: "Button label for the CTA" },
|
|
2515
|
-
cta_url: { type: "string", label: "CTA URL", format: "uri", description: "URL to open (only for external_link CTA type)", placeholder: "https://example.com" },
|
|
2514
|
+
cta_url: { type: "string", label: "CTA URL", format: "uri", description: "URL to open (only for external_link CTA type)", placeholder: "https://example.com", outbound_link: true },
|
|
2516
2515
|
score_ranges: {
|
|
2517
2516
|
type: "array",
|
|
2518
2517
|
label: "Score-based content",
|
|
@@ -2539,7 +2538,7 @@ var NODE_TYPES = {
|
|
|
2539
2538
|
category: { type: "string", label: "Category key (must match keys used in option scores)" },
|
|
2540
2539
|
title: { type: "string", label: "Title" },
|
|
2541
2540
|
message: { type: "string", label: "Message" },
|
|
2542
|
-
cta_url: { type: "string", label: "CTA URL", format: "uri" },
|
|
2541
|
+
cta_url: { type: "string", label: "CTA URL", format: "uri", outbound_link: true },
|
|
2543
2542
|
cta_text: { type: "string", label: "CTA button text" }
|
|
2544
2543
|
}
|
|
2545
2544
|
}
|
|
@@ -2612,6 +2611,25 @@ var RESULTS_EXCLUDED_TYPES = Object.entries(NODE_TYPES).filter(([, v]) => !v.sho
|
|
|
2612
2611
|
var NON_STEP_TYPES = /* @__PURE__ */ new Set(["button"]);
|
|
2613
2612
|
var STEP_COUNTED_TYPES = Object.entries(NODE_TYPES).filter(([k, v]) => v.show_nav_bar && !NON_STEP_TYPES.has(k)).map(([k]) => k);
|
|
2614
2613
|
var RESPONSES_EXCLUDED_TYPES = Object.entries(NODE_TYPES).filter(([, v]) => !(v.show_in_responses ?? v.show_in_results)).map(([k]) => k);
|
|
2614
|
+
var ANON_MCP_BLOCKED_NODE_TYPES = Object.entries(NODE_TYPES).filter(([, v]) => v.blocked_for_anon_mcp === true).map(([k]) => k);
|
|
2615
|
+
var ANON_MCP_OUTBOUND_LINK_RULES = (() => {
|
|
2616
|
+
const rules = [];
|
|
2617
|
+
const walk = (type, schema, path) => {
|
|
2618
|
+
if (!schema || typeof schema !== "object") return;
|
|
2619
|
+
for (const [key, prop] of Object.entries(schema.properties ?? {})) {
|
|
2620
|
+
const next = [...path, key];
|
|
2621
|
+
if (prop.outbound_link === true) rules.push({ type, path: next, kind: "non_empty" });
|
|
2622
|
+
if (Array.isArray(prop.enum) && prop.enum.includes("external_link")) {
|
|
2623
|
+
rules.push({ type, path: next, kind: "equals", value: "external_link" });
|
|
2624
|
+
}
|
|
2625
|
+
walk(type, prop, next);
|
|
2626
|
+
if (prop.items) walk(type, prop.items, [...next, "[]"]);
|
|
2627
|
+
}
|
|
2628
|
+
for (const branch of [...schema.oneOf ?? [], ...schema.anyOf ?? []]) walk(type, branch, path);
|
|
2629
|
+
};
|
|
2630
|
+
for (const [type, def] of Object.entries(NODE_TYPES)) walk(type, def.config_schema, []);
|
|
2631
|
+
return rules;
|
|
2632
|
+
})();
|
|
2615
2633
|
|
|
2616
2634
|
// ../config/form-types.js
|
|
2617
2635
|
var FORM_TYPES = {
|
|
@@ -3526,4 +3544,4 @@ export {
|
|
|
3526
3544
|
textResult,
|
|
3527
3545
|
structuredResult
|
|
3528
3546
|
};
|
|
3529
|
-
//# sourceMappingURL=chunk-
|
|
3547
|
+
//# sourceMappingURL=chunk-Q6OG6RXP.js.map
|