@atezer/figma-mcp-bridge 1.7.25 → 1.7.27

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/agents/ds-auditor.md +6 -0
  3. package/agents/screen-builder.md +6 -0
  4. package/agents/token-syncer.md +6 -0
  5. package/dist/core/audit-log.d.ts +4 -0
  6. package/dist/core/audit-log.d.ts.map +1 -1
  7. package/dist/core/audit-log.js +12 -0
  8. package/dist/core/audit-log.js.map +1 -1
  9. package/dist/core/config.d.ts +1 -1
  10. package/dist/core/config.d.ts.map +1 -1
  11. package/dist/core/config.js +6 -2
  12. package/dist/core/config.js.map +1 -1
  13. package/dist/core/plugin-bridge-connector.d.ts +16 -16
  14. package/dist/core/plugin-bridge-connector.d.ts.map +1 -1
  15. package/dist/core/plugin-bridge-connector.js +24 -3
  16. package/dist/core/plugin-bridge-connector.js.map +1 -1
  17. package/dist/core/plugin-bridge-server.d.ts +5 -3
  18. package/dist/core/plugin-bridge-server.d.ts.map +1 -1
  19. package/dist/core/plugin-bridge-server.js +34 -22
  20. package/dist/core/plugin-bridge-server.js.map +1 -1
  21. package/dist/core/response-cache.d.ts +16 -0
  22. package/dist/core/response-cache.d.ts.map +1 -0
  23. package/dist/core/response-cache.js +46 -0
  24. package/dist/core/response-cache.js.map +1 -0
  25. package/dist/core/response-guard.d.ts.map +1 -1
  26. package/dist/core/response-guard.js +19 -13
  27. package/dist/core/response-guard.js.map +1 -1
  28. package/dist/core/types/figma.d.ts +20 -0
  29. package/dist/core/types/figma.d.ts.map +1 -1
  30. package/dist/core/version.d.ts +1 -1
  31. package/dist/core/version.js +1 -1
  32. package/dist/local-plugin-only.d.ts.map +1 -1
  33. package/dist/local-plugin-only.js +271 -143
  34. package/dist/local-plugin-only.js.map +1 -1
  35. package/f-mcp-plugin/code.js +40 -3
  36. package/f-mcp-plugin/manifest.json +1 -1
  37. package/f-mcp-plugin/ui.html +45 -9
  38. package/hooks/hooks.json +1 -1
  39. package/package.json +1 -1
  40. package/skills/ai-handoff-export/SKILL.md +8 -0
  41. package/skills/component-documentation/SKILL.md +8 -0
  42. package/skills/figjam-diagram-builder/SKILL.md +8 -0
  43. package/skills/figma-screen-analyzer/SKILL.md +8 -0
  44. package/skills/ux-copy-guidance/SKILL.md +8 -0
  45. package/skills/visual-qa-compare/SKILL.md +8 -0
package/CHANGELOG.md CHANGED
@@ -12,6 +12,77 @@ Bu dosya [Keep a Changelog](https://keepachangelog.com/tr/1.1.0/) biçimine uygu
12
12
 
13
13
  Bu changelog'a ekleme öncesi sürümlerin tam ayrıntıları için `git log` kullanılabilir.
14
14
 
15
+ ## [1.7.27] - 2026-04-11
16
+
17
+ ### figma_execute Hatasiz Calisma — Kok Neden Analizi ve Cozum
18
+
19
+ 9 kok neden tespit edildi ve tumu duzeltildi. figma_execute artik hata kategorisi, cozum onerisi ve execution metrikleri donuyor.
20
+
21
+ **Timeout Zinciri Duzeltmesi (En sik hata kaynagi):**
22
+ - Default timeout 5000ms → 15000ms (tum 3 katman: MCP handler, UI, plugin)
23
+ - Timeout clamping: min 3s, max 120s — asiri kisa/uzun degerler engellenir
24
+ - UI deadline margin 2s → 5s — round-trip icin yeterli sure
25
+
26
+ **Sonuc Serializasyon Guvenligi:**
27
+ - `safeSerialize()` fonksiyonu: Figma node objeleri → `{id, type, name}`, circular ref korunakli, array >500 truncate
28
+ - WebSocket sessiz catch kaldirild — response kaybi artik `console.error` ile loglanir, `SERIALIZATION_ERROR` mesaji donuyor
29
+ - JSON.stringify basarisiz olursa sessizce yutmak yerine acik hata raporu
30
+
31
+ **Hata Kategorilendirme:**
32
+ - `categorizeExecuteError()`: TIMEOUT, SYNTAX, RUNTIME, CONNECTION, SERIALIZATION, FONT_NOT_LOADED, VALIDATION
33
+ - `getErrorHint()`: Her kategori icin kullaniciya ozel Turkce cozum onerisi
34
+ - Plugin `success: false` sonuclari da kategorilendiriliyor (onceden sadece throw edilen hatalar icin calisiyor)
35
+
36
+ **Otomatik Retry:**
37
+ - Connector'da 1 kez retry: sadece transient hatalar (WebSocket disconnect, send_failed)
38
+ - Timeout ve runtime hatalari retry edilmez
39
+
40
+ **Execution Metrikleri:**
41
+ - Plugin: `executionMs` (kod calisma suresi)
42
+ - MCP handler: `_metrics: { durationMs, timeoutMs }` (toplam sure + timeout limiti)
43
+ - `resultAnalysis`: sonuc tipi, bos/null/undefined uyarilari
44
+
45
+ **Hook ve Skill:**
46
+ - PreToolUse hook: 6 maddelik kontrol listesi (font, sayfa reset, return formati, timeout, findAll, DS)
47
+ - `PluginExecuteResult` tipi genisletildi: errorCategory, hint, executionMs, resultAnalysis, _metrics
48
+
49
+ ## [1.7.26] - 2026-04-11
50
+
51
+ ### Performans ve Stabilite Optimizasyonu
52
+
53
+ Satirsatir kod taramasi ile tespit edilen 5 kritik bug, 6 performans sorunu ve 6 stabilite riski duzeltildi.
54
+
55
+ **Bug Duzeltmeleri:**
56
+ - `local-plugin-only.ts`, `plugin-bridge-server.ts` — Versiyon uyumsuzlugu: hardcoded `"1.7.24"` yerine `FMCP_VERSION` sabiti
57
+ - `response-guard.ts` — Agresif truncation ikinci pasi etkisizdi, parametrik `truncate()` ile duzeltildi
58
+ - `local-plugin-only.ts` — `figma_search_assets` dead code: `getAvailableLibraryComponentsAsync` cagirilmiyordu
59
+ - `local-plugin-only.ts` — `figma_watch_console` busy-loop: 120 WebSocket istegi yerine backoff + early exit
60
+ - `f-mcp-plugin/manifest.json` — Trailing comma gecersiz JSON, Figma plugin yuklenemiyordu
61
+
62
+ **Performans:**
63
+ - `safeToolHandler()` wrapper ile tum tool handler'lara try-catch (30+ handler)
64
+ - `JSON.stringify(x, null, 0)` gereksiz parametreler kaldirildi (25 yer)
65
+ - `ResponseCache` sinifi: read-only tool'lar icin TTL cache (5-10s), LRU eviction (yeni dosya: `src/core/response-cache.ts`)
66
+ - `figma_check_design_parity` tek-pas optimizasyonu (`codeMap.delete` ile cift dongu kaldirildi)
67
+ - Heartbeat `setInterval` -> recursive `setTimeout` (overlap riski yok)
68
+ - Process tree walk async: constructor'daki `execSync` bloklama kaldirildi
69
+
70
+ **Stabilite:**
71
+ - `closeAuditLog()` eklendi, shutdown handler'da cagirilir (`audit-log.ts`)
72
+ - `getConfig()` ilk load sonrasi cache'ler (`config.ts`)
73
+ - `figma_execute` 50,000 karakter limiti
74
+ - Mutating tool'lar (`create_*`, `update_*`, `delete_*`, `execute`) cache invalidation
75
+
76
+ **Tip Guvenligi:**
77
+ - `PluginBridgeConnector`: 15+ method `Promise<unknown>` -> tipli return
78
+ - `as any` cast'ler kaldirildi
79
+ - `BridgeResponse` bos result uyari logu
80
+
81
+ **Skill/Agent:**
82
+ - 6 skill'e standart Hata Yonetimi bolumu eklendi
83
+ - 3 agent'a Hata Kurtarma dokumantasyonu eklendi
84
+ - `validate-fmcp-skills-tools.mjs`: YAML frontmatter ve hata bolumu yapisal kontrolu
85
+
15
86
  ## [1.7.23] - 2026-04-11
16
87
 
17
88
  ### Refactor: Local Full + Cloudflare Modları Kaldırıldı
@@ -21,6 +21,12 @@ Sen F-MCP DS Auditor ajanısın. Görevin Figma ekranlarını design system uyum
21
21
  4. **Raporlama:** Bulgularını yapılandırılmış markdown formatında sun.
22
22
  5. **Öneriler:** Her bulgu için düzeltme önerisi ver (hangi skill kullanılmalı: fix-figma-design-system-finding veya apply-figma-design-system).
23
23
 
24
+ ## Hata Kurtarma
25
+
26
+ - **Plugin baglanti koparsa:** `figma_get_status()` ile tekrar kontrol et. Baglanti geri gelmezse kullaniciya bilgi ver.
27
+ - **Tool hatasi:** Bir kez tekrar dene. Ikinci hatada durumu raporla ve manuel mudahale oner.
28
+ - **Timeout:** Kapsami daralt (daha az node, daha dusuk depth/verbosity) ve tekrar dene.
29
+
24
30
  ## Kurallar
25
31
 
26
32
  - Sadece okuma işlemleri yap — hiçbir şeyi değiştirme.
@@ -20,6 +20,12 @@ Sen F-MCP Screen Builder ajanısın. Görevin açıklama, wireframe veya koddan
20
20
  - Auto-layout ile responsive yapı kur
21
21
  5. **Doğrulama:** `figma_capture_screenshot()` ile sonucu göster ve kullanıcı onayı al.
22
22
 
23
+ ## Hata Kurtarma
24
+
25
+ - **Plugin baglanti koparsa:** `figma_get_status()` ile tekrar kontrol et. Baglanti geri gelmezse kullaniciya bilgi ver.
26
+ - **Tool hatasi:** Bir kez tekrar dene. Ikinci hatada durumu raporla ve manuel mudahale oner.
27
+ - **Timeout:** Kapsami daralt (daha az node, daha dusuk depth/verbosity) ve tekrar dene.
28
+
23
29
  ## Kurallar
24
30
 
25
31
  - `figma-canvas-ops` kurallarını her `figma_execute` öncesi uygula.
@@ -19,6 +19,12 @@ Sen F-MCP Token Syncer ajanısın. Görevin Figma variable'larını ve stil'leri
19
19
  - Kod → Figma (import — opsiyonel)
20
20
  5. **Doğrulama:** Oluşturulan dosyaları kontrol et.
21
21
 
22
+ ## Hata Kurtarma
23
+
24
+ - **Plugin baglanti koparsa:** `figma_get_status()` ile tekrar kontrol et. Baglanti geri gelmezse kullaniciya bilgi ver.
25
+ - **Tool hatasi:** Bir kez tekrar dene. Ikinci hatada durumu raporla ve manuel mudahale oner.
26
+ - **Timeout:** Kapsami daralt (daha az node, daha dusuk depth/verbosity) ve tekrar dene.
27
+
22
28
  ## Kurallar
23
29
 
24
30
  - Hardcoded token değeri YASAK — tümü Figma'dan okunmalı.
@@ -23,4 +23,8 @@ export declare function auditTool(path: string | undefined, method: string, succ
23
23
  * Log plugin connection / disconnection.
24
24
  */
25
25
  export declare function auditPlugin(path: string | undefined, event: "plugin_connect" | "plugin_disconnect"): void;
26
+ /**
27
+ * Flush and close the audit log stream. Call on graceful shutdown.
28
+ */
29
+ export declare function closeAuditLog(): void;
26
30
  //# sourceMappingURL=audit-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../src/core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA8BD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,CAQtF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACjB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,IAAI,CAEzG"}
1
+ {"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../src/core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA8BD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,CAQtF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACjB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,IAAI,CAEzG;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
@@ -60,4 +60,16 @@ export function auditTool(path, method, success, error, durationMs) {
60
60
  export function auditPlugin(path, event) {
61
61
  auditLog(path, { event });
62
62
  }
63
+ /**
64
+ * Flush and close the audit log stream. Call on graceful shutdown.
65
+ */
66
+ export function closeAuditLog() {
67
+ if (stream) {
68
+ try {
69
+ stream.end();
70
+ }
71
+ catch { /* ignore */ }
72
+ stream = null;
73
+ }
74
+ }
63
75
  //# sourceMappingURL=audit-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../src/core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAWtB,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,SAAS,SAAS,CAAC,IAAY;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACJ,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,MAAM,GAAG,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACrB,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,SAAS;IACV,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAwB,EAAE,KAA6B;IAC/E,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO;IACjC,MAAM,IAAI,GAAe,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC;QACJ,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC;IACR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACxB,IAAwB,EACxB,MAAc,EACd,OAAgB,EAChB,KAAc,EACd,UAAmB;IAEnB,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,KAA6C;IAClG,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../src/core/audit-log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAWtB,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,SAAS,SAAS,CAAC,IAAY;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACJ,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,MAAM,GAAG,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACrB,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,SAAS;IACV,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAwB,EAAE,KAA6B;IAC/E,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO;IACjC,MAAM,IAAI,GAAe,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC;QACJ,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC;IACR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACxB,IAAwB,EACxB,MAAc,EACd,OAAgB,EAChB,KAAc,EACd,UAAmB;IAEnB,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAwB,EAAE,KAA6C;IAClG,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC5B,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC;YAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,GAAG,IAAI,CAAC;IACf,CAAC;AACF,CAAC"}
@@ -7,7 +7,7 @@ import type { ServerConfig } from './types/index.js';
7
7
  */
8
8
  export declare function loadConfig(): ServerConfig;
9
9
  /**
10
- * Get configuration
10
+ * Get configuration (cached after first load)
11
11
  */
12
12
  export declare function getConfig(): ServerConfig;
13
13
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BrD;;GAEG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAyBzC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAExC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BrD;;GAEG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAyBzC;AAID;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAIxC"}
@@ -55,10 +55,14 @@ export function loadConfig() {
55
55
  // No config file found, use defaults
56
56
  return DEFAULT_CONFIG;
57
57
  }
58
+ let cachedConfig = null;
58
59
  /**
59
- * Get configuration
60
+ * Get configuration (cached after first load)
60
61
  */
61
62
  export function getConfig() {
62
- return loadConfig();
63
+ if (cachedConfig)
64
+ return cachedConfig;
65
+ cachedConfig = loadConfig();
66
+ return cachedConfig;
63
67
  }
64
68
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;GAEG;AACH,MAAM,cAAc,GAAiB;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,MAAM,EAAE,EAAE,CAAC;QACnH,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,SAAS;KAChE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG;IACnB,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB;IAChC,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC;IAC5C,mBAAmB;IACnB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC;CAC1C,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,+BAA+B;IAC/B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE3C,sBAAsB;gBACtB,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,GAAG,cAAc,CAAC,KAAM;wBACxB,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;qBAC5B;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClE,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B;;GAEG;AACH,MAAM,cAAc,GAAiB;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,MAAM,EAAE,EAAE,CAAC;QACnH,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,SAAS;KAChE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG;IACnB,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB;IAChC,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC;IAC5C,mBAAmB;IACnB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC;CAC1C,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,+BAA+B;IAC/B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE3C,sBAAsB;gBACtB,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,GAAG,cAAc,CAAC,KAAM;wBACxB,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;qBAC5B;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClE,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,YAAY,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * Supports optional fileKey routing for multi-client scenarios.
7
7
  */
8
8
  import type { PluginBridgeServer } from "./plugin-bridge-server.js";
9
- import type { PluginVariablesPayload, PluginComponentPayload } from "./types/figma.js";
9
+ import type { PluginVariablesPayload, PluginStylesPayload, PluginComponentPayload, PluginDocumentStructure, PluginScreenshotPayload, PluginCrudResult } from "./types/figma.js";
10
10
  export declare class PluginBridgeConnector {
11
11
  private bridge;
12
12
  private fileKey?;
@@ -18,22 +18,22 @@ export declare class PluginBridgeConnector {
18
18
  getVariables(fileKey?: string): Promise<PluginVariablesPayload>;
19
19
  getComponentByNodeId(nodeId: string): Promise<PluginComponentPayload>;
20
20
  executeCodeViaUI(code: string, timeout?: number): Promise<unknown>;
21
- updateVariable(variableId: string, modeId: string, value: unknown): Promise<unknown>;
21
+ updateVariable(variableId: string, modeId: string, value: unknown): Promise<PluginCrudResult>;
22
22
  createVariable(name: string, collectionId: string, resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN", options?: {
23
23
  valuesByMode?: Record<string, unknown>;
24
24
  description?: string;
25
25
  scopes?: string[];
26
- }): Promise<unknown>;
26
+ }): Promise<PluginCrudResult>;
27
27
  createVariableCollection(name: string, options?: {
28
28
  initialModeName?: string;
29
29
  additionalModes?: string[];
30
- }): Promise<unknown>;
31
- deleteVariable(variableId: string): Promise<unknown>;
32
- deleteVariableCollection(collectionId: string): Promise<unknown>;
33
- renameVariable(variableId: string, newName: string): Promise<unknown>;
34
- addMode(collectionId: string, modeName: string): Promise<unknown>;
35
- renameMode(collectionId: string, modeId: string, newName: string): Promise<unknown>;
36
- refreshVariables(): Promise<unknown>;
30
+ }): Promise<PluginCrudResult>;
31
+ deleteVariable(variableId: string): Promise<PluginCrudResult>;
32
+ deleteVariableCollection(collectionId: string): Promise<PluginCrudResult>;
33
+ renameVariable(variableId: string, newName: string): Promise<PluginCrudResult>;
34
+ addMode(collectionId: string, modeName: string): Promise<PluginCrudResult>;
35
+ renameMode(collectionId: string, modeId: string, newName: string): Promise<PluginCrudResult>;
36
+ refreshVariables(): Promise<PluginCrudResult>;
37
37
  getLocalComponents(opts?: {
38
38
  currentPageOnly?: boolean;
39
39
  limit?: number;
@@ -95,8 +95,8 @@ export declare class PluginBridgeConnector {
95
95
  captureScreenshot(nodeId: string | null, options?: {
96
96
  format?: string;
97
97
  scale?: number;
98
- }): Promise<unknown>;
99
- setInstanceProperties(nodeId: string, properties: Record<string, unknown>): Promise<unknown>;
98
+ }): Promise<PluginScreenshotPayload>;
99
+ setInstanceProperties(nodeId: string, properties: Record<string, unknown>): Promise<PluginCrudResult>;
100
100
  getDocumentStructure(depth?: number, verbosity?: string, opts?: {
101
101
  excludeScreenshot?: boolean;
102
102
  includeLayout?: boolean;
@@ -104,7 +104,7 @@ export declare class PluginBridgeConnector {
104
104
  includeTypography?: boolean;
105
105
  includeCodeReady?: boolean;
106
106
  outputHint?: "react" | "tailwind";
107
- }): Promise<unknown>;
107
+ }): Promise<PluginDocumentStructure>;
108
108
  getNodeContext(nodeId: string, depth?: number, verbosity?: string, opts?: {
109
109
  excludeScreenshot?: boolean;
110
110
  includeLayout?: boolean;
@@ -112,8 +112,8 @@ export declare class PluginBridgeConnector {
112
112
  includeTypography?: boolean;
113
113
  includeCodeReady?: boolean;
114
114
  outputHint?: "react" | "tailwind";
115
- }): Promise<unknown>;
116
- getLocalStyles(verbosity?: string): Promise<unknown>;
115
+ }): Promise<PluginDocumentStructure>;
116
+ getLocalStyles(verbosity?: string): Promise<PluginStylesPayload>;
117
117
  getConsoleLogs(limit?: number): Promise<{
118
118
  logs: Array<{
119
119
  level: string;
@@ -162,7 +162,7 @@ export declare class PluginBridgeConnector {
162
162
  value?: unknown;
163
163
  values?: Record<string, unknown>;
164
164
  }> | Record<string, unknown>;
165
- }): Promise<unknown>;
165
+ }): Promise<PluginCrudResult>;
166
166
  arrangeComponentSet(nodeIds: string[]): Promise<{
167
167
  nodeId: string;
168
168
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bridge-connector.d.ts","sourceRoot":"","sources":["../../src/core/plugin-bridge-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-bridge-connector.d.ts","sourceRoot":"","sources":["../../src/core/plugin-bridge-connector.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,28 @@ export class PluginBridgeConnector {
29
29
  async getComponentByNodeId(nodeId) {
30
30
  return this.bridge.request("getComponentByNodeId", { nodeId }, this.fileKey);
31
31
  }
32
- async executeCodeViaUI(code, timeout = 5000) {
33
- return this.bridge.request("executeCodeViaUI", { code, timeout }, this.fileKey);
32
+ async executeCodeViaUI(code, timeout = 15000) {
33
+ const MAX_RETRIES = 1;
34
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
35
+ try {
36
+ return await this.bridge.request("executeCodeViaUI", { code, timeout }, this.fileKey);
37
+ }
38
+ catch (err) {
39
+ const msg = err instanceof Error ? err.message : String(err);
40
+ const isTransient = msg.includes("WebSocket") ||
41
+ msg.includes("not open") ||
42
+ msg.includes("send_failed") ||
43
+ msg.includes("WebSocket closed") ||
44
+ (msg.includes("Plugin bridge request") && msg.includes("failed:") && !msg.includes("timed out"));
45
+ if (isTransient && attempt < MAX_RETRIES) {
46
+ logger.warn({ attempt, error: msg }, "figma_execute: transient failure, retrying after 1s");
47
+ await new Promise(r => setTimeout(r, 1000));
48
+ continue;
49
+ }
50
+ throw err;
51
+ }
52
+ }
53
+ throw new Error("figma_execute: all retries exhausted");
34
54
  }
35
55
  async updateVariable(variableId, modeId, value) {
36
56
  return this.bridge.request("updateVariable", { variableId, modeId, value }, this.fileKey);
@@ -199,7 +219,8 @@ export class PluginBridgeConnector {
199
219
  }
200
220
  async arrangeComponentSet(nodeIds) {
201
221
  const res = (await this.bridge.request("arrangeComponentSet", { nodeIds }, this.fileKey));
202
- return res?.data ?? res ?? { nodeId: "", name: "" };
222
+ const data = res?.data;
223
+ return data ?? { nodeId: res?.nodeId ?? "", name: res?.name ?? "" };
203
224
  }
204
225
  async dispose() {
205
226
  logger.info("Plugin bridge connector disposed");
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bridge-connector.js","sourceRoot":"","sources":["../../src/core/plugin-bridge-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-bridge-connector.js","sourceRoot":"","sources":["../../src/core/plugin-bridge-connector.ts"],"names":[],"mappings":"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"}
@@ -57,14 +57,16 @@ export declare class PluginBridgeServer {
57
57
  /** Figma REST API token (in-memory only, never written to disk). */
58
58
  private figmaRestToken;
59
59
  /** AI client name detected from parent process (Claude, Cursor, etc.) */
60
- private readonly clientName;
60
+ private clientName;
61
61
  /** User/config preferred port (before clamp and fallback). */
62
62
  private readonly preferredPort;
63
63
  constructor(port: number, options?: {
64
64
  auditLogPath?: string;
65
65
  });
66
- /** Detect AI client name by env vars and process tree. */
67
- private detectClientName;
66
+ /** Detect AI client name from env vars (instant, no I/O). */
67
+ private detectClientNameSync;
68
+ /** Async detection via process tree walk — updates clientName in background. */
69
+ private detectClientNameAsync;
68
70
  private port;
69
71
  /** Last error message when bridge could not bind (port conflict, etc.) */
70
72
  private startError;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bridge-server.d.ts","sourceRoot":"","sources":["../../src/core/plugin-bridge-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-bridge-server.d.ts","sourceRoot":"","sources":["../../src/core/plugin-bridge-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAarD,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,eAAe,CAAK;IAE5B,oEAAoE;IACpE,OAAO,CAAC,cAAc,CAAmC;IAEzD,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAAS;IAE3B,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAQ7D,6DAA6D;IAC7D,OAAO,CAAC,oBAAoB;IAO5B,gFAAgF;IAChF,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,IAAI,CAAS;IAErB,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAAuB;IAEzC,KAAK,IAAI,IAAI;IAUb,qDAAqD;IACrD,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,mJAAmJ;IAC7I,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAS3F,6EAA6E;IAC7E,OAAO,CAAC,cAAc;IAsBtB,uDAAuD;IACvD,OAAO,CAAC,cAAc,CAA6C;IAEnE,yEAAyE;IACzE,OAAO,IAAI,MAAM;IAIjB,sDAAsD;IACtD,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IASpB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAcjB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAsC/B,OAAO,CAAC,cAAc;IA6NtB;;;;OAIG;IACG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAiD1G,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAWtC,kBAAkB,IAAI,iBAAiB,EAAE;IAezC,oBAAoB,IAAI,MAAM;IAQ9B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,gBAAgB;IAYxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAatC,mBAAmB,IAAI,IAAI;IAY3B,iBAAiB,IAAI,kBAAkB,GAAG,IAAI;IAI9C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAcxE,IAAI,IAAI,IAAI;CAoBZ"}
@@ -15,6 +15,7 @@ import { createServer, get as httpGet, request as httpRequest } from "http";
15
15
  import { execSync } from "child_process";
16
16
  import { logger } from "./logger.js";
17
17
  import { auditTool, auditPlugin } from "./audit-log.js";
18
+ import { FMCP_VERSION } from "./version.js";
18
19
  const HEARTBEAT_INTERVAL_MS = 3000;
19
20
  const MIN_PORT = 5454;
20
21
  const MAX_PORT = 5470;
@@ -39,39 +40,44 @@ export class PluginBridgeServer {
39
40
  this.preferredPort = clamped;
40
41
  this.port = clamped;
41
42
  this.auditLogPath = options?.auditLogPath;
42
- this.clientName = this.detectClientName();
43
+ this.clientName = this.detectClientNameSync();
43
44
  }
44
- /** Detect AI client name by env vars and process tree. */
45
- detectClientName() {
46
- // 1. Explicit env var (highest priority)
45
+ /** Detect AI client name from env vars (instant, no I/O). */
46
+ detectClientNameSync() {
47
47
  if (process.env.FIGMA_MCP_CLIENT_NAME)
48
48
  return process.env.FIGMA_MCP_CLIENT_NAME;
49
- // 2. Claude Code env detection
50
49
  if (process.env.CLAUDECODE === "1")
51
50
  return "Claude Code";
52
- // 3. Cursor env detection
53
- if (process.env.CURSOR_TRACE_ID || process.env.VSCODE_PID) {
54
- if (process.env.CURSOR_TRACE_ID)
55
- return "Cursor";
56
- }
57
- // 4. Walk up process tree (max 5 levels)
51
+ if (process.env.CURSOR_TRACE_ID)
52
+ return "Cursor";
53
+ return "MCP";
54
+ }
55
+ /** Async detection via process tree walk — updates clientName in background. */
56
+ detectClientNameAsync() {
57
+ if (this.clientName !== "MCP")
58
+ return; // Already detected via env
58
59
  try {
59
60
  let pid = process.ppid;
60
61
  for (let i = 0; i < 5 && pid > 1; i++) {
61
62
  const line = execSync(`ps -p ${pid} -o ppid=,comm=`, { timeout: 1000 }).toString().trim();
62
63
  const comm = line.replace(/^\s*\d+\s+/, "");
63
64
  const ppidMatch = line.match(/^\s*(\d+)/);
64
- if (/[Cc]ursor/i.test(comm))
65
- return "Cursor";
66
- if (/[Cc]laude/i.test(comm))
67
- return "Claude";
68
- if (/[Ww]indsurf/i.test(comm))
69
- return "Windsurf";
65
+ if (/[Cc]ursor/i.test(comm)) {
66
+ this.clientName = "Cursor";
67
+ return;
68
+ }
69
+ if (/[Cc]laude/i.test(comm)) {
70
+ this.clientName = "Claude";
71
+ return;
72
+ }
73
+ if (/[Ww]indsurf/i.test(comm)) {
74
+ this.clientName = "Windsurf";
75
+ return;
76
+ }
70
77
  pid = ppidMatch ? parseInt(ppidMatch[1], 10) : 0;
71
78
  }
72
79
  }
73
80
  catch { /* ignore */ }
74
- return "MCP";
75
81
  }
76
82
  start() {
77
83
  if (this.wss) {
@@ -79,6 +85,7 @@ export class PluginBridgeServer {
79
85
  return;
80
86
  }
81
87
  this.startError = null;
88
+ this.detectClientNameAsync();
82
89
  this.tryListenFixed(this.preferredPort, false);
83
90
  }
84
91
  /** Get last startup error (null if running fine). */
@@ -326,7 +333,7 @@ export class PluginBridgeServer {
326
333
  logger.info({ clientId, fileKey: incomingFileKey, fileName: incomingFileName }, "Plugin bridge: client registered (fileKey=%s, fileName=%s)", incomingFileKey, incomingFileName);
327
334
  ws.send(JSON.stringify({
328
335
  type: "welcome",
329
- bridgeVersion: "1.7.24",
336
+ bridgeVersion: FMCP_VERSION,
330
337
  port: this.port,
331
338
  clientId,
332
339
  multiClient: true,
@@ -360,6 +367,9 @@ export class PluginBridgeServer {
360
367
  p.reject(new Error(msg.error));
361
368
  }
362
369
  else {
370
+ if (msg.result === undefined) {
371
+ logger.warn({ method: p.method, msgId: msg.id }, "Plugin bridge: response has no result and no error");
372
+ }
363
373
  auditTool(this.auditLogPath, p.method, true, undefined, durationMs);
364
374
  p.resolve(msg.result);
365
375
  }
@@ -380,7 +390,7 @@ export class PluginBridgeServer {
380
390
  // Notify async restart() that binding succeeded
381
391
  this._listenResolve?.(true);
382
392
  this._listenResolve = null;
383
- this.heartbeatTimer = setInterval(() => {
393
+ const heartbeat = () => {
384
394
  for (const [clientId, info] of this.clients) {
385
395
  if (info.ws.readyState !== 1) {
386
396
  this.removeClient(clientId, "WebSocket not open");
@@ -407,7 +417,9 @@ export class PluginBridgeServer {
407
417
  }
408
418
  catch { /* ignore */ }
409
419
  }
410
- }, HEARTBEAT_INTERVAL_MS);
420
+ this.heartbeatTimer = setTimeout(heartbeat, HEARTBEAT_INTERVAL_MS);
421
+ };
422
+ this.heartbeatTimer = setTimeout(heartbeat, HEARTBEAT_INTERVAL_MS);
411
423
  });
412
424
  }
413
425
  /**
@@ -555,7 +567,7 @@ export class PluginBridgeServer {
555
567
  }
556
568
  stop() {
557
569
  if (this.heartbeatTimer) {
558
- clearInterval(this.heartbeatTimer);
570
+ clearTimeout(this.heartbeatTimer);
559
571
  this.heartbeatTimer = null;
560
572
  }
561
573
  this.rejectAllPending("Plugin bridge server stopped");