@sudomock/mcp 2.3.0 → 2.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/README.md CHANGED
@@ -48,12 +48,12 @@ Get your API key at [sudomock.com/dashboard/api-keys](https://sudomock.com/dashb
48
48
  | `render_mockup` | Render a mockup with artwork and/or editable text | 1 |
49
49
  | `remove_background` | Get a transparent-PNG cutout through a 7-day signed URL | 25 |
50
50
  | `create_2d_mockup` | Create a 2D mockup and detect printable surfaces automatically | 25 |
51
- | `render_2d_mockup` | Render artwork onto a saved 2D mockup template (no PSD) | 5 |
51
+ | `render_2d_mockup` | Render artwork into a saved print area or full product surface | 5 |
52
52
  | `render_video` | Animate a mockup into an AI video clip (always async) | cost-based (free: 1/lifetime) |
53
53
  | `upload_psd` | Upload a Photoshop PSD/PSB template (sync or async) | 0 |
54
- | `list_2d_mockups` | List your saved SudoAI 2D mockup templates | 0 |
55
- | `get_2d_mockup` | Get one 2D mockup's details + print-area UUIDs | 0 |
56
- | `update_2d_print_areas` | Update a 2D mockup's print-area geometry | 0 |
54
+ | `list_2d_mockups` | List saved 2D templates; use `customizable_only` for shopper-ready items | 0 |
55
+ | `get_2d_mockup` | Get one 2D mockup's saved areas and full product surfaces | 0 |
56
+ | `update_2d_print_areas` | Replace a 2D mockup's print-area geometry | 0 |
57
57
  | `delete_2d_mockup` | Delete a 2D mockup template | 0 |
58
58
  | `get_job` | Check the status of an async job by job_id | 0 |
59
59
  | `wait_for_job` | Poll an async job until it succeeds or fails | 0 |
@@ -61,7 +61,6 @@ Get your API key at [sudomock.com/dashboard/api-keys](https://sudomock.com/dashb
61
61
  | `get_account` | Check plan, credits, and usage | 0 |
62
62
  | `update_mockup` | Rename a mockup template | 0 |
63
63
  | `delete_mockup` | Delete a mockup template | 0 |
64
- | `create_studio_session` | Create an embedded editor session | 0 |
65
64
  | `create_webhook_endpoint` | Register a webhook for async job completion | 0 |
66
65
  | `list_webhook_endpoints` | List your webhook endpoints | 0 |
67
66
  | `update_webhook_endpoint` | Edit or enable/disable a webhook endpoint | 0 |
@@ -78,15 +77,19 @@ Get your API key at [sudomock.com/dashboard/api-keys](https://sudomock.com/dashb
78
77
  immediately (HTTP 202) instead of a final result. (`create_2d_mockup` and
79
78
  `render_2d_mockup` are synchronous by default and return the mockup / render
80
79
  directly.) Poll it with `get_job`, or let `wait_for_job` block until the job
81
- reaches a terminal status and hands back `result_url`, `mockup_uuid`, `model`,
80
+ reaches a terminal status and hands back `result_url`, `mockup_uuid`,
82
81
  `credits_charged`, and `payg` (`{credits, unit_price, cost}` for pay-as-you-go
83
82
  jobs, otherwise `null`).
84
83
 
84
+ For a 2D render, pass exactly one target from `get_2d_mockup`:
85
+ `print_area_uuid` for a saved print area or `surface_uuid` for a full-coverage
86
+ product surface.
87
+
85
88
  ### Background removal
86
89
 
87
- `remove_background` stores a transparent-PNG cutout and returns a signed URL
88
- valid for 7 days. You can pass that URL straight back as `artwork_url` during
89
- that window. To clean artwork inline during a single render instead, pass
90
+ `remove_background` returns a transparent-PNG URL valid for 7 days. You can
91
+ pass that URL straight back as `artwork_url` during that window. To clean
92
+ artwork inline during a single render instead, pass
90
93
  `remove_background: true` to `render_mockup` or `render_2d_mockup`. Either way it
91
94
  costs 25 credits per artwork, refunded automatically if processing fails.
92
95
 
@@ -96,13 +99,19 @@ Register an endpoint with `create_webhook_endpoint` to be notified when async
96
99
  jobs finish. Deliveries are signed with TWO headers: `X-SudoMock-Signature`
97
100
  (a hex HMAC-SHA256 over `${timestamp}.${rawBody}` using the secret returned at
98
101
  creation/rotation) and `X-SudoMock-Timestamp` (unix seconds). Verify in constant
99
- time and reject if `|now - timestamp| > 300s`. The delivery body is
100
- `{event, job_id, kind, status, result_url, error, created_at}`. Event types:
102
+ time and reject if `|now - timestamp| > 300s`.
103
+
104
+ Render, upload, and video job deliveries use
105
+ `{event, job_id, kind, status, result_url, error, created_at}`. The typed 2D
106
+ creation events add `version`, `mockup_id`, `name`, and either `print_areas`
107
+ (`ready`) or `reason` (`rejected`). The typed 2D render events carry
108
+ `mockup_id`, `result_url`, a public `{error_code, message}` failure when
109
+ applicable, and optional `export_format` / `duration_ms`. Event types:
101
110
  `render.succeeded`, `render.failed`, `upload.succeeded`, `video.succeeded`,
102
111
  `video.failed`, `2d_mockup.ready`, `2d_mockup.rejected`, `2d_mockup.failed`,
103
112
  `2d_render.succeeded`, `2d_render.failed`, `webhook.test`.
104
113
 
105
- ## Example Prompts
114
+ ## Example requests
106
115
 
107
116
  - "List my mockup templates"
108
117
  - "Render the t-shirt mockup with this design: https://example.com/logo.png"
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmHpE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAezD;AAED,eAAO,MAAM,qBAAqB,aAAmC,CAAC;AAYtE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGnE;AAMD,QAAA,MAAM,MAAM,WAGV,CAAC;AAinCH,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqHpE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAgBzD;AAED,eAAO,MAAM,qBAAqB,aAAmC,CAAC;AAyatE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGnE;AAMD,QAAA,MAAM,MAAM,WAGV,CAAC;AAqqCH,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -19,7 +19,8 @@ import { z } from "zod";
19
19
  const BASE_URL = "https://api.sudomock.com";
20
20
  const DEFAULT_TIMEOUT = 30_000;
21
21
  const RENDER_TIMEOUT = 120_000;
22
- const USER_AGENT = "SudoMock-MCP/2.3.0 (stdio)";
22
+ const USER_AGENT = "SudoMock-MCP/2.4.0 (stdio)";
23
+ const ENGINE_DETAIL = /gemini|advanced.?model|\bmodel\b|prompt|mask(?:_|-|\b)|segment(?:ation)?(?:_|-|\b)|region.?index|depth|displacement|grid|warp|shading|provider|pipeline|engine|internal|private|storage|bucket|config.?version|setup.?revision|edit.?generation|\bphase\b|state.?machine|(?:internal|processing|workflow).?state/i;
23
24
  function getApiKey() {
24
25
  const key = process.env.SUDOMOCK_API_KEY;
25
26
  if (!key) {
@@ -113,7 +114,8 @@ export function formatJobAccepted(result) {
113
114
  status: r.status ?? "queued",
114
115
  status_url: statusUrl,
115
116
  next_step: "Poll get_job with this job_id, or call wait_for_job to block until it finishes.",
116
- raw: result,
117
+ estimated_credits: r.estimated_credits ?? null,
118
+ outcome_tier: r.outcome_tier ?? null,
117
119
  };
118
120
  return JSON.stringify(summary, null, 2);
119
121
  }
@@ -125,7 +127,384 @@ async function getJob(jobId, timeout = DEFAULT_TIMEOUT) {
125
127
  path: `/api/v1/jobs/${jobId}`,
126
128
  timeout,
127
129
  }));
128
- return result;
130
+ return publicJob(result);
131
+ }
132
+ function publicText(value, fallback = null) {
133
+ if (typeof value !== "string" || !value)
134
+ return fallback;
135
+ return ENGINE_DETAIL.test(value) ? fallback : value;
136
+ }
137
+ function publicCode(value) {
138
+ if (typeof value !== "string" || !value)
139
+ return null;
140
+ return ENGINE_DETAIL.test(value) ? "PROCESSING_FAILED" : value;
141
+ }
142
+ function publicWarnings(value, fallback) {
143
+ return Array.isArray(value)
144
+ ? value.map((warning) => {
145
+ const advisory = (warning ?? {});
146
+ return {
147
+ code: publicCode(advisory.code) ?? "RENDER_WARNING",
148
+ message: publicText(advisory.message, fallback),
149
+ };
150
+ })
151
+ : [];
152
+ }
153
+ function publicJob(result) {
154
+ const job = (result ?? {});
155
+ const nestedError = job.error && typeof job.error === "object"
156
+ ? job.error
157
+ : null;
158
+ const failed = job.status === "failed";
159
+ const payg = job.payg && typeof job.payg === "object"
160
+ ? {
161
+ credits: job.payg.credits ?? null,
162
+ unit_price: job.payg.unit_price ?? null,
163
+ cost: job.payg.cost ?? null,
164
+ }
165
+ : job.payg === null
166
+ ? null
167
+ : undefined;
168
+ return {
169
+ job_id: job.job_id ?? null,
170
+ kind: job.kind ?? null,
171
+ status: job.status ?? null,
172
+ status_url: job.status_url ?? null,
173
+ result_url: job.result_url ?? null,
174
+ mockup_uuid: job.mockup_uuid ?? null,
175
+ error: failed
176
+ ? publicText(nestedError?.message ?? job.error ?? job.message, "Processing failed. Retry or contact support with the job ID.")
177
+ : null,
178
+ error_code: publicCode(nestedError?.error_code ?? job.error_code),
179
+ credits_charged: job.credits_charged ?? null,
180
+ payg,
181
+ created_at: job.created_at ?? null,
182
+ updated_at: job.updated_at ?? null,
183
+ estimated_credits: job.estimated_credits ?? null,
184
+ outcome_tier: job.outcome_tier ?? null,
185
+ duration_seconds: job.duration_seconds ?? null,
186
+ audio: job.audio ?? null,
187
+ mockup_name: job.mockup_name ?? null,
188
+ poster_url: job.poster_url ?? null,
189
+ };
190
+ }
191
+ function publicWebhookDelivery(result) {
192
+ const delivery = (result ?? {});
193
+ return {
194
+ id: delivery.id ?? null,
195
+ endpoint_id: delivery.endpoint_id ?? null,
196
+ job_id: delivery.job_id ?? null,
197
+ event_type: delivery.event_type ?? null,
198
+ status: delivery.status ?? null,
199
+ http_status: delivery.http_status ?? null,
200
+ attempt: delivery.attempt ?? 0,
201
+ last_error: publicText(delivery.last_error, delivery.last_error
202
+ ? "Delivery failed. Retry it or contact support with the delivery ID."
203
+ : null),
204
+ created_at: delivery.created_at ?? null,
205
+ updated_at: delivery.updated_at ?? null,
206
+ };
207
+ }
208
+ function publicRenderResult(result) {
209
+ const envelope = (result ?? {});
210
+ const data = envelope.data && typeof envelope.data === "object"
211
+ ? envelope.data
212
+ : envelope;
213
+ const warnings = publicWarnings(envelope.warnings, "The render completed with an advisory.");
214
+ return {
215
+ success: envelope.success !== false,
216
+ data: {
217
+ print_files: Array.isArray(data.print_files)
218
+ ? data.print_files.map((file) => {
219
+ const value = file;
220
+ return {
221
+ export_path: value.export_path ?? null,
222
+ smart_object_uuid: value.smart_object_uuid ?? null,
223
+ render_uuid: value.render_uuid ?? null,
224
+ };
225
+ })
226
+ : [],
227
+ render_uuid: data.render_uuid ?? null,
228
+ },
229
+ warnings,
230
+ };
231
+ }
232
+ function asRecord(value) {
233
+ return value && typeof value === "object" && !Array.isArray(value)
234
+ ? value
235
+ : {};
236
+ }
237
+ function publicSize(value) {
238
+ const size = asRecord(value);
239
+ return { width: size.width ?? null, height: size.height ?? null };
240
+ }
241
+ function publicPosition(value) {
242
+ const position = asRecord(value);
243
+ return {
244
+ x: position.x ?? null,
245
+ y: position.y ?? null,
246
+ width: position.width ?? null,
247
+ height: position.height ?? null,
248
+ };
249
+ }
250
+ function publicMockupData(value) {
251
+ const mockup = asRecord(value);
252
+ return {
253
+ uuid: mockup.uuid ?? null,
254
+ name: mockup.name ?? null,
255
+ thumbnail: mockup.thumbnail ?? null,
256
+ width: mockup.width ?? null,
257
+ height: mockup.height ?? null,
258
+ smart_objects: Array.isArray(mockup.smart_objects)
259
+ ? mockup.smart_objects.map((item) => {
260
+ const smartObject = asRecord(item);
261
+ return {
262
+ uuid: smartObject.uuid ?? null,
263
+ name: smartObject.name ?? null,
264
+ size: publicSize(smartObject.size),
265
+ position: publicPosition(smartObject.position),
266
+ print_area_presets: Array.isArray(smartObject.print_area_presets)
267
+ ? smartObject.print_area_presets.map((rawPreset) => {
268
+ const preset = asRecord(rawPreset);
269
+ return {
270
+ uuid: preset.uuid ?? null,
271
+ name: preset.name ?? null,
272
+ thumbnails: Array.isArray(preset.thumbnails)
273
+ ? preset.thumbnails.map((rawThumbnail) => {
274
+ const thumbnail = asRecord(rawThumbnail);
275
+ return {
276
+ width: thumbnail.width ?? null,
277
+ url: thumbnail.url ?? null,
278
+ };
279
+ })
280
+ : [],
281
+ size: publicSize(preset.size),
282
+ position: publicPosition(preset.position),
283
+ };
284
+ })
285
+ : [],
286
+ layer_name: smartObject.layer_name ?? null,
287
+ quad: smartObject.quad ?? null,
288
+ blend_mode: smartObject.blend_mode ?? null,
289
+ instance_count: smartObject.instance_count ?? null,
290
+ };
291
+ })
292
+ : [],
293
+ text_layers: Array.isArray(mockup.text_layers)
294
+ ? mockup.text_layers.map((item) => {
295
+ const layer = asRecord(item);
296
+ return {
297
+ uuid: layer.uuid ?? null,
298
+ name: layer.name ?? null,
299
+ text_content: layer.text_content ?? null,
300
+ font_postscript_name: layer.font_postscript_name ?? null,
301
+ font_size: layer.font_size ?? null,
302
+ color: layer.color ?? null,
303
+ font_available: layer.font_available ?? null,
304
+ is_editable: layer.is_editable === true,
305
+ segment_count: layer.segment_count ?? 1,
306
+ segments: Array.isArray(layer.segments)
307
+ ? layer.segments.map((rawSegment) => {
308
+ const segment = asRecord(rawSegment);
309
+ return {
310
+ index: segment.index ?? null,
311
+ text: segment.text ?? null,
312
+ font_postscript_name: segment.font_postscript_name ?? null,
313
+ font_size: segment.font_size ?? null,
314
+ color: segment.color ?? null,
315
+ };
316
+ })
317
+ : layer.segments ?? null,
318
+ visible: layer.visible ?? null,
319
+ has_stroke_effect: layer.has_stroke_effect === true,
320
+ stroke_count: layer.stroke_count ?? 0,
321
+ has_color_overlay: layer.has_color_overlay === true,
322
+ has_clipped_artwork: layer.has_clipped_artwork ?? null,
323
+ suggested_edit_together: layer.suggested_edit_together ?? null,
324
+ };
325
+ })
326
+ : [],
327
+ thumbnails: Array.isArray(mockup.thumbnails)
328
+ ? mockup.thumbnails.map((rawThumbnail) => {
329
+ const thumbnail = asRecord(rawThumbnail);
330
+ return {
331
+ width: thumbnail.width ?? null,
332
+ url: thumbnail.url ?? null,
333
+ };
334
+ })
335
+ : [],
336
+ ...(Array.isArray(mockup.warnings)
337
+ ? {
338
+ warnings: publicWarnings(mockup.warnings, "The mockup completed with an advisory."),
339
+ }
340
+ : {}),
341
+ };
342
+ }
343
+ function publicMockupResult(result) {
344
+ const envelope = asRecord(result);
345
+ return {
346
+ success: envelope.success !== false,
347
+ data: publicMockupData(envelope.data ?? result),
348
+ ...(Array.isArray(envelope.warnings)
349
+ ? {
350
+ warnings: publicWarnings(envelope.warnings, "The mockup completed with an advisory."),
351
+ }
352
+ : {}),
353
+ };
354
+ }
355
+ function publicMockupList(result) {
356
+ const envelope = asRecord(result);
357
+ const rawData = envelope.data;
358
+ const data = asRecord(rawData);
359
+ const mockups = Array.isArray(data.mockups)
360
+ ? data.mockups
361
+ : Array.isArray(rawData)
362
+ ? rawData
363
+ : [];
364
+ return {
365
+ success: envelope.success !== false,
366
+ data: {
367
+ mockups: mockups.map(publicMockupData),
368
+ total: data.total ?? envelope.total ?? mockups.length,
369
+ limit: data.limit ?? envelope.limit ?? mockups.length,
370
+ offset: data.offset ?? envelope.offset ?? 0,
371
+ },
372
+ };
373
+ }
374
+ function publicBackgroundRemoval(result) {
375
+ const envelope = asRecord(result);
376
+ const data = asRecord(envelope.data ?? result);
377
+ return {
378
+ success: envelope.success !== false,
379
+ data: {
380
+ url: data.url ?? null,
381
+ width: data.width ?? null,
382
+ height: data.height ?? null,
383
+ credits_charged: data.credits_charged ?? null,
384
+ },
385
+ };
386
+ }
387
+ function publicPrintArea(value) {
388
+ const area = asRecord(value);
389
+ return {
390
+ print_area_id: area.print_area_id ?? null,
391
+ points: Array.isArray(area.points) ? area.points : [],
392
+ ...(area.sort_order !== undefined ? { sort_order: area.sort_order } : {}),
393
+ ...(area.name !== undefined ? { name: area.name } : {}),
394
+ };
395
+ }
396
+ function publicTwoDMockup(value) {
397
+ const mockup = asRecord(value);
398
+ const areas = Array.isArray(mockup.print_areas)
399
+ ? mockup.print_areas
400
+ : Array.isArray(mockup.quads)
401
+ ? mockup.quads
402
+ : [];
403
+ return {
404
+ mockup_id: mockup.mockup_id ?? null,
405
+ name: mockup.name ?? null,
406
+ status: mockup.status ?? null,
407
+ customizable: mockup.customizable === true,
408
+ thumbnail_url: mockup.thumbnail_url ?? null,
409
+ watermarked_source_url: mockup.watermarked_source_url ?? null,
410
+ source_width: mockup.source_width ?? null,
411
+ source_height: mockup.source_height ?? null,
412
+ print_areas: areas.map(publicPrintArea),
413
+ surfaces: Array.isArray(mockup.surfaces)
414
+ ? mockup.surfaces.map((rawSurface) => {
415
+ const surface = asRecord(rawSurface);
416
+ return {
417
+ surface_uuid: surface.surface_uuid ?? null,
418
+ coverage: surface.coverage ?? null,
419
+ };
420
+ })
421
+ : [],
422
+ version: mockup.version ?? null,
423
+ created_at: mockup.created_at ?? null,
424
+ updated_at: mockup.updated_at ?? null,
425
+ };
426
+ }
427
+ function publicTwoDList(result) {
428
+ const envelope = asRecord(result);
429
+ const rows = Array.isArray(envelope.data) ? envelope.data : [];
430
+ return {
431
+ success: envelope.success !== false,
432
+ data: rows.map(publicTwoDMockup),
433
+ total: envelope.total ?? rows.length,
434
+ limit: envelope.limit ?? rows.length,
435
+ offset: envelope.offset ?? 0,
436
+ };
437
+ }
438
+ function publicTwoDResult(result) {
439
+ const envelope = asRecord(result);
440
+ return {
441
+ success: envelope.success !== false,
442
+ data: publicTwoDMockup(envelope.data ?? result),
443
+ };
444
+ }
445
+ function publicAccount(result) {
446
+ const envelope = asRecord(result);
447
+ const data = asRecord(envelope.data ?? result);
448
+ const account = asRecord(data.account);
449
+ const subscription = asRecord(data.subscription);
450
+ const usage = asRecord(data.usage);
451
+ const apiKey = asRecord(data.api_key);
452
+ return {
453
+ success: envelope.success !== false,
454
+ data: {
455
+ account: {
456
+ uuid: account.uuid ?? null,
457
+ email: account.email ?? null,
458
+ name: account.name ?? null,
459
+ created_at: account.created_at ?? null,
460
+ },
461
+ subscription: {
462
+ plan: subscription.plan ?? null,
463
+ tier: subscription.tier ?? null,
464
+ status: subscription.status ?? null,
465
+ current_period_end: subscription.current_period_end ?? null,
466
+ cancel_at_period_end: subscription.cancel_at_period_end === true,
467
+ billing_channel: subscription.billing_channel ?? null,
468
+ },
469
+ usage: {
470
+ credits_used_this_month: usage.credits_used_this_month ?? null,
471
+ credits_limit: usage.credits_limit ?? null,
472
+ credits_remaining: usage.credits_remaining ?? null,
473
+ billing_period_start: usage.billing_period_start ?? null,
474
+ billing_period_end: usage.billing_period_end ?? null,
475
+ },
476
+ api_key: {
477
+ name: apiKey.name ?? null,
478
+ created_at: apiKey.created_at ?? null,
479
+ last_used_at: apiKey.last_used_at ?? null,
480
+ total_requests: apiKey.total_requests ?? null,
481
+ },
482
+ },
483
+ };
484
+ }
485
+ function publicWebhookEndpoint(result) {
486
+ const envelope = asRecord(result);
487
+ const endpoint = asRecord(envelope.data ?? result);
488
+ return {
489
+ id: endpoint.id ?? null,
490
+ url: endpoint.url ?? null,
491
+ secret: endpoint.secret ?? null,
492
+ description: endpoint.description ?? null,
493
+ event_types: Array.isArray(endpoint.event_types) ? endpoint.event_types : [],
494
+ enabled: endpoint.enabled === true,
495
+ created_at: endpoint.created_at ?? null,
496
+ updated_at: endpoint.updated_at ?? null,
497
+ };
498
+ }
499
+ function publicWebhookAction(result) {
500
+ const envelope = asRecord(result);
501
+ const data = asRecord(envelope.data ?? result);
502
+ return {
503
+ success: envelope.success !== false,
504
+ job_id: data.job_id ?? null,
505
+ delivery_id: data.delivery_id ?? null,
506
+ status: data.status ?? null,
507
+ };
129
508
  }
130
509
  /**
131
510
  * A job is done when its status is terminal. The poll response (GET
@@ -140,7 +519,7 @@ export function isTerminalJob(job) {
140
519
  // ---------------------------------------------------------------------------
141
520
  const server = new McpServer({
142
521
  name: "SudoMock",
143
- version: "2.3.0",
522
+ version: "2.4.0",
144
523
  });
145
524
  // ---------------------------------------------------------------------------
146
525
  // Tool 1: list_mockups
@@ -159,7 +538,12 @@ server.tool("list_mockups", "List your uploaded mockup templates with UUIDs, nam
159
538
  path: "/api/v1/mockups",
160
539
  params: { limit, offset, name, created_after, created_before, sort: sort_by, order: sort_order },
161
540
  });
162
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
541
+ return {
542
+ content: [{
543
+ type: "text",
544
+ text: JSON.stringify(publicMockupList(result), null, 2),
545
+ }],
546
+ };
163
547
  });
164
548
  // ---------------------------------------------------------------------------
165
549
  // Tool 2: get_mockup_details
@@ -171,7 +555,12 @@ server.tool("get_mockup_details", "Get full details of a mockup: smart object UU
171
555
  method: "GET",
172
556
  path: `/api/v1/mockups/${mockup_uuid}`,
173
557
  });
174
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
558
+ return {
559
+ content: [{
560
+ type: "text",
561
+ text: JSON.stringify(publicMockupResult(result), null, 2),
562
+ }],
563
+ };
175
564
  });
176
565
  // ---------------------------------------------------------------------------
177
566
  // Tool 3: update_mockup
@@ -185,7 +574,12 @@ server.tool("update_mockup", "Rename a mockup template.", {
185
574
  path: `/api/v1/mockups/${mockup_uuid}`,
186
575
  body: { name },
187
576
  });
188
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
577
+ return {
578
+ content: [{
579
+ type: "text",
580
+ text: JSON.stringify(publicMockupResult(result), null, 2),
581
+ }],
582
+ };
189
583
  });
190
584
  // ---------------------------------------------------------------------------
191
585
  // Tool 4: delete_mockup
@@ -427,12 +821,19 @@ server.tool("render_mockup", "Render a PSD mockup with artwork, editable text, o
427
821
  if (args.is_async) {
428
822
  return { content: [{ type: "text", text: formatJobAccepted(result) }] };
429
823
  }
430
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
824
+ return {
825
+ content: [
826
+ {
827
+ type: "text",
828
+ text: JSON.stringify(publicRenderResult(result), null, 2),
829
+ },
830
+ ],
831
+ };
431
832
  });
432
833
  // ---------------------------------------------------------------------------
433
834
  // Tool: remove_background
434
835
  // ---------------------------------------------------------------------------
435
- server.tool("remove_background", "Remove the background from any image and store a transparent-PNG cutout with clean, production-ready edges. The returned signed URL is valid for 7 days and can be used as artwork_url during that window. Costs 25 credits per image; credits are refunded automatically if processing fails.", {
836
+ server.tool("remove_background", "Remove the background from any image and return a transparent-PNG cutout with clean, production-ready edges. The returned URL is valid for 7 days and can be used as artwork_url during that window. Costs 25 credits per image; credits are refunded automatically if processing fails.", {
436
837
  image_url: z.string().url().describe("Public URL of the image (PNG/JPG/WebP) to process"),
437
838
  }, async ({ image_url }) => {
438
839
  const result = await apiRequest({
@@ -441,59 +842,35 @@ server.tool("remove_background", "Remove the background from any image and store
441
842
  body: { url: image_url },
442
843
  timeout: RENDER_TIMEOUT,
443
844
  });
444
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
845
+ return {
846
+ content: [{
847
+ type: "text",
848
+ text: JSON.stringify(publicBackgroundRemoval(result), null, 2),
849
+ }],
850
+ };
445
851
  });
446
852
  // ---------------------------------------------------------------------------
447
853
  // Tool: create_2d_mockup
448
854
  // ---------------------------------------------------------------------------
449
- server.tool("create_2d_mockup", "Create a reusable 2D mockup from an image URL or base64 data. Detects printable surfaces automatically and returns the mockup ID and print-area geometry synchronously. Costs 25 credits. If the image is unsuitable, the 25 credits are refunded automatically. Set is_async=true to queue instead and receive a job_id to poll with get_job or wait_for_job. Use the dashboard for visual fine-tuning.", {
450
- source_url: z.string().optional().describe("Public HTTPS URL of the product image. Provide exactly one of source_url or source_base64."),
451
- source_base64: z.string().optional().describe("Raw base64-encoded JPEG, PNG, or WebP bytes. Provide exactly one of source_url or source_base64."),
452
- source_content_type: z.enum(["image/png", "image/jpeg", "image/webp"]).optional().describe("MIME type for source_base64"),
855
+ server.tool("create_2d_mockup", "Create a reusable 2D mockup from a public image URL. Returns the mockup ID and public render targets synchronously. Costs 25 credits. If the image is unsuitable, the 25 credits are refunded automatically. Set is_async=true to queue instead and receive a job_id to poll with get_job or wait_for_job. Use the dashboard for visual fine-tuning.", {
856
+ source_url: z.string().describe("Public HTTPS URL of the product image"),
453
857
  name: z.string().optional().describe("Optional display name for the 2D mockup"),
454
- print_areas: z
455
- .array(z.object({
456
- points: z
457
- .array(z.tuple([z.number(), z.number()]))
458
- .length(4)
459
- .describe("Four [x, y] points in top-left, top-right, bottom-right, bottom-left order"),
460
- name: z.string().optional().describe("Optional display name for this print area"),
461
- }))
462
- .min(1)
463
- .max(8)
464
- .optional()
465
- .describe("Optional seed print areas (1-8 four-point quads). Omit to let printable surfaces be detected automatically."),
858
+ idempotency_key: z.string().min(1).max(255).optional().describe("Optional retry-stable key for this create request"),
466
859
  is_async: z
467
860
  .boolean()
468
861
  .default(false)
469
862
  .describe("Queue creation instead of waiting. When true the API returns 202 with a job_id immediately -- poll with get_job, or call wait_for_job to block until it finishes and returns the mockup. Default false returns the mockup synchronously (201)."),
470
- }, async ({ source_url, source_base64, source_content_type, name, print_areas, is_async }) => {
471
- const hasUrl = Boolean(source_url?.trim());
472
- const hasBase64 = Boolean(source_base64?.trim());
473
- if (hasUrl === hasBase64) {
474
- throw new Error("Provide exactly one of source_url or source_base64.");
475
- }
476
- if (source_content_type && !hasBase64) {
477
- throw new Error("source_content_type requires source_base64.");
478
- }
479
- const body = hasUrl
480
- ? { source_url: source_url.trim() }
481
- : {
482
- source_base64: source_content_type
483
- ? `data:${source_content_type};base64,${source_base64.trim()}`
484
- : source_base64.trim(),
485
- };
863
+ }, async ({ source_url, name, idempotency_key, is_async }) => {
864
+ const body = { source_url: source_url.trim() };
486
865
  if (name)
487
866
  body.name = name;
488
- if (print_areas)
489
- body.print_areas = print_areas;
490
867
  if (is_async)
491
868
  body.is_async = true;
492
869
  const result = (await apiRequest({
493
870
  method: "POST",
494
871
  path: "/api/v1/sudoai/2d-mockups",
495
872
  body,
496
- headers: { "Idempotency-Key": randomUUID() },
873
+ headers: { "Idempotency-Key": idempotency_key ?? randomUUID() },
497
874
  }));
498
875
  // is_async=true -> 202 + job_id; hand back the poll contract.
499
876
  if (is_async) {
@@ -507,30 +884,39 @@ server.tool("create_2d_mockup", "Create a reusable 2D mockup from an image URL o
507
884
  mockup_id: details.mockup_id ?? null,
508
885
  name: details.name ?? null,
509
886
  status: details.status ?? "ready",
887
+ customizable: details.customizable === true,
510
888
  source_width: details.source_width ?? null,
511
889
  source_height: details.source_height ?? null,
512
- print_areas: Array.isArray(details.quads)
890
+ print_areas: (Array.isArray(details.quads)
513
891
  ? details.quads
514
892
  : Array.isArray(details.print_areas)
515
893
  ? details.print_areas
516
- : [],
894
+ : []).map(publicPrintArea),
895
+ surfaces: Array.isArray(details.surfaces)
896
+ ? details.surfaces.map((surface) => {
897
+ const value = surface;
898
+ return {
899
+ surface_uuid: value.surface_uuid,
900
+ coverage: value.coverage,
901
+ };
902
+ })
903
+ : [],
517
904
  };
518
905
  return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
519
906
  });
520
907
  // ---------------------------------------------------------------------------
521
908
  // Tool 6: render_2d_mockup
522
909
  // ---------------------------------------------------------------------------
523
- server.tool("render_2d_mockup", "Render artwork onto a saved 2D mockup template. Returns print_files (each with an export_path) and a render_uuid. Costs 5 credits. Create a template with create_2d_mockup or choose one with list_2d_mockups, then use get_2d_mockup to choose a print area. Use the dashboard for visual fine-tuning.", {
910
+ server.tool("render_2d_mockup", "Render artwork onto a saved 2D mockup template. Returns print_files (each with an export_path) and a render_uuid. Costs 5 credits. Use get_2d_mockup, then pass exactly one print_area_uuid or surface_uuid. Use the dashboard for visual fine-tuning.", {
524
911
  mockup_uuid: z.string().describe("UUID of the 2D mockup template (from list_2d_mockups, returned as mockup_id)."),
525
- print_area_uuid: z.string().describe("UUID of the print area to render into (from get_2d_mockup, returned as print_areas[].print_area_id)."),
912
+ print_area_uuid: z.string().optional().describe("UUID of a saved print area from get_2d_mockup. Omit when surface_uuid is used."),
913
+ surface_uuid: z.string().optional().describe("UUID of a full-coverage product surface from get_2d_mockup. Omit when print_area_uuid is used."),
526
914
  artwork_url: z.string().describe("Public URL of the artwork image (PNG/JPG/WebP) to place on the mockup"),
527
915
  remove_background: z.boolean().default(false).describe("Remove the artwork's background before placing it. Adds 25 credits per artwork."),
528
- blend_mode: z.string().default("multiply").describe("Blend mode for artwork over the product surface: 'multiply' (fabric texture, default) or 'normal' (no texture). Free-form string -- other Photoshop blend modes the API supports are accepted too."),
529
916
  opacity: z.number().min(0).max(100).default(100).describe("Artwork opacity percentage (0-100)"),
530
917
  brightness: z.number().min(-150).max(150).default(0).describe("Brightness adjustment (-150 to 150)"),
531
918
  contrast: z.number().min(-100).max(100).default(0).describe("Contrast adjustment (-100 to 100)"),
532
919
  saturation: z.number().min(-100).max(100).default(0).describe("Saturation adjustment (-100 to 100)"),
533
- warp_strength: z.number().min(0).max(2).default(1.5).describe("Warp strength for fabric curvature (0.0-2.0, 0=disabled, default 1.5). Higher = artwork conforms more closely to the surface."),
534
920
  rotation: z.number().min(-360).max(360).default(0).describe("Rotate artwork in degrees (-360 to 360)"),
535
921
  position: z
536
922
  .enum([
@@ -546,8 +932,20 @@ server.tool("render_2d_mockup", "Render artwork onto a saved 2D mockup template.
546
932
  ])
547
933
  .default("center")
548
934
  .describe("Placement within the print area (default 'center')"),
549
- coverage: z.number().min(10).max(100).default(70).describe("Percentage of the print area to cover (10-100, default 70)"),
935
+ coverage: z.number().min(10).max(100).default(70).describe("Percentage of the print area to cover (10-100, default 70). Ignored when width and height are given."),
550
936
  fit: z.enum(["contain", "fill", "cover"]).default("contain").describe("How artwork fits the print area - 'contain' (fit inside, default), 'fill' (stretch), 'cover' (fill and crop)"),
937
+ width: z
938
+ .number()
939
+ .min(1)
940
+ .max(30000)
941
+ .optional()
942
+ .describe("Artwork width in print-area pixels. Send together with height; the pair overrides coverage and fit. Width and height are independent, so any aspect ratio is allowed - stretching on one axis only is a supported placement."),
943
+ height: z
944
+ .number()
945
+ .min(1)
946
+ .max(30000)
947
+ .optional()
948
+ .describe("Artwork height in print-area pixels. Send together with width. Sending only one of the two is rejected rather than silently completed, so the aspect ratio is never guessed for you."),
551
949
  image_format: z.enum(["webp", "png", "jpg"]).default("webp").describe("Output format - 'webp' (smaller, recommended), 'png' (lossless), 'jpg'"),
552
950
  image_size: z.number().min(100).max(10000).default(2048).describe("Output width in pixels (100-10000, default 2048)"),
553
951
  quality: z.number().min(1).max(100).default(90).describe("Compression quality for webp/jpg (1-100, default 90)"),
@@ -556,25 +954,34 @@ server.tool("render_2d_mockup", "Render artwork onto a saved 2D mockup template.
556
954
  .default(false)
557
955
  .describe("Queue the render instead of waiting. When true the API returns 202 with a job_id immediately -- poll with get_job, or call wait_for_job to block until it finishes and hands back result_url. Default false returns print_files + render_uuid synchronously (200). Use for long renders or when running many in parallel."),
558
956
  }, async (args) => {
957
+ if ((args.print_area_uuid === undefined) === (args.surface_uuid === undefined)) {
958
+ throw new Error("Provide exactly one of print_area_uuid or surface_uuid");
959
+ }
559
960
  const body = {
560
961
  print_areas: [
561
962
  {
562
- uuid: args.print_area_uuid,
963
+ ...(args.print_area_uuid
964
+ ? { uuid: args.print_area_uuid }
965
+ : { surface_uuid: args.surface_uuid }),
563
966
  artwork_url: args.artwork_url,
564
967
  ...(args.remove_background ? { remove_background: true } : {}),
565
968
  adjustments: {
566
- blend_mode: args.blend_mode,
567
969
  opacity: args.opacity,
568
970
  brightness: args.brightness,
569
971
  contrast: args.contrast,
570
972
  saturation: args.saturation,
571
- warp_strength: args.warp_strength,
572
973
  },
573
974
  placement: {
574
975
  position: args.position,
575
976
  coverage: args.coverage,
576
977
  fit: args.fit,
577
978
  rotation: args.rotation,
979
+ // Forwarded like every sibling field, half a pair included. The API
980
+ // owns the both-or-neither rule and answers 422; a second copy of it
981
+ // here could drift from the first, and dropping the half silently
982
+ // rendered a size the caller never asked for with no error to notice.
983
+ width: args.width,
984
+ height: args.height,
578
985
  },
579
986
  },
580
987
  ],
@@ -619,43 +1026,41 @@ server.tool("render_2d_mockup", "Render artwork onto a saved 2D mockup template.
619
1026
  server.tool("list_2d_mockups", "List your saved SudoAI 2D mockup templates (no PSD). Returns each mockup's mockup_id, name, status, thumbnail, dimensions, and print_areas. Use the mockup_id with get_2d_mockup (to read print_area UUIDs) or render_2d_mockup. Costs 0 credits.", {
620
1027
  limit: z.number().min(1).max(100).default(20).describe("Results per page (1-100, default 20)"),
621
1028
  offset: z.number().min(0).default(0).describe("Pagination offset (default 0)"),
622
- }, async ({ limit, offset }) => {
1029
+ customizable_only: z.boolean().default(false).describe("Return only mockups ready for shopper customization"),
1030
+ }, async ({ limit, offset, customizable_only }) => {
623
1031
  const result = await apiRequest({
624
1032
  method: "GET",
625
1033
  path: "/api/v1/sudoai/2d-mockups",
626
- params: { limit, offset },
1034
+ params: { limit, offset, customizable_only },
627
1035
  });
628
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1036
+ return {
1037
+ content: [{
1038
+ type: "text",
1039
+ text: JSON.stringify(publicTwoDList(result), null, 2),
1040
+ }],
1041
+ };
629
1042
  });
630
1043
  // ---------------------------------------------------------------------------
631
1044
  // Tool: get_2d_mockup
632
1045
  // ---------------------------------------------------------------------------
633
- server.tool("get_2d_mockup", "Get one SudoAI 2D mockup's full details: status, thumbnail, source dimensions, and print_areas[] (each with print_area_id). Use a print_areas[].print_area_id as the print_area_uuid for render_2d_mockup. Costs 0 credits.", {
1046
+ server.tool("get_2d_mockup", "Get one SudoAI 2D mockup's full details, including saved print_areas[] and full-coverage surfaces[]. Use a print_area_id as print_area_uuid, or a surfaces[].surface_uuid as surface_uuid, for render_2d_mockup. Costs 0 credits.", {
634
1047
  mockup_id: z.string().describe("UUID of the 2D mockup (mockup_id from list_2d_mockups)"),
635
1048
  }, async ({ mockup_id }) => {
636
- const result = (await apiRequest({
1049
+ const result = await apiRequest({
637
1050
  method: "GET",
638
1051
  path: `/api/v1/sudoai/2d-mockups/${mockup_id}`,
639
- }));
640
- const details = result.data && typeof result.data === "object"
641
- ? result.data
642
- : result;
643
- const { quads, ...rest } = details;
644
- const normalized = {
645
- ...rest,
646
- print_areas: Array.isArray(quads)
647
- ? quads
648
- : Array.isArray(rest.print_areas)
649
- ? rest.print_areas
650
- : [],
1052
+ });
1053
+ return {
1054
+ content: [{
1055
+ type: "text",
1056
+ text: JSON.stringify(publicTwoDResult(result), null, 2),
1057
+ }],
651
1058
  };
652
- const output = details === result ? normalized : { ...result, data: normalized };
653
- return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
654
1059
  });
655
1060
  // ---------------------------------------------------------------------------
656
1061
  // Tool: update_2d_print_areas
657
1062
  // ---------------------------------------------------------------------------
658
- server.tool("update_2d_print_areas", "Replace a 2D mockup's print areas with 1 to 8 four-point quads and return the updated geometry. Costs 0 credits. Use the dashboard for visual fine-tuning.", {
1063
+ server.tool("update_2d_print_areas", "Replace a 2D mockup's print areas with up to 8 four-point quads and return the updated geometry. An empty list is accepted only for verified full product surfaces. Costs 0 credits.", {
659
1064
  mockup_id: z.string().describe("UUID of the 2D mockup to update"),
660
1065
  print_areas: z
661
1066
  .array(z.object({
@@ -665,16 +1070,27 @@ server.tool("update_2d_print_areas", "Replace a 2D mockup's print areas with 1 t
665
1070
  .describe("Four [x, y] points in top-left, top-right, bottom-right, bottom-left order"),
666
1071
  name: z.string().optional().describe("Optional display name for this print area"),
667
1072
  }))
668
- .min(1)
1073
+ .min(0)
669
1074
  .max(8)
670
- .describe("Replacement print areas (1-8 four-point quads, each with an optional name)"),
1075
+ .describe("Replacement print areas (0-8 four-point quads, each with an optional name)"),
671
1076
  }, async ({ mockup_id, print_areas }) => {
672
1077
  const result = await apiRequest({
673
1078
  method: "PUT",
674
1079
  path: `/api/v1/sudoai/2d-mockups/${mockup_id}/print-areas`,
675
1080
  body: { print_areas },
676
1081
  });
677
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1082
+ const envelope = asRecord(result);
1083
+ const data = asRecord(envelope.data ?? result);
1084
+ const output = {
1085
+ success: envelope.success !== false,
1086
+ data: {
1087
+ mockup_id: data.mockup_id ?? mockup_id,
1088
+ print_areas: Array.isArray(data.print_areas)
1089
+ ? data.print_areas.map(publicPrintArea)
1090
+ : [],
1091
+ },
1092
+ };
1093
+ return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
678
1094
  });
679
1095
  // ---------------------------------------------------------------------------
680
1096
  // Tool: delete_2d_mockup
@@ -686,7 +1102,16 @@ server.tool("delete_2d_mockup", "Permanently delete a SudoAI 2D mockup template
686
1102
  method: "DELETE",
687
1103
  path: `/api/v1/sudoai/2d-mockups/${mockup_id}`,
688
1104
  });
689
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1105
+ const envelope = asRecord(result);
1106
+ const data = asRecord(envelope.data ?? result);
1107
+ const output = {
1108
+ success: envelope.success !== false,
1109
+ data: {
1110
+ mockup_id,
1111
+ deleted: data.deleted !== false,
1112
+ },
1113
+ };
1114
+ return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
690
1115
  });
691
1116
  // ---------------------------------------------------------------------------
692
1117
  // Tool 7: upload_psd
@@ -713,7 +1138,12 @@ server.tool("upload_psd", "Upload a Photoshop PSD/PSB file as a new mockup templ
713
1138
  if (is_async) {
714
1139
  return { content: [{ type: "text", text: formatJobAccepted(result) }] };
715
1140
  }
716
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1141
+ return {
1142
+ content: [{
1143
+ type: "text",
1144
+ text: JSON.stringify(publicMockupResult(result), null, 2),
1145
+ }],
1146
+ };
717
1147
  });
718
1148
  // ---------------------------------------------------------------------------
719
1149
  // Tool: get_job
@@ -733,12 +1163,16 @@ server.tool("list_jobs", "List your async jobs, including PSD renders, videos, u
733
1163
  limit: z.number().int().min(1).max(50).default(20).describe("Max jobs per page (1-50, default 20)"),
734
1164
  cursor: z.string().optional().describe("Opaque keyset cursor from a prior page's next_cursor"),
735
1165
  }, async ({ kind, mockup_uuid, limit, cursor }) => {
736
- const result = await apiRequest({
1166
+ const result = (await apiRequest({
737
1167
  method: "GET",
738
1168
  path: "/api/v1/jobs",
739
1169
  params: { kind, mockup_uuid, limit, cursor },
740
- });
741
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1170
+ }));
1171
+ const output = {
1172
+ jobs: Array.isArray(result.jobs) ? result.jobs.map(publicJob) : [],
1173
+ next_cursor: result.next_cursor ?? null,
1174
+ };
1175
+ return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
742
1176
  });
743
1177
  // ---------------------------------------------------------------------------
744
1178
  // Tool: wait_for_job
@@ -780,7 +1214,7 @@ server.tool("wait_for_job", "Poll any async render, video, upload, or 2D job unt
780
1214
  // ---------------------------------------------------------------------------
781
1215
  // Tool: render_video
782
1216
  // ---------------------------------------------------------------------------
783
- server.tool("render_video", "Create a short AI video from either a mockup with artwork or a public image URL. Supply exactly one input mode. Always async: returns a job_id immediately for get_job or wait_for_job. Credit cost depends on clip length, audio, and the selected quality option. Supported durations vary by quality option; unsupported values are rejected.", {
1217
+ server.tool("render_video", "Create a short AI video from either a mockup with artwork or a public image URL. Supply exactly one input mode. Always async: returns a job_id immediately for get_job or wait_for_job. Credit cost depends on clip length, audio, and the automatically selected quality. Unsupported durations are rejected.", {
784
1218
  mockup_uuid: z.string().optional().describe("RENDER MODE: UUID of the mockup to animate (from list_mockups or upload_psd). Required in render mode. In raw-image mode it is an optional association (groups the clip under that mockup's 'Past clips')."),
785
1219
  smart_object_uuid: z.string().optional().describe("RENDER MODE: UUID of the smart object layer to place artwork on (from get_mockup_details). Required in render mode; omit in raw-image mode."),
786
1220
  artwork_url: z.string().optional().describe("RENDER MODE: public URL of the artwork image (PNG/JPG/WebP) to place on the mockup before animating. Provide this OR artwork_base64. Omit in raw-image mode."),
@@ -797,20 +1231,16 @@ server.tool("render_video", "Create a short AI video from either a mockup with a
797
1231
  .int()
798
1232
  .min(1)
799
1233
  .max(15)
800
- .default(5)
801
- .describe("Clip length in seconds. Available durations depend on the selected quality option; unsupported values are rejected. The 1-15 range is broad validation, not a guarantee of support. Longer clips cost more credits."),
1234
+ .default(4)
1235
+ .describe("Clip length in seconds. Unsupported values are rejected. Longer clips cost more credits."),
802
1236
  audio: z
803
1237
  .boolean()
804
1238
  .default(false)
805
- .describe("Generate audio. Default off; enabling it may cost more credits depending on the selected quality option."),
1239
+ .describe("Generate audio. Default off; enabling it may cost more credits."),
806
1240
  motion: z
807
1241
  .enum(["ambient", "showcase"])
808
1242
  .default("ambient")
809
1243
  .describe("'ambient' = subtle looping hero motion that keeps the print readable; 'showcase' = one deliberate camera/product move."),
810
- advanced_model: z
811
- .string()
812
- .optional()
813
- .describe("Optional advanced quality profile identifier. Unknown or unavailable identifiers are rejected. Omit for automatic selection (recommended)."),
814
1244
  image_format: z.enum(["webp", "png", "jpg"]).default("webp").describe("Output format of the still input frame"),
815
1245
  image_size: z.number().min(100).max(10000).default(2048).describe("Width in pixels of the still input frame (default 2048)"),
816
1246
  quality: z.number().min(1).max(100).default(90).describe("Compression quality for the still input frame (webp/jpg, default 90)"),
@@ -824,9 +1254,6 @@ server.tool("render_video", "Create a short AI video from either a mockup with a
824
1254
  audio: args.audio,
825
1255
  motion: args.motion,
826
1256
  };
827
- if (args.advanced_model) {
828
- video.advanced_model = args.advanced_model;
829
- }
830
1257
  const body = {
831
1258
  export_options: {
832
1259
  image_format: args.image_format,
@@ -881,34 +1308,12 @@ server.tool("get_account", "Get your account info: subscription plan, credit bal
881
1308
  method: "GET",
882
1309
  path: "/api/v1/me",
883
1310
  });
884
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
885
- });
886
- // ---------------------------------------------------------------------------
887
- // Tool 9: create_studio_session
888
- // ---------------------------------------------------------------------------
889
- server.tool("create_studio_session", "Create an embedded studio session for interactive PSD or 2D mockup editing in a web page. Returns session details for opening the editor. Authenticated with your API key.", {
890
- mockup_uuid: z.string().optional().describe("UUID of an existing mockup. Optional for 2D setup and full-session flows."),
891
- mockup_type: z.enum(["psd", "2d"]).default("psd").describe("Mockup type. PSD sessions support customize; 2D sessions support customize, setup, and full flows."),
892
- session_kind: z
893
- .enum(["customize", "2d-setup", "2d-full"])
894
- .default("customize")
895
- .describe("Session purpose. customize requires an existing mockup; 2d-setup and 2d-full may start without one."),
896
- product_id: z.string().optional().describe("Platform product ID. Required for 2d-full sessions."),
897
- allowed_origin: z.string().optional().describe("Web page origin allowed to open a 2D session. Required for 2D API-key sessions."),
898
- }, async ({ mockup_uuid, mockup_type, session_kind, product_id, allowed_origin }) => {
899
- const body = { mockup_type, session_kind };
900
- if (mockup_uuid)
901
- body.mockup_uuid = mockup_uuid;
902
- if (product_id)
903
- body.product_id = product_id;
904
- if (allowed_origin)
905
- body.allowed_origin = allowed_origin;
906
- const result = await apiRequest({
907
- method: "POST",
908
- path: "/api/v1/studio/create-session",
909
- body,
910
- });
911
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1311
+ return {
1312
+ content: [{
1313
+ type: "text",
1314
+ text: JSON.stringify(publicAccount(result), null, 2),
1315
+ }],
1316
+ };
912
1317
  });
913
1318
  // ---------------------------------------------------------------------------
914
1319
  // Webhook endpoints
@@ -917,8 +1322,8 @@ server.tool("create_studio_session", "Create an embedded studio session for inte
917
1322
  // Deliveries are signed with TWO headers: "X-SudoMock-Signature: <hex>" (the
918
1323
  // HMAC-SHA256 over `${timestamp}.${rawBody}` with the endpoint's secret) and
919
1324
  // "X-SudoMock-Timestamp: <unix-seconds>". Verify in constant time and reject if
920
- // |now - timestamp| > 300s (User-Agent SudoMock-Webhook/1.0). The delivery body
921
- // is {event, job_id, kind, status, result_url, error, created_at}.
1325
+ // |now - timestamp| > 300s (User-Agent SudoMock-Webhook/1.0). Standard job
1326
+ // events and the typed 2D create/render events have separate documented bodies.
922
1327
  //
923
1328
  // Event types: render.succeeded, render.failed, upload.succeeded,
924
1329
  // video.succeeded, video.failed, 2d_mockup.ready, 2d_mockup.rejected,
@@ -953,14 +1358,20 @@ server.tool("create_webhook_endpoint", "Register a webhook endpoint that SudoMoc
953
1358
  path: "/api/v1/webhook-endpoints",
954
1359
  body,
955
1360
  });
956
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1361
+ return {
1362
+ content: [{
1363
+ type: "text",
1364
+ text: JSON.stringify(publicWebhookEndpoint(result), null, 2),
1365
+ }],
1366
+ };
957
1367
  });
958
1368
  server.tool("list_webhook_endpoints", "List your registered webhook endpoints (id, url, subscribed event_types, enabled state). Secrets are NOT returned here -- only at creation and rotation.", {}, async () => {
959
1369
  const result = await apiRequest({
960
1370
  method: "GET",
961
1371
  path: "/api/v1/webhook-endpoints",
962
1372
  });
963
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1373
+ const output = Array.isArray(result) ? result.map(publicWebhookEndpoint) : [];
1374
+ return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
964
1375
  });
965
1376
  server.tool("update_webhook_endpoint", "Update a webhook endpoint in place: change its url, description, subscribed event_types, or enable/disable it (enabled:false pauses deliveries without losing the signing secret). All fields optional -- only the ones you pass are changed. The secret is NOT rotated or returned here.", {
966
1377
  endpoint_id: z.string().describe("The id of the webhook endpoint to update (from list_webhook_endpoints)"),
@@ -986,7 +1397,12 @@ server.tool("update_webhook_endpoint", "Update a webhook endpoint in place: chan
986
1397
  path: `/api/v1/webhook-endpoints/${endpoint_id}`,
987
1398
  body,
988
1399
  });
989
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1400
+ return {
1401
+ content: [{
1402
+ type: "text",
1403
+ text: JSON.stringify(publicWebhookEndpoint(result), null, 2),
1404
+ }],
1405
+ };
990
1406
  });
991
1407
  server.tool("delete_webhook_endpoint", "Permanently delete a webhook endpoint. SudoMock stops delivering to it. Cannot be undone.", {
992
1408
  endpoint_id: z.string().describe("The id of the webhook endpoint to delete (from list_webhook_endpoints)"),
@@ -1004,7 +1420,12 @@ server.tool("rotate_webhook_secret", "Rotate the signing secret for a webhook en
1004
1420
  method: "POST",
1005
1421
  path: `/api/v1/webhook-endpoints/${endpoint_id}/rotate-secret`,
1006
1422
  });
1007
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1423
+ return {
1424
+ content: [{
1425
+ type: "text",
1426
+ text: JSON.stringify(publicWebhookEndpoint(result), null, 2),
1427
+ }],
1428
+ };
1008
1429
  });
1009
1430
  server.tool("test_webhook_endpoint", "Send a signed webhook.test event to verify endpoint reachability and signature handling. Returns a test job_id; check the result with list_webhook_deliveries.", {
1010
1431
  endpoint_id: z.string().describe("The id of the webhook endpoint to test (from list_webhook_endpoints)"),
@@ -1013,7 +1434,12 @@ server.tool("test_webhook_endpoint", "Send a signed webhook.test event to verify
1013
1434
  method: "POST",
1014
1435
  path: `/api/v1/webhook-endpoints/${endpoint_id}/test`,
1015
1436
  });
1016
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1437
+ return {
1438
+ content: [{
1439
+ type: "text",
1440
+ text: JSON.stringify(publicWebhookAction(result), null, 2),
1441
+ }],
1442
+ };
1017
1443
  });
1018
1444
  server.tool("list_webhook_deliveries", "List delivery attempts for a webhook endpoint (status, event_type, response code, timestamps). Use this to debug failed deliveries before replaying them.", {
1019
1445
  endpoint_id: z.string().describe("The id of the webhook endpoint (from list_webhook_endpoints)"),
@@ -1026,7 +1452,10 @@ server.tool("list_webhook_deliveries", "List delivery attempts for a webhook end
1026
1452
  path: `/api/v1/webhook-endpoints/${endpoint_id}/deliveries`,
1027
1453
  params: { status, event_type, limit },
1028
1454
  });
1029
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1455
+ const output = Array.isArray(result)
1456
+ ? result.map(publicWebhookDelivery)
1457
+ : [];
1458
+ return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
1030
1459
  });
1031
1460
  server.tool("replay_webhook_delivery", "Replay a single webhook delivery while preserving its event identity, e.g. after fixing your endpoint. Get delivery_id from list_webhook_deliveries.", {
1032
1461
  endpoint_id: z.string().describe("The id of the webhook endpoint (from list_webhook_endpoints)"),
@@ -1036,7 +1465,12 @@ server.tool("replay_webhook_delivery", "Replay a single webhook delivery while p
1036
1465
  method: "POST",
1037
1466
  path: `/api/v1/webhook-endpoints/${endpoint_id}/deliveries/${delivery_id}/replay`,
1038
1467
  });
1039
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
1468
+ return {
1469
+ content: [{
1470
+ type: "text",
1471
+ text: JSON.stringify(publicWebhookAction(result), null, 2),
1472
+ }],
1473
+ };
1040
1474
  });
1041
1475
  // ---------------------------------------------------------------------------
1042
1476
  // Start server
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudomock/mcp",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "mcpName": "io.github.sudomock/mcp",
5
5
  "description": "SudoMock MCP server for Claude, Cursor, and VS Code. Generate photorealistic product mockups from Photoshop PSD templates.",
6
6
  "keywords": [