@genart-dev/mcp-server 0.4.4 → 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 CHANGED
@@ -2891,7 +2891,9 @@ async function captureScreenshot(state, input) {
2891
2891
  previewPath
2892
2892
  });
2893
2893
  const previewJpegBase64 = Buffer.from(multi.inlineJpeg).toString("base64");
2894
- return { metadata, previewJpegBase64 };
2894
+ const previewDataUri = `data:image/jpeg;base64,${previewJpegBase64}`;
2895
+ metadata.previewDataUri = previewDataUri;
2896
+ return { metadata, previewJpegBase64, previewDataUri };
2895
2897
  } catch (e) {
2896
2898
  const msg = e instanceof Error ? e.message : String(e);
2897
2899
  throw new Error(`Renderer error for '${sketchId}': ${msg}`);
@@ -5489,7 +5491,7 @@ function registerSketchTools(server, state) {
5489
5491
  addToWorkspace: import_zod2.z.string().optional().describe("Path to workspace to add sketch to after creation"),
5490
5492
  agent: import_zod2.z.string().optional().describe("Your CLI agent name (e.g. 'claude-code', 'codex-cli', 'gemini-cli', 'opencode', 'kiro')"),
5491
5493
  model: import_zod2.z.string().optional().describe("Your AI model identifier (e.g. 'claude-opus-4-6', 'gpt-4o', 'gemini-2.5-pro')"),
5492
- capture: import_zod2.z.boolean().optional().describe("When true, automatically capture a screenshot after creation and return it inline (avoids a separate capture_screenshot call)")
5494
+ 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.")
5493
5495
  },
5494
5496
  async (args) => {
5495
5497
  try {
@@ -5502,7 +5504,10 @@ function registerSketchTools(server, state) {
5502
5504
  });
5503
5505
  return {
5504
5506
  content: [
5505
- { type: "text", text: JSON.stringify({ ...result, capture: captureResult.metadata }, null, 2) },
5507
+ { type: "text", text: JSON.stringify({
5508
+ ...result,
5509
+ capture: captureResult.metadata
5510
+ }, null, 2) },
5506
5511
  { type: "image", data: captureResult.previewJpegBase64, mimeType: "image/jpeg" }
5507
5512
  ]
5508
5513
  };
@@ -6069,7 +6074,7 @@ function registerSnapshotTools(server, state) {
6069
6074
  function registerCaptureTools(server, state) {
6070
6075
  server.tool(
6071
6076
  "capture_screenshot",
6072
- "Capture a screenshot of a sketch. Returns metadata as text + a small inline JPEG image for visual review. In local mode, writes a full-res PNG to snapshots/<sketchId>-<seed>-preview.png next to the workspace. The savedPreviewTo path in metadata points to the file on disk.",
6077
+ "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.",
6073
6078
  {
6074
6079
  target: import_zod2.z.enum(["selected", "sketch"]).optional().describe("What to capture (default: selected)"),
6075
6080
  sketchId: import_zod2.z.string().optional().describe("Required when target is 'sketch'"),
@@ -6097,7 +6102,7 @@ function registerCaptureTools(server, state) {
6097
6102
  );
6098
6103
  server.tool(
6099
6104
  "capture_batch",
6100
- "Capture screenshots of multiple sketches in parallel. Returns metadata as text + inline JPEG images for visual review.",
6105
+ "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.",
6101
6106
  {
6102
6107
  sketchIds: import_zod2.z.array(import_zod2.z.string()).optional().describe("IDs of sketches to capture (default: all)"),
6103
6108
  width: import_zod2.z.number().optional().describe("Override width for all captures"),