@clipform/mcp-server 1.5.0 → 1.5.1

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,35 +1,16 @@
1
1
  /**
2
- * Verifies that the inlined config constants in the MCP server
3
- * stay in sync with the source of truth in @vid-master/config.
4
- *
5
- * This test runs in CI and will fail if the config package changes
6
- * without the MCP server's inlined copy being updated.
2
+ * Verifies that the MCP server's config re-exports match @vid-master/config.
3
+ * This ensures the re-export path is working correctly.
7
4
  */
8
5
  import { describe, it, expect } from "vitest";
9
- import { ANSWER_TYPES as SOURCE_ANSWER_TYPES, CONTACT_FIELDS as SOURCE_CONTACT_FIELDS, } from "@vid-master/config";
10
- import { ANSWER_TYPES as INLINED_ANSWER_TYPES, CONTACT_FIELDS as INLINED_CONTACT_FIELDS, } from "../lib/config.js";
6
+ import { NODE_TYPES as SOURCE_NODE_TYPES, CONTACT_FIELDS as SOURCE_CONTACT_FIELDS, } from "@vid-master/config";
7
+ import { NODE_TYPES as MCP_NODE_TYPES, CONTACT_FIELDS as MCP_CONTACT_FIELDS, } from "../lib/config.js";
11
8
  describe("config-sync", () => {
12
- it("inlined ANSWER_TYPES match the active types from @vid-master/config", () => {
13
- const sourceActiveTypes = Object.entries(SOURCE_ANSWER_TYPES)
14
- .filter(([, def]) => def.is_active && !def.is_system)
15
- .map(([type]) => type);
16
- const inlinedTypes = Object.keys(INLINED_ANSWER_TYPES);
17
- // Same set of type keys
18
- expect(inlinedTypes.sort()).toEqual(sourceActiveTypes.sort());
19
- // Each inlined type matches the source on the fields the MCP server uses
20
- for (const type of inlinedTypes) {
21
- const source = SOURCE_ANSWER_TYPES[type];
22
- const inlined = INLINED_ANSWER_TYPES[type];
23
- expect(inlined.label).toBe(source.label);
24
- expect(inlined.description).toBe(source.description);
25
- expect(inlined.is_active).toBe(source.is_active);
26
- expect(inlined.is_system).toBe(source.is_system);
27
- expect(inlined.has_options).toBe(source.has_options);
28
- expect(inlined.config_schema).toEqual(source.config_schema);
29
- }
9
+ it("NODE_TYPES re-export matches @vid-master/config", () => {
10
+ expect(MCP_NODE_TYPES).toBe(SOURCE_NODE_TYPES);
30
11
  });
31
- it("inlined CONTACT_FIELDS match @vid-master/config", () => {
32
- expect(INLINED_CONTACT_FIELDS).toEqual(SOURCE_CONTACT_FIELDS);
12
+ it("CONTACT_FIELDS re-export matches @vid-master/config", () => {
13
+ expect(MCP_CONTACT_FIELDS).toBe(SOURCE_CONTACT_FIELDS);
33
14
  });
34
15
  });
35
16
  //# sourceMappingURL=config-sync.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-sync.test.js","sourceRoot":"","sources":["../../src/__tests__/config-sync.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,cAAc,IAAI,qBAAqB,GACxC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,YAAY,IAAI,oBAAoB,EACpC,cAAc,IAAI,sBAAsB,GACzC,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEvD,wBAAwB;QACxB,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9D,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,MAAM,GAAI,mBAA2C,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config-sync.test.js","sourceRoot":"","sources":["../../src/__tests__/config-sync.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,cAAc,IAAI,qBAAqB,GACxC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,cAAc,IAAI,kBAAkB,GACrC,MAAM,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,25 +1,23 @@
1
1
  /**
2
- * Inlined subset of @vid-master/config used by the MCP server.
3
- * Only includes the 6 active, non-system question types and the fields
4
- * the MCP server actually references.
5
- *
6
- * Keep in sync with packages/config/ — verified by config-sync.test.ts.
2
+ * Re-export from @vid-master/config single source of truth.
3
+ * The MCP server uses NODE_TYPES and CONTACT_FIELDS directly.
7
4
  */
8
- export interface AnswerTypeDefinition {
5
+ export { NODE_TYPES, CONTACT_FIELDS } from "@vid-master/config";
6
+ export type NodeTypeDefinition = {
9
7
  label: string;
10
8
  description: string;
11
9
  is_active: boolean;
12
10
  is_system: boolean;
13
11
  has_options: boolean;
12
+ min_options?: number;
13
+ max_options?: number;
14
14
  max_option_length?: number;
15
15
  config_schema: Record<string, unknown> | null;
16
- }
17
- export interface ContactFieldDefinition {
16
+ };
17
+ export type ContactFieldDefinition = {
18
18
  id: string;
19
19
  label: string;
20
20
  type: string;
21
21
  placeholder: string;
22
22
  order: number;
23
- }
24
- export declare const ANSWER_TYPES: Record<string, AnswerTypeDefinition>;
25
- export declare const CONTACT_FIELDS: ContactFieldDefinition[];
23
+ };
@@ -1,339 +1,6 @@
1
1
  /**
2
- * Inlined subset of @vid-master/config used by the MCP server.
3
- * Only includes the 6 active, non-system question types and the fields
4
- * the MCP server actually references.
5
- *
6
- * Keep in sync with packages/config/ — verified by config-sync.test.ts.
2
+ * Re-export from @vid-master/config single source of truth.
3
+ * The MCP server uses NODE_TYPES and CONTACT_FIELDS directly.
7
4
  */
8
- export const ANSWER_TYPES = {
9
- choice: {
10
- label: "Multiple Choice",
11
- description: "Single or multiple choice questions with predefined options",
12
- is_active: true,
13
- is_system: false,
14
- has_options: true,
15
- max_option_length: 36,
16
- config_schema: {
17
- type: "object",
18
- properties: {
19
- choice: {
20
- type: "object",
21
- properties: {
22
- enable_branching: {
23
- type: "boolean",
24
- label: "Enable branching logic",
25
- default: true,
26
- description: "Allow each option to have its own logic path. When disabled, all options share a single jump action.",
27
- },
28
- },
29
- },
30
- selection_mode: {
31
- enum: ["single", "multiple"],
32
- type: "string",
33
- label: "Selection mode",
34
- default: "single",
35
- description: "Allow single or multiple selections",
36
- },
37
- allow_text_response: {
38
- type: "boolean",
39
- label: "Allow text response",
40
- default: false,
41
- description: "Allow free-text response in addition to options (single choice only)",
42
- },
43
- randomise_options: {
44
- type: "boolean",
45
- label: "Randomise options",
46
- default: false,
47
- description: "Show options in random order",
48
- },
49
- show_option_count: {
50
- type: "boolean",
51
- label: "Show option count",
52
- default: false,
53
- description: "Display number of options",
54
- },
55
- content_media_type: {
56
- enum: ["upload", "recorded"],
57
- type: "string",
58
- label: "Content media type",
59
- description: "How the question media was provided",
60
- },
61
- },
62
- },
63
- },
64
- open: {
65
- label: "Open Ended",
66
- description: "Free-form text responses from users",
67
- is_active: true,
68
- is_system: false,
69
- has_options: false,
70
- config_schema: {
71
- type: "object",
72
- properties: {
73
- formats: {
74
- type: "array",
75
- items: {
76
- type: "object",
77
- properties: {
78
- format: {
79
- enum: ["text", "audio", "video"],
80
- type: "string",
81
- },
82
- order: { type: "number" },
83
- },
84
- },
85
- label: "Allowed response formats",
86
- description: "Which formats the user can respond with, in display order",
87
- },
88
- content_media_type: {
89
- enum: ["upload", "recorded"],
90
- type: "string",
91
- label: "Content media type",
92
- description: "How the question media was provided",
93
- },
94
- },
95
- },
96
- },
97
- contact: {
98
- label: "Contact Form",
99
- description: "Collect standardized contact information (name, email, phone, company)",
100
- is_active: true,
101
- is_system: false,
102
- has_options: false,
103
- config_schema: {
104
- type: "object",
105
- properties: {
106
- title: { type: "string" },
107
- fields: {
108
- type: "array",
109
- items: {
110
- type: "object",
111
- required: ["id", "required"],
112
- properties: {
113
- id: { type: "string" },
114
- type: {
115
- enum: ["text", "textarea", "email", "tel", "url"],
116
- type: "string",
117
- },
118
- label: { type: "string" },
119
- order: { type: "number" },
120
- required: { type: "boolean", default: true },
121
- is_custom: { type: "boolean", default: false },
122
- },
123
- },
124
- },
125
- description: { type: "string" },
126
- consent_items: {
127
- type: "array",
128
- items: {
129
- type: "object",
130
- properties: {
131
- id: { type: "string" },
132
- label: { type: "string" },
133
- order: { type: "number" },
134
- required: { type: "boolean" },
135
- },
136
- },
137
- },
138
- },
139
- },
140
- },
141
- binary: {
142
- label: "Binary",
143
- description: "Two-option choice - yes/no, true/false, or this vs that",
144
- is_active: true,
145
- is_system: false,
146
- has_options: true,
147
- max_option_length: 12,
148
- config_schema: {
149
- type: "object",
150
- properties: {
151
- choice: {
152
- type: "object",
153
- properties: {
154
- enable_branching: {
155
- type: "boolean",
156
- label: "Enable branching logic",
157
- default: true,
158
- description: "Allow each option to have its own logic path.",
159
- },
160
- },
161
- },
162
- content_media_type: {
163
- enum: ["upload", "recorded"],
164
- type: "string",
165
- label: "Content media type",
166
- description: "How the question media was provided",
167
- },
168
- },
169
- },
170
- },
171
- button: {
172
- label: "Button",
173
- description: "Simple button for acknowledgment or navigation",
174
- is_active: true,
175
- is_system: false,
176
- has_options: true,
177
- max_option_length: 28,
178
- config_schema: {
179
- type: "object",
180
- properties: {
181
- button_text: {
182
- type: "string",
183
- label: "Button text",
184
- default: "Continue",
185
- },
186
- button_style: {
187
- enum: ["primary", "secondary", "outline"],
188
- type: "string",
189
- label: "Button style",
190
- default: "primary",
191
- },
192
- },
193
- },
194
- },
195
- external_link: {
196
- label: "External Link",
197
- description: "Redirect users to an external URL",
198
- is_active: true,
199
- is_system: false,
200
- has_options: false,
201
- config_schema: {
202
- type: "object",
203
- properties: {
204
- links: {
205
- type: "array",
206
- items: {
207
- type: "object",
208
- required: ["id", "url"],
209
- properties: {
210
- id: { type: "string" },
211
- url: {
212
- type: "string",
213
- label: "URL",
214
- placeholder: "https://example.com",
215
- },
216
- title: { type: "string", label: "Heading" },
217
- description: { type: "string", label: "Description" },
218
- order: { type: "number", label: "Sort order" },
219
- },
220
- },
221
- label: "Links",
222
- minItems: 1,
223
- },
224
- auto_redirect: {
225
- type: "boolean",
226
- label: "Auto-redirect",
227
- default: false,
228
- description: "Automatically redirect to the URL instead of showing a button",
229
- },
230
- },
231
- },
232
- },
233
- end_screen: {
234
- label: "End Screen",
235
- description: "Final screen shown when form is completed",
236
- is_active: true,
237
- is_system: false,
238
- has_options: false,
239
- config_schema: {
240
- type: "object",
241
- properties: {
242
- title: {
243
- type: "string",
244
- label: "Title",
245
- default: "Thank you!",
246
- description: "Heading shown on completion",
247
- },
248
- message: {
249
- type: "string",
250
- label: "Message",
251
- default: "Your response has been submitted.",
252
- description: "Message shown on completion",
253
- },
254
- show_score: {
255
- type: "boolean",
256
- label: "Show score",
257
- default: false,
258
- description: "Display score on the end screen (e.g. \"You scored 4 out of 5\")",
259
- },
260
- icon: {
261
- type: "string",
262
- label: "Icon",
263
- enum: ["tick", "trophy", "star", "crown", "party", "none"],
264
- default: "tick",
265
- description: "Icon shown above the title",
266
- },
267
- show_share_button: {
268
- type: "boolean",
269
- label: "Show share button",
270
- default: false,
271
- description: "Show a share button above the CTA",
272
- },
273
- cta_type: {
274
- type: "string",
275
- label: "CTA type",
276
- enum: ["none", "restart", "external_link"],
277
- default: "none",
278
- description: "Primary call-to-action button type",
279
- },
280
- cta_text: {
281
- type: "string",
282
- label: "CTA button text",
283
- default: "Continue",
284
- description: "Button label for the CTA",
285
- },
286
- cta_url: {
287
- type: "string",
288
- label: "CTA URL",
289
- format: "uri",
290
- description: "URL to open (only for external_link CTA type)",
291
- placeholder: "https://example.com",
292
- },
293
- score_ranges: {
294
- type: "array",
295
- label: "Score-based content",
296
- description: "Show different content based on cumulative score. First matching range wins.",
297
- items: {
298
- type: "object",
299
- required: ["min", "max", "title"],
300
- properties: {
301
- min: { type: "integer", label: "Minimum score (inclusive)" },
302
- max: { type: "integer", label: "Maximum score (inclusive)" },
303
- title: { type: "string", label: "Title" },
304
- message: { type: "string", label: "Message" },
305
- },
306
- },
307
- },
308
- scoring_results: {
309
- type: "array",
310
- label: "Category-based results",
311
- description: "Results keyed by scoring category. The winning category (highest non-knocked-out score) determines which result is shown.",
312
- items: {
313
- type: "object",
314
- required: ["category", "title"],
315
- properties: {
316
- category: { type: "string", label: "Category key (must match keys used in option scores)" },
317
- title: { type: "string", label: "Title" },
318
- message: { type: "string", label: "Message" },
319
- cta_url: { type: "string", label: "CTA URL", format: "uri" },
320
- cta_text: { type: "string", label: "CTA button text" },
321
- },
322
- },
323
- },
324
- },
325
- },
326
- },
327
- };
328
- export const CONTACT_FIELDS = [
329
- { id: "first_name", label: "First Name", type: "text", placeholder: "Enter first name", order: 1 },
330
- { id: "last_name", label: "Last Name", type: "text", placeholder: "Enter last name", order: 2 },
331
- { id: "email", label: "Email Address", type: "email", placeholder: "you@example.com", order: 3 },
332
- { id: "phone", label: "Phone Number", type: "tel", placeholder: "(555) 123-4567", order: 4 },
333
- { id: "company", label: "Company", type: "text", placeholder: "Company name", order: 5 },
334
- { id: "job_title", label: "Job Title", type: "text", placeholder: "Your role", order: 6 },
335
- { id: "website", label: "Website", type: "url", placeholder: "https://example.com", order: 7 },
336
- { id: "linkedin", label: "LinkedIn Profile", type: "url", placeholder: "https://linkedin.com/in/username", order: 8 },
337
- { id: "message", label: "Message", type: "textarea", placeholder: "Your message...", order: 9 },
338
- ];
5
+ export { NODE_TYPES, CONTACT_FIELDS } from "@vid-master/config";
339
6
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  export declare const QUESTION_TYPES: [string, ...string[]];
4
4
  /** Contact field IDs derived from the config package */
5
5
  export declare const CONTACT_FIELD_IDS: string[];
6
- /** Per-type description including config hints, auto-generated from ANSWER_TYPES */
6
+ /** Per-type description including config hints, auto-generated from NODE_TYPES */
7
7
  export declare const QUESTION_TYPES_DESCRIPTION: string;
8
8
  /** Aggregate config description for Zod .describe() on the config field */
9
9
  export declare const CONFIG_DESCRIPTION: string;
@@ -41,8 +41,8 @@ export declare const QuestionSchema: z.ZodObject<{
41
41
  }>, "many">>;
42
42
  }, "strip", z.ZodTypeAny, {
43
43
  type: string;
44
- required: boolean;
45
44
  prompt: string;
45
+ required: boolean;
46
46
  options?: {
47
47
  content: string;
48
48
  score?: number | undefined;
@@ -53,12 +53,12 @@ export declare const QuestionSchema: z.ZodObject<{
53
53
  }, {
54
54
  type: string;
55
55
  prompt: string;
56
- required?: boolean | undefined;
57
56
  options?: {
58
57
  content: string;
59
58
  score?: number | undefined;
60
59
  scores?: Record<string, number> | undefined;
61
60
  }[] | undefined;
62
61
  label?: string | undefined;
62
+ required?: boolean | undefined;
63
63
  config?: Record<string, unknown> | undefined;
64
64
  }>;
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
- import { ANSWER_TYPES, CONTACT_FIELDS } from "./config.js";
2
+ import { NODE_TYPES, CONTACT_FIELDS } from "./config.js";
3
3
  // --- Derived constants (zero hardcoded type lists) ---
4
4
  /** Active, non-system question types — the only types the MCP server exposes */
5
- export const QUESTION_TYPES = Object.entries(ANSWER_TYPES)
5
+ export const QUESTION_TYPES = Object.entries(NODE_TYPES)
6
6
  .filter(([, def]) => def.is_active && !def.is_system)
7
7
  .map(([type]) => type); // tuple for z.enum
8
8
  /** Contact field IDs derived from the config package */
@@ -70,11 +70,11 @@ function generateConfigSummary(configSchema, typeKey) {
70
70
  }
71
71
  return parts.length > 0 ? `Config: ${parts.join(", ")}` : "";
72
72
  }
73
- /** Per-type description including config hints, auto-generated from ANSWER_TYPES */
73
+ /** Per-type description including config hints, auto-generated from NODE_TYPES */
74
74
  export const QUESTION_TYPES_DESCRIPTION = (() => {
75
75
  const lines = ["Question types:"];
76
76
  for (const type of QUESTION_TYPES) {
77
- const def = ANSWER_TYPES[type];
77
+ const def = NODE_TYPES[type];
78
78
  let line = `- ${type}: ${def.description || def.label}`;
79
79
  if (def.has_options) {
80
80
  line += " (supports options array)";
@@ -91,7 +91,7 @@ export const QUESTION_TYPES_DESCRIPTION = (() => {
91
91
  export const CONFIG_DESCRIPTION = (() => {
92
92
  const lines = ["Type-specific configuration. Per-type keys:"];
93
93
  for (const type of QUESTION_TYPES) {
94
- const def = ANSWER_TYPES[type];
94
+ const def = NODE_TYPES[type];
95
95
  const summary = generateConfigSummary(def.config_schema, type);
96
96
  if (summary) {
97
97
  lines.push(` ${type}: ${summary}`);
@@ -105,6 +105,24 @@ export const OptionSchema = z.object({
105
105
  score: z.number().optional().describe("Score value for this option (for scored quizzes)"),
106
106
  scores: z.record(z.number()).optional().describe("Category-based scores keyed by category name (for personality/category quizzes)"),
107
107
  });
108
+ /** Build options description from config - which types need options, min counts, max lengths */
109
+ const OPTIONS_DESCRIPTION = (() => {
110
+ const hints = ["Answer options."];
111
+ for (const type of QUESTION_TYPES) {
112
+ const def = NODE_TYPES[type];
113
+ if (!def.has_options)
114
+ continue;
115
+ const parts = [`${type}: required`];
116
+ if (def.min_options !== undefined)
117
+ parts.push(`min ${def.min_options}`);
118
+ if (def.max_options !== undefined)
119
+ parts.push(`max ${def.max_options}`);
120
+ if (def.max_option_length !== undefined)
121
+ parts.push(`content max ${def.max_option_length} chars`);
122
+ hints.push(parts.join(", "));
123
+ }
124
+ return hints.join(" ");
125
+ })();
108
126
  export const QuestionSchema = z.object({
109
127
  type: z.enum(QUESTION_TYPES),
110
128
  prompt: z.string().describe("The question text shown to the respondent"),
@@ -117,6 +135,6 @@ export const QuestionSchema = z.object({
117
135
  options: z
118
136
  .array(OptionSchema)
119
137
  .optional()
120
- .describe("Answer options for choice/button questions"),
138
+ .describe(OPTIONS_DESCRIPTION),
121
139
  });
122
140
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -31,7 +31,7 @@ import { registerPrompts } from "./prompts.js";
31
31
  export function createServer() {
32
32
  const server = new McpServer({
33
33
  name: "clipform-mcp-server",
34
- version: "1.5.0",
34
+ version: "1.5.1",
35
35
  });
36
36
  // Form CRUD
37
37
  registerCreateFormTool(server);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipform/mcp-server",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "MCP server for building and managing Clipform video forms",
5
5
  "license": "MIT",
6
6
  "homepage": "https://clipform.io",