@mp3wizard/figma-console-mcp 1.32.3 → 1.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +25 -17
  2. package/dist/cloudflare/core/cloud-websocket-connector.js +18 -0
  3. package/dist/cloudflare/core/design-system-manifest.js +19 -14
  4. package/dist/cloudflare/core/design-system-tools.js +43 -34
  5. package/dist/cloudflare/core/diagnose-tool.js +4 -0
  6. package/dist/cloudflare/core/enrichment/enrichment-service.js +11 -5
  7. package/dist/cloudflare/core/enrichment/style-resolver.js +38 -18
  8. package/dist/cloudflare/core/figma-api.js +118 -54
  9. package/dist/cloudflare/core/figma-tools.js +179 -63
  10. package/dist/cloudflare/core/port-discovery.js +404 -31
  11. package/dist/cloudflare/core/tokens/alias-resolver.js +75 -5
  12. package/dist/cloudflare/core/tokens/config.js +10 -0
  13. package/dist/cloudflare/core/tokens/dialect.js +232 -0
  14. package/dist/cloudflare/core/tokens/figma-converter.js +144 -16
  15. package/dist/cloudflare/core/tokens/formatters/css-vars.js +21 -12
  16. package/dist/cloudflare/core/tokens/formatters/dtcg.js +106 -30
  17. package/dist/cloudflare/core/tokens/formatters/json.js +28 -10
  18. package/dist/cloudflare/core/tokens/formatters/scss.js +19 -13
  19. package/dist/cloudflare/core/tokens/formatters/style-dictionary-v3.js +15 -9
  20. package/dist/cloudflare/core/tokens/formatters/tailwind-v4.js +14 -9
  21. package/dist/cloudflare/core/tokens/formatters/tokens-studio.js +11 -5
  22. package/dist/cloudflare/core/tokens/index.js +2 -1
  23. package/dist/cloudflare/core/tokens/parsers/dtcg.js +32 -5
  24. package/dist/cloudflare/core/tokens/schemas.js +4 -0
  25. package/dist/cloudflare/core/tokens-tools.js +1017 -88
  26. package/dist/cloudflare/core/version-tools.js +44 -3
  27. package/dist/cloudflare/core/websocket-connector.js +42 -0
  28. package/dist/cloudflare/core/websocket-server.js +99 -8
  29. package/dist/cloudflare/core/write-tools.js +355 -86
  30. package/dist/cloudflare/index.js +7 -7
  31. package/dist/core/design-system-manifest.d.ts +1 -0
  32. package/dist/core/design-system-manifest.d.ts.map +1 -1
  33. package/dist/core/design-system-manifest.js +19 -14
  34. package/dist/core/design-system-manifest.js.map +1 -1
  35. package/dist/core/design-system-tools.d.ts.map +1 -1
  36. package/dist/core/design-system-tools.js +43 -34
  37. package/dist/core/design-system-tools.js.map +1 -1
  38. package/dist/core/diagnose-tool.d.ts +8 -0
  39. package/dist/core/diagnose-tool.d.ts.map +1 -1
  40. package/dist/core/diagnose-tool.js +4 -0
  41. package/dist/core/diagnose-tool.js.map +1 -1
  42. package/dist/core/enrichment/enrichment-service.d.ts.map +1 -1
  43. package/dist/core/enrichment/enrichment-service.js +11 -5
  44. package/dist/core/enrichment/enrichment-service.js.map +1 -1
  45. package/dist/core/enrichment/style-resolver.d.ts +7 -2
  46. package/dist/core/enrichment/style-resolver.d.ts.map +1 -1
  47. package/dist/core/enrichment/style-resolver.js +38 -18
  48. package/dist/core/enrichment/style-resolver.js.map +1 -1
  49. package/dist/core/figma-api.d.ts +18 -9
  50. package/dist/core/figma-api.d.ts.map +1 -1
  51. package/dist/core/figma-api.js +118 -54
  52. package/dist/core/figma-api.js.map +1 -1
  53. package/dist/core/figma-connector.d.ts +12 -0
  54. package/dist/core/figma-connector.d.ts.map +1 -1
  55. package/dist/core/figma-tools.d.ts.map +1 -1
  56. package/dist/core/figma-tools.js +179 -63
  57. package/dist/core/figma-tools.js.map +1 -1
  58. package/dist/core/port-discovery.d.ts +40 -0
  59. package/dist/core/port-discovery.d.ts.map +1 -1
  60. package/dist/core/port-discovery.js +404 -31
  61. package/dist/core/port-discovery.js.map +1 -1
  62. package/dist/core/tokens/alias-resolver.d.ts +45 -3
  63. package/dist/core/tokens/alias-resolver.d.ts.map +1 -1
  64. package/dist/core/tokens/alias-resolver.js +75 -5
  65. package/dist/core/tokens/alias-resolver.js.map +1 -1
  66. package/dist/core/tokens/config.d.ts +28 -0
  67. package/dist/core/tokens/config.d.ts.map +1 -1
  68. package/dist/core/tokens/config.js +10 -0
  69. package/dist/core/tokens/config.js.map +1 -1
  70. package/dist/core/tokens/dialect.d.ts +107 -0
  71. package/dist/core/tokens/dialect.d.ts.map +1 -0
  72. package/dist/core/tokens/dialect.js +233 -0
  73. package/dist/core/tokens/dialect.js.map +1 -0
  74. package/dist/core/tokens/figma-converter.d.ts +23 -2
  75. package/dist/core/tokens/figma-converter.d.ts.map +1 -1
  76. package/dist/core/tokens/figma-converter.js +144 -16
  77. package/dist/core/tokens/figma-converter.js.map +1 -1
  78. package/dist/core/tokens/formatters/css-vars.d.ts.map +1 -1
  79. package/dist/core/tokens/formatters/css-vars.js +21 -12
  80. package/dist/core/tokens/formatters/css-vars.js.map +1 -1
  81. package/dist/core/tokens/formatters/dtcg.d.ts +2 -2
  82. package/dist/core/tokens/formatters/dtcg.d.ts.map +1 -1
  83. package/dist/core/tokens/formatters/dtcg.js +106 -30
  84. package/dist/core/tokens/formatters/dtcg.js.map +1 -1
  85. package/dist/core/tokens/formatters/json.d.ts.map +1 -1
  86. package/dist/core/tokens/formatters/json.js +28 -10
  87. package/dist/core/tokens/formatters/json.js.map +1 -1
  88. package/dist/core/tokens/formatters/scss.d.ts.map +1 -1
  89. package/dist/core/tokens/formatters/scss.js +19 -13
  90. package/dist/core/tokens/formatters/scss.js.map +1 -1
  91. package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -1
  92. package/dist/core/tokens/formatters/style-dictionary-v3.js +15 -9
  93. package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -1
  94. package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -1
  95. package/dist/core/tokens/formatters/tailwind-v4.js +14 -9
  96. package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -1
  97. package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -1
  98. package/dist/core/tokens/formatters/tokens-studio.js +11 -5
  99. package/dist/core/tokens/formatters/tokens-studio.js.map +1 -1
  100. package/dist/core/tokens/index.d.ts +2 -1
  101. package/dist/core/tokens/index.d.ts.map +1 -1
  102. package/dist/core/tokens/index.js +2 -1
  103. package/dist/core/tokens/index.js.map +1 -1
  104. package/dist/core/tokens/parsers/dtcg.js +32 -5
  105. package/dist/core/tokens/parsers/dtcg.js.map +1 -1
  106. package/dist/core/tokens/schemas.d.ts +3 -0
  107. package/dist/core/tokens/schemas.d.ts.map +1 -1
  108. package/dist/core/tokens/schemas.js +4 -0
  109. package/dist/core/tokens/schemas.js.map +1 -1
  110. package/dist/core/tokens/types.d.ts +57 -1
  111. package/dist/core/tokens/types.d.ts.map +1 -1
  112. package/dist/core/tokens/types.js.map +1 -1
  113. package/dist/core/tokens-tools.d.ts +250 -7
  114. package/dist/core/tokens-tools.d.ts.map +1 -1
  115. package/dist/core/tokens-tools.js +1017 -88
  116. package/dist/core/tokens-tools.js.map +1 -1
  117. package/dist/core/version-tools.d.ts.map +1 -1
  118. package/dist/core/version-tools.js +44 -3
  119. package/dist/core/version-tools.js.map +1 -1
  120. package/dist/core/websocket-connector.d.ts +38 -0
  121. package/dist/core/websocket-connector.d.ts.map +1 -1
  122. package/dist/core/websocket-connector.js +42 -0
  123. package/dist/core/websocket-connector.js.map +1 -1
  124. package/dist/core/websocket-server.d.ts +23 -0
  125. package/dist/core/websocket-server.d.ts.map +1 -1
  126. package/dist/core/websocket-server.js +99 -8
  127. package/dist/core/websocket-server.js.map +1 -1
  128. package/dist/core/write-tools.d.ts.map +1 -1
  129. package/dist/core/write-tools.js +355 -86
  130. package/dist/core/write-tools.js.map +1 -1
  131. package/dist/local.d.ts +0 -1
  132. package/dist/local.d.ts.map +1 -1
  133. package/dist/local.js +253 -63
  134. package/dist/local.js.map +1 -1
  135. package/figma-desktop-bridge/code.js +382 -28
  136. package/figma-desktop-bridge/ui.html +578 -292
  137. package/package.json +2 -2
@@ -13,10 +13,52 @@
13
13
  */
14
14
  import type { Token, TokenDocument, TokenValue } from "./types.js";
15
15
  /**
16
- * Build a lookup map from dot-path strings (e.g. "color.primary") to Token
17
- * objects. Used as the index for resolveAliases().
16
+ * Slugify a set/collection name into the key used for the top-level set
17
+ * group in DTCG output AND the set-qualifier prefix in alias references
18
+ * (`{<set-slug>.<path.to.token>}`). Must stay in sync with the DTCG
19
+ * formatter's group keys so emitted references resolve inside the file.
18
20
  */
19
- export declare function buildTokenIndex(doc: TokenDocument): Map<string, Token>;
21
+ export declare function slugifySetName(name: string): string;
22
+ /**
23
+ * Build a lookup map for alias resolution. Every token is indexed under its
24
+ * set-qualified key (`<set-slug>.<dot.path>` — the same shape the converter
25
+ * emits in references), and additionally under its bare dot-path
26
+ * (`color.primary`) when that bare path is unambiguous across sets.
27
+ *
28
+ * When two collections both contain the same bare path (e.g. two collections
29
+ * each defining `color/primary`), the bare key is NOT indexed — resolving a
30
+ * bare reference to "whichever set was indexed last" is exactly the
31
+ * cross-collection misresolution bug this guards against. Callers that pass
32
+ * a `warnings` array get one warning per ambiguous bare path.
33
+ */
34
+ export declare function buildTokenIndex(doc: TokenDocument, warnings?: string[]): Map<string, Token>;
35
+ /**
36
+ * A token plus its owning set. The set name is what the import apply phase
37
+ * needs to build `<set-name>::<dot.path>` diff keys from a resolved alias
38
+ * target (variable creation and alias-target updates).
39
+ */
40
+ export interface TokenLookupEntry {
41
+ setName: string;
42
+ token: Token;
43
+ }
44
+ /**
45
+ * Set-aware variant of buildTokenIndex — identical key scheme and ambiguity
46
+ * rules (set-qualified keys always; bare-path fallback only when unambiguous
47
+ * across sets), but each entry carries the owning set's name alongside the
48
+ * token. buildTokenIndex delegates to this so the two can never drift.
49
+ */
50
+ export declare function buildTokenLookup(doc: TokenDocument, warnings?: string[]): Map<string, TokenLookupEntry>;
51
+ /**
52
+ * Resolve a reference to the path segments of its TARGET token — for
53
+ * formatters that name-ify aliases (CSS `var(--...)`, SCSS `$...`,
54
+ * Tokens Studio / SD v3 `{...}` refs). Set-qualified references
55
+ * (`{set-slug.path.to.token}`) resolve to the target token's own path
56
+ * (WITHOUT the set qualifier), matching how those formatters name the
57
+ * target's declaration. Falls back to the raw reference path when the
58
+ * target isn't in the index (e.g. hand-written bare refs to tokens that
59
+ * weren't exported).
60
+ */
61
+ export declare function referenceTargetPath(reference: string, index: Map<string, Token>): string[];
20
62
  /**
21
63
  * Resolve a single alias reference. Returns the eventual literal value, or
22
64
  * throws if the reference is unresolvable or cyclic.
@@ -1 +1 @@
1
- {"version":3,"file":"alias-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/alias-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAStE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EACzB,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,GAC5B,UAAU,CAsCZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACxB,UAAU,GAAG,IAAI,CAqBnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,CAqB5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAI7D"}
1
+ {"version":3,"file":"alias-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/alias-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAMpB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,EAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CA+B/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACxB,MAAM,EAAE,CAKV;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EACzB,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,GAC5B,UAAU,CAsCZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACxB,UAAU,GAAG,IAAI,CAqBnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,CAqB5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAI7D"}
@@ -12,19 +12,89 @@
12
12
  * - Detects cycles.
13
13
  */
14
14
  /**
15
- * Build a lookup map from dot-path strings (e.g. "color.primary") to Token
16
- * objects. Used as the index for resolveAliases().
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.
17
19
  */
18
- export function buildTokenIndex(doc) {
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) {
19
53
  const index = new Map();
54
+ // barePath → owning entries, used to detect cross-set ambiguity.
55
+ const bareOwners = new Map();
20
56
  for (const set of doc.sets) {
57
+ const setKey = slugifySetName(set.name);
21
58
  for (const token of set.tokens) {
22
- const key = token.path.join(".");
23
- index.set(key, token);
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}}.`);
24
77
  }
25
78
  }
26
79
  return index;
27
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
+ }
28
98
  /**
29
99
  * Resolve a single alias reference. Returns the eventual literal value, or
30
100
  * throws if the reference is unresolvable or cyclic.
@@ -1 +1 @@
1
- {"version":3,"file":"alias-resolver.js","sourceRoot":"","sources":["../../../src/core/tokens/alias-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alias-resolver.js","sourceRoot":"","sources":["../../../src/core/tokens/alias-resolver.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,16 @@ declare const OutputTargetSchema: z.ZodObject<{
29
29
  * for CSS/SCSS/Tailwind/etc. since they can't natively express aliases).
30
30
  */
31
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"]>>;
32
42
  /** Per-target transform options. Override the global defaults. */
33
43
  transforms: z.ZodOptional<z.ZodObject<{
34
44
  colorFormat: z.ZodOptional<z.ZodEnum<["hex", "hex8", "rgba", "oklch", "hsl"]>>;
@@ -50,6 +60,7 @@ declare const OutputTargetSchema: z.ZodObject<{
50
60
  prefix?: string | undefined;
51
61
  splitByMode?: boolean | undefined;
52
62
  splitByCollection?: boolean | undefined;
63
+ dtcgDialect?: "legacy" | "2025" | undefined;
53
64
  transforms?: {
54
65
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
55
66
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -62,6 +73,7 @@ declare const OutputTargetSchema: z.ZodObject<{
62
73
  prefix?: string | undefined;
63
74
  splitByMode?: boolean | undefined;
64
75
  splitByCollection?: boolean | undefined;
76
+ dtcgDialect?: "legacy" | "2025" | undefined;
65
77
  transforms?: {
66
78
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
67
79
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -123,6 +135,16 @@ export declare const TokensConfigSchema: z.ZodObject<{
123
135
  * for CSS/SCSS/Tailwind/etc. since they can't natively express aliases).
124
136
  */
125
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"]>>;
126
148
  /** Per-target transform options. Override the global defaults. */
127
149
  transforms: z.ZodOptional<z.ZodObject<{
128
150
  colorFormat: z.ZodOptional<z.ZodEnum<["hex", "hex8", "rgba", "oklch", "hsl"]>>;
@@ -144,6 +166,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
144
166
  prefix?: string | undefined;
145
167
  splitByMode?: boolean | undefined;
146
168
  splitByCollection?: boolean | undefined;
169
+ dtcgDialect?: "legacy" | "2025" | undefined;
147
170
  transforms?: {
148
171
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
149
172
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -156,6 +179,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
156
179
  prefix?: string | undefined;
157
180
  splitByMode?: boolean | undefined;
158
181
  splitByCollection?: boolean | undefined;
182
+ dtcgDialect?: "legacy" | "2025" | undefined;
159
183
  transforms?: {
160
184
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
161
185
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -171,6 +195,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
171
195
  prefix?: string | undefined;
172
196
  splitByMode?: boolean | undefined;
173
197
  splitByCollection?: boolean | undefined;
198
+ dtcgDialect?: "legacy" | "2025" | undefined;
174
199
  transforms?: {
175
200
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
176
201
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -186,6 +211,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
186
211
  prefix?: string | undefined;
187
212
  splitByMode?: boolean | undefined;
188
213
  splitByCollection?: boolean | undefined;
214
+ dtcgDialect?: "legacy" | "2025" | undefined;
189
215
  transforms?: {
190
216
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
191
217
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -245,6 +271,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
245
271
  prefix?: string | undefined;
246
272
  splitByMode?: boolean | undefined;
247
273
  splitByCollection?: boolean | undefined;
274
+ dtcgDialect?: "legacy" | "2025" | undefined;
248
275
  transforms?: {
249
276
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
250
277
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -277,6 +304,7 @@ export declare const TokensConfigSchema: z.ZodObject<{
277
304
  prefix?: string | undefined;
278
305
  splitByMode?: boolean | undefined;
279
306
  splitByCollection?: boolean | undefined;
307
+ dtcgDialect?: "legacy" | "2025" | undefined;
280
308
  transforms?: {
281
309
  colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
282
310
  sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
@@ -1 +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,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;;;;;YAxD/D,0EAA0E;;YAE1E,qEAAqE;;YAErE,uEAAuE;;YAEvE,sDAAsD;;YAEtD;;;;eAIG;;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"}
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"}
@@ -42,6 +42,16 @@ const OutputTargetSchema = z.object({
42
42
  * for CSS/SCSS/Tailwind/etc. since they can't natively express aliases).
43
43
  */
44
44
  resolveAliases: z.boolean().optional(),
45
+ /**
46
+ * DTCG dialect for dtcg/json outputs. 'legacy' (default): hex-string
47
+ * colors and bare-number dimensions, maximum compatibility (Style
48
+ * Dictionary v4, Tokens Studio). '2025': DTCG 2025.10 object colors
49
+ * ({ colorSpace, components, alpha?, hex }) and dimensions
50
+ * ({ value, unit }) for Style Dictionary v5+ and other 2025.10-aware
51
+ * tooling. Ignored by css/scss/tailwind/ts formatters, which render
52
+ * final code.
53
+ */
54
+ dtcgDialect: z.enum(["legacy", "2025"]).optional(),
45
55
  /** Per-target transform options. Override the global defaults. */
46
56
  transforms: z
47
57
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/tokens/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/tokens/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * DTCG dialect helpers — legacy vs 2025.10 value encodings.
3
+ *
4
+ * The token pipeline historically speaks the "legacy" DTCG dialect: colors
5
+ * as hex strings ("#4085F2"), FLOAT dimensions as bare numbers. The DTCG
6
+ * 2025.10 spec (https://tr.designtokens.org/format/) switched to object
7
+ * forms:
8
+ *
9
+ * color = { colorSpace: "srgb", components: [r, g, b], alpha?, hex? }
10
+ * dimension = { value: number, unit: "px" | "rem" }
11
+ * duration = { value: number, unit: "ms" | "s" } (we already emit this)
12
+ *
13
+ * Export stays legacy by default (downstream consumers depend on it) and
14
+ * opts into 2025 via the `dtcgDialect` option. Import accepts BOTH dialects
15
+ * unconditionally. This module centralizes:
16
+ *
17
+ * - 2025 encoding helpers used by the dtcg/json formatters at render time
18
+ * - dialect-agnostic canonicalization used by the import diff so a 2025
19
+ * color object compares equal to the same color's legacy hex string
20
+ * (both are quantized to 1/255 per channel, tolerating the 8-bit
21
+ * precision loss inherent to hex)
22
+ * - stripping of the transient `rawColor` field the converter carries on
23
+ * COLOR TokenValues (full-precision floats for 2025 components) so it
24
+ * never leaks into serialized output
25
+ */
26
+ /** Export dialect selector. `legacy` is the default everywhere. */
27
+ export type DtcgDialect = "legacy" | "2025";
28
+ /** Raw Figma color floats, 0–1 range. */
29
+ export interface RawRgba {
30
+ r: number;
31
+ g: number;
32
+ b: number;
33
+ a: number;
34
+ }
35
+ export declare function clamp01(n: number): number;
36
+ /**
37
+ * Canonicalize any color-like literal to a lowercase 8-digit hex string
38
+ * (`#rrggbbaa`), or return null when the literal isn't recognizably a color.
39
+ *
40
+ * Accepts:
41
+ * - hex strings: #rgb, #rrggbb, #rrggbbaa
42
+ * - 2025.10 color objects with srgb (or unspecified) colorSpace +
43
+ * 3 numeric components (+ optional alpha)
44
+ * - color objects with a hex fallback field (any colorSpace) + optional alpha
45
+ *
46
+ * Both the components form and the hex form quantize to 1 / 255 per channel,
47
+ * so a full-precision components array compares equal to the hex string the
48
+ * legacy pipeline derived from the same Figma floats.
49
+ */
50
+ export declare function colorLiteralToCanonicalHex(literal: unknown): string | null;
51
+ /**
52
+ * Parse a hex color string to raw rgba floats (0–1). Returns null on
53
+ * anything that isn't a valid 3/6/8-digit hex string.
54
+ */
55
+ export declare function hexToRawRgba(hex: string): RawRgba | null;
56
+ /**
57
+ * Encode a color TokenValue in the DTCG 2025.10 object form.
58
+ *
59
+ * Prefers the converter's transient `rawColor` floats (full precision — NOT
60
+ * round-tripped through 8-bit hex); falls back to parsing a hex-string
61
+ * literal. Literals already in object form pass through verbatim. Returns
62
+ * null when the value can't be encoded (caller keeps the legacy rendering).
63
+ *
64
+ * `alpha` is emitted only when < 1; `hex` is always included as the interop
65
+ * courtesy field (#RRGGBB, alpha carried separately).
66
+ */
67
+ export declare function colorValueTo2025(value: {
68
+ literal?: unknown;
69
+ rawColor?: RawRgba;
70
+ }): Record<string, unknown> | null;
71
+ /**
72
+ * Encode a dimension literal in the DTCG 2025.10 object form. The converter
73
+ * emits Figma FLOAT dimensions as bare unitless numbers conventionally
74
+ * interpreted as px (the same convention the css/json formatters use), so
75
+ * only bare finite numbers are converted; everything else (unit strings,
76
+ * pre-encoded objects) keeps its current rendering.
77
+ */
78
+ export declare function dimensionLiteralTo2025(literal: unknown): {
79
+ value: number;
80
+ unit: "px";
81
+ } | null;
82
+ /**
83
+ * Normalize a TokenValue to a dialect-agnostic comparable form for diffing:
84
+ *
85
+ * - the transient `rawColor` field is dropped (Figma-side values carry it;
86
+ * parsed code-side values never do)
87
+ * - color-like literals (hex strings OR 2025 color objects) normalize to a
88
+ * lowercase 8-digit hex string, quantized to 1/255 per channel
89
+ * - `{ value, unit }` objects with px/ms normalize to the bare number
90
+ * ("s" converts to ms first), so `{value: 16, unit: "px"}` equals 16 and
91
+ * `{value: 0.3, unit: "s"}` equals `{value: 300, unit: "ms"}`
92
+ * - "16px"-style strings normalize to the bare number
93
+ *
94
+ * Conservative by design: anything not confidently recognized is returned
95
+ * unchanged (minus rawColor), falling back to the existing deep comparison.
96
+ */
97
+ export declare function canonicalizeTokenValueForComparison(v: unknown): unknown;
98
+ /**
99
+ * Return a copy of a mode-keyed TokenValue map with the transient `rawColor`
100
+ * field removed from every entry. Used wherever values get serialized
101
+ * (lastSyncedValue snapshots, diff-plan samples) so the transient field never
102
+ * appears in output — keeping legacy output byte-identical.
103
+ */
104
+ export declare function stripRawColorFromValues<V extends {
105
+ rawColor?: unknown;
106
+ }>(values: Record<string, V>): Record<string, Omit<V, "rawColor">>;
107
+ //# sourceMappingURL=dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/dialect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5C,yCAAyC;AACzC,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzC;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAyC1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAUxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAoBjC;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,GACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAKtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAYvE;AA8BD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAWrC"}