@sxl-studio/bridge 1.5.1 → 1.6.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.
- package/README.md +8 -1
- package/dist/agent-recipes.d.ts +268 -0
- package/dist/agent-recipes.js +637 -0
- package/dist/agent-recipes.js.map +1 -1
- package/dist/command-queue.js +16 -0
- package/dist/command-queue.js.map +1 -1
- package/dist/mcp-factory.js +11 -1
- package/dist/mcp-factory.js.map +1 -1
- package/dist/sxl-mcp-instructions.js +142 -2
- package/dist/sxl-mcp-instructions.js.map +1 -1
- package/dist/tools/audit.d.ts +49 -0
- package/dist/tools/audit.js +83 -0
- package/dist/tools/audit.js.map +1 -0
- package/dist/tools/catalogue-bootstrap.js +34 -0
- package/dist/tools/catalogue-bootstrap.js.map +1 -1
- package/dist/tools/compositions-orchestration.d.ts +91 -0
- package/dist/tools/compositions-orchestration.js +101 -0
- package/dist/tools/compositions-orchestration.js.map +1 -0
- package/dist/tools/mockup.d.ts +323 -0
- package/dist/tools/mockup.js +206 -0
- package/dist/tools/mockup.js.map +1 -0
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +52 -2
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/styles-orchestration.d.ts +544 -0
- package/dist/tools/styles-orchestration.js +175 -0
- package/dist/tools/styles-orchestration.js.map +1 -0
- package/dist/tools/tokens.d.ts +60 -60
- package/dist/tools/variables-orchestration.d.ts +20 -0
- package/dist/tools/variables-orchestration.js +116 -0
- package/dist/tools/variables-orchestration.js.map +1 -0
- package/package.json +1 -1
|
@@ -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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"}
|
package/dist/tools/tokens.d.ts
CHANGED
|
@@ -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;
|