@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,206 @@
1
+ /**
2
+ * Alias reference resolution and validation.
3
+ *
4
+ * DTCG alias references look like `{color.primary}` or `{tier-1.color.blue.500}`.
5
+ * They can chain (an alias can reference another alias), but cycles are an
6
+ * error.
7
+ *
8
+ * This module:
9
+ * - Resolves an alias to its eventual literal value (for formatters that
10
+ * can't natively express references — CSS, SCSS, Tailwind).
11
+ * - Validates that every alias points to an existing token.
12
+ * - Detects cycles.
13
+ */
14
+ /**
15
+ * Slugify a set/collection name into the key used for the top-level set
16
+ * group in DTCG output AND the set-qualifier prefix in alias references
17
+ * (`{<set-slug>.<path.to.token>}`). Must stay in sync with the DTCG
18
+ * formatter's group keys so emitted references resolve inside the file.
19
+ */
20
+ export function slugifySetName(name) {
21
+ return name
22
+ .trim()
23
+ .toLowerCase()
24
+ .replace(/[^a-z0-9]+/g, "-")
25
+ .replace(/^-+|-+$/g, "");
26
+ }
27
+ /**
28
+ * Build a lookup map for alias resolution. Every token is indexed under its
29
+ * set-qualified key (`<set-slug>.<dot.path>` — the same shape the converter
30
+ * emits in references), and additionally under its bare dot-path
31
+ * (`color.primary`) when that bare path is unambiguous across sets.
32
+ *
33
+ * When two collections both contain the same bare path (e.g. two collections
34
+ * each defining `color/primary`), the bare key is NOT indexed — resolving a
35
+ * bare reference to "whichever set was indexed last" is exactly the
36
+ * cross-collection misresolution bug this guards against. Callers that pass
37
+ * a `warnings` array get one warning per ambiguous bare path.
38
+ */
39
+ export function buildTokenIndex(doc, warnings) {
40
+ const index = new Map();
41
+ for (const [key, entry] of buildTokenLookup(doc, warnings)) {
42
+ index.set(key, entry.token);
43
+ }
44
+ return index;
45
+ }
46
+ /**
47
+ * Set-aware variant of buildTokenIndex — identical key scheme and ambiguity
48
+ * rules (set-qualified keys always; bare-path fallback only when unambiguous
49
+ * across sets), but each entry carries the owning set's name alongside the
50
+ * token. buildTokenIndex delegates to this so the two can never drift.
51
+ */
52
+ export function buildTokenLookup(doc, warnings) {
53
+ const index = new Map();
54
+ // barePath → owning entries, used to detect cross-set ambiguity.
55
+ const bareOwners = new Map();
56
+ for (const set of doc.sets) {
57
+ const setKey = slugifySetName(set.name);
58
+ for (const token of set.tokens) {
59
+ const bare = token.path.join(".");
60
+ index.set(`${setKey}.${bare}`, { setName: set.name, token });
61
+ const owners = bareOwners.get(bare) ?? [];
62
+ owners.push({ setName: set.name, token });
63
+ bareOwners.set(bare, owners);
64
+ }
65
+ }
66
+ // Bare-path fallback: only when a path exists in exactly one set, and only
67
+ // when it doesn't shadow a set-qualified key that's already indexed.
68
+ for (const [bare, owners] of bareOwners) {
69
+ if (owners.length === 1) {
70
+ if (!index.has(bare))
71
+ index.set(bare, owners[0]);
72
+ }
73
+ else if (warnings) {
74
+ warnings.push(`Token path "${bare}" exists in multiple collections (${owners
75
+ .map((o) => `"${o.setName}"`)
76
+ .join(", ")}) — bare alias references to it are ambiguous and will not resolve. Use a set-qualified reference like {${slugifySetName(owners[0].setName)}.${bare}}.`);
77
+ }
78
+ }
79
+ return index;
80
+ }
81
+ /**
82
+ * Resolve a reference to the path segments of its TARGET token — for
83
+ * formatters that name-ify aliases (CSS `var(--...)`, SCSS `$...`,
84
+ * Tokens Studio / SD v3 `{...}` refs). Set-qualified references
85
+ * (`{set-slug.path.to.token}`) resolve to the target token's own path
86
+ * (WITHOUT the set qualifier), matching how those formatters name the
87
+ * target's declaration. Falls back to the raw reference path when the
88
+ * target isn't in the index (e.g. hand-written bare refs to tokens that
89
+ * weren't exported).
90
+ */
91
+ export function referenceTargetPath(reference, index) {
92
+ const bare = reference.replace(/^\{|\}$/g, "");
93
+ const target = index.get(bare);
94
+ if (target)
95
+ return target.path;
96
+ return bare.split(".");
97
+ }
98
+ /**
99
+ * Resolve a single alias reference. Returns the eventual literal value, or
100
+ * throws if the reference is unresolvable or cyclic.
101
+ */
102
+ export function resolveReference(reference, mode, index, seen = new Set()) {
103
+ // Strip the curly braces if present: "{color.primary}" → "color.primary"
104
+ const path = reference.replace(/^\{|\}$/g, "");
105
+ if (seen.has(path)) {
106
+ throw new Error(`[figma-console-mcp] Alias cycle detected: ${[...seen, path].join(" → ")}`);
107
+ }
108
+ seen.add(path);
109
+ const target = index.get(path);
110
+ if (!target) {
111
+ throw new Error(`[figma-console-mcp] Unresolvable alias reference: {${path}}`);
112
+ }
113
+ // Find the value for the requested mode; fall back to the only mode if
114
+ // there's just one (alias's target may be single-mode while the source
115
+ // is multi-mode, or vice versa).
116
+ const value = target.values[mode] ??
117
+ (Object.keys(target.values).length === 1
118
+ ? Object.values(target.values)[0]
119
+ : undefined);
120
+ if (!value) {
121
+ throw new Error(`[figma-console-mcp] Alias {${path}} has no value for mode "${mode}"`);
122
+ }
123
+ // Chain: if the target's value is itself an alias, recurse.
124
+ if (value.reference) {
125
+ return resolveReference(value.reference, mode, index, seen);
126
+ }
127
+ return value;
128
+ }
129
+ /**
130
+ * Resolve an alias chain to its final literal value, walking through
131
+ * intermediate alias hops. Returns the final TokenValue (with `literal` set
132
+ * if resolution succeeded) or `null` if the chain ends at a cross-library
133
+ * reference / unresolvable target / cycle.
134
+ *
135
+ * Used by formatters that can't natively express alias references in their
136
+ * output (Tailwind v3, TypeScript modules, plain JSON) — those need literal
137
+ * values at export time.
138
+ *
139
+ * Safer counterpart of `resolveReference` because it swallows errors
140
+ * (unresolvable / cycle) into `null` rather than throwing; formatters can
141
+ * then emit a comment or skip the token instead of failing the whole export.
142
+ */
143
+ export function resolveAliasChain(value, mode, index) {
144
+ if (!value.reference)
145
+ return value;
146
+ // Cross-library aliases are not resolvable — formatters should skip with a comment.
147
+ const bare = value.reference.replace(/^\{|\}$/g, "");
148
+ if (bare.startsWith("__library:") || bare === "unknown")
149
+ return null;
150
+ try {
151
+ const resolved = resolveReference(value.reference, mode, index);
152
+ // resolveReference throws on cycles / unresolvable, so a returned value
153
+ // is either a literal or another reference. If still a reference,
154
+ // recurse (defensive — resolveReference already chases chains, but the
155
+ // top-level call may return a value with `reference` if mode-fallback
156
+ // routes through an aliased entry).
157
+ if (resolved.reference) {
158
+ return resolveAliasChain(resolved, mode, index);
159
+ }
160
+ return resolved;
161
+ }
162
+ catch {
163
+ return null;
164
+ }
165
+ }
166
+ /**
167
+ * Validate every alias in the document. Returns a list of error messages —
168
+ * empty array means all aliases resolve cleanly.
169
+ */
170
+ export function validateAliases(doc) {
171
+ const index = buildTokenIndex(doc);
172
+ const errors = [];
173
+ for (const set of doc.sets) {
174
+ for (const token of set.tokens) {
175
+ for (const [mode, value] of Object.entries(token.values)) {
176
+ if (value.reference) {
177
+ try {
178
+ resolveReference(value.reference, mode, index);
179
+ }
180
+ catch (err) {
181
+ errors.push(`${token.path.join(".")} (mode "${mode}"): ${err instanceof Error ? err.message : String(err)}`);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ return errors;
188
+ }
189
+ /**
190
+ * Format an alias reference for DTCG output. DTCG uses `{path.to.token}`
191
+ * syntax with curly braces.
192
+ */
193
+ export function formatDtcgReference(referencePath) {
194
+ return `{${referencePath.join(".")}}`;
195
+ }
196
+ /**
197
+ * Parse a DTCG alias string back into a path array. Returns null if the
198
+ * string isn't an alias reference.
199
+ */
200
+ export function parseDtcgReference(s) {
201
+ const match = s.match(/^\{([^}]+)\}$/);
202
+ if (!match)
203
+ return null;
204
+ return match[1].split(".");
205
+ }
206
+ //# sourceMappingURL=alias-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alias-resolver.js","sourceRoot":"","sources":["../../../src/core/tokens/alias-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,380 @@
1
+ /**
2
+ * tokens.config.json schema, loader, and autodiscovery for the figma-console-mcp
3
+ * token sync engine.
4
+ *
5
+ * Both figma_export_tokens and figma_import_tokens read this single config so
6
+ * follow-up calls in a project are zero-arg. Autodiscovery walks up from the
7
+ * current working directory looking for `tokens.config.json` at each level
8
+ * — same convention as `tsconfig.json`, `package.json`, `.eslintrc`, etc.
9
+ */
10
+ import { z } from "zod";
11
+ import type { ConflictResolution, ExportFormat } from "./types.js";
12
+ /**
13
+ * Schema for a single output target in `tokens.config.json`. Each entry
14
+ * produces one or more files when figma_export_tokens runs.
15
+ */
16
+ declare const OutputTargetSchema: z.ZodObject<{
17
+ format: z.ZodEnum<["dtcg", "tokens-studio", "css-vars", "tailwind-v4", "tailwind-v3", "scss", "less", "ts-module", "json-flat", "json-nested", "style-dictionary-v3"]>;
18
+ /** Optional filename override. Default is derived from format + scope. */
19
+ filename: z.ZodOptional<z.ZodString>;
20
+ /** Output prefix applied to every token name (e.g. "ds-", "al-"). */
21
+ prefix: z.ZodOptional<z.ZodString>;
22
+ /** Emit one file per mode (e.g. tokens-light.css, tokens-dark.css). */
23
+ splitByMode: z.ZodOptional<z.ZodBoolean>;
24
+ /** Emit one file per token set / Figma collection. */
25
+ splitByCollection: z.ZodOptional<z.ZodBoolean>;
26
+ /**
27
+ * If true, alias references are resolved to literal values in the output.
28
+ * If false, aliases are preserved (default for JSON formats, forced true
29
+ * for CSS/SCSS/Tailwind/etc. since they can't natively express aliases).
30
+ */
31
+ resolveAliases: z.ZodOptional<z.ZodBoolean>;
32
+ /**
33
+ * DTCG dialect for dtcg/json outputs. 'legacy' (default): hex-string
34
+ * colors and bare-number dimensions, maximum compatibility (Style
35
+ * Dictionary v4, Tokens Studio). '2025': DTCG 2025.10 object colors
36
+ * ({ colorSpace, components, alpha?, hex }) and dimensions
37
+ * ({ value, unit }) for Style Dictionary v5+ and other 2025.10-aware
38
+ * tooling. Ignored by css/scss/tailwind/ts formatters, which render
39
+ * final code.
40
+ */
41
+ dtcgDialect: z.ZodOptional<z.ZodEnum<["legacy", "2025"]>>;
42
+ /** Per-target transform options. Override the global defaults. */
43
+ transforms: z.ZodOptional<z.ZodObject<{
44
+ colorFormat: z.ZodOptional<z.ZodEnum<["hex", "hex8", "rgba", "oklch", "hsl"]>>;
45
+ sizeUnit: z.ZodOptional<z.ZodEnum<["px", "rem", "pt", "dp"]>>;
46
+ remBase: z.ZodOptional<z.ZodNumber>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
49
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
50
+ remBase?: number | undefined;
51
+ }, {
52
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
53
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
54
+ remBase?: number | undefined;
55
+ }>>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
58
+ resolveAliases?: boolean | undefined;
59
+ filename?: string | undefined;
60
+ prefix?: string | undefined;
61
+ splitByMode?: boolean | undefined;
62
+ splitByCollection?: boolean | undefined;
63
+ dtcgDialect?: "legacy" | "2025" | undefined;
64
+ transforms?: {
65
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
66
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
67
+ remBase?: number | undefined;
68
+ } | undefined;
69
+ }, {
70
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
71
+ resolveAliases?: boolean | undefined;
72
+ filename?: string | undefined;
73
+ prefix?: string | undefined;
74
+ splitByMode?: boolean | undefined;
75
+ splitByCollection?: boolean | undefined;
76
+ dtcgDialect?: "legacy" | "2025" | undefined;
77
+ transforms?: {
78
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
79
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
80
+ remBase?: number | undefined;
81
+ } | undefined;
82
+ }>;
83
+ export type OutputTarget = z.infer<typeof OutputTargetSchema>;
84
+ /**
85
+ * Full schema for `tokens.config.json`. Every field is optional so the
86
+ * minimum-viable config is `{ "figmaFile": "..." }` — the rest gets sensible
87
+ * defaults.
88
+ */
89
+ export declare const TokensConfigSchema: z.ZodObject<{
90
+ /** Optional JSON Schema URL for editor autocompletion. */
91
+ $schema: z.ZodOptional<z.ZodString>;
92
+ /**
93
+ * Figma file URL or fileKey. When omitted, tools fall back to the
94
+ * currently-connected Desktop Bridge plugin's file (Local Mode) or the
95
+ * file context bound by figma_pair_plugin (Cloud Mode).
96
+ */
97
+ figmaFile: z.ZodOptional<z.ZodString>;
98
+ /** Where the canonical (committed) token sources live. */
99
+ source: z.ZodDefault<z.ZodObject<{
100
+ /** Directory holding the canonical token files. */
101
+ dir: z.ZodString;
102
+ /** Glob pattern within dir. Default: "*.tokens.json" */
103
+ pattern: z.ZodOptional<z.ZodString>;
104
+ /**
105
+ * Canonical format for source files. DTCG is the recommended default;
106
+ * Tokens Studio is supported for users who already have a `$themes.json`
107
+ * setup (e.g. Altitude).
108
+ */
109
+ canonical: z.ZodDefault<z.ZodEnum<["dtcg", "tokens-studio"]>>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ dir: string;
112
+ canonical: "dtcg" | "tokens-studio";
113
+ pattern?: string | undefined;
114
+ }, {
115
+ dir: string;
116
+ pattern?: string | undefined;
117
+ canonical?: "dtcg" | "tokens-studio" | undefined;
118
+ }>>;
119
+ /** Where build outputs (CSS, Tailwind, etc.) get written. */
120
+ generated: z.ZodOptional<z.ZodObject<{
121
+ dir: z.ZodDefault<z.ZodString>;
122
+ formats: z.ZodDefault<z.ZodArray<z.ZodObject<{
123
+ format: z.ZodEnum<["dtcg", "tokens-studio", "css-vars", "tailwind-v4", "tailwind-v3", "scss", "less", "ts-module", "json-flat", "json-nested", "style-dictionary-v3"]>;
124
+ /** Optional filename override. Default is derived from format + scope. */
125
+ filename: z.ZodOptional<z.ZodString>;
126
+ /** Output prefix applied to every token name (e.g. "ds-", "al-"). */
127
+ prefix: z.ZodOptional<z.ZodString>;
128
+ /** Emit one file per mode (e.g. tokens-light.css, tokens-dark.css). */
129
+ splitByMode: z.ZodOptional<z.ZodBoolean>;
130
+ /** Emit one file per token set / Figma collection. */
131
+ splitByCollection: z.ZodOptional<z.ZodBoolean>;
132
+ /**
133
+ * If true, alias references are resolved to literal values in the output.
134
+ * If false, aliases are preserved (default for JSON formats, forced true
135
+ * for CSS/SCSS/Tailwind/etc. since they can't natively express aliases).
136
+ */
137
+ resolveAliases: z.ZodOptional<z.ZodBoolean>;
138
+ /**
139
+ * DTCG dialect for dtcg/json outputs. 'legacy' (default): hex-string
140
+ * colors and bare-number dimensions, maximum compatibility (Style
141
+ * Dictionary v4, Tokens Studio). '2025': DTCG 2025.10 object colors
142
+ * ({ colorSpace, components, alpha?, hex }) and dimensions
143
+ * ({ value, unit }) for Style Dictionary v5+ and other 2025.10-aware
144
+ * tooling. Ignored by css/scss/tailwind/ts formatters, which render
145
+ * final code.
146
+ */
147
+ dtcgDialect: z.ZodOptional<z.ZodEnum<["legacy", "2025"]>>;
148
+ /** Per-target transform options. Override the global defaults. */
149
+ transforms: z.ZodOptional<z.ZodObject<{
150
+ colorFormat: z.ZodOptional<z.ZodEnum<["hex", "hex8", "rgba", "oklch", "hsl"]>>;
151
+ sizeUnit: z.ZodOptional<z.ZodEnum<["px", "rem", "pt", "dp"]>>;
152
+ remBase: z.ZodOptional<z.ZodNumber>;
153
+ }, "strip", z.ZodTypeAny, {
154
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
155
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
156
+ remBase?: number | undefined;
157
+ }, {
158
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
159
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
160
+ remBase?: number | undefined;
161
+ }>>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
164
+ resolveAliases?: boolean | undefined;
165
+ filename?: string | undefined;
166
+ prefix?: string | undefined;
167
+ splitByMode?: boolean | undefined;
168
+ splitByCollection?: boolean | undefined;
169
+ dtcgDialect?: "legacy" | "2025" | undefined;
170
+ transforms?: {
171
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
172
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
173
+ remBase?: number | undefined;
174
+ } | undefined;
175
+ }, {
176
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
177
+ resolveAliases?: boolean | undefined;
178
+ filename?: string | undefined;
179
+ prefix?: string | undefined;
180
+ splitByMode?: boolean | undefined;
181
+ splitByCollection?: boolean | undefined;
182
+ dtcgDialect?: "legacy" | "2025" | undefined;
183
+ transforms?: {
184
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
185
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
186
+ remBase?: number | undefined;
187
+ } | undefined;
188
+ }>, "many">>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ dir: string;
191
+ formats: {
192
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
193
+ resolveAliases?: boolean | undefined;
194
+ filename?: string | undefined;
195
+ prefix?: string | undefined;
196
+ splitByMode?: boolean | undefined;
197
+ splitByCollection?: boolean | undefined;
198
+ dtcgDialect?: "legacy" | "2025" | undefined;
199
+ transforms?: {
200
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
201
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
202
+ remBase?: number | undefined;
203
+ } | undefined;
204
+ }[];
205
+ }, {
206
+ dir?: string | undefined;
207
+ formats?: {
208
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
209
+ resolveAliases?: boolean | undefined;
210
+ filename?: string | undefined;
211
+ prefix?: string | undefined;
212
+ splitByMode?: boolean | undefined;
213
+ splitByCollection?: boolean | undefined;
214
+ dtcgDialect?: "legacy" | "2025" | undefined;
215
+ transforms?: {
216
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
217
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
218
+ remBase?: number | undefined;
219
+ } | undefined;
220
+ }[] | undefined;
221
+ }>>;
222
+ /** Mode name mappings (Figma mode name → output mode name). */
223
+ modes: z.ZodOptional<z.ZodObject<{
224
+ /** e.g. { "Light": "light", "Dark": "dark" } */
225
+ map: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
226
+ /** Default mode if a token has no explicit mode (e.g. "Light"). */
227
+ default: z.ZodOptional<z.ZodString>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ map?: Record<string, string> | undefined;
230
+ default?: string | undefined;
231
+ }, {
232
+ map?: Record<string, string> | undefined;
233
+ default?: string | undefined;
234
+ }>>;
235
+ /** Default conflict-resolution strategy when not specified per-call. */
236
+ conflictResolution: z.ZodDefault<z.ZodEnum<["ask", "figma-wins", "code-wins", "skip"]>>;
237
+ /** Behavior for tokens that exist on one side but not the other. */
238
+ sync: z.ZodOptional<z.ZodObject<{
239
+ onMissingInCode: z.ZodDefault<z.ZodEnum<["preserve", "delete", "warn"]>>;
240
+ onMissingInFigma: z.ZodDefault<z.ZodEnum<["preserve", "delete", "warn"]>>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ onMissingInCode: "warn" | "delete" | "preserve";
243
+ onMissingInFigma: "warn" | "delete" | "preserve";
244
+ }, {
245
+ onMissingInCode?: "warn" | "delete" | "preserve" | undefined;
246
+ onMissingInFigma?: "warn" | "delete" | "preserve" | undefined;
247
+ }>>;
248
+ }, "strict", z.ZodTypeAny, {
249
+ source: {
250
+ dir: string;
251
+ canonical: "dtcg" | "tokens-studio";
252
+ pattern?: string | undefined;
253
+ };
254
+ conflictResolution: "ask" | "figma-wins" | "code-wins" | "skip";
255
+ sync?: {
256
+ onMissingInCode: "warn" | "delete" | "preserve";
257
+ onMissingInFigma: "warn" | "delete" | "preserve";
258
+ } | undefined;
259
+ modes?: {
260
+ map?: Record<string, string> | undefined;
261
+ default?: string | undefined;
262
+ } | undefined;
263
+ $schema?: string | undefined;
264
+ figmaFile?: string | undefined;
265
+ generated?: {
266
+ dir: string;
267
+ formats: {
268
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
269
+ resolveAliases?: boolean | undefined;
270
+ filename?: string | undefined;
271
+ prefix?: string | undefined;
272
+ splitByMode?: boolean | undefined;
273
+ splitByCollection?: boolean | undefined;
274
+ dtcgDialect?: "legacy" | "2025" | undefined;
275
+ transforms?: {
276
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
277
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
278
+ remBase?: number | undefined;
279
+ } | undefined;
280
+ }[];
281
+ } | undefined;
282
+ }, {
283
+ sync?: {
284
+ onMissingInCode?: "warn" | "delete" | "preserve" | undefined;
285
+ onMissingInFigma?: "warn" | "delete" | "preserve" | undefined;
286
+ } | undefined;
287
+ source?: {
288
+ dir: string;
289
+ pattern?: string | undefined;
290
+ canonical?: "dtcg" | "tokens-studio" | undefined;
291
+ } | undefined;
292
+ modes?: {
293
+ map?: Record<string, string> | undefined;
294
+ default?: string | undefined;
295
+ } | undefined;
296
+ $schema?: string | undefined;
297
+ figmaFile?: string | undefined;
298
+ generated?: {
299
+ dir?: string | undefined;
300
+ formats?: {
301
+ format: "dtcg" | "tokens-studio" | "css-vars" | "tailwind-v4" | "tailwind-v3" | "scss" | "less" | "ts-module" | "json-flat" | "json-nested" | "style-dictionary-v3";
302
+ resolveAliases?: boolean | undefined;
303
+ filename?: string | undefined;
304
+ prefix?: string | undefined;
305
+ splitByMode?: boolean | undefined;
306
+ splitByCollection?: boolean | undefined;
307
+ dtcgDialect?: "legacy" | "2025" | undefined;
308
+ transforms?: {
309
+ colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
310
+ sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
311
+ remBase?: number | undefined;
312
+ } | undefined;
313
+ }[] | undefined;
314
+ } | undefined;
315
+ conflictResolution?: "ask" | "figma-wins" | "code-wins" | "skip" | undefined;
316
+ }>;
317
+ export type TokensConfig = z.infer<typeof TokensConfigSchema>;
318
+ /**
319
+ * Result of running `loadTokensConfig`. Includes the resolved config plus
320
+ * provenance info — where the file was found and the absolute project root.
321
+ */
322
+ export interface LoadedTokensConfig {
323
+ config: TokensConfig;
324
+ /** Absolute path to the discovered `tokens.config.json`. */
325
+ configPath: string;
326
+ /** Directory containing the config file — used as the project root. */
327
+ projectRoot: string;
328
+ }
329
+ /**
330
+ * Walk up from `startDir` looking for `tokens.config.json`. Returns the first
331
+ * match, or `null` if none found by the filesystem root.
332
+ */
333
+ export declare function findTokensConfig(startDir: string): string | null;
334
+ /**
335
+ * Load and validate `tokens.config.json`. If `explicitPath` is provided, uses
336
+ * that; otherwise autodiscovers by walking up from `cwd` (default
337
+ * `process.cwd()`).
338
+ *
339
+ * Returns `null` if no config is found AND no explicit path was given. Throws
340
+ * if an explicit path doesn't exist, or if the discovered file fails schema
341
+ * validation.
342
+ */
343
+ export declare function loadTokensConfig(opts?: {
344
+ cwd?: string;
345
+ explicitPath?: string;
346
+ }): LoadedTokensConfig | null;
347
+ /**
348
+ * Default config used when none is found. Drives the "no-config detected"
349
+ * response shape from figma_export_tokens — the AI uses this to propose a
350
+ * scaffold to the user.
351
+ */
352
+ export declare const DEFAULT_TOKENS_CONFIG: TokensConfig;
353
+ /**
354
+ * Build a `suggestedScaffold` payload returned when a tool is called and no
355
+ * `tokens.config.json` exists. The AI presents this scaffold to the user,
356
+ * writes the files via its native edit/write tools, then calls the original
357
+ * tool again.
358
+ */
359
+ export declare function buildSuggestedScaffold(opts: {
360
+ projectRoot: string;
361
+ detectedFramework?: "tailwind-v4" | "tailwind-v3" | "css" | "scss" | "ts";
362
+ }): {
363
+ configContent: string;
364
+ directories: string[];
365
+ stylesheetImport: string;
366
+ nextSteps: string;
367
+ };
368
+ /**
369
+ * Pick the export formats from a loaded config that map to a given runtime
370
+ * format. Used by figma_export_tokens to decide which generated files to
371
+ * write. Returns the list verbatim if the caller passed an explicit format.
372
+ */
373
+ export declare function resolveOutputTargets(config: TokensConfig | null, explicitFormat: ExportFormat | undefined): OutputTarget[];
374
+ /**
375
+ * Resolve the conflict-resolution strategy. Per-call argument wins over config
376
+ * default, which wins over the global default ("ask").
377
+ */
378
+ export declare function resolveConflictStrategy(config: TokensConfig | null, perCall: ConflictResolution | undefined): ConflictResolution;
379
+ export {};
380
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,QAAA,MAAM,kBAAkB;;IActB,0EAA0E;;IAE1E,qEAAqE;;IAErE,uEAAuE;;IAEvE,sDAAsD;;IAEtD;;;;OAIG;;IAEH;;;;;;;;OAQG;;IAEH,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlE,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;IAE3B,0DAA0D;;IAE1D;;;;OAIG;;IAEH,0DAA0D;;QAGtD,mDAAmD;;QAEnD,wDAAwD;;QAExD;;;;WAIG;;;;;;;;;;;IAIP,6DAA6D;;;;;YAlE/D,0EAA0E;;YAE1E,qEAAqE;;YAErE,uEAAuE;;YAEvE,sDAAsD;;YAEtD;;;;eAIG;;YAEH;;;;;;;;eAQG;;YAEH,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiDhE,+DAA+D;;QAG3D,gDAAgD;;QAEhD,mEAAmE;;;;;;;;;IAIvE,wEAAwE;;IAIxE,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY7D,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,kBAAkB,GAAG,IAAI,CAwCjC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3E,GAAG;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAyBA;AA6CD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,cAAc,EAAE,YAAY,GAAG,SAAS,GACvC,YAAY,EAAE,CAWhB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACtC,kBAAkB,CAEpB"}