@mp3wizard/figma-console-mcp 1.30.1 → 1.32.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.
@@ -41,6 +41,17 @@ const PORT_FILE_DIR = tmpdir();
41
41
  export const MAX_PORT_FILE_AGE_MS = 4 * 60 * 60 * 1000;
42
42
  /** Maximum time since last heartbeat before a process is considered stale (5 minutes) */
43
43
  export const HEARTBEAT_STALE_MS = 5 * 60 * 1000;
44
+ /** Grace period after SIGTERM before escalating to SIGKILL (ms) */
45
+ export const TERMINATE_GRACE_MS = 400;
46
+ /**
47
+ * Minimum process age before an orphan may be reaped (ms). Protects a sibling
48
+ * server that is mid-startup — it has bound a port but not yet written its
49
+ * advertisement file, so it would otherwise look like an orphan. By the time a
50
+ * real server is this old it has advertised and is in the known-PID set.
51
+ */
52
+ export const ORPHAN_MIN_AGE_MS = 60 * 1000;
53
+ /** Interval for the periodic background reaper (ms) */
54
+ export const REAP_INTERVAL_MS = 5 * 60 * 1000;
44
55
  /** Minimum age before an instance can be evicted as last resort (2 minutes) */
45
56
  export const EVICTION_MIN_AGE_MS = 2 * 60 * 1000;
46
57
  /** Interval between heartbeat refreshes (30 seconds) */
@@ -160,20 +171,85 @@ export function isStaleInstance(data) {
160
171
  return startedAge > MAX_PORT_FILE_AGE_MS;
161
172
  }
162
173
  /**
163
- * Attempt to terminate a process by PID.
164
- * Uses SIGTERM for graceful shutdown. On Windows, this calls TerminateProcess
165
- * which is immediate and cannot be caught.
174
+ * Block the current thread for `ms` milliseconds (synchronous).
175
+ * Used between SIGTERM and SIGKILL so terminateProcess can stay synchronous
176
+ * (its callers cleanup functions — are synchronous and use execSync).
177
+ */
178
+ function sleepSyncMs(ms) {
179
+ if (ms <= 0)
180
+ return;
181
+ try {
182
+ // Cross-platform, no child process. SharedArrayBuffer/Atomics are standard in Node 18+.
183
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
184
+ }
185
+ catch {
186
+ const end = Date.now() + ms;
187
+ while (Date.now() < end) { /* best-effort spin fallback */ }
188
+ }
189
+ }
190
+ /**
191
+ * Elapsed time since a process started, in milliseconds. Returns null if it
192
+ * cannot be determined (process gone, or `ps` unavailable/unparseable).
193
+ */
194
+ function getProcessAgeMs(pid) {
195
+ if (process.platform === 'win32')
196
+ return null;
197
+ try {
198
+ const { execSync } = require('child_process');
199
+ // `etime` (formatted elapsed time) is portable across macOS and Linux;
200
+ // `etimes` (seconds) is Linux-only — macOS ps rejects it. Format is
201
+ // [[DD-]HH:]MM:SS, e.g. "05:51", "55:27", "01:13:31", "09-14:15:41".
202
+ const out = execSync(`ps -p ${pid} -o etime= 2>/dev/null`, {
203
+ encoding: 'utf-8',
204
+ timeout: 2000,
205
+ }).trim();
206
+ const m = out.match(/^(?:(\d+)-)?(?:(\d+):)?(\d+):(\d+)$/);
207
+ if (!m)
208
+ return null;
209
+ const days = parseInt(m[1] || '0', 10);
210
+ const hours = parseInt(m[2] || '0', 10);
211
+ const mins = parseInt(m[3], 10);
212
+ const secs = parseInt(m[4], 10);
213
+ return ((((days * 24 + hours) * 60 + mins) * 60) + secs) * 1000;
214
+ }
215
+ catch {
216
+ return null;
217
+ }
218
+ }
219
+ /**
220
+ * Terminate a process by PID, escalating to SIGKILL if it ignores SIGTERM.
166
221
  *
167
- * @returns true if the signal was sent successfully, false if the process was already gone
222
+ * A hung MCP server can catch SIGTERM (its shutdown handler runs) yet never
223
+ * reach process.exit() — e.g. when graceful WebSocket/HTTP close blocks on a
224
+ * lingering connection. SIGTERM alone then leaves a zombie holding its port
225
+ * (often with its advertisement file already removed by the handler). We send
226
+ * SIGTERM, wait briefly, and force-kill with SIGKILL if it is still alive.
227
+ *
228
+ * @returns true if the process is confirmed gone afterwards, false if it survived.
168
229
  */
169
- function terminateProcess(pid) {
230
+ function terminateProcess(pid, graceMs = TERMINATE_GRACE_MS) {
231
+ // SIGTERM first — give the process a chance to shut down gracefully.
170
232
  try {
171
233
  process.kill(pid, 'SIGTERM');
234
+ }
235
+ catch {
236
+ return true; // already gone — nothing to terminate
237
+ }
238
+ // Windows: SIGTERM maps to TerminateProcess (immediate, uncatchable).
239
+ if (process.platform === 'win32')
240
+ return !isProcessAlive(pid);
241
+ // POSIX: let the graceful handler run, then force-kill if it ignored SIGTERM.
242
+ sleepSyncMs(graceMs);
243
+ if (!isProcessAlive(pid))
172
244
  return true;
245
+ try {
246
+ process.kill(pid, 'SIGKILL');
173
247
  }
174
248
  catch {
175
- return false; // Process may have already exited
249
+ return true; // exited between the check and the kill
176
250
  }
251
+ sleepSyncMs(Math.min(graceMs, 200));
252
+ return !isProcessAlive(pid);
177
253
  }
178
254
  /**
179
255
  * Read and validate a port advertisement file.
@@ -277,10 +353,11 @@ export function cleanupStalePortFiles() {
277
353
  * Call AFTER cleanupStalePortFiles() — that handles the port-file-based cleanup first,
278
354
  * then this catches any remaining ghosts.
279
355
  */
280
- export function cleanupOrphanedProcesses(preferredPort = DEFAULT_WS_PORT) {
356
+ export function cleanupOrphanedProcesses(preferredPort = DEFAULT_WS_PORT, options = {}) {
281
357
  // Only supported on macOS/Linux (lsof)
282
358
  if (process.platform === 'win32')
283
359
  return 0;
360
+ const minAgeMs = options.minAgeMs ?? ORPHAN_MIN_AGE_MS;
284
361
  let cleaned = 0;
285
362
  const myPid = process.pid;
286
363
  const ports = getPortRange(preferredPort);
@@ -313,9 +390,23 @@ export function cleanupOrphanedProcesses(preferredPort = DEFAULT_WS_PORT) {
313
390
  timeout: 2000,
314
391
  }).trim();
315
392
  if (cmdline.includes('figma-console-mcp') || cmdline.includes('figma_console_mcp') || cmdline.includes('local.js')) {
393
+ // Don't reap a sibling that is still starting up (bound a port but
394
+ // hasn't advertised yet). Real orphans are far older than this.
395
+ const ageMs = getProcessAgeMs(pid);
396
+ if (minAgeMs > 0 && ageMs !== null && ageMs < minAgeMs) {
397
+ continue;
398
+ }
316
399
  logger.info({ port, pid, command: cmdline.substring(0, 120) }, 'Terminating orphaned MCP server (no port file, holding port)');
317
- terminateProcess(pid);
318
- cleaned++;
400
+ // terminateProcess escalates SIGTERM -> SIGKILL. Only count it as
401
+ // cleaned when the process is confirmed gone, so the log reflects
402
+ // reality (the old code counted attempts and reported success even
403
+ // when a SIGTERM-ignoring zombie survived).
404
+ if (terminateProcess(pid)) {
405
+ cleaned++;
406
+ }
407
+ else {
408
+ logger.warn({ port, pid }, 'Failed to terminate orphaned MCP server (survived SIGKILL)');
409
+ }
319
410
  }
320
411
  }
321
412
  catch {
@@ -439,4 +530,34 @@ export function registerPortCleanup(port) {
439
530
  process.prependListener('SIGINT', cleanup);
440
531
  process.prependListener('SIGTERM', cleanup);
441
532
  }
533
+ /**
534
+ * Start a periodic background reaper that re-runs the cleanup passes while this
535
+ * server is alive. Startup-only reaping leaves orphans to accumulate between
536
+ * launches (a sibling client that closes without its server exiting cleanly
537
+ * keeps holding a port until the *next* server starts). Periodic reaping keeps
538
+ * the range clean continuously.
539
+ *
540
+ * Safe against live siblings: they hold fresh advertisement files (heartbeat
541
+ * every 30s) so they are in the known-PID set and skipped, and the age guard in
542
+ * cleanupOrphanedProcesses protects mid-startup siblings.
543
+ *
544
+ * The interval is unref'd so it never keeps the process alive on its own.
545
+ *
546
+ * @returns a stop function that clears the interval.
547
+ */
548
+ export function startPeriodicReaper(preferredPort = DEFAULT_WS_PORT) {
549
+ const tick = () => {
550
+ try {
551
+ cleanupStalePortFiles();
552
+ cleanupOrphanedProcesses(preferredPort);
553
+ }
554
+ catch (error) {
555
+ logger.warn({ error }, 'Periodic reaper tick failed');
556
+ }
557
+ };
558
+ const interval = setInterval(tick, REAP_INTERVAL_MS);
559
+ if (typeof interval.unref === 'function')
560
+ interval.unref();
561
+ return () => clearInterval(interval);
562
+ }
442
563
  //# sourceMappingURL=port-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"port-discovery.js","sourceRoot":"","sources":["../../src/core/port-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAElE,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,kDAAkD;AAClD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,6CAA6C;AAC7C,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AAE/B,qFAAqF;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAW/C;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,gBAAwB,eAAe;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,WAAW;IACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAiB;QACzB,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI;QACJ,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,GAAG;KACd,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yCAAyC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QAClC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,iCAAiC;QACjC,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;YAAE,OAAO;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAoD;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,iEAAiE;IACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,WAAW,GAAG,kBAAkB,CAAC;IAC1C,CAAC;IAED,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,OAAO,UAAU,GAAG,oBAAoB,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,kCAAkC;IAClD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3C,6CAA6C;QAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,sDAAsD,CAAC,CAAC;YAC9F,IAAI,CAAC;gBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,gBAAwB,eAAe;IAC7E,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC5C,MAAM,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAE3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,oCAAoC;wBACpC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACrB,OAAO,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;oBAChG,CAAC;yBAAM,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,qEAAqE;wBACrE,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtF,4DAA4D,CAC7D,CAAC;wBACF,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,CAAC;4BAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;wBACzD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;oBAC3B,IAAI,CAAC;wBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAwB,eAAe;IAC9E,uCAAuC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IAE3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE1C,+DAA+D;IAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,4CAA4C;YAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,8BAA8B,EAAE;gBACtE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS,CAAC,0BAA0B;gBAE5D,qEAAqE;gBACrE,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,GAAG,0BAA0B,EAAE;wBAC/D,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEV,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnH,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EACjD,8DAA8D,CAC/D,CAAC;wBACF,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBACtB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,QAAQ,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,OAAO,kCAAkC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAC,gBAAwB,eAAe;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,UAAU,GAA4C,EAAE,CAAC;IAE/D,qDAAqD;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK;gBAAE,SAAS,CAAC,wBAAwB;YAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,sEAAsE;gBACtE,IAAI,CAAC;oBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAClE,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAEhE,yEAAyE;IACzE,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAC5E,mDAAmD,CACpD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YACjC,8DAA8D;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EACpH,wEAAwE,CACzE,CAAC;IAEF,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC;QAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAEhE,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,QAAQ,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAE5C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5B,+DAA+D;IAC/D,2DAA2D;IAC3D,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE9D,wEAAwE;IACxE,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"port-discovery.js","sourceRoot":"","sources":["../../src/core/port-discovery.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ const logger = createChildLogger({ component: "tokens-tools" });
30
30
  * on every exported token document. Kept in sync with package.json by
31
31
  * scripts/release.sh — see step 3 of the release flow.
32
32
  */
33
- const MCP_VERSION = "1.30.0";
33
+ const MCP_VERSION = "1.32.0";
34
34
  const EXPORT_TOOL_DESCRIPTION = `Export Figma variables to design token files in your codebase. Bidirectional with figma_import_tokens — together they replace Style Dictionary and Tokens Studio's export pipeline for the popular styling methods.
35
35
 
36
36
  FULLY-IMPLEMENTED OUTPUT FORMATS:
@@ -1 +1 @@
1
- {"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/core/write-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,mBAAmB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QA6pFvC"}
1
+ {"version":3,"file":"write-tools.d.ts","sourceRoot":"","sources":["../../src/core/write-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,mBAAmB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAgqFvC"}
@@ -2083,22 +2083,25 @@ return {
2083
2083
  });
2084
2084
  // Tool: Lint Design for accessibility and quality issues
2085
2085
  server.tool("figma_lint_design", "Run comprehensive accessibility (WCAG 2.2) and design quality checks on the current page or a specific node tree. " +
2086
- "WCAG checks (14 rules): color contrast (AA), non-text contrast (1.4.11), color-only differentiation (1.4.1), " +
2087
- "focus indicators (2.4.7), text sizing, touch targets, line height, letter spacing, paragraph spacing (1.4.12), " +
2088
- "image alt text (1.1.1), heading hierarchy (1.3.1), reflow/responsive (1.4.10), reading order (1.3.2), and disabled context (4.1.2). " +
2086
+ "WCAG conformance checks (10 rules): color contrast (AA), non-text contrast (1.4.11), color-only differentiation (1.4.1), " +
2087
+ "focus indicators (2.4.7), touch targets (2.5.8), image alt text (1.1.1), heading hierarchy (1.3.1), " +
2088
+ "reflow/responsive (1.4.10), reading order (1.3.2), and disabled context (4.1.2). " +
2089
+ "Best-practice readability hints (opt-in via rules: ['best-practice'] or ['all']): text sizing, line height, letter spacing, paragraph spacing. " +
2090
+ "Note: line/paragraph spacing below 1.5x/2x is NOT a WCAG 1.4.12 failure — 1.4.12 requires supporting user spacing overrides without breaking (a code concern, see figma_scan_code_accessibility), not specific design values — so these are non-normative hints scoped to multi-line text only. " +
2089
2091
  "Design system checks: hardcoded colors, missing text styles, default names, detached components. " +
2090
2092
  "Layout checks: missing auto-layout, empty containers. " +
2093
+ "Default audit runs WCAG + design-system + layout (best-practice hints excluded). " +
2091
2094
  "Returns categorized findings with severity levels (critical/warning/info) and WCAG conformance level (a/aa/aaa/best-practice) so teams can filter by target level. " +
2092
2095
  "Use natural language like 'check my design for accessibility issues' or 'lint this page'. " +
2093
2096
  "Requires Desktop Bridge plugin.", {
2094
2097
  nodeId: z.string().optional().describe("Node ID to lint (defaults to current page)"),
2095
- rules: z.array(z.string()).optional().describe("Rule filter: ['all'] (default), ['wcag'] (13 WCAG rules), ['design-system'], ['layout'], or specific rule IDs like ['wcag-contrast', 'wcag-focus-indicator', 'wcag-disabled-no-context']"),
2098
+ rules: z.array(z.string()).optional().describe("Rule filter. Default (omitted) = ['wcag','design-system','layout'] — real WCAG conformance plus quality checks, with best-practice hints excluded. Groups: ['wcag'] (10 conformance rules), ['best-practice'] (text-size, line-height, letter-spacing, paragraph-spacing), ['all'] (everything incl. best-practice), ['design-system'], ['layout']. Or specific rule IDs like ['wcag-contrast', 'wcag-focus-indicator', 'wcag-disabled-no-context']."),
2096
2099
  maxDepth: z.number().optional().describe("Maximum tree depth to traverse (default: 10)"),
2097
2100
  maxFindings: z.number().optional().describe("Maximum findings before stopping (default: 100)"),
2098
2101
  }, async ({ nodeId, rules, maxDepth, maxFindings }) => {
2099
2102
  try {
2100
2103
  const connector = await getDesktopConnector();
2101
- const result = await connector.lintDesign(nodeId, rules || ['all'], maxDepth || 10, maxFindings || 100);
2104
+ const result = await connector.lintDesign(nodeId, rules || ['wcag', 'design-system', 'layout'], maxDepth || 10, maxFindings || 100);
2102
2105
  if (!result.success) {
2103
2106
  throw new Error(result.error || "Lint failed");
2104
2107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/core/write-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-tools.js","sourceRoot":"","sources":["../../src/core/write-tools.ts"],"names":[],"mappings":"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"}
package/dist/local.d.ts CHANGED
@@ -26,6 +26,8 @@ declare class LocalFigmaConsoleMCP {
26
26
  private wsActualPort;
27
27
  /** The preferred port requested (from env var or default) */
28
28
  private wsPreferredPort;
29
+ /** Stops the periodic background reaper (set once the WS port is bound) */
30
+ private wsReaperStop;
29
31
  /** Heartbeat timer that refreshes port file to prove this server is active */
30
32
  private wsHeartbeatTimer;
31
33
  private config;
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AA2FH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAA+C;IACrE,uGAAuG;IACvG,OAAO,CAAC,YAAY,CAAuB;IAC3C,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAA2B;IAClD,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAqFhC;;OAEG;YACW,WAAW;IAoBzB;;;OAGG;YACW,mBAAmB;IA0BjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;YACW,iBAAiB;IAiB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAo1FrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+M5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAwB/B;AAmFD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AA4FH;;;GAGG;AACH,cAAM,oBAAoB;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAA+C;IACrE,uGAAuG;IACvG,OAAO,CAAC,YAAY,CAAuB;IAC3C,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAA2B;IAClD,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAA6B;IACjD,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,MAAM,CAAe;IAI7B,OAAO,CAAC,cAAc,CAMR;IAEd;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;;IAqFhC;;OAEG;YACW,WAAW;IAoBzB;;;OAGG;YACW,mBAAmB;IA0BjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;YACW,iBAAiB;IAiB/B,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAo1FrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsN5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B/B;AAkGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
package/dist/local.js CHANGED
@@ -38,7 +38,7 @@ import { wrapServerForIdentity } from "./core/identity.js";
38
38
  import { PACKAGE_ROOT } from "./core/resolve-package-root.js";
39
39
  import { FigmaWebSocketServer } from "./core/websocket-server.js";
40
40
  import { WebSocketConnector } from "./core/websocket-connector.js";
41
- import { DEFAULT_WS_PORT, getPortRange, advertisePort, unadvertisePort, registerPortCleanup, discoverActiveInstances, cleanupStalePortFiles, cleanupOrphanedProcesses, evictOldestInstance, refreshPortAdvertisement, HEARTBEAT_INTERVAL_MS, } from "./core/port-discovery.js";
41
+ import { DEFAULT_WS_PORT, getPortRange, advertisePort, unadvertisePort, registerPortCleanup, startPeriodicReaper, discoverActiveInstances, cleanupStalePortFiles, cleanupOrphanedProcesses, evictOldestInstance, refreshPortAdvertisement, HEARTBEAT_INTERVAL_MS, } from "./core/port-discovery.js";
42
42
  import { registerTokenBrowserApp } from "./apps/token-browser/server.js";
43
43
  import { registerDesignSystemDashboardApp } from "./apps/design-system-dashboard/server.js";
44
44
  import { registerFigJamTools } from "./core/figjam-tools.js";
@@ -104,6 +104,8 @@ class LocalFigmaConsoleMCP {
104
104
  this.wsActualPort = null;
105
105
  /** The preferred port requested (from env var or default) */
106
106
  this.wsPreferredPort = DEFAULT_WS_PORT;
107
+ /** Stops the periodic background reaper (set once the WS port is bound) */
108
+ this.wsReaperStop = null;
107
109
  /** Heartbeat timer that refreshes port file to prove this server is active */
108
110
  this.wsHeartbeatTimer = null;
109
111
  this.config = getConfig();
@@ -2880,6 +2882,12 @@ Without libraryFileKey/libraryFileUrl, searches the currently open file (local c
2880
2882
  }
2881
2883
  });
2882
2884
  }
2885
+ // Periodically reap orphaned/zombie servers for the whole run, not just
2886
+ // at startup, so the port range stays clean over long sessions. Runs
2887
+ // only when the WS bridge actually bound a port. Unref'd internally.
2888
+ if (this.wsActualPort !== null && !this.wsReaperStop) {
2889
+ this.wsReaperStop = startPeriodicReaper(this.wsPreferredPort);
2890
+ }
2883
2891
  // Check if Figma Desktop is accessible (non-blocking, just for logging)
2884
2892
  logger.info("Checking Figma Desktop accessibility...");
2885
2893
  await this.checkFigmaDesktop();
@@ -2915,6 +2923,11 @@ Without libraryFileKey/libraryFileUrl, searches the currently open file (local c
2915
2923
  clearInterval(this.wsHeartbeatTimer);
2916
2924
  this.wsHeartbeatTimer = null;
2917
2925
  }
2926
+ // Stop the periodic reaper
2927
+ if (this.wsReaperStop) {
2928
+ this.wsReaperStop();
2929
+ this.wsReaperStop = null;
2930
+ }
2918
2931
  // Clean up port advertisement before stopping the server
2919
2932
  if (this.wsActualPort) {
2920
2933
  unadvertisePort(this.wsActualPort);
@@ -2934,15 +2947,32 @@ Without libraryFileKey/libraryFileUrl, searches the currently open file (local c
2934
2947
  */
2935
2948
  async function main() {
2936
2949
  const server = new LocalFigmaConsoleMCP();
2937
- // Handle graceful shutdown
2938
- process.on("SIGINT", async () => {
2939
- await server.shutdown();
2940
- process.exit(0);
2941
- });
2942
- process.on("SIGTERM", async () => {
2943
- await server.shutdown();
2944
- process.exit(0);
2945
- });
2950
+ // Handle graceful shutdown. A hard backstop guarantees the process exits even
2951
+ // if shutdown() hangs (e.g. an HTTP/WebSocket close that blocks on a lingering
2952
+ // connection). Without this, the SIGTERM listener suppresses Node's default
2953
+ // terminate-on-SIGTERM and the process zombifies — holding its port forever.
2954
+ const SHUTDOWN_TIMEOUT_MS = 5000;
2955
+ let shuttingDown = false;
2956
+ const gracefulExit = async (code) => {
2957
+ if (shuttingDown)
2958
+ return;
2959
+ shuttingDown = true;
2960
+ const backstop = setTimeout(() => {
2961
+ logger.error(`Shutdown exceeded ${SHUTDOWN_TIMEOUT_MS}ms — forcing exit`);
2962
+ process.exit(code);
2963
+ }, SHUTDOWN_TIMEOUT_MS);
2964
+ backstop.unref();
2965
+ try {
2966
+ await server.shutdown();
2967
+ }
2968
+ catch (error) {
2969
+ logger.error({ error }, "Error during shutdown");
2970
+ }
2971
+ clearTimeout(backstop);
2972
+ process.exit(code);
2973
+ };
2974
+ process.on("SIGINT", () => { void gracefulExit(0); });
2975
+ process.on("SIGTERM", () => { void gracefulExit(0); });
2946
2976
  // Start the server
2947
2977
  await server.start();
2948
2978
  }