@obra-studio/figma-console-mcp 1.32.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 (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +879 -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/core/accessibility-tools.d.ts +21 -0
  52. package/dist/core/accessibility-tools.d.ts.map +1 -0
  53. package/dist/core/accessibility-tools.js +307 -0
  54. package/dist/core/accessibility-tools.js.map +1 -0
  55. package/dist/core/annotation-tools.d.ts +14 -0
  56. package/dist/core/annotation-tools.d.ts.map +1 -0
  57. package/dist/core/annotation-tools.js +231 -0
  58. package/dist/core/annotation-tools.js.map +1 -0
  59. package/dist/core/autodocs-tools.d.ts +7 -0
  60. package/dist/core/autodocs-tools.d.ts.map +1 -0
  61. package/dist/core/autodocs-tools.js +195 -0
  62. package/dist/core/autodocs-tools.js.map +1 -0
  63. package/dist/core/comment-tools.d.ts +11 -0
  64. package/dist/core/comment-tools.d.ts.map +1 -0
  65. package/dist/core/comment-tools.js +293 -0
  66. package/dist/core/comment-tools.js.map +1 -0
  67. package/dist/core/config.d.ts +17 -0
  68. package/dist/core/config.d.ts.map +1 -0
  69. package/dist/core/config.js +154 -0
  70. package/dist/core/config.js.map +1 -0
  71. package/dist/core/console-monitor.d.ts +82 -0
  72. package/dist/core/console-monitor.d.ts.map +1 -0
  73. package/dist/core/console-monitor.js +428 -0
  74. package/dist/core/console-monitor.js.map +1 -0
  75. package/dist/core/deep-component-tools.d.ts +14 -0
  76. package/dist/core/deep-component-tools.d.ts.map +1 -0
  77. package/dist/core/deep-component-tools.js +129 -0
  78. package/dist/core/deep-component-tools.js.map +1 -0
  79. package/dist/core/design-code-tools.d.ts +116 -0
  80. package/dist/core/design-code-tools.d.ts.map +1 -0
  81. package/dist/core/design-code-tools.js +2751 -0
  82. package/dist/core/design-code-tools.js.map +1 -0
  83. package/dist/core/design-system-manifest.d.ts +272 -0
  84. package/dist/core/design-system-manifest.d.ts.map +1 -0
  85. package/dist/core/design-system-manifest.js +261 -0
  86. package/dist/core/design-system-manifest.js.map +1 -0
  87. package/dist/core/design-system-tools.d.ts +67 -0
  88. package/dist/core/design-system-tools.d.ts.map +1 -0
  89. package/dist/core/design-system-tools.js +874 -0
  90. package/dist/core/design-system-tools.js.map +1 -0
  91. package/dist/core/diagnose-tool.d.ts +33 -0
  92. package/dist/core/diagnose-tool.d.ts.map +1 -0
  93. package/dist/core/diagnose-tool.js +97 -0
  94. package/dist/core/diagnose-tool.js.map +1 -0
  95. package/dist/core/diff/changelog-formatter.d.ts +35 -0
  96. package/dist/core/diff/changelog-formatter.d.ts.map +1 -0
  97. package/dist/core/diff/changelog-formatter.js +276 -0
  98. package/dist/core/diff/changelog-formatter.js.map +1 -0
  99. package/dist/core/diff/diff-engine.d.ts +127 -0
  100. package/dist/core/diff/diff-engine.d.ts.map +1 -0
  101. package/dist/core/diff/diff-engine.js +335 -0
  102. package/dist/core/diff/diff-engine.js.map +1 -0
  103. package/dist/core/diff/property-compare.d.ts +19 -0
  104. package/dist/core/diff/property-compare.d.ts.map +1 -0
  105. package/dist/core/diff/property-compare.js +37 -0
  106. package/dist/core/diff/property-compare.js.map +1 -0
  107. package/dist/core/diff/version-cache.d.ts +40 -0
  108. package/dist/core/diff/version-cache.d.ts.map +1 -0
  109. package/dist/core/diff/version-cache.js +75 -0
  110. package/dist/core/diff/version-cache.js.map +1 -0
  111. package/dist/core/enrichment/enrichment-service.d.ts +52 -0
  112. package/dist/core/enrichment/enrichment-service.d.ts.map +1 -0
  113. package/dist/core/enrichment/enrichment-service.js +369 -0
  114. package/dist/core/enrichment/enrichment-service.js.map +1 -0
  115. package/dist/core/enrichment/index.d.ts +8 -0
  116. package/dist/core/enrichment/index.d.ts.map +1 -0
  117. package/dist/core/enrichment/index.js +8 -0
  118. package/dist/core/enrichment/index.js.map +1 -0
  119. package/dist/core/enrichment/relationship-mapper.d.ts +106 -0
  120. package/dist/core/enrichment/relationship-mapper.d.ts.map +1 -0
  121. package/dist/core/enrichment/relationship-mapper.js +352 -0
  122. package/dist/core/enrichment/relationship-mapper.js.map +1 -0
  123. package/dist/core/enrichment/style-resolver.d.ts +80 -0
  124. package/dist/core/enrichment/style-resolver.d.ts.map +1 -0
  125. package/dist/core/enrichment/style-resolver.js +327 -0
  126. package/dist/core/enrichment/style-resolver.js.map +1 -0
  127. package/dist/core/figjam-tools.d.ts +8 -0
  128. package/dist/core/figjam-tools.d.ts.map +1 -0
  129. package/dist/core/figjam-tools.js +548 -0
  130. package/dist/core/figjam-tools.js.map +1 -0
  131. package/dist/core/figma-api.d.ts +245 -0
  132. package/dist/core/figma-api.d.ts.map +1 -0
  133. package/dist/core/figma-api.js +446 -0
  134. package/dist/core/figma-api.js.map +1 -0
  135. package/dist/core/figma-connector.d.ts +180 -0
  136. package/dist/core/figma-connector.d.ts.map +1 -0
  137. package/dist/core/figma-connector.js +8 -0
  138. package/dist/core/figma-connector.js.map +1 -0
  139. package/dist/core/figma-desktop-connector.d.ts +312 -0
  140. package/dist/core/figma-desktop-connector.d.ts.map +1 -0
  141. package/dist/core/figma-desktop-connector.js +1298 -0
  142. package/dist/core/figma-desktop-connector.js.map +1 -0
  143. package/dist/core/figma-reconstruction-spec.d.ts +166 -0
  144. package/dist/core/figma-reconstruction-spec.d.ts.map +1 -0
  145. package/dist/core/figma-reconstruction-spec.js +403 -0
  146. package/dist/core/figma-reconstruction-spec.js.map +1 -0
  147. package/dist/core/figma-style-extractor.d.ts +76 -0
  148. package/dist/core/figma-style-extractor.d.ts.map +1 -0
  149. package/dist/core/figma-style-extractor.js +312 -0
  150. package/dist/core/figma-style-extractor.js.map +1 -0
  151. package/dist/core/figma-tools.d.ts +22 -0
  152. package/dist/core/figma-tools.d.ts.map +1 -0
  153. package/dist/core/figma-tools.js +3187 -0
  154. package/dist/core/figma-tools.js.map +1 -0
  155. package/dist/core/identity.d.ts +41 -0
  156. package/dist/core/identity.d.ts.map +1 -0
  157. package/dist/core/identity.js +97 -0
  158. package/dist/core/identity.js.map +1 -0
  159. package/dist/core/library-tools.d.ts +17 -0
  160. package/dist/core/library-tools.d.ts.map +1 -0
  161. package/dist/core/library-tools.js +581 -0
  162. package/dist/core/library-tools.js.map +1 -0
  163. package/dist/core/logger.d.ts +22 -0
  164. package/dist/core/logger.d.ts.map +1 -0
  165. package/dist/core/logger.js +54 -0
  166. package/dist/core/logger.js.map +1 -0
  167. package/dist/core/port-discovery.d.ts +171 -0
  168. package/dist/core/port-discovery.d.ts.map +1 -0
  169. package/dist/core/port-discovery.js +563 -0
  170. package/dist/core/port-discovery.js.map +1 -0
  171. package/dist/core/resolve-package-root.d.ts +2 -0
  172. package/dist/core/resolve-package-root.d.ts.map +1 -0
  173. package/dist/core/resolve-package-root.js +12 -0
  174. package/dist/core/resolve-package-root.js.map +1 -0
  175. package/dist/core/slides-tools.d.ts +8 -0
  176. package/dist/core/slides-tools.d.ts.map +1 -0
  177. package/dist/core/slides-tools.js +715 -0
  178. package/dist/core/slides-tools.js.map +1 -0
  179. package/dist/core/snippet-injector.d.ts +24 -0
  180. package/dist/core/snippet-injector.d.ts.map +1 -0
  181. package/dist/core/snippet-injector.js +97 -0
  182. package/dist/core/snippet-injector.js.map +1 -0
  183. package/dist/core/tokens/alias-resolver.d.ts +55 -0
  184. package/dist/core/tokens/alias-resolver.d.ts.map +1 -0
  185. package/dist/core/tokens/alias-resolver.js +136 -0
  186. package/dist/core/tokens/alias-resolver.js.map +1 -0
  187. package/dist/core/tokens/config.d.ts +87 -0
  188. package/dist/core/tokens/config.d.ts.map +1 -0
  189. package/dist/core/tokens/config.js +285 -0
  190. package/dist/core/tokens/config.js.map +1 -0
  191. package/dist/core/tokens/figma-converter.d.ts +81 -0
  192. package/dist/core/tokens/figma-converter.d.ts.map +1 -0
  193. package/dist/core/tokens/figma-converter.js +196 -0
  194. package/dist/core/tokens/figma-converter.js.map +1 -0
  195. package/dist/core/tokens/formatters/css-vars.d.ts +24 -0
  196. package/dist/core/tokens/formatters/css-vars.d.ts.map +1 -0
  197. package/dist/core/tokens/formatters/css-vars.js +330 -0
  198. package/dist/core/tokens/formatters/css-vars.js.map +1 -0
  199. package/dist/core/tokens/formatters/dtcg.d.ts +28 -0
  200. package/dist/core/tokens/formatters/dtcg.d.ts.map +1 -0
  201. package/dist/core/tokens/formatters/dtcg.js +301 -0
  202. package/dist/core/tokens/formatters/dtcg.js.map +1 -0
  203. package/dist/core/tokens/formatters/index.d.ts +30 -0
  204. package/dist/core/tokens/formatters/index.d.ts.map +1 -0
  205. package/dist/core/tokens/formatters/index.js +46 -0
  206. package/dist/core/tokens/formatters/index.js.map +1 -0
  207. package/dist/core/tokens/formatters/json.d.ts +37 -0
  208. package/dist/core/tokens/formatters/json.d.ts.map +1 -0
  209. package/dist/core/tokens/formatters/json.js +188 -0
  210. package/dist/core/tokens/formatters/json.js.map +1 -0
  211. package/dist/core/tokens/formatters/less.d.ts +4 -0
  212. package/dist/core/tokens/formatters/less.d.ts.map +1 -0
  213. package/dist/core/tokens/formatters/less.js +5 -0
  214. package/dist/core/tokens/formatters/less.js.map +1 -0
  215. package/dist/core/tokens/formatters/scss.d.ts +26 -0
  216. package/dist/core/tokens/formatters/scss.d.ts.map +1 -0
  217. package/dist/core/tokens/formatters/scss.js +253 -0
  218. package/dist/core/tokens/formatters/scss.js.map +1 -0
  219. package/dist/core/tokens/formatters/stubs.d.ts +9 -0
  220. package/dist/core/tokens/formatters/stubs.d.ts.map +1 -0
  221. package/dist/core/tokens/formatters/stubs.js +14 -0
  222. package/dist/core/tokens/formatters/stubs.js.map +1 -0
  223. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts +45 -0
  224. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -0
  225. package/dist/core/tokens/formatters/style-dictionary-v3.js +208 -0
  226. package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -0
  227. package/dist/core/tokens/formatters/tailwind-v3.d.ts +37 -0
  228. package/dist/core/tokens/formatters/tailwind-v3.d.ts.map +1 -0
  229. package/dist/core/tokens/formatters/tailwind-v3.js +238 -0
  230. package/dist/core/tokens/formatters/tailwind-v3.js.map +1 -0
  231. package/dist/core/tokens/formatters/tailwind-v4.d.ts +41 -0
  232. package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -0
  233. package/dist/core/tokens/formatters/tailwind-v4.js +331 -0
  234. package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -0
  235. package/dist/core/tokens/formatters/tokens-studio.d.ts +44 -0
  236. package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -0
  237. package/dist/core/tokens/formatters/tokens-studio.js +251 -0
  238. package/dist/core/tokens/formatters/tokens-studio.js.map +1 -0
  239. package/dist/core/tokens/formatters/ts-module.d.ts +35 -0
  240. package/dist/core/tokens/formatters/ts-module.d.ts.map +1 -0
  241. package/dist/core/tokens/formatters/ts-module.js +199 -0
  242. package/dist/core/tokens/formatters/ts-module.js.map +1 -0
  243. package/dist/core/tokens/index.d.ts +17 -0
  244. package/dist/core/tokens/index.d.ts.map +1 -0
  245. package/dist/core/tokens/index.js +16 -0
  246. package/dist/core/tokens/index.js.map +1 -0
  247. package/dist/core/tokens/parsers/css-vars.d.ts +3 -0
  248. package/dist/core/tokens/parsers/css-vars.d.ts.map +1 -0
  249. package/dist/core/tokens/parsers/css-vars.js +5 -0
  250. package/dist/core/tokens/parsers/css-vars.js.map +1 -0
  251. package/dist/core/tokens/parsers/dtcg.d.ts +21 -0
  252. package/dist/core/tokens/parsers/dtcg.d.ts.map +1 -0
  253. package/dist/core/tokens/parsers/dtcg.js +254 -0
  254. package/dist/core/tokens/parsers/dtcg.js.map +1 -0
  255. package/dist/core/tokens/parsers/index.d.ts +37 -0
  256. package/dist/core/tokens/parsers/index.d.ts.map +1 -0
  257. package/dist/core/tokens/parsers/index.js +139 -0
  258. package/dist/core/tokens/parsers/index.js.map +1 -0
  259. package/dist/core/tokens/parsers/json.d.ts +4 -0
  260. package/dist/core/tokens/parsers/json.d.ts.map +1 -0
  261. package/dist/core/tokens/parsers/json.js +8 -0
  262. package/dist/core/tokens/parsers/json.js.map +1 -0
  263. package/dist/core/tokens/parsers/scss.d.ts +3 -0
  264. package/dist/core/tokens/parsers/scss.d.ts.map +1 -0
  265. package/dist/core/tokens/parsers/scss.js +5 -0
  266. package/dist/core/tokens/parsers/scss.js.map +1 -0
  267. package/dist/core/tokens/parsers/stubs.d.ts +15 -0
  268. package/dist/core/tokens/parsers/stubs.d.ts.map +1 -0
  269. package/dist/core/tokens/parsers/stubs.js +21 -0
  270. package/dist/core/tokens/parsers/stubs.js.map +1 -0
  271. package/dist/core/tokens/parsers/style-dictionary-v3.d.ts +3 -0
  272. package/dist/core/tokens/parsers/style-dictionary-v3.d.ts.map +1 -0
  273. package/dist/core/tokens/parsers/style-dictionary-v3.js +5 -0
  274. package/dist/core/tokens/parsers/style-dictionary-v3.js.map +1 -0
  275. package/dist/core/tokens/parsers/tailwind-v3.d.ts +3 -0
  276. package/dist/core/tokens/parsers/tailwind-v3.d.ts.map +1 -0
  277. package/dist/core/tokens/parsers/tailwind-v3.js +5 -0
  278. package/dist/core/tokens/parsers/tailwind-v3.js.map +1 -0
  279. package/dist/core/tokens/parsers/tailwind-v4.d.ts +3 -0
  280. package/dist/core/tokens/parsers/tailwind-v4.d.ts.map +1 -0
  281. package/dist/core/tokens/parsers/tailwind-v4.js +5 -0
  282. package/dist/core/tokens/parsers/tailwind-v4.js.map +1 -0
  283. package/dist/core/tokens/parsers/tokens-studio.d.ts +3 -0
  284. package/dist/core/tokens/parsers/tokens-studio.d.ts.map +1 -0
  285. package/dist/core/tokens/parsers/tokens-studio.js +5 -0
  286. package/dist/core/tokens/parsers/tokens-studio.js.map +1 -0
  287. package/dist/core/tokens/schemas.d.ts +31 -0
  288. package/dist/core/tokens/schemas.d.ts.map +1 -0
  289. package/dist/core/tokens/schemas.js +149 -0
  290. package/dist/core/tokens/schemas.js.map +1 -0
  291. package/dist/core/tokens/transforms/color.d.ts +9 -0
  292. package/dist/core/tokens/transforms/color.d.ts.map +1 -0
  293. package/dist/core/tokens/transforms/color.js +13 -0
  294. package/dist/core/tokens/transforms/color.js.map +1 -0
  295. package/dist/core/tokens/transforms/index.d.ts +36 -0
  296. package/dist/core/tokens/transforms/index.d.ts.map +1 -0
  297. package/dist/core/tokens/transforms/index.js +30 -0
  298. package/dist/core/tokens/transforms/index.js.map +1 -0
  299. package/dist/core/tokens/transforms/size.d.ts +7 -0
  300. package/dist/core/tokens/transforms/size.d.ts.map +1 -0
  301. package/dist/core/tokens/transforms/size.js +8 -0
  302. package/dist/core/tokens/transforms/size.js.map +1 -0
  303. package/dist/core/tokens/types.d.ts +228 -0
  304. package/dist/core/tokens/types.d.ts.map +1 -0
  305. package/dist/core/tokens/types.js +19 -0
  306. package/dist/core/tokens/types.js.map +1 -0
  307. package/dist/core/tokens-tools.d.ts +42 -0
  308. package/dist/core/tokens-tools.d.ts.map +1 -0
  309. package/dist/core/tokens-tools.js +860 -0
  310. package/dist/core/tokens-tools.js.map +1 -0
  311. package/dist/core/types/design-code.d.ts +271 -0
  312. package/dist/core/types/design-code.d.ts.map +1 -0
  313. package/dist/core/types/design-code.js +5 -0
  314. package/dist/core/types/design-code.js.map +1 -0
  315. package/dist/core/types/enriched.d.ts +213 -0
  316. package/dist/core/types/enriched.d.ts.map +1 -0
  317. package/dist/core/types/enriched.js +6 -0
  318. package/dist/core/types/enriched.js.map +1 -0
  319. package/dist/core/types/index.d.ts +104 -0
  320. package/dist/core/types/index.d.ts.map +1 -0
  321. package/dist/core/types/index.js +5 -0
  322. package/dist/core/types/index.js.map +1 -0
  323. package/dist/core/variable-resolver.d.ts +45 -0
  324. package/dist/core/variable-resolver.d.ts.map +1 -0
  325. package/dist/core/variable-resolver.js +86 -0
  326. package/dist/core/variable-resolver.js.map +1 -0
  327. package/dist/core/version-tools.d.ts +59 -0
  328. package/dist/core/version-tools.d.ts.map +1 -0
  329. package/dist/core/version-tools.js +1159 -0
  330. package/dist/core/version-tools.js.map +1 -0
  331. package/dist/core/websocket-connector.d.ts +187 -0
  332. package/dist/core/websocket-connector.d.ts.map +1 -0
  333. package/dist/core/websocket-connector.js +378 -0
  334. package/dist/core/websocket-connector.js.map +1 -0
  335. package/dist/core/websocket-server.js +866 -0
  336. package/dist/core/websocket-server.js.map +1 -0
  337. package/dist/core/write-tools.d.ts +7 -0
  338. package/dist/core/write-tools.d.ts.map +1 -0
  339. package/dist/core/write-tools.js +2172 -0
  340. package/dist/core/write-tools.js.map +1 -0
  341. package/dist/local.d.ts +95 -0
  342. package/dist/local.d.ts.map +1 -0
  343. package/dist/local.js +3036 -0
  344. package/dist/local.js.map +1 -0
  345. package/dist/vendor/obra-autodocs/autodocs-body.generated.d.ts +2 -0
  346. package/dist/vendor/obra-autodocs/autodocs-body.generated.d.ts.map +1 -0
  347. package/dist/vendor/obra-autodocs/autodocs-body.generated.js +6 -0
  348. package/dist/vendor/obra-autodocs/autodocs-body.generated.js.map +1 -0
  349. package/figma-desktop-bridge/README.md +365 -0
  350. package/figma-desktop-bridge/code.js +6504 -0
  351. package/figma-desktop-bridge/icon.png +0 -0
  352. package/figma-desktop-bridge/manifest.json +67 -0
  353. package/figma-desktop-bridge/ui.html +2441 -0
  354. package/package.json +98 -0
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Type definitions for Figma Console MCP
3
+ */
4
+ /**
5
+ * Console log entry captured from Figma plugin
6
+ */
7
+ export interface ConsoleLogEntry {
8
+ timestamp: number;
9
+ level: 'log' | 'info' | 'warn' | 'error' | 'debug';
10
+ message: string;
11
+ args: any[];
12
+ stackTrace?: StackTrace;
13
+ source: 'plugin' | 'figma' | 'page' | 'unknown';
14
+ workerUrl?: string;
15
+ }
16
+ /**
17
+ * Stack trace information
18
+ */
19
+ export interface StackTrace {
20
+ callFrames: CallFrame[];
21
+ }
22
+ /**
23
+ * Individual stack frame
24
+ */
25
+ export interface CallFrame {
26
+ functionName: string;
27
+ url: string;
28
+ lineNumber: number;
29
+ columnNumber: number;
30
+ }
31
+ /**
32
+ * Screenshot metadata
33
+ */
34
+ export interface Screenshot {
35
+ id: string;
36
+ timestamp: number;
37
+ path: string;
38
+ format: 'png' | 'jpeg';
39
+ width: number;
40
+ height: number;
41
+ selector?: string;
42
+ base64?: string;
43
+ metadata?: ScreenshotMetadata;
44
+ }
45
+ /**
46
+ * Additional screenshot metadata
47
+ */
48
+ export interface ScreenshotMetadata {
49
+ pluginName?: string;
50
+ pluginId?: string;
51
+ figmaFileKey?: string;
52
+ }
53
+ /**
54
+ * Plugin context information
55
+ */
56
+ export interface PluginContext {
57
+ pluginId?: string;
58
+ pluginName?: string;
59
+ isRunning: boolean;
60
+ lastReloadTime?: number;
61
+ }
62
+ /**
63
+ * Server configuration
64
+ */
65
+ export interface ServerConfig {
66
+ mode: 'local' | 'cloudflare';
67
+ browser: BrowserConfig;
68
+ console: ConsoleConfig;
69
+ screenshots: ScreenshotConfig;
70
+ }
71
+ /**
72
+ * Browser configuration
73
+ */
74
+ export interface BrowserConfig {
75
+ headless: boolean;
76
+ args: string[];
77
+ executablePath?: string;
78
+ }
79
+ /**
80
+ * Console monitoring configuration
81
+ */
82
+ export interface ConsoleConfig {
83
+ bufferSize: number;
84
+ filterLevels: ConsoleLogEntry['level'][];
85
+ truncation: TruncationConfig;
86
+ }
87
+ /**
88
+ * Screenshot configuration
89
+ */
90
+ export interface ScreenshotConfig {
91
+ defaultFormat: 'png' | 'jpeg';
92
+ quality: number;
93
+ storePath: string;
94
+ }
95
+ /**
96
+ * Log truncation configuration
97
+ */
98
+ export interface TruncationConfig {
99
+ maxStringLength: number;
100
+ maxArrayLength: number;
101
+ maxObjectDepth: number;
102
+ removeDuplicates: boolean;
103
+ }
104
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for Figma Console MCP
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Bridge-first variable resolution.
3
+ *
4
+ * Figma's Variables REST API (`/files/:key/variables/local`) is **Enterprise-only**
5
+ * and returns 403 for the majority of users (Starter/Pro/Org). The Desktop Bridge
6
+ * and cloud relay read variables through the Plugin API
7
+ * (`figma.variables.getLocalVariablesAsync`), which works on **every** Figma plan.
8
+ *
9
+ * Orchestration tools (e.g. `figma_get_design_system_kit`) historically called the
10
+ * REST API directly and dead-ended on a 403 for non-Enterprise users — even when a
11
+ * bridge was connected. This helper mirrors `figma_get_variables`' resolution order
12
+ * so every variable-reading tool behaves consistently:
13
+ *
14
+ * 1. Desktop Bridge / cloud relay (any plan) ← preferred
15
+ * 2. REST Variables API (Enterprise only) ← fallback
16
+ *
17
+ * It returns the same normalized shape as `formatVariables()`.
18
+ */
19
+ import { type FigmaAPI } from "./figma-api.js";
20
+ export interface ResolvedVariables {
21
+ collections: any[];
22
+ variables: any[];
23
+ summary: {
24
+ totalCollections: number;
25
+ totalVariables: number;
26
+ variablesByType: Record<string, number>;
27
+ };
28
+ /** Which transport actually produced the data. */
29
+ source: "desktop_bridge" | "rest_api";
30
+ }
31
+ /**
32
+ * Resolve + format local variables, preferring the Desktop Bridge / cloud relay and
33
+ * falling back to the Enterprise-only REST API only when no bridge is connected.
34
+ *
35
+ * @throws a bridge-pointing error when the bridge is unavailable AND the REST API
36
+ * fails (e.g. 403 without Enterprise), so callers/LLMs retry via the bridge
37
+ * instead of treating variables as inaccessible.
38
+ */
39
+ export declare function resolveFormattedVariables(opts: {
40
+ getDesktopConnector?: () => Promise<any>;
41
+ getFigmaAPI: () => Promise<FigmaAPI>;
42
+ fileKey: string;
43
+ timeoutMs?: number;
44
+ }): Promise<ResolvedVariables>;
45
+ //# sourceMappingURL=variable-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-resolver.d.ts","sourceRoot":"","sources":["../../src/core/variable-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IACjC,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,OAAO,EAAE;QACR,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;IACF,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC;CACtC;AAsBD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACrD,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6D7B"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Bridge-first variable resolution.
3
+ *
4
+ * Figma's Variables REST API (`/files/:key/variables/local`) is **Enterprise-only**
5
+ * and returns 403 for the majority of users (Starter/Pro/Org). The Desktop Bridge
6
+ * and cloud relay read variables through the Plugin API
7
+ * (`figma.variables.getLocalVariablesAsync`), which works on **every** Figma plan.
8
+ *
9
+ * Orchestration tools (e.g. `figma_get_design_system_kit`) historically called the
10
+ * REST API directly and dead-ended on a 403 for non-Enterprise users — even when a
11
+ * bridge was connected. This helper mirrors `figma_get_variables`' resolution order
12
+ * so every variable-reading tool behaves consistently:
13
+ *
14
+ * 1. Desktop Bridge / cloud relay (any plan) ← preferred
15
+ * 2. REST Variables API (Enterprise only) ← fallback
16
+ *
17
+ * It returns the same normalized shape as `formatVariables()`.
18
+ */
19
+ import { formatVariables, withTimeout } from "./figma-api.js";
20
+ import { createChildLogger } from "./logger.js";
21
+ const logger = createChildLogger({ component: "variable-resolver" });
22
+ /**
23
+ * The Desktop Bridge returns variables/collections as **arrays**, while
24
+ * `formatVariables()` expects **objects keyed by id** (the REST shape). Convert so
25
+ * the same formatter handles both transports.
26
+ */
27
+ function bridgeArraysToFormatInput(data) {
28
+ const variables = {};
29
+ for (const v of data.variables || []) {
30
+ if (v && v.id)
31
+ variables[v.id] = v;
32
+ }
33
+ const variableCollections = {};
34
+ for (const c of data.variableCollections || []) {
35
+ if (c && c.id)
36
+ variableCollections[c.id] = c;
37
+ }
38
+ return { variables, variableCollections };
39
+ }
40
+ /**
41
+ * Resolve + format local variables, preferring the Desktop Bridge / cloud relay and
42
+ * falling back to the Enterprise-only REST API only when no bridge is connected.
43
+ *
44
+ * @throws a bridge-pointing error when the bridge is unavailable AND the REST API
45
+ * fails (e.g. 403 without Enterprise), so callers/LLMs retry via the bridge
46
+ * instead of treating variables as inaccessible.
47
+ */
48
+ export async function resolveFormattedVariables(opts) {
49
+ const { getDesktopConnector, getFigmaAPI, fileKey } = opts;
50
+ const timeoutMs = opts.timeoutMs ?? 30000;
51
+ // 1. Desktop Bridge / cloud relay — works on ANY plan. Preferred.
52
+ if (getDesktopConnector) {
53
+ try {
54
+ const connector = await getDesktopConnector();
55
+ const raw = await withTimeout(connector.getVariables(fileKey), timeoutMs, "Desktop Bridge variables");
56
+ // EXECUTE_CODE responses nest the return value under `result`; unwrap so
57
+ // both the live and cached plugin paths produce a uniform shape. See #68.
58
+ const data = raw?.result?.variables ? raw.result : raw;
59
+ if (data?.success && Array.isArray(data.variables)) {
60
+ const formatted = formatVariables(bridgeArraysToFormatInput(data));
61
+ logger.info({ source: "desktop_bridge", variableCount: formatted.variables.length }, "Resolved variables via Desktop Bridge");
62
+ return { ...formatted, source: "desktop_bridge" };
63
+ }
64
+ logger.warn({ fileKey, error: data?.error }, "Desktop Bridge returned no variables; falling back to REST API");
65
+ }
66
+ catch (err) {
67
+ logger.warn({ fileKey, error: err instanceof Error ? err.message : String(err) }, "Desktop Bridge variable fetch failed; falling back to REST API");
68
+ }
69
+ }
70
+ // 2. REST Variables API — Enterprise only. Last resort.
71
+ const api = await getFigmaAPI();
72
+ try {
73
+ const local = await withTimeout(api.getLocalVariables(fileKey), timeoutMs, "getLocalVariables");
74
+ const formatted = formatVariables(local);
75
+ logger.info({ source: "rest_api", variableCount: formatted.variables.length }, "Resolved variables via REST API");
76
+ return { ...formatted, source: "rest_api" };
77
+ }
78
+ catch (restErr) {
79
+ const msg = restErr instanceof Error ? restErr.message : String(restErr);
80
+ throw new Error(`[figma-console-mcp] Could not read variables. The Figma Variables REST API ` +
81
+ `is unavailable for this file (${msg}) — it requires an Enterprise plan. ` +
82
+ `Connect the Figma Console MCP Desktop Bridge plugin (or pair it via Cloud Mode) ` +
83
+ `to read variables on ANY plan, then retry.`);
84
+ }
85
+ }
86
+ //# sourceMappingURL=variable-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-resolver.js","sourceRoot":"","sources":["../../src/core/variable-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Figma Version History MCP Tools
3
+ *
4
+ * - figma_get_file_versions: list a file's version history with
5
+ * auto-pagination, labeled-only filtering by default, and a hard cap.
6
+ * - figma_get_file_at_version: snapshot a file (or selected nodes) at a
7
+ * specific version_id. Thin wrapper over getFile/getNodes which already
8
+ * accept the `version` query param.
9
+ * - figma_diff_versions: compare two versions. Always returns a page-structure
10
+ * diff (cheap, 2 API calls). When component_ids are passed, also returns
11
+ * per-node diffs at depth=2 (added/removed children, name/description
12
+ * changes, componentPropertyDefinitions changes, boundVariables deltas).
13
+ * - figma_get_changes_since_version: convenience wrapper for diff against HEAD.
14
+ * - figma_generate_changelog: human-readable markdown changelog on top of
15
+ * the diff, with author enrichment via figma_get_file_versions lookback.
16
+ *
17
+ * All tools work in local and Cloudflare Workers modes. Required scope is
18
+ * file_versions:read on OAuth, or "Versions" Read on a Personal Access Token,
19
+ * plus the standard file_content:read for fetching file snapshots.
20
+ *
21
+ * Design notes at .notes/VERSION-HISTORY-DIFF-DESIGN.md.
22
+ */
23
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
24
+ import type { FigmaAPI } from "./figma-api.js";
25
+ /** Test-only: clears the module-scoped snapshot cache so unit tests see fresh state. */
26
+ export declare function _clearVersionSnapshotCacheForTesting(): void;
27
+ /**
28
+ * v1.25.0: a description/annotation change captured by the Desktop Bridge
29
+ * plugin's documentchange listener. The diff engine queries this buffer to
30
+ * surface metadata changes that Figma REST omits from version snapshots.
31
+ *
32
+ * Filtered by file key, time window (Unix ms), and optionally node IDs.
33
+ */
34
+ export interface MetadataChangeBufferEntry {
35
+ node_id: string;
36
+ node_name: string | null;
37
+ node_type: string | null;
38
+ field: "description" | "annotations";
39
+ new_value: any;
40
+ timestamp: number;
41
+ }
42
+ export type GetMetadataChanges = (options: {
43
+ fileKey?: string;
44
+ since?: number;
45
+ until?: number;
46
+ nodeIds?: string[];
47
+ }) => MetadataChangeBufferEntry[];
48
+ export declare function registerVersionTools(server: McpServer, getFigmaAPI: () => Promise<FigmaAPI>, getCurrentUrl: () => string | null, _options?: {
49
+ isRemoteMode?: boolean;
50
+ }, getCurrentSelectedNodeIds?: () => string[] | null,
51
+ /**
52
+ * v1.25.0: optional metadata-change buffer reader. When wired (local mode),
53
+ * the diff engine consults this to surface description/annotation edits
54
+ * that Figma REST doesn't expose. In cloud mode (no plugin buffer
55
+ * available), this stays undefined and the diff just doesn't surface
56
+ * those edits — but scope_coverage still tells callers about the gap.
57
+ */
58
+ getMetadataChanges?: GetMetadataChanges): void;
59
+ //# sourceMappingURL=version-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-tools.d.ts","sourceRoot":"","sources":["../../src/core/version-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,wFAAwF;AACxF,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAuFD;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC;IACrC,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,KAAK,yBAAyB,EAAE,CAAC;AAElC,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EACpC,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,EACrC,yBAAyB,CAAC,EAAE,MAAM,MAAM,EAAE,GAAG,IAAI;AACjD;;;;;;GAMG;AACH,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,IAAI,CA4qCN"}