@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 +21 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +565 -131
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
55
|
-
| `get_2d_mockup` | Get one 2D mockup's
|
|
56
|
-
| `update_2d_print_areas` |
|
|
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`,
|
|
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`
|
|
88
|
-
|
|
89
|
-
|
|
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`.
|
|
100
|
-
|
|
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
|
|
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"
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
|
450
|
-
source_url: z.string().
|
|
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
|
-
|
|
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,
|
|
471
|
-
const
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
|
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 =
|
|
1049
|
+
const result = await apiRequest({
|
|
637
1050
|
method: "GET",
|
|
638
1051
|
path: `/api/v1/sudoai/2d-mockups/${mockup_id}`,
|
|
639
|
-
})
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
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
|
|
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(
|
|
1073
|
+
.min(0)
|
|
669
1074
|
.max(8)
|
|
670
|
-
.describe("Replacement print areas (
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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(
|
|
801
|
-
.describe("Clip length in seconds.
|
|
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
|
|
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 {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
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).
|
|
921
|
-
//
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
+
"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": [
|