@genart-dev/mcp-server 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +29 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +29 -4
- package/dist/index.js.map +1 -1
- package/dist/lib.cjs +29 -4
- package/dist/lib.cjs.map +1 -1
- package/dist/lib.js +29 -4
- package/dist/lib.js.map +1 -1
- package/package.json +1 -1
package/dist/lib.cjs
CHANGED
|
@@ -2592,7 +2592,9 @@ async function captureScreenshot(state, input) {
|
|
|
2592
2592
|
previewPath
|
|
2593
2593
|
});
|
|
2594
2594
|
const previewJpegBase64 = Buffer.from(multi.inlineJpeg).toString("base64");
|
|
2595
|
-
|
|
2595
|
+
const previewDataUri = `data:image/jpeg;base64,${previewJpegBase64}`;
|
|
2596
|
+
metadata.previewDataUri = previewDataUri;
|
|
2597
|
+
return { metadata, previewJpegBase64, previewDataUri };
|
|
2596
2598
|
} catch (e) {
|
|
2597
2599
|
const msg = e instanceof Error ? e.message : String(e);
|
|
2598
2600
|
throw new Error(`Renderer error for '${sketchId}': ${msg}`);
|
|
@@ -5189,11 +5191,34 @@ function registerSketchTools(server, state) {
|
|
|
5189
5191
|
).optional().describe('Component dependencies. Use list_components to see available. Keys are component names, values are semver ranges (e.g. "^1.0.0") or objects with version/code/exports.'),
|
|
5190
5192
|
addToWorkspace: import_zod2.z.string().optional().describe("Path to workspace to add sketch to after creation"),
|
|
5191
5193
|
agent: import_zod2.z.string().optional().describe("Your CLI agent name (e.g. 'claude-code', 'codex-cli', 'gemini-cli', 'opencode', 'kiro')"),
|
|
5192
|
-
model: import_zod2.z.string().optional().describe("Your AI model identifier (e.g. 'claude-opus-4-6', 'gpt-4o', 'gemini-2.5-pro')")
|
|
5194
|
+
model: import_zod2.z.string().optional().describe("Your AI model identifier (e.g. 'claude-opus-4-6', 'gpt-4o', 'gemini-2.5-pro')"),
|
|
5195
|
+
capture: import_zod2.z.boolean().optional().describe("When true, automatically capture a screenshot after creation. The result includes previewDataUri for rendering. IMPORTANT: When capture is true, you MUST show the preview to the user by creating an HTML artifact with an <img> tag using the previewDataUri from the capture metadata. Include savedPreviewTo as caption for the full-res file.")
|
|
5193
5196
|
},
|
|
5194
5197
|
async (args) => {
|
|
5195
5198
|
try {
|
|
5196
5199
|
const result = await createSketch(state, args);
|
|
5200
|
+
if (args.capture && !state.remoteMode) {
|
|
5201
|
+
try {
|
|
5202
|
+
const captureResult = await captureScreenshot(state, {
|
|
5203
|
+
target: "sketch",
|
|
5204
|
+
sketchId: args.id
|
|
5205
|
+
});
|
|
5206
|
+
return {
|
|
5207
|
+
content: [
|
|
5208
|
+
{ type: "text", text: JSON.stringify({
|
|
5209
|
+
...result,
|
|
5210
|
+
capture: captureResult.metadata
|
|
5211
|
+
}, null, 2) },
|
|
5212
|
+
{ type: "image", data: captureResult.previewJpegBase64, mimeType: "image/jpeg" }
|
|
5213
|
+
]
|
|
5214
|
+
};
|
|
5215
|
+
} catch (captureErr) {
|
|
5216
|
+
return jsonResult({
|
|
5217
|
+
...result,
|
|
5218
|
+
captureError: captureErr instanceof Error ? captureErr.message : String(captureErr)
|
|
5219
|
+
});
|
|
5220
|
+
}
|
|
5221
|
+
}
|
|
5197
5222
|
return jsonResult(result);
|
|
5198
5223
|
} catch (e) {
|
|
5199
5224
|
return toolError(e instanceof Error ? e.message : String(e));
|
|
@@ -5750,7 +5775,7 @@ function registerSnapshotTools(server, state) {
|
|
|
5750
5775
|
function registerCaptureTools(server, state) {
|
|
5751
5776
|
server.tool(
|
|
5752
5777
|
"capture_screenshot",
|
|
5753
|
-
"Capture a screenshot of a sketch. Returns metadata as text + a small inline JPEG image
|
|
5778
|
+
"Capture a screenshot of a sketch. Returns metadata (including previewDataUri) as text + a small inline JPEG image. In local mode, writes a full-res PNG to snapshots/<sketchId>-<seed>-preview.png. IMPORTANT: After every capture, you MUST show the preview to the user by creating an HTML artifact containing an <img> tag using the previewDataUri from the metadata. Include the savedPreviewTo path as a caption so the user can find the full-res file.",
|
|
5754
5779
|
{
|
|
5755
5780
|
target: import_zod2.z.enum(["selected", "sketch"]).optional().describe("What to capture (default: selected)"),
|
|
5756
5781
|
sketchId: import_zod2.z.string().optional().describe("Required when target is 'sketch'"),
|
|
@@ -5778,7 +5803,7 @@ function registerCaptureTools(server, state) {
|
|
|
5778
5803
|
);
|
|
5779
5804
|
server.tool(
|
|
5780
5805
|
"capture_batch",
|
|
5781
|
-
"Capture screenshots of multiple sketches in parallel. Returns metadata
|
|
5806
|
+
"Capture screenshots of multiple sketches in parallel. Returns per-sketch metadata (including previewDataUri) + inline JPEG images. IMPORTANT: After batch capture, you MUST show all previews to the user by creating an HTML artifact with <img> tags using each item's previewDataUri. Include sketch titles and savedPreviewTo paths.",
|
|
5782
5807
|
{
|
|
5783
5808
|
sketchIds: import_zod2.z.array(import_zod2.z.string()).optional().describe("IDs of sketches to capture (default: all)"),
|
|
5784
5809
|
width: import_zod2.z.number().optional().describe("Override width for all captures"),
|