@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.
- package/README.md +25 -17
- package/dist/cloudflare/core/cloud-websocket-connector.js +18 -0
- package/dist/cloudflare/core/design-system-manifest.js +19 -14
- package/dist/cloudflare/core/design-system-tools.js +43 -34
- package/dist/cloudflare/core/diagnose-tool.js +4 -0
- package/dist/cloudflare/core/enrichment/enrichment-service.js +11 -5
- package/dist/cloudflare/core/enrichment/style-resolver.js +38 -18
- package/dist/cloudflare/core/figma-api.js +118 -54
- package/dist/cloudflare/core/figma-tools.js +179 -63
- package/dist/cloudflare/core/port-discovery.js +404 -31
- package/dist/cloudflare/core/tokens/alias-resolver.js +75 -5
- package/dist/cloudflare/core/tokens/config.js +10 -0
- package/dist/cloudflare/core/tokens/dialect.js +232 -0
- package/dist/cloudflare/core/tokens/figma-converter.js +144 -16
- package/dist/cloudflare/core/tokens/formatters/css-vars.js +21 -12
- package/dist/cloudflare/core/tokens/formatters/dtcg.js +106 -30
- package/dist/cloudflare/core/tokens/formatters/json.js +28 -10
- package/dist/cloudflare/core/tokens/formatters/scss.js +19 -13
- package/dist/cloudflare/core/tokens/formatters/style-dictionary-v3.js +15 -9
- package/dist/cloudflare/core/tokens/formatters/tailwind-v4.js +14 -9
- package/dist/cloudflare/core/tokens/formatters/tokens-studio.js +11 -5
- package/dist/cloudflare/core/tokens/index.js +2 -1
- package/dist/cloudflare/core/tokens/parsers/dtcg.js +32 -5
- package/dist/cloudflare/core/tokens/schemas.js +4 -0
- package/dist/cloudflare/core/tokens-tools.js +1017 -88
- package/dist/cloudflare/core/version-tools.js +44 -3
- package/dist/cloudflare/core/websocket-connector.js +42 -0
- package/dist/cloudflare/core/websocket-server.js +99 -8
- package/dist/cloudflare/core/write-tools.js +355 -86
- package/dist/cloudflare/index.js +7 -7
- package/dist/core/design-system-manifest.d.ts +1 -0
- package/dist/core/design-system-manifest.d.ts.map +1 -1
- package/dist/core/design-system-manifest.js +19 -14
- package/dist/core/design-system-manifest.js.map +1 -1
- package/dist/core/design-system-tools.d.ts.map +1 -1
- package/dist/core/design-system-tools.js +43 -34
- package/dist/core/design-system-tools.js.map +1 -1
- package/dist/core/diagnose-tool.d.ts +8 -0
- package/dist/core/diagnose-tool.d.ts.map +1 -1
- package/dist/core/diagnose-tool.js +4 -0
- package/dist/core/diagnose-tool.js.map +1 -1
- package/dist/core/enrichment/enrichment-service.d.ts.map +1 -1
- package/dist/core/enrichment/enrichment-service.js +11 -5
- package/dist/core/enrichment/enrichment-service.js.map +1 -1
- package/dist/core/enrichment/style-resolver.d.ts +7 -2
- package/dist/core/enrichment/style-resolver.d.ts.map +1 -1
- package/dist/core/enrichment/style-resolver.js +38 -18
- package/dist/core/enrichment/style-resolver.js.map +1 -1
- package/dist/core/figma-api.d.ts +18 -9
- package/dist/core/figma-api.d.ts.map +1 -1
- package/dist/core/figma-api.js +118 -54
- package/dist/core/figma-api.js.map +1 -1
- package/dist/core/figma-connector.d.ts +12 -0
- package/dist/core/figma-connector.d.ts.map +1 -1
- package/dist/core/figma-tools.d.ts.map +1 -1
- package/dist/core/figma-tools.js +179 -63
- package/dist/core/figma-tools.js.map +1 -1
- package/dist/core/port-discovery.d.ts +40 -0
- package/dist/core/port-discovery.d.ts.map +1 -1
- package/dist/core/port-discovery.js +404 -31
- package/dist/core/port-discovery.js.map +1 -1
- package/dist/core/tokens/alias-resolver.d.ts +45 -3
- package/dist/core/tokens/alias-resolver.d.ts.map +1 -1
- package/dist/core/tokens/alias-resolver.js +75 -5
- package/dist/core/tokens/alias-resolver.js.map +1 -1
- package/dist/core/tokens/config.d.ts +28 -0
- package/dist/core/tokens/config.d.ts.map +1 -1
- package/dist/core/tokens/config.js +10 -0
- package/dist/core/tokens/config.js.map +1 -1
- package/dist/core/tokens/dialect.d.ts +107 -0
- package/dist/core/tokens/dialect.d.ts.map +1 -0
- package/dist/core/tokens/dialect.js +233 -0
- package/dist/core/tokens/dialect.js.map +1 -0
- package/dist/core/tokens/figma-converter.d.ts +23 -2
- package/dist/core/tokens/figma-converter.d.ts.map +1 -1
- package/dist/core/tokens/figma-converter.js +144 -16
- package/dist/core/tokens/figma-converter.js.map +1 -1
- package/dist/core/tokens/formatters/css-vars.d.ts.map +1 -1
- package/dist/core/tokens/formatters/css-vars.js +21 -12
- package/dist/core/tokens/formatters/css-vars.js.map +1 -1
- package/dist/core/tokens/formatters/dtcg.d.ts +2 -2
- package/dist/core/tokens/formatters/dtcg.d.ts.map +1 -1
- package/dist/core/tokens/formatters/dtcg.js +106 -30
- package/dist/core/tokens/formatters/dtcg.js.map +1 -1
- package/dist/core/tokens/formatters/json.d.ts.map +1 -1
- package/dist/core/tokens/formatters/json.js +28 -10
- package/dist/core/tokens/formatters/json.js.map +1 -1
- package/dist/core/tokens/formatters/scss.d.ts.map +1 -1
- package/dist/core/tokens/formatters/scss.js +19 -13
- package/dist/core/tokens/formatters/scss.js.map +1 -1
- package/dist/core/tokens/formatters/style-dictionary-v3.d.ts.map +1 -1
- package/dist/core/tokens/formatters/style-dictionary-v3.js +15 -9
- package/dist/core/tokens/formatters/style-dictionary-v3.js.map +1 -1
- package/dist/core/tokens/formatters/tailwind-v4.d.ts.map +1 -1
- package/dist/core/tokens/formatters/tailwind-v4.js +14 -9
- package/dist/core/tokens/formatters/tailwind-v4.js.map +1 -1
- package/dist/core/tokens/formatters/tokens-studio.d.ts.map +1 -1
- package/dist/core/tokens/formatters/tokens-studio.js +11 -5
- package/dist/core/tokens/formatters/tokens-studio.js.map +1 -1
- package/dist/core/tokens/index.d.ts +2 -1
- package/dist/core/tokens/index.d.ts.map +1 -1
- package/dist/core/tokens/index.js +2 -1
- package/dist/core/tokens/index.js.map +1 -1
- package/dist/core/tokens/parsers/dtcg.js +32 -5
- package/dist/core/tokens/parsers/dtcg.js.map +1 -1
- package/dist/core/tokens/schemas.d.ts +3 -0
- package/dist/core/tokens/schemas.d.ts.map +1 -1
- package/dist/core/tokens/schemas.js +4 -0
- package/dist/core/tokens/schemas.js.map +1 -1
- package/dist/core/tokens/types.d.ts +57 -1
- package/dist/core/tokens/types.d.ts.map +1 -1
- package/dist/core/tokens/types.js.map +1 -1
- package/dist/core/tokens-tools.d.ts +250 -7
- package/dist/core/tokens-tools.d.ts.map +1 -1
- package/dist/core/tokens-tools.js +1017 -88
- package/dist/core/tokens-tools.js.map +1 -1
- package/dist/core/version-tools.d.ts.map +1 -1
- package/dist/core/version-tools.js +44 -3
- package/dist/core/version-tools.js.map +1 -1
- package/dist/core/websocket-connector.d.ts +38 -0
- package/dist/core/websocket-connector.d.ts.map +1 -1
- package/dist/core/websocket-connector.js +42 -0
- package/dist/core/websocket-connector.js.map +1 -1
- package/dist/core/websocket-server.d.ts +23 -0
- package/dist/core/websocket-server.d.ts.map +1 -1
- package/dist/core/websocket-server.js +99 -8
- package/dist/core/websocket-server.js.map +1 -1
- package/dist/core/write-tools.d.ts.map +1 -1
- package/dist/core/write-tools.js +355 -86
- package/dist/core/write-tools.js.map +1 -1
- package/dist/local.d.ts +0 -1
- package/dist/local.d.ts.map +1 -1
- package/dist/local.js +253 -63
- package/dist/local.js.map +1 -1
- package/figma-desktop-bridge/code.js +382 -28
- package/figma-desktop-bridge/ui.html +578 -292
- package/package.json +2 -2
|
@@ -132,7 +132,14 @@ function walkGroup(node, path, inheritedType, tokens, modes, warnings, fileMode)
|
|
|
132
132
|
warnings.push(`Non-group, non-token entry at ${[...path, key].join(".")}; skipping.`);
|
|
133
133
|
continue;
|
|
134
134
|
}
|
|
135
|
-
|
|
135
|
+
// Reserved "@" key: the formatter emits a leaf under "@" when its name
|
|
136
|
+
// collided with a group of the same name (leaf/group conflict). The
|
|
137
|
+
// `leafRemap` flag in our extension marks it; strip the synthetic "@"
|
|
138
|
+
// segment so the token gets its original path back.
|
|
139
|
+
const isRemappedLeaf = key === "@" &&
|
|
140
|
+
isLeafToken(value) &&
|
|
141
|
+
hasLeafRemapFlag(value);
|
|
142
|
+
const childPath = isRemappedLeaf ? [...path] : [...path, key];
|
|
136
143
|
if (isLeafToken(value)) {
|
|
137
144
|
const token = extractToken(childPath, value, groupType, warnings, fileMode);
|
|
138
145
|
tokens.push(token);
|
|
@@ -147,6 +154,19 @@ function walkGroup(node, path, inheritedType, tokens, modes, warnings, fileMode)
|
|
|
147
154
|
function isLeafToken(node) {
|
|
148
155
|
return "$value" in node;
|
|
149
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* True when a leaf node carries the `leafRemap` marker our formatter sets
|
|
159
|
+
* on tokens emitted under the reserved "@" key (leaf/group name conflicts).
|
|
160
|
+
*/
|
|
161
|
+
function hasLeafRemapFlag(node) {
|
|
162
|
+
const ext = node.$extensions;
|
|
163
|
+
if (!ext || typeof ext !== "object")
|
|
164
|
+
return false;
|
|
165
|
+
const mcp = ext[FIGMA_MCP_EXTENSION_KEY];
|
|
166
|
+
if (!mcp || typeof mcp !== "object")
|
|
167
|
+
return false;
|
|
168
|
+
return mcp.leafRemap === true;
|
|
169
|
+
}
|
|
150
170
|
function extractToken(path, node, inheritedType, warnings, fileMode) {
|
|
151
171
|
const rawType = node.$type;
|
|
152
172
|
let type;
|
|
@@ -169,12 +189,15 @@ function extractToken(path, node, inheritedType, warnings, fileMode) {
|
|
|
169
189
|
? ext[FIGMA_MCP_EXTENSION_KEY]
|
|
170
190
|
: undefined;
|
|
171
191
|
const stashedModes = mcpExt?.modes;
|
|
192
|
+
const stashedPrimaryMode = typeof mcpExt?.primaryMode === "string" ? mcpExt.primaryMode : undefined;
|
|
172
193
|
// Decide which mode name to assign to the primary $value.
|
|
173
194
|
// 1. If the file declares a fileMode (splitByMode output), use that.
|
|
174
|
-
// 2. Otherwise
|
|
175
|
-
//
|
|
195
|
+
// 2. Otherwise use the token-level `primaryMode` our formatter stashes
|
|
196
|
+
// in $extensions["figma-console-mcp"] (one-file-multi-mode output).
|
|
197
|
+
// 3. Otherwise fall back to "Default" — the parser can't know the
|
|
198
|
+
// mode without a hint.
|
|
176
199
|
// Then absorb any stashedModes (one-file-multi-mode output) verbatim.
|
|
177
|
-
const primaryMode = fileMode ?? "Default";
|
|
200
|
+
const primaryMode = fileMode ?? stashedPrimaryMode ?? "Default";
|
|
178
201
|
values[primaryMode] = decodeValue(node.$value);
|
|
179
202
|
if (stashedModes) {
|
|
180
203
|
for (const [modeName, modeValue] of Object.entries(stashedModes)) {
|
|
@@ -192,9 +215,13 @@ function extractToken(path, node, inheritedType, warnings, fileMode) {
|
|
|
192
215
|
if (vendor === FIGMA_MCP_EXTENSION_KEY &&
|
|
193
216
|
payload &&
|
|
194
217
|
typeof payload === "object") {
|
|
195
|
-
// Strip
|
|
218
|
+
// Strip transient round-trip markers we already absorbed:
|
|
219
|
+
// "modes"/"primaryMode" were folded into `values`, "leafRemap"
|
|
220
|
+
// was consumed when the "@" path segment got stripped.
|
|
196
221
|
const cleaned = { ...payload };
|
|
197
222
|
delete cleaned.modes;
|
|
223
|
+
delete cleaned.primaryMode;
|
|
224
|
+
delete cleaned.leafRemap;
|
|
198
225
|
if (Object.keys(cleaned).length > 0) {
|
|
199
226
|
extensions[vendor] = cleaned;
|
|
200
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../../src/core/tokens/parsers/dtcg.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dtcg.js","sourceRoot":"","sources":["../../../../src/core/tokens/parsers/dtcg.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare const ExportTokensInputSchema: z.ZodObject<{
|
|
|
31
31
|
resolveAliases: z.ZodOptional<z.ZodBoolean>;
|
|
32
32
|
splitByMode: z.ZodOptional<z.ZodBoolean>;
|
|
33
33
|
splitByCollection: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
dtcgDialect: z.ZodOptional<z.ZodEnum<["legacy", "2025"]>>;
|
|
34
35
|
colorFormat: z.ZodOptional<z.ZodEnum<["hex", "hex8", "rgba", "oklch", "hsl"]>>;
|
|
35
36
|
sizeUnit: z.ZodOptional<z.ZodEnum<["px", "rem", "pt", "dp"]>>;
|
|
36
37
|
remBase: z.ZodOptional<z.ZodNumber>;
|
|
@@ -42,6 +43,7 @@ export declare const ExportTokensInputSchema: z.ZodObject<{
|
|
|
42
43
|
prefix?: string | undefined;
|
|
43
44
|
splitByMode?: boolean | undefined;
|
|
44
45
|
splitByCollection?: boolean | undefined;
|
|
46
|
+
dtcgDialect?: "legacy" | "2025" | undefined;
|
|
45
47
|
colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
|
|
46
48
|
sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
|
|
47
49
|
remBase?: number | undefined;
|
|
@@ -57,6 +59,7 @@ export declare const ExportTokensInputSchema: z.ZodObject<{
|
|
|
57
59
|
prefix?: string | undefined;
|
|
58
60
|
splitByMode?: boolean | undefined;
|
|
59
61
|
splitByCollection?: boolean | undefined;
|
|
62
|
+
dtcgDialect?: "legacy" | "2025" | undefined;
|
|
60
63
|
colorFormat?: "hex" | "hex8" | "rgba" | "oklch" | "hsl" | undefined;
|
|
61
64
|
sizeUnit?: "px" | "rem" | "pt" | "dp" | undefined;
|
|
62
65
|
remBase?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gKAY7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,0JAW7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4CAA0C,CAAC;AAE1E,eAAO,MAAM,wBAAwB,uDAKnC,CAAC;AAKH;;;GAGG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gKAY7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,0JAW7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4CAA0C,CAAC;AAE1E,eAAO,MAAM,wBAAwB,uDAKnC,CAAC;AAKH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwEjC,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -88,6 +88,10 @@ export const ExportTokensInputSchema = z.object({
|
|
|
88
88
|
.boolean()
|
|
89
89
|
.optional()
|
|
90
90
|
.describe("Emit one file per Figma collection. Default false. Useful when collections map to different runtime themes."),
|
|
91
|
+
dtcgDialect: z
|
|
92
|
+
.enum(["legacy", "2025"])
|
|
93
|
+
.optional()
|
|
94
|
+
.describe("DTCG dialect for dtcg/json-flat/json-nested outputs. legacy (default): hex-string colors, maximum compatibility (Style Dictionary v4, Tokens Studio). 2025: DTCG 2025.10 object colors/dimensions (Style Dictionary v5+). Other formats (css-vars, scss, tailwind, ts-module) render final code and ignore this option."),
|
|
91
95
|
colorFormat: ColorFormatSchema.optional().describe("Color value format in the output. Default: 'hex'. Use 'oklch' for modern Tailwind v4 charts."),
|
|
92
96
|
sizeUnit: SizeUnitSchema.optional().describe("Unit for dimension tokens. Default: 'rem' for web outputs, 'pt' for iOS, 'dp' for Android."),
|
|
93
97
|
remBase: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/tokens/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/tokens/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,8 +65,22 @@ export interface TransitionValue {
|
|
|
65
65
|
* { literal: { fontFamily: "Inter", ... } } // composite typography
|
|
66
66
|
*/
|
|
67
67
|
export interface TokenValue {
|
|
68
|
-
literal?: string | number | boolean | TypographyValue | ShadowValue | ShadowValue[] | GradientValue | BorderValue | TransitionValue | Record<string, unknown>;
|
|
68
|
+
literal?: string | number | boolean | number[] | TypographyValue | ShadowValue | ShadowValue[] | GradientValue | BorderValue | TransitionValue | Record<string, unknown>;
|
|
69
69
|
reference?: string;
|
|
70
|
+
/**
|
|
71
|
+
* TRANSIENT — full-precision Figma rgba floats (0–1) carried alongside the
|
|
72
|
+
* hex-string literal for COLOR tokens. The DTCG 2025.10 dialect emits
|
|
73
|
+
* `components` from these floats instead of round-tripping through the
|
|
74
|
+
* 8-bit-quantized hex. Set only by the Figma converter; never serialized
|
|
75
|
+
* into output (formatters read it at render time, and lastSyncedValue /
|
|
76
|
+
* diff samples strip it via stripRawColorFromValues).
|
|
77
|
+
*/
|
|
78
|
+
rawColor?: {
|
|
79
|
+
r: number;
|
|
80
|
+
g: number;
|
|
81
|
+
b: number;
|
|
82
|
+
a: number;
|
|
83
|
+
};
|
|
70
84
|
}
|
|
71
85
|
/**
|
|
72
86
|
* Our vendor namespace inside DTCG $extensions. Survives round-trip through
|
|
@@ -82,6 +96,48 @@ export interface FigmaMcpExtensions {
|
|
|
82
96
|
variableId?: string;
|
|
83
97
|
/** Figma collection ID. Used to route the variable to the right collection. */
|
|
84
98
|
collectionId?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Figma's native resolvedType for the source variable (COLOR / FLOAT /
|
|
101
|
+
* STRING / BOOLEAN / TIMING / EASING). Import uses this to know the true
|
|
102
|
+
* write type — critically, TIMING and EASING variables are read-only via
|
|
103
|
+
* the Plugin API and must never be sent to setValueForMode.
|
|
104
|
+
*/
|
|
105
|
+
figmaResolvedType?: string;
|
|
106
|
+
/**
|
|
107
|
+
* The original Figma variable name when it differs from the token path
|
|
108
|
+
* (e.g. TIMING/EASING variables carry a trailing "/Timing" or "/Easing"
|
|
109
|
+
* segment that we strip from the token path). Preserved for round-trip.
|
|
110
|
+
*/
|
|
111
|
+
figmaName?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Spring easing parameters per mode (mass/stiffness/damping) for EASING
|
|
114
|
+
* variables whose value can't be represented as a DTCG cubicBezier.
|
|
115
|
+
*/
|
|
116
|
+
spring?: Record<string, unknown>;
|
|
117
|
+
/**
|
|
118
|
+
* Figma variable scopes (e.g. ["FILL_COLOR", "STROKE_COLOR"]). OMITTED
|
|
119
|
+
* when the variable has the default scoping (["ALL_SCOPES"] or empty) so
|
|
120
|
+
* legacy output stays byte-identical. Import semantics: an absent field
|
|
121
|
+
* means "no opinion" (never resets Figma-side scopes); an explicit
|
|
122
|
+
* ["ALL_SCOPES"] resets to the default.
|
|
123
|
+
*/
|
|
124
|
+
scopes?: string[];
|
|
125
|
+
/**
|
|
126
|
+
* Figma per-platform code syntax (e.g. { WEB: "var(--color-primary)" }).
|
|
127
|
+
* OMITTED when empty. Import semantics: an absent field means "no
|
|
128
|
+
* opinion"; a present object is authoritative — platforms missing from it
|
|
129
|
+
* are removed via removeVariableCodeSyntax on apply.
|
|
130
|
+
*/
|
|
131
|
+
codeSyntax?: Record<string, string>;
|
|
132
|
+
/**
|
|
133
|
+
* Formatter/parser round-trip markers (transient — written into DTCG
|
|
134
|
+
* output by the formatter, absorbed and stripped by the parser):
|
|
135
|
+
* `primaryMode` records which mode name the token's `$value` represents;
|
|
136
|
+
* `leafRemap` marks a leaf emitted under the reserved "@" key because its
|
|
137
|
+
* name collided with a group of the same name.
|
|
138
|
+
*/
|
|
139
|
+
primaryMode?: string;
|
|
140
|
+
leafRemap?: boolean;
|
|
85
141
|
/**
|
|
86
142
|
* The value(s) that were synced to/from Figma the last time this tool ran.
|
|
87
143
|
* Used to detect true two-sided conflicts: if BOTH the current Figma value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAEjB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,SAAS,GAET,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,aAAa,CAAC;AAElB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,eAAe,GACf,WAAW,GACX,WAAW,EAAE,GACb,aAAa,GACb,WAAW,GACX,eAAe,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/tokens/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/tokens/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqVH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAA4B,CAAC"}
|
|
@@ -8,19 +8,25 @@
|
|
|
8
8
|
* return TokenFormatNotImplementedError with a helpful message
|
|
9
9
|
* directing users to DTCG.
|
|
10
10
|
* - figma_import_tokens: working for DTCG JSON input with full
|
|
11
|
-
* diff-aware merge
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* diff-aware merge and a complete apply phase:
|
|
12
|
+
* • toUpdate — value updates batched via the plugin bridge,
|
|
13
|
+
* including alias-target updates ({ type: "VARIABLE_ALIAS", id })
|
|
14
|
+
* when the reference resolves to an existing or just-created
|
|
15
|
+
* variable.
|
|
16
|
+
* • toCreate — missing collections (created with the token file's
|
|
17
|
+
* full mode list) and missing variables in one batched script;
|
|
18
|
+
* literal values first, alias values in a second pass so
|
|
19
|
+
* within-batch alias targets exist. TIMING/EASING cannot be
|
|
20
|
+
* created via the Plugin API and are skipped with a warning.
|
|
21
|
+
* • toDelete — STRICTLY gated behind strategy: "replace". Merge
|
|
22
|
+
* (default) preserves Figma-only variables and only reports them.
|
|
18
23
|
*
|
|
19
24
|
* Both tools auto-discover `tokens.config.json` at the project root and use
|
|
20
25
|
* its source/generated/modes/conflictResolution settings as defaults. They
|
|
21
26
|
* stay zero-arg in normal use.
|
|
22
27
|
*/
|
|
23
28
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
29
|
+
import { type TokenDocument } from "./tokens/index.js";
|
|
24
30
|
export interface RegisterTokensToolsOptions {
|
|
25
31
|
/**
|
|
26
32
|
* True when registering in Cloud Mode (Cloudflare Workers). In Cloud Mode
|
|
@@ -39,4 +45,241 @@ export declare function registerImportTokensTool(server: McpServer, getDesktopCo
|
|
|
39
45
|
* Convenience: register both tools at once.
|
|
40
46
|
*/
|
|
41
47
|
export declare function registerTokensTools(server: McpServer, getDesktopConnector: () => Promise<any>, opts?: RegisterTokensToolsOptions): void;
|
|
48
|
+
/**
|
|
49
|
+
* Compute a diff plan between Figma's current state (left) and the code's
|
|
50
|
+
* proposed state (right). Returns a structured diff plan; value-update
|
|
51
|
+
* mutations are applied via the plugin bridge below.
|
|
52
|
+
*
|
|
53
|
+
* MATCH PRIORITY (as the tool description promises): Figma variable ID
|
|
54
|
+
* first, then exact set::path. A code-side token whose path has no Figma
|
|
55
|
+
* counterpart but whose $extensions["figma-console-mcp"].variableId matches
|
|
56
|
+
* a live variable is a RENAME — routed to toRename (name change + any
|
|
57
|
+
* value/meta changes), and its Figma-side counterpart is EXCLUDED from
|
|
58
|
+
* toDelete. Without this, a path rename in the code file would create a
|
|
59
|
+
* duplicate variable under merge, and under replace would permanently
|
|
60
|
+
* delete the original (detaching all its bindings).
|
|
61
|
+
*
|
|
62
|
+
* Exported for test coverage of the dialect-normalized comparison
|
|
63
|
+
* (round-trip exports in both DTCG dialects must diff as unchanged) and
|
|
64
|
+
* rename classification.
|
|
65
|
+
*/
|
|
66
|
+
export declare function computeDiffPlan(figmaDoc: TokenDocument, codeDoc: TokenDocument): {
|
|
67
|
+
toCreate: Array<{
|
|
68
|
+
path: string;
|
|
69
|
+
type: string;
|
|
70
|
+
value: unknown;
|
|
71
|
+
}>;
|
|
72
|
+
toUpdate: Array<{
|
|
73
|
+
path: string;
|
|
74
|
+
before: unknown;
|
|
75
|
+
after: unknown;
|
|
76
|
+
/**
|
|
77
|
+
* Present when variable metadata (scopes/codeSyntax) changed. Absent for
|
|
78
|
+
* plain value-only updates (the historical entry shape). `values: false`
|
|
79
|
+
* tells the apply phase to skip setValueForMode entirely and only write
|
|
80
|
+
* the metadata.
|
|
81
|
+
*/
|
|
82
|
+
changes?: {
|
|
83
|
+
values: boolean;
|
|
84
|
+
scopes: boolean;
|
|
85
|
+
codeSyntax: boolean;
|
|
86
|
+
};
|
|
87
|
+
}>;
|
|
88
|
+
toRename: Array<{
|
|
89
|
+
/** New (code-side) diff key. */
|
|
90
|
+
path: string;
|
|
91
|
+
/** Old (Figma-side) diff key the variableId matched. */
|
|
92
|
+
from: string;
|
|
93
|
+
variableId: string;
|
|
94
|
+
/** New Figma variable name — the '/'-joined code-side token path. */
|
|
95
|
+
newName: string;
|
|
96
|
+
/** Value/meta changes to apply alongside the rename. */
|
|
97
|
+
changes: {
|
|
98
|
+
values: boolean;
|
|
99
|
+
scopes: boolean;
|
|
100
|
+
codeSyntax: boolean;
|
|
101
|
+
};
|
|
102
|
+
}>;
|
|
103
|
+
toDelete: Array<{
|
|
104
|
+
path: string;
|
|
105
|
+
}>;
|
|
106
|
+
unchanged: number;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* How an alias reference resolves for the apply phase:
|
|
110
|
+
* - { id } → an existing (or already-created) Figma variable ID
|
|
111
|
+
* - { pending } → the target is itself in this import's toCreate batch;
|
|
112
|
+
* the create script resolves it in its second pass via the
|
|
113
|
+
* returned key
|
|
114
|
+
* - null → unresolvable; caller skips with a warning
|
|
115
|
+
*/
|
|
116
|
+
type AliasIdResolution = {
|
|
117
|
+
id: string;
|
|
118
|
+
} | {
|
|
119
|
+
pending: string;
|
|
120
|
+
} | null;
|
|
121
|
+
/**
|
|
122
|
+
* Build a resolver that maps a DTCG alias reference (set-qualified
|
|
123
|
+
* `{theme.color.primary}`, bare `{color.primary}` when unambiguous, or the
|
|
124
|
+
* converter's `{__library:VariableID:...}` cross-library form) to a Figma
|
|
125
|
+
* variable ID.
|
|
126
|
+
*
|
|
127
|
+
* Resolution priority for a matched code-side token:
|
|
128
|
+
* 1. a variable created earlier in THIS apply run (createdIdByKey — the
|
|
129
|
+
* resolver closes over the mutable map, so the create phase's results
|
|
130
|
+
* are visible to the later update phase)
|
|
131
|
+
* 2. the live Figma snapshot's variable ID for the same set::path
|
|
132
|
+
* 3. "pending" when the target is queued in this run's toCreate batch
|
|
133
|
+
* 4. the token's own $extensions variableId (stale-but-recorded fallback)
|
|
134
|
+
* References that don't match a code-side token fall back to the live Figma
|
|
135
|
+
* snapshot lookup. Exported for test coverage.
|
|
136
|
+
*/
|
|
137
|
+
export declare function makeAliasIdResolver(figmaDoc: TokenDocument, codeDoc: TokenDocument, toCreateKeys: Set<string>, createdIdByKey: Map<string, string>): (reference: string) => AliasIdResolution;
|
|
138
|
+
/**
|
|
139
|
+
* One variable update to push to Figma. mapping is by modeId (Figma's
|
|
140
|
+
* native identifier), not mode name, because that's what the Plugin API
|
|
141
|
+
* needs.
|
|
142
|
+
*/
|
|
143
|
+
interface VariableUpdate {
|
|
144
|
+
variableId: string;
|
|
145
|
+
variableName: string;
|
|
146
|
+
resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN";
|
|
147
|
+
valuesByMode: Record<string, unknown>;
|
|
148
|
+
/**
|
|
149
|
+
* Rename op: set `variable.name` to this '/'-joined path before any value
|
|
150
|
+
* writes. Produced by the ID-first rename classification in
|
|
151
|
+
* computeDiffPlan — never combined with a create/delete of the same
|
|
152
|
+
* variable.
|
|
153
|
+
*/
|
|
154
|
+
newName?: string;
|
|
155
|
+
/** Full replacement scopes array (`variable.scopes = [...]`). */
|
|
156
|
+
scopes?: string[];
|
|
157
|
+
/**
|
|
158
|
+
* Per-platform code syntax ops: `set` maps platform → value
|
|
159
|
+
* (setVariableCodeSyntax), `remove` lists platforms to clear
|
|
160
|
+
* (removeVariableCodeSyntax).
|
|
161
|
+
*/
|
|
162
|
+
codeSyntax?: {
|
|
163
|
+
set?: Record<string, string>;
|
|
164
|
+
remove?: string[];
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Convert a TokenValue back to Figma's native value shape. Required for the
|
|
169
|
+
* Plugin API's setValueForMode call.
|
|
170
|
+
*
|
|
171
|
+
* - color hex string "#RRGGBB(AA)" → { r, g, b, a } floats in [0, 1].
|
|
172
|
+
* Non-hex color strings ("rgb(255,0,0)", "transparent", named colors
|
|
173
|
+
* like "salmon") return skip-invalid instead of throwing — a throw here
|
|
174
|
+
* would abort the import mid-apply.
|
|
175
|
+
* - DTCG 2025.10 color objects → { r, g, b, a }: srgb components map
|
|
176
|
+
* directly (clamped to [0, 1]); non-srgb colorSpaces (display-p3,
|
|
177
|
+
* oklch, …) fall back to the object's `hex` field when present, else
|
|
178
|
+
* skip-invalid; hex-only objects are accepted too
|
|
179
|
+
* - FLOAT-typed number → number ("16px"-style strings and DTCG
|
|
180
|
+
* { value, unit } objects are parsed to their numeric part; anything
|
|
181
|
+
* that still comes out NaN is skipped rather than pushed to Figma)
|
|
182
|
+
* - STRING-typed string → string
|
|
183
|
+
* - BOOLEAN → boolean
|
|
184
|
+
* - Alias references return `skip-alias` so the CALLER resolves them —
|
|
185
|
+
* both apply paths pass the reference through their alias-ID resolver
|
|
186
|
+
* (just-created variable → live snapshot → pending in batch → recorded
|
|
187
|
+
* $extensions ID) and write { type: "VARIABLE_ALIAS", id }. Only when
|
|
188
|
+
* the resolver comes up empty does the reference stay skipped, with a
|
|
189
|
+
* warning rather than a silent drop.
|
|
190
|
+
*
|
|
191
|
+
* Exported for test coverage of the value-conversion edge cases.
|
|
192
|
+
*/
|
|
193
|
+
export declare function tokenValueToFigma(value: {
|
|
194
|
+
literal?: unknown;
|
|
195
|
+
reference?: string;
|
|
196
|
+
}, resolvedType: VariableUpdate["resolvedType"]): {
|
|
197
|
+
kind: "value";
|
|
198
|
+
value: unknown;
|
|
199
|
+
} | {
|
|
200
|
+
kind: "skip-alias";
|
|
201
|
+
reference: string;
|
|
202
|
+
} | {
|
|
203
|
+
kind: "skip-empty";
|
|
204
|
+
} | {
|
|
205
|
+
kind: "skip-invalid";
|
|
206
|
+
reason: string;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* One value to set on a variable at creation time. New-collection variables
|
|
210
|
+
* carry `modeName` (the script resolves the modeId from the collection it
|
|
211
|
+
* just created); existing-collection variables carry `modeId` (resolved
|
|
212
|
+
* server-side from the live snapshot). Alias values come in two flavors:
|
|
213
|
+
* `alias` (target already exists in Figma) and `alias-pending` (target is
|
|
214
|
+
* created in this same batch; the script resolves `targetKey` against its
|
|
215
|
+
* created-ID map in the second pass).
|
|
216
|
+
*/
|
|
217
|
+
type CreateValueEntry = {
|
|
218
|
+
modeName?: string;
|
|
219
|
+
modeId?: string;
|
|
220
|
+
} & ({
|
|
221
|
+
kind: "literal";
|
|
222
|
+
value: unknown;
|
|
223
|
+
} | {
|
|
224
|
+
kind: "alias";
|
|
225
|
+
targetId: string;
|
|
226
|
+
} | {
|
|
227
|
+
kind: "alias-pending";
|
|
228
|
+
targetKey: string;
|
|
229
|
+
});
|
|
230
|
+
interface CreateVariableDef {
|
|
231
|
+
/** Diff key ("SetName::dot.path") — primary key for created-ID mapping. */
|
|
232
|
+
key: string;
|
|
233
|
+
/** Figma variable name (slash-joined token path). */
|
|
234
|
+
name: string;
|
|
235
|
+
resolvedType: VariableUpdate["resolvedType"];
|
|
236
|
+
description?: string;
|
|
237
|
+
values: CreateValueEntry[];
|
|
238
|
+
/** Non-default scopes to apply at creation (from token $extensions). */
|
|
239
|
+
scopes?: string[];
|
|
240
|
+
/** Per-platform code syntax to apply at creation (from token $extensions). */
|
|
241
|
+
codeSyntax?: Record<string, string>;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The create-phase plan: which collections to create (with the token file's
|
|
245
|
+
* full mode list) and which variables to create where. Built entirely
|
|
246
|
+
* server-side so the plugin script stays a dumb executor.
|
|
247
|
+
*/
|
|
248
|
+
export interface CreatePlan {
|
|
249
|
+
newCollections: Array<{
|
|
250
|
+
setName: string;
|
|
251
|
+
modes: string[];
|
|
252
|
+
variables: CreateVariableDef[];
|
|
253
|
+
}>;
|
|
254
|
+
existingCollections: Array<{
|
|
255
|
+
collectionId: string;
|
|
256
|
+
variables: CreateVariableDef[];
|
|
257
|
+
}>;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Translate the diff's toCreate entries into a CreatePlan.
|
|
261
|
+
*
|
|
262
|
+
* - Sets with no matching Figma collection (matched by the round-trip
|
|
263
|
+
* figmaCollectionId first, then by name) become newCollections carrying
|
|
264
|
+
* the set's FULL mode list.
|
|
265
|
+
* - Variables missing from an existing collection go to that collection,
|
|
266
|
+
* with values pre-resolved to modeIds; values for modes the collection
|
|
267
|
+
* doesn't have are skipped with a warning.
|
|
268
|
+
* - resolvedType honors $extensions.figmaResolvedType when recorded, else
|
|
269
|
+
* falls back to inferFigmaResolvedType. TIMING/EASING variables are
|
|
270
|
+
* skipped with a warning — the Figma Plugin API cannot create them.
|
|
271
|
+
* - Literal values convert via tokenValueToFigma (both DTCG dialects);
|
|
272
|
+
* alias values resolve via the alias-ID resolver (existing target →
|
|
273
|
+
* "alias", within-batch target → "alias-pending", unresolvable → skip
|
|
274
|
+
* with warning).
|
|
275
|
+
*
|
|
276
|
+
* Exported for test coverage.
|
|
277
|
+
*/
|
|
278
|
+
export declare function buildCreatePlan(toCreate: Array<{
|
|
279
|
+
path: string;
|
|
280
|
+
}>, codeDoc: TokenDocument, figmaPayload: {
|
|
281
|
+
collections: any[];
|
|
282
|
+
variables: any[];
|
|
283
|
+
}, resolveAliasId: (reference: string) => AliasIdResolution, warnings: string[]): CreatePlan;
|
|
284
|
+
export {};
|
|
42
285
|
//# sourceMappingURL=tokens-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"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"}
|