@clipform/mcp-server 4.2.6 → 4.2.7

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.
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  FULL_CAPS,
3
3
  getSessionContext
4
- } from "./chunk-X2BSOY4P.js";
4
+ } from "./chunk-75X4S4LA.js";
5
5
  import {
6
6
  ALL_VARIANTS,
7
7
  FORM_TYPES,
8
8
  FORM_TYPE_KEYS,
9
9
  callApi
10
- } from "./chunk-Z33U4XX7.js";
10
+ } from "./chunk-UMO47NOJ.js";
11
11
  import {
12
12
  getMcpAuth
13
- } from "./chunk-VPF6MLKM.js";
13
+ } from "./chunk-BV3KA6HC.js";
14
14
 
15
15
  // src/lib/guides.ts
16
16
  var guidesPromise = null;
@@ -155,4 +155,4 @@ export {
155
155
  getGuideUri,
156
156
  registerResources
157
157
  };
158
- //# sourceMappingURL=chunk-LLSUTEEN.js.map
158
+ //# sourceMappingURL=chunk-OVLNACRG.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  FULL_CAPS,
3
3
  getSessionContextWithAuth
4
- } from "./chunk-X2BSOY4P.js";
4
+ } from "./chunk-75X4S4LA.js";
5
5
  import {
6
6
  WORKFLOW_TYPES,
7
7
  getDiscoveryParams
8
- } from "./chunk-Z33U4XX7.js";
8
+ } from "./chunk-UMO47NOJ.js";
9
9
  import {
10
10
  __export
11
11
  } from "./chunk-PZ5AY32C.js";
@@ -15224,4 +15224,4 @@ export {
15224
15224
  getWorkflowText,
15225
15225
  registerPrompts
15226
15226
  };
15227
- //# sourceMappingURL=chunk-CWTZNXI6.js.map
15227
+ //# sourceMappingURL=chunk-RMFF42S5.js.map
@@ -5,7 +5,7 @@ import {
5
5
  MCP_SESSION_ID_HEADER,
6
6
  MCP_SESSION_PROOF_HEADER,
7
7
  getMcpAuth
8
- } from "./chunk-VPF6MLKM.js";
8
+ } from "./chunk-BV3KA6HC.js";
9
9
  import {
10
10
  isAuthFault,
11
11
  isServerFault,
@@ -1072,6 +1072,9 @@ var NODE_TYPES = {
1072
1072
  thumbnail_storage_path: { type: "string" },
1073
1073
  mp3_storage_path: { type: "string" },
1074
1074
  duration_s: { type: "number" },
1075
+ // Pixel size of the final stored video, written by the processor (#5125). Video only.
1076
+ width: { type: "number" },
1077
+ height: { type: "number" },
1075
1078
  processed_at: { type: "string" },
1076
1079
  // Processor-stamped: is the saved video mirrored (#5021)? Absent = legacy.
1077
1080
  saved_mirrored: { type: "boolean" },
@@ -1507,7 +1510,10 @@ var NODE_TYPES = {
1507
1510
  size: { type: "integer", minimum: 1, description: "File size in bytes" },
1508
1511
  mime_type: { type: "string", description: "File MIME type" },
1509
1512
  uploaded_at: { type: "string", format: "date-time", description: "ISO timestamp of upload completion" },
1510
- storage_path: { type: "string", description: "Full storage path: workspace_id/form_id/node_id/uuid.ext" }
1513
+ storage_path: { type: "string", description: "Full storage path: workspace_id/form_id/node_id/uuid.ext" },
1514
+ width: { type: "number", description: "Displayed pixel width (EXIF applied), when the browser could read it (#5125)" },
1515
+ height: { type: "number", description: "Displayed pixel height (EXIF applied), when the browser could read it (#5125)" },
1516
+ duration: { type: "number", description: "Duration in seconds for video and audio files, when readable (#5125)" }
1511
1517
  }
1512
1518
  },
1513
1519
  minItems: 1,
@@ -1559,11 +1565,15 @@ var NODE_TYPES = {
1559
1565
  // An image, not a flat value - a notification renders a typed placeholder (#4154).
1560
1566
  notify_inline: false,
1561
1567
  owner_scoped_config_keys: [],
1568
+ // Per-type node_media presentation default for a NEW placement (attach /
1569
+ // upload routes apply it). The reference image is shown whole, not cropped
1570
+ // (#5076); the viewer reads node_media.fit_media like every other media node.
1571
+ media_defaults: { fit_media: true },
1562
1572
  default_config: {
1563
1573
  paper_color: "#FAF9F6",
1564
1574
  stroke_colors: ["#1F2937", "#EF4444", "#3B82F6", "#22C55E", "#FACC15"],
1565
1575
  stroke_widths: [3, 6, 12],
1566
- background: { fit: "contain", opacity: 1 }
1576
+ diagram: { opacity: 1, scale: 1 }
1567
1577
  },
1568
1578
  // Named one-click setups shown as extra rows in the dashboard node picker
1569
1579
  // (#5060). Same node type (no new id, no migration): a preset only overlays
@@ -1575,7 +1585,7 @@ var NODE_TYPES = {
1575
1585
  id: "markup",
1576
1586
  label: "Mark up",
1577
1587
  icon: "Highlighter",
1578
- description: "Respondents mark a spot on a template image - one red pen, undo and clear",
1588
+ description: "Respondents mark a spot on a diagram or image - one red pen, undo and clear",
1579
1589
  config: { stroke_colors: ["#EF4444"], stroke_widths: [6] },
1580
1590
  open_media_picker: true
1581
1591
  }
@@ -1585,13 +1595,26 @@ var NODE_TYPES = {
1585
1595
  properties: {
1586
1596
  title: { type: "string", label: "Heading", maxLength: 80, description: "Heading shown above the drawing canvas" },
1587
1597
  description: { type: "string", label: "Description", maxLength: 140, description: "Body text shown below the heading" },
1588
- paper_color: { type: "string", label: "Paper colour", default: "#FAF9F6", description: "Canvas background colour (off-white paper by default)" },
1598
+ paper_color: {
1599
+ type: "string",
1600
+ label: "Paper",
1601
+ default: "#FAF9F6",
1602
+ // The builder offers these as single-select chips; any hex set via the API still renders.
1603
+ presets: ["#FAF9F6", "#FFFFFF", "#1E293B"],
1604
+ optionLabels: { "#FAF9F6": "Off-white", "#FFFFFF": "White", "#1E293B": "Chalkboard" },
1605
+ description: "Canvas background colour (off-white paper by default). The first stock pen colour (ink) follows it: white on dark paper."
1606
+ },
1589
1607
  stroke_colors: {
1590
1608
  type: "array",
1591
1609
  items: { type: "string" },
1592
1610
  minItems: 1,
1593
1611
  maxItems: 8,
1594
1612
  label: "Pen colours",
1613
+ // Chip names in the builder (and any picker); unknown values fall back to the hex.
1614
+ // The stock first chip (the one equal to inkFor(paper)) is named `inkLabel` instead, so a
1615
+ // group's chip names stay unique (a white pen on light paper is "White", not "Ink").
1616
+ inkLabel: "Ink",
1617
+ optionLabels: { "#1F2937": "Black", "#FFFFFF": "White", "#EF4444": "Red", "#3B82F6": "Blue", "#22C55E": "Green", "#FACC15": "Yellow" },
1595
1618
  default: ["#1F2937", "#EF4444", "#3B82F6", "#22C55E", "#FACC15"],
1596
1619
  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."
1597
1620
  },
@@ -1600,7 +1623,9 @@ var NODE_TYPES = {
1600
1623
  items: { type: "number", minimum: 1, maximum: 60 },
1601
1624
  minItems: 1,
1602
1625
  maxItems: 5,
1603
- label: "Pen thicknesses",
1626
+ label: "Pen thickness",
1627
+ // Keyed by width in px; unknown widths fall back to `${w}px`.
1628
+ optionLabels: { 3: "Thin", 6: "Medium", 12: "Thick" },
1604
1629
  default: [3, 6, 12],
1605
1630
  description: "Stroke widths (px) the respondent can choose. The middle entry is the default selection; a single entry locks the pen to that width and hides the picker."
1606
1631
  },
@@ -1608,13 +1633,14 @@ var NODE_TYPES = {
1608
1633
  // via the same media_asset/create-media.ts pipeline every other
1609
1634
  // supports_media node uses) - not a config field, to avoid a
1610
1635
  // duplicated asset ref. This only tunes its display/bake.
1611
- background: {
1636
+ diagram: {
1612
1637
  type: "object",
1613
- label: "Background image",
1614
- description: "Display settings for the optional reference image behind the drawing canvas",
1638
+ label: "Diagram",
1639
+ description: "Display settings for the optional diagram the respondent draws on (a body, vehicle or your own image)",
1615
1640
  properties: {
1616
- fit: { type: "string", enum: ["cover", "contain"], default: "contain", label: "Fit", description: "contain letterboxes the image, cover crops it to fill the canvas" },
1617
- opacity: { type: "number", minimum: 0, maximum: 1, default: 1, label: "Opacity", description: "Background image opacity, from 0 (invisible) to 1 (fully opaque)" }
1641
+ // Fit + position live on the node_media placement (fit_media / position_x), shared with every media node.
1642
+ opacity: { type: "number", minimum: 0, maximum: 1, default: 1, label: "Opacity", description: "Diagram opacity, from 0 (invisible) to 1 (fully opaque)" },
1643
+ scale: { type: "number", minimum: 0.5, maximum: 1, default: 1, label: "Size", description: "Diagram size as a fraction of its fitted size. Applies only when the diagram is fitted (fit_media true)." }
1618
1644
  }
1619
1645
  },
1620
1646
  // Optional match-to-shape game (#2148). Absent entirely by default
@@ -1683,7 +1709,9 @@ var NODE_TYPES = {
1683
1709
  properties: {
1684
1710
  type: { enum: ["image"], type: "string", description: 'Always "image" for a sketch' },
1685
1711
  storage_path: { type: "string", description: "Path in the media-responses bucket: bucket/workspace_id/.../uuid.png" },
1686
- mime_type: { type: "string", description: "Image MIME type (image/png)" }
1712
+ mime_type: { type: "string", description: "Image MIME type (image/png)" },
1713
+ width: { type: "number", description: "Exported sketch width in pixels (#5125)" },
1714
+ height: { type: "number", description: "Exported sketch height in pixels (#5125)" }
1687
1715
  },
1688
1716
  description: "The exported sketch, stored as a single image in media-responses"
1689
1717
  },
@@ -1847,7 +1875,10 @@ var NODE_TYPES = {
1847
1875
  size: { type: "integer", minimum: 1, description: "File size in bytes" },
1848
1876
  mime_type: { type: "string", description: "File MIME type (image/* or video/*)" },
1849
1877
  uploaded_at: { type: "string", format: "date-time", description: "ISO timestamp of upload completion" },
1850
- storage_path: { type: "string", description: "Bucket-prefixed storage path: respondent-captures/workspace_id/form_id/session_id/uuid.ext" }
1878
+ storage_path: { type: "string", description: "Bucket-prefixed storage path: respondent-captures/workspace_id/form_id/session_id/uuid.ext" },
1879
+ width: { type: "number", description: "Displayed pixel width, when the browser could read it (#5125)" },
1880
+ height: { type: "number", description: "Displayed pixel height, when the browser could read it (#5125)" },
1881
+ duration: { type: "number", description: "Video duration in seconds, when readable (#5125)" }
1851
1882
  }
1852
1883
  },
1853
1884
  minItems: 1,
@@ -3445,4 +3476,4 @@ export {
3445
3476
  textResult,
3446
3477
  structuredResult
3447
3478
  };
3448
- //# sourceMappingURL=chunk-Z33U4XX7.js.map
3479
+ //# sourceMappingURL=chunk-UMO47NOJ.js.map