@sxl-studio/bridge 1.5.1 → 1.7.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 (43) hide show
  1. package/README.md +35 -2
  2. package/dist/agent-recipes.d.ts +268 -0
  3. package/dist/agent-recipes.js +637 -0
  4. package/dist/agent-recipes.js.map +1 -1
  5. package/dist/command-queue.js +16 -0
  6. package/dist/command-queue.js.map +1 -1
  7. package/dist/http-api.d.ts +1 -0
  8. package/dist/http-api.js +7 -2
  9. package/dist/http-api.js.map +1 -1
  10. package/dist/mcp-factory.js +11 -1
  11. package/dist/mcp-factory.js.map +1 -1
  12. package/dist/sxl-mcp-instructions.js +142 -2
  13. package/dist/sxl-mcp-instructions.js.map +1 -1
  14. package/dist/tools/audit.d.ts +49 -0
  15. package/dist/tools/audit.js +83 -0
  16. package/dist/tools/audit.js.map +1 -0
  17. package/dist/tools/catalogue-bootstrap.js +34 -0
  18. package/dist/tools/catalogue-bootstrap.js.map +1 -1
  19. package/dist/tools/compositions-orchestration.d.ts +91 -0
  20. package/dist/tools/compositions-orchestration.js +101 -0
  21. package/dist/tools/compositions-orchestration.js.map +1 -0
  22. package/dist/tools/mockup.d.ts +323 -0
  23. package/dist/tools/mockup.js +206 -0
  24. package/dist/tools/mockup.js.map +1 -0
  25. package/dist/tools/registry.d.ts +1 -1
  26. package/dist/tools/registry.js.map +1 -1
  27. package/dist/tools/resources.d.ts +1 -1
  28. package/dist/tools/resources.js +52 -2
  29. package/dist/tools/resources.js.map +1 -1
  30. package/dist/tools/styles-orchestration.d.ts +544 -0
  31. package/dist/tools/styles-orchestration.js +175 -0
  32. package/dist/tools/styles-orchestration.js.map +1 -0
  33. package/dist/tools/tokens.d.ts +60 -60
  34. package/dist/tools/variables-orchestration.d.ts +20 -0
  35. package/dist/tools/variables-orchestration.js +116 -0
  36. package/dist/tools/variables-orchestration.js.map +1 -0
  37. package/dist/workspace-blob-http.d.ts +9 -0
  38. package/dist/workspace-blob-http.js +154 -0
  39. package/dist/workspace-blob-http.js.map +1 -0
  40. package/dist/workspace-blob-store.d.ts +12 -0
  41. package/dist/workspace-blob-store.js +87 -0
  42. package/dist/workspace-blob-store.js.map +1 -0
  43. package/package.json +3 -2
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Styles orchestration — Bridge platform Phase C tools.
3
+ *
4
+ * "Thick" commands that wrap multi-step Figma local Style refactors:
5
+ * - `import_style_spec` — declarative bulk create / update of
6
+ * PaintStyle / TextStyle / EffectStyle (idempotent, dry-run-aware).
7
+ * - `dedupe_styles` — find / merge duplicates by name or
8
+ * property signature; dry-run by default, apply mode rebinds consumers
9
+ * to the survivor before deleting the duplicate.
10
+ * - `rebind_style_consumers` — bulk rewrite styleId on every node
11
+ * referencing the source via `fillStyleId | strokeStyleId | textStyleId |
12
+ * effectStyleId`.
13
+ * - `audit_style_drift` — READ-ONLY: detect drift between
14
+ * local Paint styles and the source-of-truth (like-named local Variables
15
+ * or explicit `{ styleId, expectedColor }` expectations). Fully Dev-Mode-
16
+ * compatible.
17
+ * - `apply_style_coverage_suggestions` — convert
18
+ * `find_style_coverage_misses` records into setStyleId* writes. Dry-run by
19
+ * default; agent shows preview, then re-calls with `dryRun: false`.
20
+ *
21
+ * Token economy:
22
+ * - dry-run / preview returns the exact plan WITHOUT touching the canvas.
23
+ * - per-item errors / skipped reasons are part of the report — no whole-call
24
+ * aborts on a single bad entry.
25
+ * - rich Zod schemas keep payloads strict so agents see the contract up
26
+ * front and avoid retries on shape errors.
27
+ */
28
+ import { z } from "zod";
29
+ import { callPluginCommand } from "./shared.js";
30
+ // ─── Shared building blocks ───────────────────────────────────────────────────
31
+ const rgbColorZod = z.object({
32
+ r: z.number().min(0).max(1),
33
+ g: z.number().min(0).max(1),
34
+ b: z.number().min(0).max(1),
35
+ });
36
+ const rgbaColorZod = rgbColorZod.extend({ a: z.number().min(0).max(1).optional() });
37
+ const solidPaintLiteralZod = z.object({
38
+ type: z.literal("SOLID"),
39
+ color: z.string().describe("`#rrggbb` or `#rrggbbaa` — auto-coerced to Figma RGBA."),
40
+ opacity: z.number().min(0).max(1).optional(),
41
+ visible: z.boolean().optional(),
42
+ blendMode: z.string().optional(),
43
+ });
44
+ const solidPaintStrictZod = z.object({
45
+ type: z.literal("SOLID"),
46
+ color: rgbColorZod,
47
+ opacity: z.number().min(0).max(1).optional(),
48
+ visible: z.boolean().optional(),
49
+ blendMode: z.string().optional(),
50
+ });
51
+ const paintAnyZod = z
52
+ .union([solidPaintLiteralZod, solidPaintStrictZod, z.record(z.unknown())])
53
+ .describe("Paint object — SOLID accepts `color: '#rrggbb[aa]'` shortcut; gradients/images pass through verbatim.");
54
+ const fontNameZod = z.object({ family: z.string(), style: z.string() });
55
+ const lineHeightZod = z.union([
56
+ z.object({ unit: z.literal("AUTO") }),
57
+ z.object({ unit: z.literal("PIXELS"), value: z.number() }),
58
+ z.object({ unit: z.literal("PERCENT"), value: z.number() }),
59
+ ]);
60
+ const letterSpacingZod = z.object({
61
+ unit: z.enum(["PIXELS", "PERCENT"]),
62
+ value: z.number(),
63
+ });
64
+ const textCaseZod = z.enum(["ORIGINAL", "UPPER", "LOWER", "TITLE", "SMALL_CAPS", "SMALL_CAPS_FORCED"]);
65
+ const textDecorationZod = z.enum(["NONE", "UNDERLINE", "STRIKETHROUGH"]);
66
+ const effectAnyZod = z.record(z.unknown()).describe("Effect object — DROP_SHADOW / INNER_SHADOW / LAYER_BLUR / BACKGROUND_BLUR. Pass-through, validated by Figma.");
67
+ // ─── import_style_spec ────────────────────────────────────────────────────────
68
+ const paintStyleEntryZod = z.object({
69
+ name: z.string().min(1).describe("Style name. `/` nests in the styles panel."),
70
+ paints: z.array(paintAnyZod).min(1),
71
+ description: z.string().optional(),
72
+ });
73
+ const textStyleEntryZod = z.object({
74
+ name: z.string().min(1),
75
+ fontName: fontNameZod,
76
+ fontSize: z.number().positive().optional(),
77
+ lineHeight: lineHeightZod.optional(),
78
+ letterSpacing: letterSpacingZod.optional(),
79
+ paragraphSpacing: z.number().optional(),
80
+ paragraphIndent: z.number().optional(),
81
+ textCase: textCaseZod.optional(),
82
+ textDecoration: textDecorationZod.optional(),
83
+ description: z.string().optional(),
84
+ });
85
+ const effectStyleEntryZod = z.object({
86
+ name: z.string().min(1),
87
+ effects: z.array(effectAnyZod).min(1),
88
+ description: z.string().optional(),
89
+ });
90
+ const styleSpecZod = z
91
+ .object({
92
+ paintStyles: z.array(paintStyleEntryZod).optional(),
93
+ textStyles: z.array(textStyleEntryZod).optional(),
94
+ effectStyles: z.array(effectStyleEntryZod).optional(),
95
+ dryRun: z.boolean().optional(),
96
+ })
97
+ .refine((s) => Boolean(s.paintStyles?.length || s.textStyles?.length || s.effectStyles?.length), { message: "Spec requires at least one of paintStyles[], textStyles[], effectStyles[]" });
98
+ // ─── dedupe / rebind / drift / coverage ──────────────────────────────────────
99
+ const dedupeStrategyZod = z.enum(["byName", "bySignature"]);
100
+ const dedupeStyleTypeZod = z.enum(["PAINT", "TEXT", "EFFECT", "ALL"]);
101
+ const styleConsumerFieldZod = z.enum([
102
+ "fillStyleId",
103
+ "strokeStyleId",
104
+ "textStyleId",
105
+ "effectStyleId",
106
+ ]);
107
+ const rebindMappingZod = z.object({
108
+ fromStyleId: z.string(),
109
+ toStyleId: z.string(),
110
+ field: styleConsumerFieldZod
111
+ .optional()
112
+ .describe("Restrict rewrite to a single field. Defaults to all fields valid for the source style type."),
113
+ });
114
+ const driftRequestZod = z.union([
115
+ z.object({
116
+ mode: z.literal("byName-vs-variables"),
117
+ styleType: z.literal("PAINT").optional(),
118
+ tolerance: z.number().min(0).max(1).optional(),
119
+ }),
120
+ z.object({
121
+ mode: z.literal("explicit"),
122
+ expectations: z
123
+ .array(z.object({
124
+ styleId: z.string(),
125
+ expectedColor: z.string().describe("`#rrggbb[aa]` hex"),
126
+ source: z.string().optional(),
127
+ }))
128
+ .min(1),
129
+ tolerance: z.number().min(0).max(1).optional(),
130
+ }),
131
+ ]);
132
+ const styleCoverageSuggestionZod = z.object({
133
+ nodeId: z.string(),
134
+ property: z
135
+ .string()
136
+ .describe("Property as returned by find_style_coverage_misses (e.g. `fillStyleId · fills[0]`)."),
137
+ styleId: z.string(),
138
+ styleName: z.string().optional(),
139
+ });
140
+ // Re-export Zod for tests & for cross-package wiring (non-runtime).
141
+ export const stylesOrchestrationSchemas = {
142
+ styleSpecZod,
143
+ rebindMappingZod,
144
+ driftRequestZod,
145
+ styleCoverageSuggestionZod,
146
+ };
147
+ export function registerStylesOrchestrationTools(server, queue) {
148
+ // — import_style_spec ------------------------------------------------------
149
+ server.tool("import_style_spec", "Idempotent bulk-create / update of LOCAL Paint / Text / Effect styles. Pass `paintStyles[]`, `textStyles[]`, `effectStyles[]` — at least one required. Existing styles are matched by name (slash-paths supported, e.g. `color/brand/primary`). SOLID paints accept `color: '#rrggbb[aa]'` shortcut; everything else passes through to Figma. Idempotent: re-running with the same spec is a no-op. Errors collect per-entry; partial success is the norm. `dryRun: true` returns the diff plan WITHOUT writing — perfect for review-then-apply UX. CANVAS WRITE in apply mode (Dev Mode blocks). REQUIRES Design mode.", {
150
+ spec: styleSpecZod.describe("Top-level style spec. Provide `paintStyles[]`, `textStyles[]`, and/or `effectStyles[]` — at least one. Each entry identifies itself by `name`; if a local style with the same name+type exists, it is updated, otherwise it is created. Set `dryRun: true` for preview."),
151
+ }, async ({ spec }) => callPluginCommand(queue, "import_style_spec", { spec }));
152
+ // — dedupe_styles ----------------------------------------------------------
153
+ server.tool("dedupe_styles", "Find (and optionally merge) duplicate LOCAL styles. Strategies: `byName` (same name within the same type) or `bySignature` (same payload after normalisation — paints / font+leading / effects). Default is dry-run — returns groups + suggested survivor + would-be rebindings. `apply: true` performs the merge: survivor is the style with the most consumers (ties broken by name), every consumer gets rebound to the survivor via internal `rebind_style_consumers`, then the duplicate is deleted. Use `styleType` to scope. CANVAS WRITE only in apply mode.", {
154
+ strategy: dedupeStrategyZod.default("byName"),
155
+ styleType: dedupeStyleTypeZod
156
+ .default("ALL")
157
+ .describe("Restrict scan to a single style type. Default scans PAINT + TEXT + EFFECT."),
158
+ apply: z.boolean().optional().describe("When true, perform the merge. Default: false (dry-run)."),
159
+ }, async (args) => callPluginCommand(queue, "dedupe_styles", args));
160
+ // — rebind_style_consumers -------------------------------------------------
161
+ server.tool("rebind_style_consumers", "Bulk rewrite styleId references on every consumer node ({ fromStyleId, toStyleId }[]). For each mapping, the document is walked once and every node whose `fillStyleId | strokeStyleId | textStyleId | effectStyleId` matches the source is set to the target. Field is auto-detected from the source style type unless `field` is explicitly provided (useful for cross-type rewrites — rare). Pass `dryRun: true` to count rewrites without writing. CANVAS WRITE in apply mode.", {
162
+ mappings: z.array(rebindMappingZod).min(1),
163
+ dryRun: z.boolean().optional().describe("When true, count rewrites without applying. Default: false."),
164
+ }, async (args) => callPluginCommand(queue, "rebind_style_consumers", args));
165
+ // — audit_style_drift ------------------------------------------------------
166
+ server.tool("audit_style_drift", "READ-ONLY: detect drift between local PAINT styles and the source-of-truth. Two modes: (1) `byName-vs-variables` — for every local PaintStyle find a like-named local Variable (COLOR) and compare its default-mode value to the style's first SOLID paint; (2) `explicit` — compare to a caller-supplied list of `{ styleId, expectedColor }`. `tolerance` is per-channel deviation in 0..1 (default 0 = exact). Returns `findings[]` (drift > tolerance) and `skipped[]` (no matching variable, non-SOLID, etc.). NO canvas writes — works in Dev Mode.", {
167
+ request: driftRequestZod.describe("Mode + parameters. `byName-vs-variables` is the default workflow when DTCG tokens drive both styles and variables. Use `explicit` to verify against a token snapshot from the transformer."),
168
+ }, async ({ request }) => callPluginCommand(queue, "audit_style_drift", request));
169
+ // — apply_style_coverage_suggestions ---------------------------------------
170
+ server.tool("apply_style_coverage_suggestions", "Apply the `suggestion`-style entries from `find_style_coverage_misses` (or any caller-built list). Translates property paths like `fillStyleId · fills[0]`, `strokeStyleId · strokes[0]`, `effectStyleId · effects[0]` into the appropriate `setFillStyleIdAsync` / `setStrokeStyleIdAsync` / `setTextStyleIdAsync` / `setEffectStyleIdAsync` write. Style assignments are PER-NODE: when the same `(nodeId, field)` appears multiple times, only the first wins (the rest land in `skipped[]`). Default mode is dry-run — agent receives a `preview[]`, then re-calls with `dryRun: false`. CANVAS WRITE only when `dryRun: false`.", {
171
+ suggestions: z.array(styleCoverageSuggestionZod).min(1),
172
+ dryRun: z.boolean().optional().describe("Default: true. Pass false to actually wire bindings."),
173
+ }, async (args) => callPluginCommand(queue, "apply_style_coverage_suggestions", args));
174
+ }
175
+ //# sourceMappingURL=styles-orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-orchestration.js","sourceRoot":"","sources":["../../src/tools/styles-orchestration.ts"],"names":[],"mappings":"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"}
@@ -25,43 +25,43 @@ export declare const tokenDocSpecV1Zod: z.ZodObject<{
25
25
  show?: "path" | "resolved" | "both" | undefined;
26
26
  }>, "many">;
27
27
  }, "strip", z.ZodTypeAny, {
28
- id: string;
29
28
  rows: {
30
29
  layerName: string;
31
30
  tokenPath: string;
32
31
  show?: "path" | "resolved" | "both" | undefined;
33
32
  }[];
33
+ id: string;
34
34
  title?: string | undefined;
35
35
  }, {
36
- id: string;
37
36
  rows: {
38
37
  layerName: string;
39
38
  tokenPath: string;
40
39
  show?: "path" | "resolved" | "both" | undefined;
41
40
  }[];
41
+ id: string;
42
42
  title?: string | undefined;
43
43
  }>, "many">;
44
44
  }, "strip", z.ZodTypeAny, {
45
45
  version: "1";
46
46
  groups: {
47
- id: string;
48
47
  rows: {
49
48
  layerName: string;
50
49
  tokenPath: string;
51
50
  show?: "path" | "resolved" | "both" | undefined;
52
51
  }[];
52
+ id: string;
53
53
  title?: string | undefined;
54
54
  }[];
55
55
  title?: string | undefined;
56
56
  }, {
57
57
  version: "1";
58
58
  groups: {
59
- id: string;
60
59
  rows: {
61
60
  layerName: string;
62
61
  tokenPath: string;
63
62
  show?: "path" | "resolved" | "both" | undefined;
64
63
  }[];
64
+ id: string;
65
65
  title?: string | undefined;
66
66
  }[];
67
67
  title?: string | undefined;
@@ -72,13 +72,13 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
72
72
  text: z.ZodString;
73
73
  layerName: z.ZodOptional<z.ZodString>;
74
74
  }, "strip", z.ZodTypeAny, {
75
- type: "title";
76
75
  text: string;
76
+ type: "title";
77
77
  layerName?: string | undefined;
78
78
  id?: string | undefined;
79
79
  }, {
80
- type: "title";
81
80
  text: string;
81
+ type: "title";
82
82
  layerName?: string | undefined;
83
83
  id?: string | undefined;
84
84
  }>, z.ZodObject<{
@@ -107,21 +107,21 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
107
107
  labelLayerName: z.ZodOptional<z.ZodString>;
108
108
  }, "strip", z.ZodTypeAny, {
109
109
  type: "variants";
110
+ limit?: number | undefined;
110
111
  componentId?: string | undefined;
112
+ layout?: "matrix" | "grid" | "list" | undefined;
111
113
  id?: string | undefined;
112
114
  componentSetId?: string | undefined;
113
- layout?: "matrix" | "grid" | "list" | undefined;
114
115
  groupBy?: string | undefined;
115
- limit?: number | undefined;
116
116
  labelLayerName?: string | undefined;
117
117
  }, {
118
118
  type: "variants";
119
+ limit?: number | undefined;
119
120
  componentId?: string | undefined;
121
+ layout?: "matrix" | "grid" | "list" | undefined;
120
122
  id?: string | undefined;
121
123
  componentSetId?: string | undefined;
122
- layout?: "matrix" | "grid" | "list" | undefined;
123
124
  groupBy?: string | undefined;
124
- limit?: number | undefined;
125
125
  labelLayerName?: string | undefined;
126
126
  }>, z.ZodObject<{
127
127
  type: z.ZodLiteral<"props">;
@@ -191,8 +191,8 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
191
191
  }, "strip", z.ZodTypeAny, {
192
192
  type: "palette";
193
193
  templateNodeId: string;
194
- id?: string | undefined;
195
194
  limit?: number | undefined;
195
+ id?: string | undefined;
196
196
  labelLayerName?: string | undefined;
197
197
  collectionName?: string | undefined;
198
198
  collectionId?: string | undefined;
@@ -203,8 +203,8 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
203
203
  }, {
204
204
  type: "palette";
205
205
  templateNodeId: string;
206
- id?: string | undefined;
207
206
  limit?: number | undefined;
207
+ id?: string | undefined;
208
208
  labelLayerName?: string | undefined;
209
209
  collectionName?: string | undefined;
210
210
  collectionId?: string | undefined;
@@ -229,30 +229,30 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
229
229
  type: string;
230
230
  }>, "many">>;
231
231
  }, "strip", z.ZodTypeAny, {
232
- label?: string | undefined;
233
- labelMarkdown?: string | undefined;
234
- categoryId?: string | undefined;
235
232
  properties?: {
236
233
  type: string;
237
234
  }[] | undefined;
238
- }, {
239
235
  label?: string | undefined;
240
236
  labelMarkdown?: string | undefined;
241
237
  categoryId?: string | undefined;
238
+ }, {
242
239
  properties?: {
243
240
  type: string;
244
241
  }[] | undefined;
242
+ label?: string | undefined;
243
+ labelMarkdown?: string | undefined;
244
+ categoryId?: string | undefined;
245
245
  }>, "many">>;
246
246
  }, "strip", z.ZodTypeAny, {
247
247
  type: "measure";
248
248
  nodeId: string;
249
249
  annotations?: {
250
- label?: string | undefined;
251
- labelMarkdown?: string | undefined;
252
- categoryId?: string | undefined;
253
250
  properties?: {
254
251
  type: string;
255
252
  }[] | undefined;
253
+ label?: string | undefined;
254
+ labelMarkdown?: string | undefined;
255
+ categoryId?: string | undefined;
256
256
  }[] | undefined;
257
257
  id?: string | undefined;
258
258
  experimental?: boolean | undefined;
@@ -260,12 +260,12 @@ export declare const docSectionZod: z.ZodDiscriminatedUnion<"type", [z.ZodObject
260
260
  type: "measure";
261
261
  nodeId: string;
262
262
  annotations?: {
263
- label?: string | undefined;
264
- labelMarkdown?: string | undefined;
265
- categoryId?: string | undefined;
266
263
  properties?: {
267
264
  type: string;
268
265
  }[] | undefined;
266
+ label?: string | undefined;
267
+ labelMarkdown?: string | undefined;
268
+ categoryId?: string | undefined;
269
269
  }[] | undefined;
270
270
  id?: string | undefined;
271
271
  experimental?: boolean | undefined;
@@ -295,13 +295,13 @@ export declare const docSpecV2Zod: z.ZodObject<{
295
295
  text: z.ZodString;
296
296
  layerName: z.ZodOptional<z.ZodString>;
297
297
  }, "strip", z.ZodTypeAny, {
298
- type: "title";
299
298
  text: string;
299
+ type: "title";
300
300
  layerName?: string | undefined;
301
301
  id?: string | undefined;
302
302
  }, {
303
- type: "title";
304
303
  text: string;
304
+ type: "title";
305
305
  layerName?: string | undefined;
306
306
  id?: string | undefined;
307
307
  }>, z.ZodObject<{
@@ -330,21 +330,21 @@ export declare const docSpecV2Zod: z.ZodObject<{
330
330
  labelLayerName: z.ZodOptional<z.ZodString>;
331
331
  }, "strip", z.ZodTypeAny, {
332
332
  type: "variants";
333
+ limit?: number | undefined;
333
334
  componentId?: string | undefined;
335
+ layout?: "matrix" | "grid" | "list" | undefined;
334
336
  id?: string | undefined;
335
337
  componentSetId?: string | undefined;
336
- layout?: "matrix" | "grid" | "list" | undefined;
337
338
  groupBy?: string | undefined;
338
- limit?: number | undefined;
339
339
  labelLayerName?: string | undefined;
340
340
  }, {
341
341
  type: "variants";
342
+ limit?: number | undefined;
342
343
  componentId?: string | undefined;
344
+ layout?: "matrix" | "grid" | "list" | undefined;
343
345
  id?: string | undefined;
344
346
  componentSetId?: string | undefined;
345
- layout?: "matrix" | "grid" | "list" | undefined;
346
347
  groupBy?: string | undefined;
347
- limit?: number | undefined;
348
348
  labelLayerName?: string | undefined;
349
349
  }>, z.ZodObject<{
350
350
  type: z.ZodLiteral<"props">;
@@ -414,8 +414,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
414
414
  }, "strip", z.ZodTypeAny, {
415
415
  type: "palette";
416
416
  templateNodeId: string;
417
- id?: string | undefined;
418
417
  limit?: number | undefined;
418
+ id?: string | undefined;
419
419
  labelLayerName?: string | undefined;
420
420
  collectionName?: string | undefined;
421
421
  collectionId?: string | undefined;
@@ -426,8 +426,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
426
426
  }, {
427
427
  type: "palette";
428
428
  templateNodeId: string;
429
- id?: string | undefined;
430
429
  limit?: number | undefined;
430
+ id?: string | undefined;
431
431
  labelLayerName?: string | undefined;
432
432
  collectionName?: string | undefined;
433
433
  collectionId?: string | undefined;
@@ -452,30 +452,30 @@ export declare const docSpecV2Zod: z.ZodObject<{
452
452
  type: string;
453
453
  }>, "many">>;
454
454
  }, "strip", z.ZodTypeAny, {
455
- label?: string | undefined;
456
- labelMarkdown?: string | undefined;
457
- categoryId?: string | undefined;
458
455
  properties?: {
459
456
  type: string;
460
457
  }[] | undefined;
461
- }, {
462
458
  label?: string | undefined;
463
459
  labelMarkdown?: string | undefined;
464
460
  categoryId?: string | undefined;
461
+ }, {
465
462
  properties?: {
466
463
  type: string;
467
464
  }[] | undefined;
465
+ label?: string | undefined;
466
+ labelMarkdown?: string | undefined;
467
+ categoryId?: string | undefined;
468
468
  }>, "many">>;
469
469
  }, "strip", z.ZodTypeAny, {
470
470
  type: "measure";
471
471
  nodeId: string;
472
472
  annotations?: {
473
- label?: string | undefined;
474
- labelMarkdown?: string | undefined;
475
- categoryId?: string | undefined;
476
473
  properties?: {
477
474
  type: string;
478
475
  }[] | undefined;
476
+ label?: string | undefined;
477
+ labelMarkdown?: string | undefined;
478
+ categoryId?: string | undefined;
479
479
  }[] | undefined;
480
480
  id?: string | undefined;
481
481
  experimental?: boolean | undefined;
@@ -483,12 +483,12 @@ export declare const docSpecV2Zod: z.ZodObject<{
483
483
  type: "measure";
484
484
  nodeId: string;
485
485
  annotations?: {
486
- label?: string | undefined;
487
- labelMarkdown?: string | undefined;
488
- categoryId?: string | undefined;
489
486
  properties?: {
490
487
  type: string;
491
488
  }[] | undefined;
489
+ label?: string | undefined;
490
+ labelMarkdown?: string | undefined;
491
+ categoryId?: string | undefined;
492
492
  }[] | undefined;
493
493
  id?: string | undefined;
494
494
  experimental?: boolean | undefined;
@@ -496,8 +496,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
496
496
  }, "strip", z.ZodTypeAny, {
497
497
  version: "2";
498
498
  sections: ({
499
- type: "title";
500
499
  text: string;
500
+ type: "title";
501
501
  layerName?: string | undefined;
502
502
  id?: string | undefined;
503
503
  } | {
@@ -507,12 +507,12 @@ export declare const docSpecV2Zod: z.ZodObject<{
507
507
  id?: string | undefined;
508
508
  } | {
509
509
  type: "variants";
510
+ limit?: number | undefined;
510
511
  componentId?: string | undefined;
512
+ layout?: "matrix" | "grid" | "list" | undefined;
511
513
  id?: string | undefined;
512
514
  componentSetId?: string | undefined;
513
- layout?: "matrix" | "grid" | "list" | undefined;
514
515
  groupBy?: string | undefined;
515
- limit?: number | undefined;
516
516
  labelLayerName?: string | undefined;
517
517
  } | {
518
518
  type: "props";
@@ -532,8 +532,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
532
532
  } | {
533
533
  type: "palette";
534
534
  templateNodeId: string;
535
- id?: string | undefined;
536
535
  limit?: number | undefined;
536
+ id?: string | undefined;
537
537
  labelLayerName?: string | undefined;
538
538
  collectionName?: string | undefined;
539
539
  collectionId?: string | undefined;
@@ -545,12 +545,12 @@ export declare const docSpecV2Zod: z.ZodObject<{
545
545
  type: "measure";
546
546
  nodeId: string;
547
547
  annotations?: {
548
- label?: string | undefined;
549
- labelMarkdown?: string | undefined;
550
- categoryId?: string | undefined;
551
548
  properties?: {
552
549
  type: string;
553
550
  }[] | undefined;
551
+ label?: string | undefined;
552
+ labelMarkdown?: string | undefined;
553
+ categoryId?: string | undefined;
554
554
  }[] | undefined;
555
555
  id?: string | undefined;
556
556
  experimental?: boolean | undefined;
@@ -565,8 +565,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
565
565
  }, {
566
566
  version: "2";
567
567
  sections: ({
568
- type: "title";
569
568
  text: string;
569
+ type: "title";
570
570
  layerName?: string | undefined;
571
571
  id?: string | undefined;
572
572
  } | {
@@ -576,12 +576,12 @@ export declare const docSpecV2Zod: z.ZodObject<{
576
576
  id?: string | undefined;
577
577
  } | {
578
578
  type: "variants";
579
+ limit?: number | undefined;
579
580
  componentId?: string | undefined;
581
+ layout?: "matrix" | "grid" | "list" | undefined;
580
582
  id?: string | undefined;
581
583
  componentSetId?: string | undefined;
582
- layout?: "matrix" | "grid" | "list" | undefined;
583
584
  groupBy?: string | undefined;
584
- limit?: number | undefined;
585
585
  labelLayerName?: string | undefined;
586
586
  } | {
587
587
  type: "props";
@@ -601,8 +601,8 @@ export declare const docSpecV2Zod: z.ZodObject<{
601
601
  } | {
602
602
  type: "palette";
603
603
  templateNodeId: string;
604
- id?: string | undefined;
605
604
  limit?: number | undefined;
605
+ id?: string | undefined;
606
606
  labelLayerName?: string | undefined;
607
607
  collectionName?: string | undefined;
608
608
  collectionId?: string | undefined;
@@ -614,12 +614,12 @@ export declare const docSpecV2Zod: z.ZodObject<{
614
614
  type: "measure";
615
615
  nodeId: string;
616
616
  annotations?: {
617
- label?: string | undefined;
618
- labelMarkdown?: string | undefined;
619
- categoryId?: string | undefined;
620
617
  properties?: {
621
618
  type: string;
622
619
  }[] | undefined;
620
+ label?: string | undefined;
621
+ labelMarkdown?: string | undefined;
622
+ categoryId?: string | undefined;
623
623
  }[] | undefined;
624
624
  id?: string | undefined;
625
625
  experimental?: boolean | undefined;
@@ -647,8 +647,8 @@ export declare const paletteSectionZod: z.ZodObject<{
647
647
  }, "strip", z.ZodTypeAny, {
648
648
  type: "palette";
649
649
  templateNodeId: string;
650
- id?: string | undefined;
651
650
  limit?: number | undefined;
651
+ id?: string | undefined;
652
652
  labelLayerName?: string | undefined;
653
653
  collectionName?: string | undefined;
654
654
  collectionId?: string | undefined;
@@ -659,8 +659,8 @@ export declare const paletteSectionZod: z.ZodObject<{
659
659
  }, {
660
660
  type: "palette";
661
661
  templateNodeId: string;
662
- id?: string | undefined;
663
662
  limit?: number | undefined;
663
+ id?: string | undefined;
664
664
  labelLayerName?: string | undefined;
665
665
  collectionName?: string | undefined;
666
666
  collectionId?: string | undefined;
@@ -681,18 +681,18 @@ export declare const annotationItemZod: z.ZodObject<{
681
681
  type: string;
682
682
  }>, "many">>;
683
683
  }, "strip", z.ZodTypeAny, {
684
- label?: string | undefined;
685
- labelMarkdown?: string | undefined;
686
- categoryId?: string | undefined;
687
684
  properties?: {
688
685
  type: string;
689
686
  }[] | undefined;
690
- }, {
691
687
  label?: string | undefined;
692
688
  labelMarkdown?: string | undefined;
693
689
  categoryId?: string | undefined;
690
+ }, {
694
691
  properties?: {
695
692
  type: string;
696
693
  }[] | undefined;
694
+ label?: string | undefined;
695
+ labelMarkdown?: string | undefined;
696
+ categoryId?: string | undefined;
697
697
  }>;
698
698
  export declare function registerTokenTools(server: McpServer, queue: CommandQueue): void;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Variables orchestration — Bridge platform Phase B tools.
3
+ *
4
+ * "Thick" commands that wrap multi-step Figma Variables refactors:
5
+ * - `import_variable_spec` — declarative bulk create / update with aliases.
6
+ * - `analyze_variable_order` — read-only diff to recommend a new order.
7
+ * - `dedupe_variables` — find / merge duplicates (dry-run by default).
8
+ * - `rebind_variable_aliases` — bulk rewrite alias chains across modes.
9
+ * - `apply_coverage_suggestions` — convert audit_variable_coverage suggestions
10
+ * into safe `setBoundVariableFor*` writes.
11
+ *
12
+ * Token economy:
13
+ * - dry-run (default for dedupe / apply_coverage_suggestions / spec preview)
14
+ * returns the exact plan WITHOUT touching the canvas. Agents inspect the
15
+ * summary, surface it to the user, then re-call with `apply: true` /
16
+ * `dryRun: false` to commit.
17
+ */
18
+ import type { McpServer } from "../../node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js";
19
+ import type { CommandQueue } from "../command-queue.js";
20
+ export declare function registerVariablesOrchestrationTools(server: McpServer, queue: CommandQueue): void;