@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.
- package/README.md +1 -1
- package/dist/cloudflare/core/version-tools.js +151 -7
- package/dist/cloudflare/core/websocket-server.js +72 -0
- package/dist/cloudflare/index.js +3 -3
- package/dist/core/diff/diff-engine.d.ts +14 -0
- package/dist/core/diff/diff-engine.d.ts.map +1 -1
- package/dist/core/diff/diff-engine.js.map +1 -1
- package/dist/core/version-tools.d.ts +30 -1
- package/dist/core/version-tools.d.ts.map +1 -1
- package/dist/core/version-tools.js +151 -7
- package/dist/core/version-tools.js.map +1 -1
- package/dist/core/websocket-server.d.ts +43 -0
- package/dist/core/websocket-server.d.ts.map +1 -1
- package/dist/core/websocket-server.js +72 -0
- package/dist/core/websocket-server.js.map +1 -1
- package/dist/local.d.ts.map +1 -1
- package/dist/local.js +8 -0
- package/dist/local.js.map +1 -1
- package/figma-desktop-bridge/code.js +49 -1
- package/figma-desktop-bridge/ui.html +13 -0
- package/package.json +3 -22
|
@@ -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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA+B,SAAS,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAsCxD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,SAAS,CAAC;IACd,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;CACxD;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,UAAU,CAA2B;IAC7C,gFAAgF;IAChF,OAAO,CAAC,OAAO,CAA4C;IAC3D,iFAAiF;IACjF,OAAO,CAAC,eAAe,CAA4D;IACnF,0DAA0D;IAC1D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,wBAAwB,CAAO;IACvC,oFAAoF;IACpF,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,sEAAsE;IACtE,OAAO,CAAC,kBAAkB,CAA+C;gBAE7D,OAAO,EAAE,sBAAsB;IAM3C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8I5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,aAAa;
|
|
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
|
*/
|