@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/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
- return { metadata, previewJpegBase64 };
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}`);
@@ -5190,7 +5192,7 @@ function registerSketchTools(server, state) {
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
5194
  model: import_zod2.z.string().optional().describe("Your AI model identifier (e.g. 'claude-opus-4-6', 'gpt-4o', 'gemini-2.5-pro')"),
5193
- 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)")
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.")
5194
5196
  },
5195
5197
  async (args) => {
5196
5198
  try {
@@ -5203,7 +5205,10 @@ function registerSketchTools(server, state) {
5203
5205
  });
5204
5206
  return {
5205
5207
  content: [
5206
- { type: "text", text: JSON.stringify({ ...result, capture: captureResult.metadata }, null, 2) },
5208
+ { type: "text", text: JSON.stringify({
5209
+ ...result,
5210
+ capture: captureResult.metadata
5211
+ }, null, 2) },
5207
5212
  { type: "image", data: captureResult.previewJpegBase64, mimeType: "image/jpeg" }
5208
5213
  ]
5209
5214
  };
@@ -5770,7 +5775,7 @@ function registerSnapshotTools(server, state) {
5770
5775
  function registerCaptureTools(server, state) {
5771
5776
  server.tool(
5772
5777
  "capture_screenshot",
5773
- "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.",
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.",
5774
5779
  {
5775
5780
  target: import_zod2.z.enum(["selected", "sketch"]).optional().describe("What to capture (default: selected)"),
5776
5781
  sketchId: import_zod2.z.string().optional().describe("Required when target is 'sketch'"),
@@ -5798,7 +5803,7 @@ function registerCaptureTools(server, state) {
5798
5803
  );
5799
5804
  server.tool(
5800
5805
  "capture_batch",
5801
- "Capture screenshots of multiple sketches in parallel. Returns metadata as text + inline JPEG images for visual review.",
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.",
5802
5807
  {
5803
5808
  sketchIds: import_zod2.z.array(import_zod2.z.string()).optional().describe("IDs of sketches to capture (default: all)"),
5804
5809
  width: import_zod2.z.number().optional().describe("Override width for all captures"),