@mp3wizard/figma-console-mcp 1.23.1 → 1.25.1

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.
@@ -79,10 +79,15 @@ const MAX_SCAN_PAGES = 20;
79
79
  const FIGMA_PAGE_SIZE_MAX = 50;
80
80
  // Tool-level cap on max_versions; design brief §4.
81
81
  const MAX_VERSIONS_HARD_CAP = 200;
82
- // ============================================================================
83
- // Tool Registration
84
- // ============================================================================
85
- export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _options, getCurrentSelectedNodeIds) {
82
+ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _options, getCurrentSelectedNodeIds,
83
+ /**
84
+ * v1.25.0: optional metadata-change buffer reader. When wired (local mode),
85
+ * the diff engine consults this to surface description/annotation edits
86
+ * that Figma REST doesn't expose. In cloud mode (no plugin buffer
87
+ * available), this stays undefined and the diff just doesn't surface
88
+ * those edits — but scope_coverage still tells callers about the gap.
89
+ */
90
+ getMetadataChanges) {
86
91
  // Helper: read the current Figma selection as a list of node IDs, or null
87
92
  // if no selection getter is wired (cloud mode) or selection is empty.
88
93
  const readSelection = () => {
@@ -91,6 +96,13 @@ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _option
91
96
  const ids = getCurrentSelectedNodeIds();
92
97
  return ids && ids.length > 0 ? ids : null;
93
98
  };
99
+ // v1.25.0: convert an ISO8601 timestamp to Unix ms. Tolerates missing input.
100
+ const toUnixMs = (iso) => {
101
+ if (!iso)
102
+ return null;
103
+ const t = Date.parse(iso);
104
+ return Number.isFinite(t) ? t : null;
105
+ };
94
106
  // -----------------------------------------------------------------------
95
107
  // Tool: figma_get_file_versions
96
108
  // -----------------------------------------------------------------------
@@ -435,14 +447,80 @@ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _option
435
447
  }
436
448
  const fromMeta = extractFileMeta(fromFile.data, from_version);
437
449
  const toMeta = extractFileMeta(toFile.data, to_version);
450
+ // v1.25.0: query the plugin metadata buffer for description/annotation
451
+ // changes within the diff's time window. The buffer is only populated
452
+ // when the Desktop Bridge plugin was connected during the edit — so
453
+ // edits made offline (or before this MCP session started) won't appear.
454
+ // That limit is surfaced in scope_coverage + notes.
455
+ const fromMs = toUnixMs(fromMeta.last_modified) ?? undefined;
456
+ const toMs = toUnixMs(toMeta.last_modified) ?? Date.now();
457
+ let bufferedMetadata = [];
458
+ let metadataBufferAvailable = false;
459
+ let unscopedMetadataChanges = [];
460
+ if (getMetadataChanges) {
461
+ metadataBufferAvailable = true;
462
+ try {
463
+ bufferedMetadata = getMetadataChanges({
464
+ fileKey,
465
+ since: fromMs,
466
+ until: toMs,
467
+ });
468
+ }
469
+ catch (e) {
470
+ logger.warn({ err: e }, "Metadata buffer lookup failed; continuing without metadata changes");
471
+ bufferedMetadata = [];
472
+ }
473
+ }
474
+ // Attach buffer entries to the scoped node diffs whose id matches.
475
+ // Entries that don't match any scoped id surface separately so the
476
+ // caller can still see "the buffer has 3 description edits on nodes
477
+ // you didn't ask about" instead of dropping them on the floor.
478
+ if (bufferedMetadata.length > 0) {
479
+ const scopedById = new Map(scoped.map((n) => [n.node_id, n]));
480
+ const consumed = new Set();
481
+ for (const entry of bufferedMetadata) {
482
+ const target = scopedById.get(entry.node_id);
483
+ if (target) {
484
+ (target.metadata_changes ??= []).push({
485
+ field: entry.field,
486
+ new_value: entry.new_value,
487
+ timestamp: entry.timestamp,
488
+ source: "plugin_buffer",
489
+ });
490
+ target.change_count += 1;
491
+ consumed.add(entry);
492
+ }
493
+ }
494
+ unscopedMetadataChanges = bufferedMetadata.filter((e) => !consumed.has(e));
495
+ }
438
496
  const notes = [];
439
- if (!component_ids || component_ids.length === 0) {
497
+ const hasScopedNodes = !!(component_ids && component_ids.length > 0);
498
+ if (!hasScopedNodes) {
440
499
  notes.push("Only page-structure diff returned. Pass component_ids to get per-component analysis (added/removed children, property changes, binding changes), or have a node selected in Figma when you call.");
441
500
  }
442
501
  if (usedSelection) {
443
502
  notes.push(`Auto-scoped to ${component_ids?.length ?? 0} node(s) from the current Figma selection. Pass component_ids explicitly to override.`);
444
503
  }
504
+ // Always-on coverage warnings — the failure mode we're guarding against is
505
+ // the user (or an AI client) believing "no changes found" means "nothing
506
+ // changed," when in fact the change is in a category this tool doesn't
507
+ // track. Better to be loud about limits than silently miss real edits.
508
+ if (hasScopedNodes) {
509
+ notes.push("Component-scoped diff covers the canonical components only. INSTANCES of these components placed elsewhere on the canvas (documentation examples, hero frames, mockups) are NOT diffed. For forensic per-session edits including instance changes, use figma_get_design_changes. To diff a specific instance, pass its node ID explicitly.");
510
+ }
511
+ notes.push("Raw layout/visual properties are NOT tracked. This includes layoutSizingHorizontal/Vertical (hug vs. fill), primaryAxisSizingMode/counterAxisSizingMode, raw paddings/widths/cornerRadius when not bound to a variable, and unbound fills/strokes/effects. This tool surfaces structural deltas (children, property defs, name, description) and variable-BINDING deltas only.");
445
512
  notes.push("Variable VALUE history is not retrievable from Figma REST API. Variable definition value changes between these versions are not represented; only binding-reference changes on scoped nodes are detected.");
513
+ // v1.25.0: surface metadata-buffer state. Either "tracked via plugin buffer"
514
+ // (and any limits) or "not tracked at all" (cloud mode / plugin absent).
515
+ if (metadataBufferAvailable) {
516
+ notes.push("Description and annotation changes ARE tracked when the Desktop Bridge plugin was connected during the edit. They appear under each node's metadata_changes[]. Edits made while the plugin was disconnected (or before this MCP session started) WON'T appear in the buffer — the diff will silently miss them.");
517
+ if (bufferedMetadata.length === 0) {
518
+ notes.push("No description or annotation changes were captured by the plugin buffer in this version window. Either no such edits happened, or they occurred while the plugin was disconnected.");
519
+ }
520
+ }
521
+ else {
522
+ notes.push("Description and annotation changes are NOT being tracked — no metadata buffer is wired (typically cloud mode without an active Desktop Bridge connection). For description/annotation visibility, use local mode with the plugin running.");
523
+ }
446
524
  if (fetchErrors.length > 0) {
447
525
  notes.push(`Failed to fetch ${fetchErrors.length} of ${component_ids?.length ?? 0} requested nodes — see _fetch_errors.`);
448
526
  }
@@ -452,7 +530,7 @@ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _option
452
530
  from: fromMeta,
453
531
  to: toMeta,
454
532
  page_structure: pageDiff,
455
- scoped_nodes: component_ids && component_ids.length > 0 ? scoped : undefined,
533
+ scoped_nodes: hasScopedNodes ? scoped : undefined,
456
534
  summary: {
457
535
  page_changes: pageDiff.summary.added + pageDiff.summary.removed + pageDiff.summary.renamed,
458
536
  scoped_nodes_requested: component_ids?.length ?? 0,
@@ -462,6 +540,72 @@ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _option
462
540
  api_calls_made: apiCalls,
463
541
  cache_hits: cacheHits,
464
542
  },
543
+ // scope_coverage is an always-on, machine-readable summary of what the
544
+ // diff DID and DID NOT examine. AI clients should check this before
545
+ // concluding "nothing else changed." See notes[] for prose warnings.
546
+ scope_coverage: {
547
+ page_structure_diffed: true,
548
+ component_ids_diffed: component_ids ?? [],
549
+ max_depth: 2,
550
+ /**
551
+ * v1.25.0: metadata-buffer state. When the plugin is connected
552
+ * during edits, description/annotation changes ARE tracked.
553
+ * `metadata_buffer.available: false` means the diff is REST-only
554
+ * and description/annotation edits are invisible.
555
+ */
556
+ metadata_buffer: {
557
+ available: metadataBufferAvailable,
558
+ entries_in_window: bufferedMetadata.length,
559
+ entries_matched_to_scoped_nodes: bufferedMetadata.length - unscopedMetadataChanges.length,
560
+ entries_outside_scope: unscopedMetadataChanges.length,
561
+ },
562
+ tracks: [
563
+ "page structure (added/removed/renamed pages)",
564
+ "component children (added/removed)",
565
+ "componentPropertyDefinitions (added/removed/type/default)",
566
+ "name and description changes on scoped nodes",
567
+ "variable binding references on scoped nodes",
568
+ ...(metadataBufferAvailable
569
+ ? [
570
+ "component descriptions via plugin session buffer (when plugin connected during edit)",
571
+ "Dev Mode annotations via plugin session buffer (when plugin connected during edit)",
572
+ ]
573
+ : []),
574
+ ],
575
+ does_not_track: [
576
+ "instances of components on the canvas (unless passed as component_ids)",
577
+ "raw layout properties (layoutSizingHorizontal/Vertical, unbound paddings/widths)",
578
+ "raw visual properties (cornerRadius, unbound fills/strokes/effects, opacity)",
579
+ "variable VALUE changes (Figma REST does not expose this)",
580
+ "style content changes (only style add/remove via component reachability)",
581
+ ...(metadataBufferAvailable
582
+ ? [
583
+ "description/annotation edits made while the Desktop Bridge plugin was disconnected",
584
+ ]
585
+ : [
586
+ "component descriptions (Figma REST omits them; no plugin buffer wired in this mode)",
587
+ "Dev Mode annotations (Figma REST omits them; no plugin buffer wired in this mode)",
588
+ ]),
589
+ "canvas frame edits outside scoped components",
590
+ ],
591
+ complementary_tools: [
592
+ "figma_get_design_changes — forensic per-session edits including raw property changes on instances",
593
+ "figma_get_variables — current variable state (no history available)",
594
+ "figma_get_styles — current style state",
595
+ "figma_get_component — live description and annotation state for a single node",
596
+ ],
597
+ },
598
+ unscoped_metadata_changes: unscopedMetadataChanges.length > 0
599
+ ? unscopedMetadataChanges.map((e) => ({
600
+ node_id: e.node_id,
601
+ node_name: e.node_name,
602
+ node_type: e.node_type,
603
+ field: e.field,
604
+ new_value: e.new_value,
605
+ timestamp: e.timestamp,
606
+ source: "plugin_buffer",
607
+ }))
608
+ : undefined,
465
609
  notes,
466
610
  _fetch_errors: fetchErrors.length > 0 ? fetchErrors : undefined,
467
611
  };
@@ -550,7 +694,7 @@ export function registerVersionTools(server, getFigmaAPI, getCurrentUrl, _option
550
694
  // -----------------------------------------------------------------------
551
695
  // Tool: figma_diff_versions
552
696
  // -----------------------------------------------------------------------
553
- server.tool("figma_diff_versions", "Diff two versions of a Figma file. Always returns a cheap page-structure diff (added/removed/renamed pages, 2 API calls). Pass component_ids to additionally get per-node deep diffs at depth=2 (added/removed children, name/description changes, componentPropertyDefinitions changes for COMPONENT_SETs, boundVariables deltas) — costs 2 API calls per scoped node. Use 'current' for to_version to diff against HEAD. NOTE: variable VALUE history is not retrievable from Figma REST and is not represented in this diff.", {
697
+ server.tool("figma_diff_versions", "Diff two versions of a Figma file. Always returns a cheap page-structure diff (added/removed/renamed pages, 2 API calls). Pass component_ids to additionally get per-node deep diffs at depth=2 (added/removed children, name/description changes, componentPropertyDefinitions changes for COMPONENT_SETs, boundVariables deltas) — costs 2 API calls per scoped node. Use 'current' for to_version to diff against HEAD. v1.25.0: when the Desktop Bridge plugin is connected, description and Dev Mode annotation changes are ALSO tracked via a session buffer and surfaced under `scoped_nodes[].metadata_changes[]` and `unscoped_metadata_changes[]` — Figma REST omits these from version snapshots so they're otherwise invisible. STILL NOT tracked: instances of components on the canvas, raw layout properties (layoutSizingHorizontal/Vertical, unbound paddings/widths), raw visual properties (cornerRadius, unbound fills), variable VALUE changes, style content, and metadata edits made while the plugin was disconnected. See `scope_coverage` and `notes[]` for the full coverage map and complementary tools.", {
554
698
  fileUrl: z
555
699
  .string()
556
700
  .url()
@@ -1 +1 @@
1
- {"version":3,"file":"version-tools.js","sourceRoot":"","sources":["../../src/core/version-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-tools.js","sourceRoot":"","sources":["../../src/core/version-tools.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,27 @@ export interface DocumentChangeEntry {
46
46
  changeCount: number;
47
47
  timestamp: number;
48
48
  }
49
+ /**
50
+ * v1.25.0: A single metadata-only change captured by the plugin and forwarded
51
+ * over the WebSocket. Tracks the two fields Figma REST never exposes in version
52
+ * snapshots — `description` and `annotations` — so `figma_diff_versions` can
53
+ * surface them by correlating buffer entries to the diff time window.
54
+ *
55
+ * The plugin captures these on `figma.on('documentchange')` when a PROPERTY_CHANGE
56
+ * touches one of those fields. Only the NEW value is captured (Figma's event
57
+ * doesn't include before/after). The diff engine treats the from-version's
58
+ * value as "whatever it was at the start of the window" — buffer entries
59
+ * within the window are interpreted as "during this version range, the field
60
+ * was edited; final value at end of window is shown."
61
+ */
62
+ export interface MetadataChangeEntry {
63
+ node_id: string;
64
+ node_name: string | null;
65
+ node_type: string | null;
66
+ field: 'description' | 'annotations';
67
+ new_value: any;
68
+ timestamp: number;
69
+ }
49
70
  /**
50
71
  * Per-file client connection state.
51
72
  * Each Figma file with the Desktop Bridge plugin open gets its own ClientConnection.
@@ -55,6 +76,8 @@ export interface ClientConnection {
55
76
  fileInfo: ConnectedFileInfo;
56
77
  selection: SelectionInfo | null;
57
78
  documentChanges: DocumentChangeEntry[];
79
+ /** v1.25.0: per-file ring buffer of description/annotation change events */
80
+ metadataChanges: MetadataChangeEntry[];
58
81
  consoleLogs: ConsoleLogEntry[];
59
82
  lastActivity: number;
60
83
  lastPongAt: number;
@@ -158,6 +181,26 @@ export declare class FigmaWebSocketServer extends EventEmitter {
158
181
  * Clear document change buffer for the active file
159
182
  */
160
183
  clearDocumentChanges(): number;
184
+ /**
185
+ * v1.25.0: Get buffered description/annotation change events for a file.
186
+ *
187
+ * Used by `figma_diff_versions` to surface changes that Figma REST doesn't
188
+ * expose. The diff engine passes a time window (from-version → to-version
189
+ * `last_modified` timestamps converted to Unix ms) and optional scoping by
190
+ * node IDs.
191
+ *
192
+ * Defaults to the active file if `fileKey` is omitted.
193
+ */
194
+ getMetadataChanges(options?: {
195
+ fileKey?: string;
196
+ since?: number;
197
+ until?: number;
198
+ nodeIds?: string[];
199
+ }): MetadataChangeEntry[];
200
+ /**
201
+ * v1.25.0: Clear metadata-change buffer for the active file.
202
+ */
203
+ clearMetadataChanges(): number;
161
204
  /**
162
205
  * Get console logs from the active file with optional filtering
163
206
  */
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/core/websocket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/core/websocket-server.ts"],"names":[],"mappings":"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"}
@@ -335,6 +335,34 @@ export class FigmaWebSocketServer extends EventEmitter {
335
335
  }
336
336
  this.emit('documentChange', { fileKey: found?.fileKey ?? null, ...message.data });
337
337
  }
338
+ // v1.25.0: buffer description/annotation changes for the specific file.
339
+ // These are the diff-engine blind spots that Figma REST doesn't expose;
340
+ // the diff engine consults this buffer when correlating to a version
341
+ // range, so changes made while the plugin was connected become visible.
342
+ if (message.type === 'METADATA_CHANGE' && message.data) {
343
+ const found = this.findClientByWs(ws);
344
+ if (found) {
345
+ const changes = Array.isArray(message.data.changes) ? message.data.changes : [];
346
+ for (const c of changes) {
347
+ if (!c || typeof c.node_id !== 'string' || !c.field)
348
+ continue;
349
+ const entry = {
350
+ node_id: c.node_id,
351
+ node_name: c.node_name ?? null,
352
+ node_type: c.node_type ?? null,
353
+ field: c.field === 'annotations' ? 'annotations' : 'description',
354
+ new_value: c.new_value,
355
+ timestamp: typeof c.timestamp === 'number' ? c.timestamp : Date.now(),
356
+ };
357
+ found.client.metadataChanges.push(entry);
358
+ if (found.client.metadataChanges.length > this.documentChangeBufferSize) {
359
+ found.client.metadataChanges.shift();
360
+ }
361
+ }
362
+ found.client.lastActivity = Date.now();
363
+ }
364
+ this.emit('metadataChange', { fileKey: found?.fileKey ?? null, changes: message.data.changes });
365
+ }
338
366
  // Track selection changes — user interaction makes this the active file
339
367
  if (message.type === 'SELECTION_CHANGE' && message.data) {
340
368
  const found = this.findClientByWs(ws);
@@ -436,6 +464,7 @@ export class FigmaWebSocketServer extends EventEmitter {
436
464
  },
437
465
  selection: existing?.selection || null,
438
466
  documentChanges: existing?.documentChanges || [],
467
+ metadataChanges: existing?.metadataChanges || [],
439
468
  consoleLogs: existing?.consoleLogs || [],
440
469
  lastActivity: Date.now(),
441
470
  lastPongAt: Date.now(),
@@ -661,6 +690,49 @@ export class FigmaWebSocketServer extends EventEmitter {
661
690
  client.documentChanges = [];
662
691
  return count;
663
692
  }
693
+ /**
694
+ * v1.25.0: Get buffered description/annotation change events for a file.
695
+ *
696
+ * Used by `figma_diff_versions` to surface changes that Figma REST doesn't
697
+ * expose. The diff engine passes a time window (from-version → to-version
698
+ * `last_modified` timestamps converted to Unix ms) and optional scoping by
699
+ * node IDs.
700
+ *
701
+ * Defaults to the active file if `fileKey` is omitted.
702
+ */
703
+ getMetadataChanges(options) {
704
+ const fileKey = options?.fileKey ?? this._activeFileKey;
705
+ if (!fileKey)
706
+ return [];
707
+ const client = this.clients.get(fileKey);
708
+ if (!client)
709
+ return [];
710
+ let filtered = [...client.metadataChanges];
711
+ if (options?.since !== undefined) {
712
+ filtered = filtered.filter((e) => e.timestamp >= options.since);
713
+ }
714
+ if (options?.until !== undefined) {
715
+ filtered = filtered.filter((e) => e.timestamp <= options.until);
716
+ }
717
+ if (options?.nodeIds && options.nodeIds.length > 0) {
718
+ const set = new Set(options.nodeIds);
719
+ filtered = filtered.filter((e) => set.has(e.node_id));
720
+ }
721
+ return filtered;
722
+ }
723
+ /**
724
+ * v1.25.0: Clear metadata-change buffer for the active file.
725
+ */
726
+ clearMetadataChanges() {
727
+ if (!this._activeFileKey)
728
+ return 0;
729
+ const client = this.clients.get(this._activeFileKey);
730
+ if (!client)
731
+ return 0;
732
+ const count = client.metadataChanges.length;
733
+ client.metadataChanges = [];
734
+ return count;
735
+ }
664
736
  /**
665
737
  * Get console logs from the active file with optional filtering
666
738
  */