@muloka/figma-console-mcp 0.1.0

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 (443) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +898 -0
  3. package/dist/apps/design-system-dashboard/scoring/accessibility.d.ts +14 -0
  4. package/dist/apps/design-system-dashboard/scoring/accessibility.d.ts.map +1 -0
  5. package/dist/apps/design-system-dashboard/scoring/accessibility.js +278 -0
  6. package/dist/apps/design-system-dashboard/scoring/accessibility.js.map +1 -0
  7. package/dist/apps/design-system-dashboard/scoring/component-metadata.d.ts +29 -0
  8. package/dist/apps/design-system-dashboard/scoring/component-metadata.d.ts.map +1 -0
  9. package/dist/apps/design-system-dashboard/scoring/component-metadata.js +358 -0
  10. package/dist/apps/design-system-dashboard/scoring/component-metadata.js.map +1 -0
  11. package/dist/apps/design-system-dashboard/scoring/consistency.d.ts +14 -0
  12. package/dist/apps/design-system-dashboard/scoring/consistency.d.ts.map +1 -0
  13. package/dist/apps/design-system-dashboard/scoring/consistency.js +342 -0
  14. package/dist/apps/design-system-dashboard/scoring/consistency.js.map +1 -0
  15. package/dist/apps/design-system-dashboard/scoring/coverage.d.ts +14 -0
  16. package/dist/apps/design-system-dashboard/scoring/coverage.d.ts.map +1 -0
  17. package/dist/apps/design-system-dashboard/scoring/coverage.js +231 -0
  18. package/dist/apps/design-system-dashboard/scoring/coverage.js.map +1 -0
  19. package/dist/apps/design-system-dashboard/scoring/engine.d.ts +27 -0
  20. package/dist/apps/design-system-dashboard/scoring/engine.d.ts.map +1 -0
  21. package/dist/apps/design-system-dashboard/scoring/engine.js +93 -0
  22. package/dist/apps/design-system-dashboard/scoring/engine.js.map +1 -0
  23. package/dist/apps/design-system-dashboard/scoring/naming-semantics.d.ts +14 -0
  24. package/dist/apps/design-system-dashboard/scoring/naming-semantics.d.ts.map +1 -0
  25. package/dist/apps/design-system-dashboard/scoring/naming-semantics.js +309 -0
  26. package/dist/apps/design-system-dashboard/scoring/naming-semantics.js.map +1 -0
  27. package/dist/apps/design-system-dashboard/scoring/token-architecture.d.ts +14 -0
  28. package/dist/apps/design-system-dashboard/scoring/token-architecture.d.ts.map +1 -0
  29. package/dist/apps/design-system-dashboard/scoring/token-architecture.js +350 -0
  30. package/dist/apps/design-system-dashboard/scoring/token-architecture.js.map +1 -0
  31. package/dist/apps/design-system-dashboard/scoring/types.d.ts +89 -0
  32. package/dist/apps/design-system-dashboard/scoring/types.d.ts.map +1 -0
  33. package/dist/apps/design-system-dashboard/scoring/types.js +41 -0
  34. package/dist/apps/design-system-dashboard/scoring/types.js.map +1 -0
  35. package/dist/apps/design-system-dashboard/server.d.ts +24 -0
  36. package/dist/apps/design-system-dashboard/server.d.ts.map +1 -0
  37. package/dist/apps/design-system-dashboard/server.js +160 -0
  38. package/dist/apps/design-system-dashboard/server.js.map +1 -0
  39. package/dist/apps/token-browser/server.d.ts +26 -0
  40. package/dist/apps/token-browser/server.d.ts.map +1 -0
  41. package/dist/apps/token-browser/server.js +137 -0
  42. package/dist/apps/token-browser/server.js.map +1 -0
  43. package/dist/browser/base.d.ts +58 -0
  44. package/dist/browser/base.d.ts.map +1 -0
  45. package/dist/browser/base.js +6 -0
  46. package/dist/browser/base.js.map +1 -0
  47. package/dist/browser/local.d.ts +87 -0
  48. package/dist/browser/local.d.ts.map +1 -0
  49. package/dist/browser/local.js +318 -0
  50. package/dist/browser/local.js.map +1 -0
  51. package/dist/cloudflare/apps/design-system-dashboard/scoring/accessibility.js +277 -0
  52. package/dist/cloudflare/apps/design-system-dashboard/scoring/component-metadata.js +357 -0
  53. package/dist/cloudflare/apps/design-system-dashboard/scoring/consistency.js +341 -0
  54. package/dist/cloudflare/apps/design-system-dashboard/scoring/coverage.js +230 -0
  55. package/dist/cloudflare/apps/design-system-dashboard/scoring/engine.js +92 -0
  56. package/dist/cloudflare/apps/design-system-dashboard/scoring/naming-semantics.js +308 -0
  57. package/dist/cloudflare/apps/design-system-dashboard/scoring/token-architecture.js +349 -0
  58. package/dist/cloudflare/apps/design-system-dashboard/scoring/types.js +40 -0
  59. package/dist/cloudflare/apps/design-system-dashboard/server.js +159 -0
  60. package/dist/cloudflare/apps/token-browser/server.js +136 -0
  61. package/dist/cloudflare/browser-manager.js +157 -0
  62. package/dist/cloudflare/core/accessibility-tools.js +361 -0
  63. package/dist/cloudflare/core/annotation-tools.js +230 -0
  64. package/dist/cloudflare/core/cloud-websocket-connector.js +419 -0
  65. package/dist/cloudflare/core/cloud-websocket-relay.js +198 -0
  66. package/dist/cloudflare/core/comment-tools.js +292 -0
  67. package/dist/cloudflare/core/config.js +153 -0
  68. package/dist/cloudflare/core/console-monitor.js +427 -0
  69. package/dist/cloudflare/core/deep-component-tools.js +128 -0
  70. package/dist/cloudflare/core/design-code-tools.js +2793 -0
  71. package/dist/cloudflare/core/design-system-manifest.js +265 -0
  72. package/dist/cloudflare/core/design-system-tools.js +882 -0
  73. package/dist/cloudflare/core/diagnose-tool.js +100 -0
  74. package/dist/cloudflare/core/diff/changelog-formatter.js +275 -0
  75. package/dist/cloudflare/core/diff/diff-engine.js +334 -0
  76. package/dist/cloudflare/core/diff/property-compare.js +36 -0
  77. package/dist/cloudflare/core/diff/version-cache.js +74 -0
  78. package/dist/cloudflare/core/enrichment/enrichment-service.js +374 -0
  79. package/dist/cloudflare/core/enrichment/index.js +7 -0
  80. package/dist/cloudflare/core/enrichment/relationship-mapper.js +351 -0
  81. package/dist/cloudflare/core/enrichment/style-resolver.js +346 -0
  82. package/dist/cloudflare/core/figjam-tools.js +547 -0
  83. package/dist/cloudflare/core/figma-api.js +509 -0
  84. package/dist/cloudflare/core/figma-connector.js +7 -0
  85. package/dist/cloudflare/core/figma-reconstruction-spec.js +402 -0
  86. package/dist/cloudflare/core/figma-style-extractor.js +311 -0
  87. package/dist/cloudflare/core/figma-tools.js +3302 -0
  88. package/dist/cloudflare/core/identity.js +96 -0
  89. package/dist/cloudflare/core/library-tools.js +580 -0
  90. package/dist/cloudflare/core/logger.js +53 -0
  91. package/dist/cloudflare/core/port-discovery.js +935 -0
  92. package/dist/cloudflare/core/resolve-package-root.js +11 -0
  93. package/dist/cloudflare/core/slides-tools.js +714 -0
  94. package/dist/cloudflare/core/slot-tools.js +334 -0
  95. package/dist/cloudflare/core/snippet-injector.js +96 -0
  96. package/dist/cloudflare/core/tokens/alias-resolver.js +205 -0
  97. package/dist/cloudflare/core/tokens/config.js +294 -0
  98. package/dist/cloudflare/core/tokens/dialect.js +232 -0
  99. package/dist/cloudflare/core/tokens/figma-converter.js +323 -0
  100. package/dist/cloudflare/core/tokens/formatters/css-vars.js +338 -0
  101. package/dist/cloudflare/core/tokens/formatters/dtcg.js +376 -0
  102. package/dist/cloudflare/core/tokens/formatters/index.js +45 -0
  103. package/dist/cloudflare/core/tokens/formatters/json.js +205 -0
  104. package/dist/cloudflare/core/tokens/formatters/less.js +4 -0
  105. package/dist/cloudflare/core/tokens/formatters/scss.js +258 -0
  106. package/dist/cloudflare/core/tokens/formatters/stubs.js +13 -0
  107. package/dist/cloudflare/core/tokens/formatters/style-dictionary-v3.js +213 -0
  108. package/dist/cloudflare/core/tokens/formatters/tailwind-v3.js +237 -0
  109. package/dist/cloudflare/core/tokens/formatters/tailwind-v4.js +335 -0
  110. package/dist/cloudflare/core/tokens/formatters/tokens-studio.js +256 -0
  111. package/dist/cloudflare/core/tokens/formatters/ts-module.js +198 -0
  112. package/dist/cloudflare/core/tokens/index.js +16 -0
  113. package/dist/cloudflare/core/tokens/parsers/css-vars.js +4 -0
  114. package/dist/cloudflare/core/tokens/parsers/dtcg.js +280 -0
  115. package/dist/cloudflare/core/tokens/parsers/index.js +138 -0
  116. package/dist/cloudflare/core/tokens/parsers/json.js +7 -0
  117. package/dist/cloudflare/core/tokens/parsers/scss.js +4 -0
  118. package/dist/cloudflare/core/tokens/parsers/stubs.js +20 -0
  119. package/dist/cloudflare/core/tokens/parsers/style-dictionary-v3.js +4 -0
  120. package/dist/cloudflare/core/tokens/parsers/tailwind-v3.js +4 -0
  121. package/dist/cloudflare/core/tokens/parsers/tailwind-v4.js +4 -0
  122. package/dist/cloudflare/core/tokens/parsers/tokens-studio.js +4 -0
  123. package/dist/cloudflare/core/tokens/schemas.js +152 -0
  124. package/dist/cloudflare/core/tokens/transforms/color.js +12 -0
  125. package/dist/cloudflare/core/tokens/transforms/index.js +29 -0
  126. package/dist/cloudflare/core/tokens/transforms/size.js +7 -0
  127. package/dist/cloudflare/core/tokens/types.js +18 -0
  128. package/dist/cloudflare/core/tokens-tools.js +1788 -0
  129. package/dist/cloudflare/core/types/design-code.js +4 -0
  130. package/dist/cloudflare/core/types/enriched.js +5 -0
  131. package/dist/cloudflare/core/types/index.js +4 -0
  132. package/dist/cloudflare/core/variable-resolver.js +85 -0
  133. package/dist/cloudflare/core/version-tools.js +1199 -0
  134. package/dist/cloudflare/core/websocket-connector.js +436 -0
  135. package/dist/cloudflare/core/websocket-server.js +956 -0
  136. package/dist/cloudflare/core/write-tools.js +2506 -0
  137. package/dist/cloudflare/index.js +3010 -0
  138. package/dist/core/accessibility-tools.d.ts +21 -0
  139. package/dist/core/accessibility-tools.d.ts.map +1 -0
  140. package/dist/core/accessibility-tools.js +362 -0
  141. package/dist/core/accessibility-tools.js.map +1 -0
  142. package/dist/core/annotation-tools.d.ts +14 -0
  143. package/dist/core/annotation-tools.d.ts.map +1 -0
  144. package/dist/core/annotation-tools.js +231 -0
  145. package/dist/core/annotation-tools.js.map +1 -0
  146. package/dist/core/comment-tools.d.ts +11 -0
  147. package/dist/core/comment-tools.d.ts.map +1 -0
  148. package/dist/core/comment-tools.js +293 -0
  149. package/dist/core/comment-tools.js.map +1 -0
  150. package/dist/core/config.d.ts +17 -0
  151. package/dist/core/config.d.ts.map +1 -0
  152. package/dist/core/config.js +154 -0
  153. package/dist/core/config.js.map +1 -0
  154. package/dist/core/console-monitor.d.ts +82 -0
  155. package/dist/core/console-monitor.d.ts.map +1 -0
  156. package/dist/core/console-monitor.js +428 -0
  157. package/dist/core/console-monitor.js.map +1 -0
  158. package/dist/core/deep-component-tools.d.ts +14 -0
  159. package/dist/core/deep-component-tools.d.ts.map +1 -0
  160. package/dist/core/deep-component-tools.js +129 -0
  161. package/dist/core/deep-component-tools.js.map +1 -0
  162. package/dist/core/design-code-tools.d.ts +116 -0
  163. package/dist/core/design-code-tools.d.ts.map +1 -0
  164. package/dist/core/design-code-tools.js +2794 -0
  165. package/dist/core/design-code-tools.js.map +1 -0
  166. package/dist/core/design-system-manifest.d.ts +273 -0
  167. package/dist/core/design-system-manifest.d.ts.map +1 -0
  168. package/dist/core/design-system-manifest.js +266 -0
  169. package/dist/core/design-system-manifest.js.map +1 -0
  170. package/dist/core/design-system-tools.d.ts +67 -0
  171. package/dist/core/design-system-tools.d.ts.map +1 -0
  172. package/dist/core/design-system-tools.js +883 -0
  173. package/dist/core/design-system-tools.js.map +1 -0
  174. package/dist/core/diagnose-tool.d.ts +41 -0
  175. package/dist/core/diagnose-tool.d.ts.map +1 -0
  176. package/dist/core/diagnose-tool.js +101 -0
  177. package/dist/core/diagnose-tool.js.map +1 -0
  178. package/dist/core/diff/changelog-formatter.d.ts +35 -0
  179. package/dist/core/diff/changelog-formatter.d.ts.map +1 -0
  180. package/dist/core/diff/changelog-formatter.js +276 -0
  181. package/dist/core/diff/changelog-formatter.js.map +1 -0
  182. package/dist/core/diff/diff-engine.d.ts +127 -0
  183. package/dist/core/diff/diff-engine.d.ts.map +1 -0
  184. package/dist/core/diff/diff-engine.js +335 -0
  185. package/dist/core/diff/diff-engine.js.map +1 -0
  186. package/dist/core/diff/property-compare.d.ts +19 -0
  187. package/dist/core/diff/property-compare.d.ts.map +1 -0
  188. package/dist/core/diff/property-compare.js +37 -0
  189. package/dist/core/diff/property-compare.js.map +1 -0
  190. package/dist/core/diff/version-cache.d.ts +40 -0
  191. package/dist/core/diff/version-cache.d.ts.map +1 -0
  192. package/dist/core/diff/version-cache.js +75 -0
  193. package/dist/core/diff/version-cache.js.map +1 -0
  194. package/dist/core/enrichment/enrichment-service.d.ts +52 -0
  195. package/dist/core/enrichment/enrichment-service.d.ts.map +1 -0
  196. package/dist/core/enrichment/enrichment-service.js +375 -0
  197. package/dist/core/enrichment/enrichment-service.js.map +1 -0
  198. package/dist/core/enrichment/index.d.ts +8 -0
  199. package/dist/core/enrichment/index.d.ts.map +1 -0
  200. package/dist/core/enrichment/index.js +8 -0
  201. package/dist/core/enrichment/index.js.map +1 -0
  202. package/dist/core/enrichment/relationship-mapper.d.ts +106 -0
  203. package/dist/core/enrichment/relationship-mapper.d.ts.map +1 -0
  204. package/dist/core/enrichment/relationship-mapper.js +352 -0
  205. package/dist/core/enrichment/relationship-mapper.js.map +1 -0
  206. package/dist/core/enrichment/style-resolver.d.ts +85 -0
  207. package/dist/core/enrichment/style-resolver.d.ts.map +1 -0
  208. package/dist/core/enrichment/style-resolver.js +347 -0
  209. package/dist/core/enrichment/style-resolver.js.map +1 -0
  210. package/dist/core/figjam-tools.d.ts +8 -0
  211. package/dist/core/figjam-tools.d.ts.map +1 -0
  212. package/dist/core/figjam-tools.js +548 -0
  213. package/dist/core/figjam-tools.js.map +1 -0
  214. package/dist/core/figma-api.d.ts +254 -0
  215. package/dist/core/figma-api.d.ts.map +1 -0
  216. package/dist/core/figma-api.js +510 -0
  217. package/dist/core/figma-api.js.map +1 -0
  218. package/dist/core/figma-connector.d.ts +214 -0
  219. package/dist/core/figma-connector.d.ts.map +1 -0
  220. package/dist/core/figma-connector.js +8 -0
  221. package/dist/core/figma-connector.js.map +1 -0
  222. package/dist/core/figma-desktop-connector.d.ts +312 -0
  223. package/dist/core/figma-desktop-connector.d.ts.map +1 -0
  224. package/dist/core/figma-desktop-connector.js +1298 -0
  225. package/dist/core/figma-desktop-connector.js.map +1 -0
  226. package/dist/core/figma-reconstruction-spec.d.ts +166 -0
  227. package/dist/core/figma-reconstruction-spec.d.ts.map +1 -0
  228. package/dist/core/figma-reconstruction-spec.js +403 -0
  229. package/dist/core/figma-reconstruction-spec.js.map +1 -0
  230. package/dist/core/figma-style-extractor.d.ts +76 -0
  231. package/dist/core/figma-style-extractor.d.ts.map +1 -0
  232. package/dist/core/figma-style-extractor.js +312 -0
  233. package/dist/core/figma-style-extractor.js.map +1 -0
  234. package/dist/core/figma-tools.d.ts +22 -0
  235. package/dist/core/figma-tools.d.ts.map +1 -0
  236. package/dist/core/figma-tools.js +3303 -0
  237. package/dist/core/figma-tools.js.map +1 -0
  238. package/dist/core/identity.d.ts +41 -0
  239. package/dist/core/identity.d.ts.map +1 -0
  240. package/dist/core/identity.js +97 -0
  241. package/dist/core/identity.js.map +1 -0
  242. package/dist/core/library-tools.d.ts +17 -0
  243. package/dist/core/library-tools.d.ts.map +1 -0
  244. package/dist/core/library-tools.js +581 -0
  245. package/dist/core/library-tools.js.map +1 -0
  246. package/dist/core/logger.d.ts +22 -0
  247. package/dist/core/logger.d.ts.map +1 -0
  248. package/dist/core/logger.js +54 -0
  249. package/dist/core/logger.js.map +1 -0
  250. package/dist/core/port-discovery.d.ts +211 -0
  251. package/dist/core/port-discovery.d.ts.map +1 -0
  252. package/dist/core/port-discovery.js +936 -0
  253. package/dist/core/port-discovery.js.map +1 -0
  254. package/dist/core/resolve-package-root.d.ts +2 -0
  255. package/dist/core/resolve-package-root.d.ts.map +1 -0
  256. package/dist/core/resolve-package-root.js +12 -0
  257. package/dist/core/resolve-package-root.js.map +1 -0
  258. package/dist/core/slides-tools.d.ts +8 -0
  259. package/dist/core/slides-tools.d.ts.map +1 -0
  260. package/dist/core/slides-tools.js +715 -0
  261. package/dist/core/slides-tools.js.map +1 -0
  262. package/dist/core/slot-tools.d.ts +7 -0
  263. package/dist/core/slot-tools.d.ts.map +1 -0
  264. package/dist/core/slot-tools.js +335 -0
  265. package/dist/core/slot-tools.js.map +1 -0
  266. package/dist/core/snippet-injector.d.ts +24 -0
  267. package/dist/core/snippet-injector.d.ts.map +1 -0
  268. package/dist/core/snippet-injector.js +97 -0
  269. package/dist/core/snippet-injector.js.map +1 -0
  270. package/dist/core/tokens/alias-resolver.d.ts +97 -0
  271. package/dist/core/tokens/alias-resolver.d.ts.map +1 -0
  272. package/dist/core/tokens/alias-resolver.js +206 -0
  273. package/dist/core/tokens/alias-resolver.js.map +1 -0
  274. package/dist/core/tokens/config.d.ts +380 -0
  275. package/dist/core/tokens/config.d.ts.map +1 -0
  276. package/dist/core/tokens/config.js +295 -0
  277. package/dist/core/tokens/config.js.map +1 -0
  278. package/dist/core/tokens/dialect.d.ts +107 -0
  279. package/dist/core/tokens/dialect.d.ts.map +1 -0
  280. package/dist/core/tokens/dialect.js +233 -0
  281. package/dist/core/tokens/dialect.js.map +1 -0
  282. package/dist/core/tokens/figma-converter.d.ts +102 -0
  283. package/dist/core/tokens/figma-converter.d.ts.map +1 -0
  284. package/dist/core/tokens/figma-converter.js +324 -0
  285. package/dist/core/tokens/figma-converter.js.map +1 -0
  286. package/dist/core/tokens/formatters/css-vars.d.ts +24 -0
  287. package/dist/core/tokens/formatters/css-vars.d.ts.map +1 -0
  288. package/dist/core/tokens/formatters/css-vars.js +339 -0
  289. package/dist/core/tokens/formatters/css-vars.js.map +1 -0
  290. package/dist/core/tokens/formatters/dtcg.d.ts +28 -0
  291. package/dist/core/tokens/formatters/dtcg.d.ts.map +1 -0
  292. package/dist/core/tokens/formatters/dtcg.js +377 -0
  293. package/dist/core/tokens/formatters/dtcg.js.map +1 -0
  294. package/dist/core/tokens/formatters/index.d.ts +30 -0
  295. package/dist/core/tokens/formatters/index.d.ts.map +1 -0
  296. package/dist/core/tokens/formatters/index.js +46 -0
  297. package/dist/core/tokens/formatters/index.js.map +1 -0
  298. package/dist/core/tokens/formatters/json.d.ts +37 -0
  299. package/dist/core/tokens/formatters/json.d.ts.map +1 -0
  300. package/dist/core/tokens/formatters/json.js +206 -0
  301. package/dist/core/tokens/formatters/json.js.map +1 -0
  302. package/dist/core/tokens/formatters/less.d.ts +4 -0
  303. package/dist/core/tokens/formatters/less.d.ts.map +1 -0
  304. package/dist/core/tokens/formatters/less.js +5 -0
  305. package/dist/core/tokens/formatters/less.js.map +1 -0
  306. package/dist/core/tokens/formatters/scss.d.ts +26 -0
  307. package/dist/core/tokens/formatters/scss.d.ts.map +1 -0
  308. package/dist/core/tokens/formatters/scss.js +259 -0
  309. package/dist/core/tokens/formatters/scss.js.map +1 -0
  310. package/dist/core/tokens/formatters/stubs.d.ts +9 -0
  311. package/dist/core/tokens/formatters/stubs.d.ts.map +1 -0
  312. package/dist/core/tokens/formatters/stubs.js +14 -0
  313. package/dist/core/tokens/formatters/stubs.js.map +1 -0
  314. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts +45 -0
  315. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -0
  316. package/dist/core/tokens/formatters/style-dictionary-v3.js +214 -0
  317. package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -0
  318. package/dist/core/tokens/formatters/tailwind-v3.d.ts +37 -0
  319. package/dist/core/tokens/formatters/tailwind-v3.d.ts.map +1 -0
  320. package/dist/core/tokens/formatters/tailwind-v3.js +238 -0
  321. package/dist/core/tokens/formatters/tailwind-v3.js.map +1 -0
  322. package/dist/core/tokens/formatters/tailwind-v4.d.ts +41 -0
  323. package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -0
  324. package/dist/core/tokens/formatters/tailwind-v4.js +336 -0
  325. package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -0
  326. package/dist/core/tokens/formatters/tokens-studio.d.ts +44 -0
  327. package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -0
  328. package/dist/core/tokens/formatters/tokens-studio.js +257 -0
  329. package/dist/core/tokens/formatters/tokens-studio.js.map +1 -0
  330. package/dist/core/tokens/formatters/ts-module.d.ts +35 -0
  331. package/dist/core/tokens/formatters/ts-module.d.ts.map +1 -0
  332. package/dist/core/tokens/formatters/ts-module.js +199 -0
  333. package/dist/core/tokens/formatters/ts-module.js.map +1 -0
  334. package/dist/core/tokens/index.d.ts +18 -0
  335. package/dist/core/tokens/index.d.ts.map +1 -0
  336. package/dist/core/tokens/index.js +17 -0
  337. package/dist/core/tokens/index.js.map +1 -0
  338. package/dist/core/tokens/parsers/css-vars.d.ts +3 -0
  339. package/dist/core/tokens/parsers/css-vars.d.ts.map +1 -0
  340. package/dist/core/tokens/parsers/css-vars.js +5 -0
  341. package/dist/core/tokens/parsers/css-vars.js.map +1 -0
  342. package/dist/core/tokens/parsers/dtcg.d.ts +21 -0
  343. package/dist/core/tokens/parsers/dtcg.d.ts.map +1 -0
  344. package/dist/core/tokens/parsers/dtcg.js +281 -0
  345. package/dist/core/tokens/parsers/dtcg.js.map +1 -0
  346. package/dist/core/tokens/parsers/index.d.ts +37 -0
  347. package/dist/core/tokens/parsers/index.d.ts.map +1 -0
  348. package/dist/core/tokens/parsers/index.js +139 -0
  349. package/dist/core/tokens/parsers/index.js.map +1 -0
  350. package/dist/core/tokens/parsers/json.d.ts +4 -0
  351. package/dist/core/tokens/parsers/json.d.ts.map +1 -0
  352. package/dist/core/tokens/parsers/json.js +8 -0
  353. package/dist/core/tokens/parsers/json.js.map +1 -0
  354. package/dist/core/tokens/parsers/scss.d.ts +3 -0
  355. package/dist/core/tokens/parsers/scss.d.ts.map +1 -0
  356. package/dist/core/tokens/parsers/scss.js +5 -0
  357. package/dist/core/tokens/parsers/scss.js.map +1 -0
  358. package/dist/core/tokens/parsers/stubs.d.ts +15 -0
  359. package/dist/core/tokens/parsers/stubs.d.ts.map +1 -0
  360. package/dist/core/tokens/parsers/stubs.js +21 -0
  361. package/dist/core/tokens/parsers/stubs.js.map +1 -0
  362. package/dist/core/tokens/parsers/style-dictionary-v3.d.ts +3 -0
  363. package/dist/core/tokens/parsers/style-dictionary-v3.d.ts.map +1 -0
  364. package/dist/core/tokens/parsers/style-dictionary-v3.js +5 -0
  365. package/dist/core/tokens/parsers/style-dictionary-v3.js.map +1 -0
  366. package/dist/core/tokens/parsers/tailwind-v3.d.ts +3 -0
  367. package/dist/core/tokens/parsers/tailwind-v3.d.ts.map +1 -0
  368. package/dist/core/tokens/parsers/tailwind-v3.js +5 -0
  369. package/dist/core/tokens/parsers/tailwind-v3.js.map +1 -0
  370. package/dist/core/tokens/parsers/tailwind-v4.d.ts +3 -0
  371. package/dist/core/tokens/parsers/tailwind-v4.d.ts.map +1 -0
  372. package/dist/core/tokens/parsers/tailwind-v4.js +5 -0
  373. package/dist/core/tokens/parsers/tailwind-v4.js.map +1 -0
  374. package/dist/core/tokens/parsers/tokens-studio.d.ts +3 -0
  375. package/dist/core/tokens/parsers/tokens-studio.d.ts.map +1 -0
  376. package/dist/core/tokens/parsers/tokens-studio.js +5 -0
  377. package/dist/core/tokens/parsers/tokens-studio.js.map +1 -0
  378. package/dist/core/tokens/schemas.d.ts +155 -0
  379. package/dist/core/tokens/schemas.d.ts.map +1 -0
  380. package/dist/core/tokens/schemas.js +153 -0
  381. package/dist/core/tokens/schemas.js.map +1 -0
  382. package/dist/core/tokens/transforms/color.d.ts +9 -0
  383. package/dist/core/tokens/transforms/color.d.ts.map +1 -0
  384. package/dist/core/tokens/transforms/color.js +13 -0
  385. package/dist/core/tokens/transforms/color.js.map +1 -0
  386. package/dist/core/tokens/transforms/index.d.ts +36 -0
  387. package/dist/core/tokens/transforms/index.d.ts.map +1 -0
  388. package/dist/core/tokens/transforms/index.js +30 -0
  389. package/dist/core/tokens/transforms/index.js.map +1 -0
  390. package/dist/core/tokens/transforms/size.d.ts +7 -0
  391. package/dist/core/tokens/transforms/size.d.ts.map +1 -0
  392. package/dist/core/tokens/transforms/size.js +8 -0
  393. package/dist/core/tokens/transforms/size.js.map +1 -0
  394. package/dist/core/tokens/types.d.ts +284 -0
  395. package/dist/core/tokens/types.d.ts.map +1 -0
  396. package/dist/core/tokens/types.js +19 -0
  397. package/dist/core/tokens/types.js.map +1 -0
  398. package/dist/core/tokens-tools.d.ts +285 -0
  399. package/dist/core/tokens-tools.d.ts.map +1 -0
  400. package/dist/core/tokens-tools.js +1789 -0
  401. package/dist/core/tokens-tools.js.map +1 -0
  402. package/dist/core/types/design-code.d.ts +271 -0
  403. package/dist/core/types/design-code.d.ts.map +1 -0
  404. package/dist/core/types/design-code.js +5 -0
  405. package/dist/core/types/design-code.js.map +1 -0
  406. package/dist/core/types/enriched.d.ts +213 -0
  407. package/dist/core/types/enriched.d.ts.map +1 -0
  408. package/dist/core/types/enriched.js +6 -0
  409. package/dist/core/types/enriched.js.map +1 -0
  410. package/dist/core/types/index.d.ts +104 -0
  411. package/dist/core/types/index.d.ts.map +1 -0
  412. package/dist/core/types/index.js +5 -0
  413. package/dist/core/types/index.js.map +1 -0
  414. package/dist/core/variable-resolver.d.ts +45 -0
  415. package/dist/core/variable-resolver.d.ts.map +1 -0
  416. package/dist/core/variable-resolver.js +86 -0
  417. package/dist/core/variable-resolver.js.map +1 -0
  418. package/dist/core/version-tools.d.ts +59 -0
  419. package/dist/core/version-tools.d.ts.map +1 -0
  420. package/dist/core/version-tools.js +1200 -0
  421. package/dist/core/version-tools.js.map +1 -0
  422. package/dist/core/websocket-connector.d.ts +247 -0
  423. package/dist/core/websocket-connector.d.ts.map +1 -0
  424. package/dist/core/websocket-connector.js +437 -0
  425. package/dist/core/websocket-connector.js.map +1 -0
  426. package/dist/core/websocket-server.d.ts +290 -0
  427. package/dist/core/websocket-server.d.ts.map +1 -0
  428. package/dist/core/websocket-server.js +957 -0
  429. package/dist/core/websocket-server.js.map +1 -0
  430. package/dist/core/write-tools.d.ts +7 -0
  431. package/dist/core/write-tools.d.ts.map +1 -0
  432. package/dist/core/write-tools.js +2507 -0
  433. package/dist/core/write-tools.js.map +1 -0
  434. package/dist/local.d.ts +105 -0
  435. package/dist/local.d.ts.map +1 -0
  436. package/dist/local.js +3314 -0
  437. package/dist/local.js.map +1 -0
  438. package/figma-desktop-bridge/README.md +365 -0
  439. package/figma-desktop-bridge/code.js +7359 -0
  440. package/figma-desktop-bridge/icon.png +0 -0
  441. package/figma-desktop-bridge/manifest.json +67 -0
  442. package/figma-desktop-bridge/ui.html +2783 -0
  443. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,365 @@
1
+ # Figma Desktop Bridge
2
+
3
+ A Figma plugin that bridges the Variables API and Component descriptions to MCP (Model Context Protocol) clients without requiring an Enterprise plan. Supports both local MCP servers and cloud relay connections from web-based AI clients.
4
+
5
+ ## Overview
6
+
7
+ This plugin enables AI assistants to access your Figma variables AND component descriptions through the MCP protocol. It serves two purposes:
8
+
9
+ - **Local MCP bridge** — Connects to a local MCP server via WebSocket on localhost (Claude Code, Claude Desktop, Cursor)
10
+ - **Cloud relay bridge** — Connects to a cloud relay via WebSocket over TLS, enabling web-based AI clients (Claude.ai, v0, Replit, Lovable) to send write commands to Figma
11
+
12
+ Both modes bypass Figma's plugin sandbox restrictions and the REST API's component description bug.
13
+
14
+ ## Architecture
15
+
16
+ The plugin communicates with MCP servers via WebSocket through two paths:
17
+
18
+ ```
19
+ LOCAL: MCP Server ←WebSocket (ports 9223–9232)→ Plugin UI ←postMessage→ Plugin Worker → Figma API
20
+ CLOUD: Cloud MCP Server → Relay DO ←WebSocket (wss://)→ Plugin UI ←postMessage→ Plugin Worker → Figma API
21
+ ```
22
+
23
+ For local mode, the server supports multi-instance operation — if port 9223 is already in use, it automatically falls back through ports 9224–9232. The plugin scans all ports and connects to every active server.
24
+
25
+ For cloud mode, the plugin connects to a Cloudflare Durable Object relay via a one-time pairing code. Web-based AI clients send write commands through the relay to the plugin.
26
+
27
+ **Key Features:**
28
+ - ✅ No Enterprise plan required for variables
29
+ - ✅ Access all local variables and collections
30
+ - ✅ Reliable component descriptions (bypasses REST API bug)
31
+ - ✅ Supports multiple variable modes
32
+ - ✅ On-demand component data retrieval
33
+ - ✅ Persistent connection (stays open until closed)
34
+ - ✅ Clean, minimal UI
35
+ - ✅ Real-time data updates
36
+ - ✅ WebSocket transport — no debug flags needed
37
+ - ✅ Auto-reconnect on connection loss
38
+ - ✅ Multi-instance: connects to all active MCP servers simultaneously (v1.10.0)
39
+ - ✅ Cloud Mode: pair with web-based AI clients (Claude.ai, v0, Replit, Lovable)
40
+ - ✅ Full write access from any MCP-capable web platform
41
+
42
+ ## Installation
43
+
44
+ ### Quick Install (Recommended)
45
+
46
+ 1. **Open Figma Desktop**
47
+ 2. **Go to Plugins → Development → Import plugin from manifest...**
48
+ 3. **Navigate to:** `/path/to/figma-console-mcp/figma-desktop-bridge/manifest.json`
49
+ 4. **Click "Open"**
50
+
51
+ The plugin will appear in your Development plugins list as "Figma Desktop Bridge".
52
+
53
+ ### Manual Installation
54
+
55
+ Alternatively, you can install from the plugin directory:
56
+
57
+ ```bash
58
+ # From the figma-console-mcp directory
59
+ cd figma-desktop-bridge
60
+
61
+ # Figma will use these files:
62
+ # - manifest.json (plugin configuration)
63
+ # - code.js (plugin worker logic)
64
+ # - ui.html (plugin UI interface)
65
+ ```
66
+
67
+ ## Usage
68
+
69
+ ### Running the Plugin
70
+
71
+ 1. **Open your Figma file** with variables and/or components
72
+ 2. **Run the plugin:** Right-click → Plugins → Development → Figma Desktop Bridge
73
+ 3. **Wait for confirmation:** the status strip turns green and shows `READY`
74
+
75
+ The plugin will:
76
+ - Fetch all local variables and collections on startup
77
+ - Display counts in the UI (e.g., "Variables: 404 in 2 collections")
78
+ - Store variables in `window.__figmaVariablesData`
79
+ - Provide on-demand component data via `window.requestComponentData(nodeId)`
80
+ - Keep running until manually closed
81
+
82
+ ### Accessing Data via MCP
83
+
84
+ Once the plugin is running, MCP clients can access both variables and components:
85
+
86
+ **Variables (pre-loaded):**
87
+ ```typescript
88
+ // From Claude Code or Claude Desktop
89
+ figma_get_variables({
90
+ format: "summary" // or "filtered" or "full"
91
+ })
92
+ ```
93
+
94
+ **Components (on-demand):**
95
+ ```typescript
96
+ // Request component with description
97
+ figma_get_component({
98
+ fileUrl: "https://figma.com/design/YOUR_FILE_KEY",
99
+ nodeId: "279:2861"
100
+ })
101
+ ```
102
+
103
+ **Important:** Keep the plugin running while querying. Variables are pre-loaded, but component data is fetched on-demand when requested.
104
+
105
+ ## Plugin Interface
106
+
107
+ The plugin is a compact, collapsible status panel designed to stay out of the way of the canvas. It opens as a small strip and expands only when you ask it to.
108
+
109
+ ### Status strip (always visible)
110
+
111
+ - **Status** — a coloured dot + label (`READY`, `CONNECTING`, disconnected) showing whether the bridge is live.
112
+ - **Pause / Reconnect** — the action button:
113
+ - `Pause` (when connected) — disconnects and stops auto-reconnect until you resume.
114
+ - `Reconnect` (when not connected) — runs a fresh port scan and connects on the spot, with no need to close and reopen the plugin.
115
+ - **Cloud icon** — opens cloud pairing (see [Cloud Mode](#cloud-mode)).
116
+ - **`+` / `−`** — expand/collapse the options and panels.
117
+
118
+ ### Options (under `+`)
119
+
120
+ - **Info** — shows the connected **File** and **Page**, confirming which file the bridge is bound to (useful when several MCP servers or files are in play).
121
+ - **Log** — opens the activity log (below).
122
+ - **`N server(s)` badge** — how many MCP servers the plugin is currently connected to. A surprisingly high count is a useful signal that stale/zombie server instances are lingering (see [Multi-Instance Support](#multi-instance-support-v1100)).
123
+
124
+ ### Activity log
125
+
126
+ The log tells the story of what the AI did, rather than listing raw API traffic:
127
+
128
+ - Each entry is a human-readable label taken from a leading `// comment` in executed code (e.g. `// Apply drop shadow` → "Apply drop shadow"), a recognised Figma API call, or a `<Code>` prefix for unrecognised raw JS.
129
+ - Errors are shown in red and prefixed `[!]`.
130
+ - Consecutive duplicate actions collapse to one line with a `×N` repeat count.
131
+ - The ⚠ control filters to errors only; the copy button exports the full session log as plain text (handy for bug reports and demos).
132
+
133
+ The log records actions as they happen while the panel is in memory — it reflects activity since the plugin connected.
134
+
135
+ ### Theme
136
+
137
+ The plugin follows Figma's light/dark theme automatically — there is no separate theme control to manage.
138
+
139
+ ### Connection & auto-reconnect
140
+
141
+ - On launch the plugin scans ports 9223–9232 and connects to every MCP server it finds.
142
+ - If no server is running yet (for example, you opened the plugin before starting your AI client), a background watchdog keeps probing while disconnected and connects automatically as soon as a server appears — **no plugin restart needed**. The `Reconnect` button forces an immediate retry.
143
+ - On the server side, stale/zombie MCP instances that would otherwise squat the port range are reaped automatically (SIGTERM, escalating to SIGKILL), so a freshly launched server can claim its preferred port instead of being pushed onto a fallback the plugin then has to chase.
144
+
145
+ ## Cloud Mode
146
+
147
+ Cloud Mode lets web-based AI clients (Claude.ai, v0, Replit, Lovable) send write commands to your Figma file through a cloud relay. This enables the full suite of design creation and variable management tools from any MCP-capable web platform — no local Node.js required.
148
+
149
+ ### How to Connect
150
+
151
+ 1. **Start pairing from the AI client.** The AI client calls `figma_pair_plugin`, which generates a 6-character pairing code (valid for 5 minutes).
152
+ 2. **Open the Desktop Bridge plugin** in Figma Desktop.
153
+ 3. **Expand Cloud Mode.** Click the "Cloud Mode" toggle (chevron) below the status bar.
154
+ 4. **Enter the pairing code** in the text input and click **Connect**.
155
+ 5. The plugin establishes a WebSocket connection to the cloud relay. The status indicator changes to "Connected to cloud relay."
156
+
157
+ ### Disconnecting
158
+
159
+ Click the **Disconnect** button in the Cloud Mode section, or close the plugin. The cloud relay session is terminated immediately.
160
+
161
+ ### Notes
162
+
163
+ - **Both local and cloud connections can be active simultaneously.** Local MCP servers continue to work while Cloud Mode is connected.
164
+ - **Pairing codes are single-use.** Each code can only be used once. If connection fails, generate a new code from the AI client.
165
+ - **Codes expire in 5 minutes.** If the code has expired, ask the AI client to generate a fresh one.
166
+ - **One plugin per relay session.** Each pairing code creates a dedicated relay instance scoped to that session.
167
+
168
+ ## How It Works
169
+
170
+ ### Plugin Worker (code.js)
171
+
172
+ **On Startup (Variables):**
173
+ 1. Uses Figma's Variables API to fetch all local variables
174
+ 2. Formats data with full mode values
175
+ 3. Sends to UI via `postMessage`
176
+
177
+ **On Request (Components):**
178
+ 1. Listens for component requests via `figma.ui.onmessage`
179
+ 2. Uses `figma.getNodeByIdAsync(nodeId)` to fetch component
180
+ 3. Extracts description, descriptionMarkdown, and metadata
181
+ 4. Sends response back to UI via `postMessage` with requestId
182
+
183
+ ### Plugin UI (ui.html)
184
+
185
+ **Variables Flow:**
186
+ 1. Listens for `VARIABLES_DATA` message from worker
187
+ 2. Stores data on `window.__figmaVariablesData`
188
+ 3. Sets `window.__figmaVariablesReady = true`
189
+ 4. Displays status to user
190
+
191
+ **Components Flow:**
192
+ 1. Exposes `window.requestComponentData(nodeId)` function
193
+ 2. Returns a Promise that resolves when worker responds
194
+ 3. Sends request to worker via `parent.postMessage()`
195
+ 4. Resolves promise when `COMPONENT_DATA` message received
196
+ 5. Includes 10-second timeout and error handling
197
+
198
+ ### MCP Desktop Connector
199
+
200
+ **WebSocket Path (Preferred):**
201
+ 1. MCP server starts WebSocket server on port 9223 (or next available port in range 9223–9232)
202
+ 2. Plugin UI connects as WebSocket client
203
+ 3. MCP server sends commands as JSON `{ id, method, params }`
204
+ 4. Plugin UI routes to the same `window.*` handlers
205
+ 5. Results sent back as `{ id, result }` or `{ id, error }`
206
+
207
+ ## Troubleshooting
208
+
209
+ ### Plugin doesn't appear in menu
210
+ - Make sure Figma Desktop is running (not browser)
211
+ - Check that manifest.json path is correct
212
+ - Try **Plugins → Development → Refresh plugin list**
213
+
214
+ ### "No plugin UI found with variables data" or "No plugin UI found with requestComponentData"
215
+ - Ensure plugin is running (check for open plugin window showing "✓ Desktop Bridge active")
216
+ - Try closing and reopening the plugin
217
+ - Check browser console for errors (Plugins → Development → Open Console)
218
+
219
+ ### Variables not updating
220
+ - Close and reopen the plugin to refresh data
221
+ - Use `refreshCache: true` parameter in MCP call
222
+ - Check that you're viewing the correct Figma file
223
+
224
+ ### Component descriptions are empty or missing
225
+ - **First, verify in Figma:** Check if the component actually has a description set
226
+ - If using REST API fallback (not Desktop Bridge), descriptions may be missing due to known Figma API bug
227
+ - Ensure the plugin is running - component data requires active plugin connection
228
+ - Check that the nodeId is correct (format: "123:456")
229
+
230
+ ### Component request times out
231
+ - Ensure plugin is running and shows "Desktop Bridge active"
232
+ - Check that the component exists in the current file
233
+ - Verify nodeId format is correct
234
+ - Timeout is set to 10 seconds - complex files may take longer
235
+
236
+ ### WebSocket connection not working
237
+ - Verify the MCP server is running (it starts the WebSocket server on port 9223)
238
+ - Check that the plugin is open in Figma — the WebSocket client is in the plugin UI
239
+ - Check the browser console (Plugins > Development > Open Console) for `[MCP Bridge] WebSocket connected to port 9223`
240
+ - **You usually don't need to restart the plugin.** If you opened it before starting the MCP server, the background watchdog reconnects automatically within ~12s once a server appears; the `Reconnect` button forces it immediately. The status strip and the `N server(s)` badge reflect the live connection state.
241
+ - As of v1.10.0, multiple MCP servers can run simultaneously on different ports (9223–9232). If tools aren't working on a fallback port, re-import the plugin manifest to enable multi-port scanning.
242
+ - **Custom ports:** the plugin scans ports 9223–9232 automatically. The `FIGMA_WS_PORT` env var sets the preferred starting port. Multi-instance support works out of the box within this range.
243
+
244
+ ### Empty or outdated data
245
+ - Plugin fetches variables on load - rerun plugin after making variable changes
246
+ - Component data is fetched on-demand - always returns current state
247
+ - Cache TTL is 5 minutes for variables - use `refreshCache: true` for immediate updates
248
+ - Ensure you're in the correct file (plugin reads current file's data)
249
+
250
+ ### Cloud Mode shows "Connection failed"
251
+ - The pairing code may have expired (codes are valid for 5 minutes). Generate a new one from the AI client.
252
+ - Verify the code was entered correctly (6 characters, case-sensitive).
253
+
254
+ ### Cloud Mode disconnect button doesn't work
255
+ - Close and reopen the Cloud Mode section, then try again.
256
+
257
+ ### Cloud connection drops between AI turns
258
+ - Re-pair by generating a new pairing code from the AI client. The relay uses hibernation-safe patterns, but extended idle periods may cause reconnection. If it persists, generate a fresh code.
259
+
260
+ ## Multi-Instance Support (v1.10.0)
261
+
262
+ The Desktop Bridge plugin supports connecting to **multiple MCP server instances** simultaneously. This is useful when:
263
+
264
+ - **Claude Desktop** runs both Chat and Code tabs (each spawns a separate MCP server)
265
+ - **Multiple CLI terminals** are running different projects with the MCP
266
+ - **Claude Desktop + Claude Code CLI** are used together
267
+
268
+ ### How It Works
269
+
270
+ 1. The MCP server tries port 9223 first. If it's taken, it falls back to 9224, 9225, etc. (up to 9232)
271
+ 2. The plugin scans **all 10 ports** on startup and connects to every active server
272
+ 3. All events (selection changes, document changes, variables, console logs) are **broadcast to every connected server**
273
+ 4. Each server instance independently receives real-time data from Figma
274
+
275
+ ### Automatic cleanup of stale servers
276
+
277
+ When an AI client closes, its MCP server should exit. If a server's shutdown hangs (e.g. a network close blocks), it can be left behind as a **zombie** still holding a port — and enough zombies exhaust the 9223–9232 range, forcing new servers onto fallback ports the plugin then connects to instead of the one your client is using. This is the classic *"server running but no plugin connected — restart the plugin"* symptom.
278
+
279
+ The server guards against this on two fronts:
280
+
281
+ - **On shutdown**, a hard backstop forces the process to exit even if graceful close hangs, so zombies aren't created in the first place.
282
+ - **On startup and periodically**, each server reaps orphaned instances that hold a port without a live advertisement file — escalating from `SIGTERM` to `SIGKILL` so a process that ignores `SIGTERM` is still cleared.
283
+
284
+ The `N server(s)` badge in the plugin is a quick health check: if it's higher than the number of AI clients you actually have open, stale instances are present (and will be reaped on the next server launch).
285
+
286
+ ### Important: One-Time Plugin Update
287
+
288
+ If you imported the Desktop Bridge plugin **before v1.10.0**, you need to re-import the manifest once to enable multi-port scanning:
289
+
290
+ 1. In Figma: **Plugins → Development → Import plugin from manifest...**
291
+ 2. Select the `manifest.json` file from the `figma-desktop-bridge` directory
292
+ 3. Run the plugin — it will now scan all ports and connect to all servers
293
+
294
+ > **Why?** Figma caches plugin files at the application level. Simply restarting the plugin does NOT reload the code from disk. You must re-import the manifest to force Figma to pick up the new multi-port scanning logic.
295
+
296
+ Without re-importing, the old plugin code only connects to port 9223. If your server fell back to a different port, the plugin won't find it.
297
+
298
+ ## Development
299
+
300
+ ### File Structure
301
+ ```
302
+ figma-desktop-bridge/
303
+ ├── manifest.json # Plugin configuration
304
+ ├── code.js # Plugin worker (accesses Figma API)
305
+ ├── ui.html # Plugin UI (stores/requests data for MCP access)
306
+ └── README.md # This file
307
+ ```
308
+
309
+ ### Console Logging
310
+
311
+ The plugin logs to Figma's console:
312
+
313
+ **Variables (startup):**
314
+ ```
315
+ 🌉 [Desktop Bridge] Plugin loaded and ready
316
+ 🌉 [Desktop Bridge] Fetching variables...
317
+ 🌉 [Desktop Bridge] Found 404 variables in 2 collections
318
+ 🌉 [Desktop Bridge] Variables data sent to UI successfully
319
+ 🌉 [Desktop Bridge] UI iframe now has variables data accessible via window.__figmaVariablesData
320
+ ```
321
+
322
+ **Components (on-demand):**
323
+ ```
324
+ 🌉 [Desktop Bridge] Fetching component: 279:2861
325
+ 🌉 [Desktop Bridge] Component data ready. Has description: true
326
+ ```
327
+
328
+ **Ready state:**
329
+ ```
330
+ 🌉 [Desktop Bridge] Ready to handle component requests
331
+ 🌉 [Desktop Bridge] Plugin will stay open until manually closed
332
+ ```
333
+
334
+ View logs: **Plugins → Development → Open Console** (Cmd+Option+I on Mac)
335
+
336
+ ## Security
337
+
338
+ **Local Mode:**
339
+ - Plugin network access limited to `localhost` only (for WebSocket bridge)
340
+ - Data never leaves the local machine
341
+ - WebSocket bridge is local-only and unauthenticated — it relies on `localhost` binding for security. Multiple clients may be connected concurrently (one per Figma file). Do not expose the WebSocket port outside `localhost` (e.g., via port forwarding) on untrusted machines
342
+
343
+ **Cloud Mode:**
344
+ - Cloud relay connection uses TLS (`wss://`) for all traffic
345
+ - Pairing codes are single-use and expire in 5 minutes — no unauthenticated access is possible
346
+ - Each relay Durable Object is scoped per session (one plugin per relay instance)
347
+ - The relay passes commands through without storing design data persistently
348
+
349
+ **Both Modes:**
350
+ - Uses standard Figma Plugin API (no unofficial APIs)
351
+ - Component requests are scoped to current file only
352
+
353
+ ## Why Desktop Bridge for Components?
354
+
355
+ Figma's REST API has a known bug where component `description` and `descriptionMarkdown` fields are often missing or outdated. This is particularly problematic for:
356
+
357
+ - **Local project components** (not published to team libraries)
358
+ - **Unpublished components** in active development
359
+ - **Team collaboration** where descriptions contain important usage guidelines
360
+
361
+ The Desktop Bridge plugin bypasses this limitation by using the Figma Plugin API (`figma.getNodeByIdAsync()`), which has reliable, real-time access to all component fields including descriptions. This makes it ideal for teams working with local components in shared project files.
362
+
363
+ ## License
364
+
365
+ Part of the figma-console-mcp project.