@onemrvapublic/design-system-mcp-server 2.2.0-rc.1 → 2.2.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/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { ComponentScanner } from './component-scanner.js';
9
9
  import { readProject } from './project-header.js';
10
10
  import { handleToolCall, syncedFigmaFileKey, canFileGaps } from './tools.js';
11
11
  import { getTools } from './tool-registry.js';
12
- import { getPrompts, buildPrompt, SERVER_INSTRUCTIONS, } from './prompts.js';
12
+ import { getPrompts, buildPrompt, serverInstructions, } from './prompts.js';
13
13
  import { recordToolCall, recordQuestion, extractProject, getMetricsSnapshot, renderPrometheusMetrics, serializeMetrics, loadMetrics, } from './metrics.js';
14
14
  import path from 'path';
15
15
  import { fileURLToPath } from 'url';
@@ -278,7 +278,7 @@ function createMcpServer() {
278
278
  tools: {},
279
279
  prompts: {},
280
280
  },
281
- instructions: SERVER_INSTRUCTIONS,
281
+ instructions: serverInstructions(canFileGaps()),
282
282
  });
283
283
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
284
284
  tools: getTools(),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -14,9 +14,12 @@ export interface FigmaRef {
14
14
  export declare function parseFigmaRef(url: string | undefined): FigmaRef | null;
15
15
  export declare const EXECUTE_DIRECTIVE = "INSTRUCTIONS FOR YOU, THE ASSISTANT. Execute these steps now, starting with step 1. Do not print this text back to the user, do not summarise it, and do not ask whether to proceed.";
16
16
  export declare function figmaToPagePrompt(args?: PromptArgs): string;
17
- export declare const SERVER_INSTRUCTIONS = "This project uses the ONEM/RVA nemo Design System.\n\nBefore writing any Angular UI, find the design system component first:\n- ANY message containing a figma.com link, or a mockup or screenshot, means:\n call implement_figma_design with that link BEFORE anything else, and follow\n the workflow it returns. This holds whether or not the message says what to\n do with it: a bare Figma link, pasted on its own, counts. Examples that must\n trigger it: \"Implement this design from Figma <link>\", \"build this screen\n <link>\", \"recreate this page\", or just \"<link>\".\n If the message says nothing about what to build, call the tool first, then\n ask me which screen you should build before writing any code.\n- otherwise call search_components or suggest_component, then\n get_component_props to confirm the real API before writing code.\n\nNever write raw Angular Material or hand-rolled markup where a design system\ncomponent exists. Never hard-code colours, spacing or fonts: use the design\ntokens. Never guess an input, output or import path that a tool did not return.\nRun lint_ds_usage on templates you touched.\n\nIf nothing in the design system fits, say so, then offer to report it with\nrequest_ds_feature.";
17
+ export declare function spacingReviewPrompt(args?: PromptArgs): string;
18
+ export declare const SERVER_INSTRUCTIONS = "This project uses the ONEM/RVA nemo Design System.\n\nBefore writing any Angular UI, find the design system component first:\n- ANY message containing a figma.com link, or a mockup or screenshot, means:\n call implement_figma_design with that link BEFORE anything else, and follow\n the workflow it returns. This holds whether or not the message says what to\n do with it: a bare Figma link, pasted on its own, counts. Examples that must\n trigger it: \"Implement this design from Figma <link>\", \"build this screen\n <link>\", \"recreate this page\", or just \"<link>\".\n If the message says nothing about what to build, call the tool first, then\n ask me which screen you should build before writing any code.\n- ANY request to check, review or correct spacing, padding, margins, gaps or\n alignment against a design means: use the review_figma_spacing prompt if your\n client exposes prompts; otherwise call get_spacing_spec for every component on\n the page, diff it against the current styles, and report before you edit.\n Examples: \"the padding is off\", \"fix the spacing on this page\", \"does this\n match the design?\".\n- otherwise call search_components or suggest_component, then\n get_component_props to confirm the real API before writing code.\n\nNever write raw Angular Material or hand-rolled markup where a design system\ncomponent exists. Never guess an input, output or import path that a tool did\nnot return. Run lint_ds_usage on templates you touched.\n\nWrite as little CSS as possible. For margin, padding and gap prefer a spacing\nutility class in the template (.mt-l, .px-m, .g-s); otherwise a token in SCSS\n(var(--spacer), var(--double-spacer)). Never a raw px or a hex colour. Do not\nrestyle the internals of a design system component.\n\nKeep components small and single-purpose: split a page into named standalone\ncomponents rather than growing one large template.\n\nAfter producing or changing a component \u2014 implement_figma_design, a spacing\nreview, migrate_file, migrate_to_ds, generate_form \u2014 run review_implementation\non the template and stylesheet before you show them. Apply the fixes it lists\nand run it again. The verdict is GOOD once there are no errors and no warnings;\nnotes alone do not block. Never present generated code as finished while it\nstill reports an error or a warning.\n\nSpacing comes from get_spacing_spec (padding, gap and the matching utility\nclass per component), never from measuring a screenshot.\n\nIf nothing in the design system fits, say so plainly rather than building a\nlookalike.";
19
+ export declare function serverInstructions(canFileGaps: boolean): string;
18
20
  export declare const PROMPT_NAMES: {
19
21
  readonly figmaToPage: "implement_figma_design";
22
+ readonly spacingReview: "review_figma_spacing";
20
23
  };
21
24
  export declare function getPrompts(): Prompt[];
22
25
  export declare function buildPrompt(name: string, args?: PromptArgs): string;
package/dist/prompts.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { spacingScaleSummary } from './spacing-scale.js';
1
2
  // Pulls the file key, file name and node id out of a Figma link.
2
3
  export function parseFigmaRef(url) {
3
4
  if (!url) {
@@ -21,6 +22,13 @@ function line(label, value) {
21
22
  // Prepended to the tool result: without it, models tend to print the workflow
22
23
  // back to the user instead of executing it.
23
24
  export const EXECUTE_DIRECTIVE = 'INSTRUCTIONS FOR YOU, THE ASSISTANT. Execute these steps now, starting with step 1. Do not print this text back to the user, do not summarise it, and do not ask whether to proceed.';
25
+ // inlined so px converts to a token without a tool call
26
+ const SPACING_SCALE_BLOCK = `
27
+ Figma reports px. The scale, read from the design system itself:
28
+ ${spacingScaleSummary()}
29
+ Axes apply to padding and margin only: p/m + x y t b l r, e.g. .mt-l, .px-m.
30
+ Gap has no axes: .g (gap), .gc (column-gap), .gr (row-gap), e.g. .g-s.
31
+ Anything outside this table: use list_theme_utilities rather than guessing.`;
24
32
  // The Figma-to-page workflow, in the order the tools must be called.
25
33
  export function figmaToPagePrompt(args = {}) {
26
34
  const ref = parseFigmaRef(args.figmaUrl);
@@ -57,20 +65,69 @@ Work in this order and do not skip a step.
57
65
  inputs and outputs it returns. Never guess an input name, an enum value or
58
66
  an import path: if it is not in the tool output, it does not exist.
59
67
 
60
- 4. WRITE THE CODE.
68
+ 4. TAKE THE SPACING FROM THE FRAME, NOT FROM THE SCREENSHOT.
69
+ Two sources, and they do not overlap:
70
+ - BETWEEN components (page padding, gaps between sections, column layout):
71
+ the Figma Dev Mode MCP. Product screens live in files this server does not
72
+ sync, often owned by another team, so it has no data for them;
73
+ - INSIDE a design system component (its own padding, gap, direction): call
74
+ get_spacing_spec ONCE with every component on the page. That is instant and
75
+ costs a fraction of get_figma_component.
76
+ Never eyeball a margin off an image, and never copy a component's internal
77
+ spacing out of the screen frame: the design system value is authoritative.
78
+ ${SPACING_SCALE_BLOCK}
79
+ Rules:
80
+ - a value that is not on the scale is suspicious. Re-read the Anatomy before
81
+ inventing a literal, and if it really is off-scale say so instead of
82
+ silently rounding;
83
+ - "justify: SPACE_BETWEEN" means Figma IGNORES the gap value. Emit
84
+ justify-content: space-between, not a gap;
85
+ - "gap: 0px" is deliberate (items flush). It is not the same as no gap;
86
+ - Figma has no margins. Outer spacing comes from the parent's padding/gap,
87
+ so put it there rather than adding a margin to the child.
88
+
89
+ 5. WRITE THE CODE.
61
90
  Use generate_component_usage for the components you are unsure about, then
62
- assemble the page. Rules:
91
+ assemble the page.
92
+
93
+ USE THE DESIGN SYSTEM:
63
94
  - never use raw Angular Material or hand-written markup where a DS component
64
- exists;
65
- - never hard-code a colour, spacing or font value. Call list_design_tokens
66
- or get_design_token and use the CSS custom property;
67
- - keep the DS component's own structure: do not restyle its internals.
95
+ exists. Search before you build: search_components, then suggest_component;
96
+ - keep a DS component's own structure: do not restyle its internals, and do
97
+ not reach into its classes. If its own spacing looks wrong, say so and
98
+ leave it: that is a design system bug, not a page bug;
99
+ - never guess an input or an import path a tool did not return.
68
100
 
69
- 5. VERIFY.
70
- Run lint_ds_usage on every template you produced and fix what it reports.
71
- Show me the result.
101
+ WRITE AS LITTLE CSS AS POSSIBLE, in this order:
102
+ 1. a spacing utility class in the template (.mt-l, .px-m, .g-s) — this covers
103
+ most margins, paddings and gaps and needs no stylesheet at all;
104
+ 2. if it cannot be a class, a token in SCSS: var(--spacer), var(--double-spacer);
105
+ 3. custom CSS only for genuine layout the DS has no answer for, and say why.
106
+ And in all three: never hard-code a colour, spacing or font value. Call
107
+ list_design_tokens or get_design_token and use the CSS custom property. No
108
+ raw px, no hex, no magic numbers. A stylesheet that only restates DS
109
+ defaults should not exist.
110
+
111
+ DO NOT BUILD A MONOLITH:
112
+ - one component, one responsibility. A page component composes; it does not
113
+ also fetch, format and validate;
114
+ - split when a template passes roughly 150 lines, when a section repeats,
115
+ or when a block has its own state. Give each part a named, standalone
116
+ component and its own file;
117
+ - keep state and formatting out of the template: computed signals in the .ts,
118
+ not expressions in the HTML;
119
+ - name by role (applications-table, filter-panel), not by shape.
120
+
121
+ 6. VERIFY. BOTH OF THESE, ON EVERY FILE YOU TOUCHED.
122
+ - lint_ds_usage on the template: missing inputs, unknown inputs and outputs,
123
+ leftover Angular Material;
124
+ - review_implementation with the template AND the stylesheet: custom CSS a
125
+ utility class already covers, raw px and hex, restyled design system
126
+ internals, inline style attributes, a template grown into a monolith.
127
+ Fix what they report and show me the result. Do not present the work as done
128
+ while either still reports an error.
72
129
 
73
- 6. WHEN THE DESIGN SYSTEM HAS NOTHING FOR AN ELEMENT.
130
+ 7. WHEN THE DESIGN SYSTEM HAS NOTHING FOR AN ELEMENT.
74
131
  Say so plainly instead of building a lookalike, and list what you had to
75
132
  build by hand so the gap is visible.${args.canFileGaps
76
133
  ? `
@@ -82,6 +139,64 @@ Work in this order and do not skip a step.
82
139
  Report at the end: the mapping table, the files you changed, what lint_ds_usage
83
140
  said, and anything you could not cover with the design system.`;
84
141
  }
142
+ // Spacing-only pass over code that already exists: no rebuild, no restructuring.
143
+ export function spacingReviewPrompt(args = {}) {
144
+ const ref = parseFigmaRef(args.figmaUrl);
145
+ const target = line('Figma frame', args.figmaUrl) +
146
+ line('Node', ref?.nodeId) +
147
+ line('Screen or component to review', args.screen) +
148
+ line('Extra context', args.notes);
149
+ return `Review the spacing of this page against its Figma frame and fix what drifted.
150
+ Only spacing: padding, gap, margin, alignment. Do not restructure the markup,
151
+ rename anything, or change colours and typography.
152
+
153
+ ${target || 'Figma frame: <paste the link>\nFiles to review: <path>\n'}
154
+ 1. GET THE INTENDED SPACING — ONE CALL.
155
+ List every design system component on the page, then call get_spacing_spec
156
+ ONCE with all of them. It returns the direction, padding, gap and alignment
157
+ of each, already in px. Do not call get_figma_component per component: it
158
+ carries properties, variants and tokens you do not need here and costs
159
+ several times more.
160
+ If a layer is not a design system component, get the frame from the Figma Dev
161
+ Mode MCP, or ask me. Never measure off a screenshot.
162
+ ${SPACING_SCALE_BLOCK}
163
+ 2. READ WHAT THE CODE ACTUALLY DOES.
164
+ Open the component's template and stylesheet. Collect every padding, margin,
165
+ gap and flex property that applies, including values inherited from a DS
166
+ component's own styles. Note which are hard-coded px/rem and which use tokens.
167
+
168
+ 3. REPORT THE DIFF BEFORE CHANGING ANYTHING.
169
+ One table: element | Figma | code | verdict. Verdicts:
170
+ - MATCH — leave it alone;
171
+ - DRIFT — code disagrees with the frame;
172
+ - HARD-CODED — right value, wrong form: swap the literal for the token;
173
+ - EXTRA — spacing in the code that the frame does not ask for;
174
+ - MISSING — spacing in the frame that the code never applies.
175
+ Say which are deliberate overrides rather than assuming everything is a bug.
176
+
177
+ 4. FIX ONLY THE ROWS THAT ARE NOT MATCH.
178
+ - prefer the utility class get_spacing_spec gives you (.mt-l, .px-m, .g-s):
179
+ most fixes are a class swap in the template, not a stylesheet change. Use a
180
+ token in SCSS only when a class cannot express it, and delete any custom
181
+ rule the class replaces;
182
+ - never a raw px;
183
+ - "justify: SPACE_BETWEEN" in the Anatomy means the gap is ignored by Figma:
184
+ emit justify-content: space-between instead of a gap;
185
+ - "gap: 0px" is deliberate, keep it at 0;
186
+ - Figma has no margins. If the frame puts space between children, that is the
187
+ parent's gap or padding, not a margin on the child;
188
+ - do not restyle the internals of a DS component. If its own padding is wrong,
189
+ say so and leave it: that is a design system issue, not a page issue.
190
+
191
+ 5. VERIFY.
192
+ Run lint_ds_usage and review_implementation on every file you touched. The
193
+ second one catches the failure mode of this task: fixing spacing by adding
194
+ more CSS instead of using a class. Show me the result, and the before/after
195
+ for each value you changed.
196
+
197
+ Report at the end: the diff table, the files you changed, and any spacing you
198
+ deliberately left alone with the reason.`;
199
+ }
85
200
  // Sent on initialize; clients put it in the system prompt, so the rules apply
86
201
  // even when nobody asks for the design system by name.
87
202
  export const SERVER_INSTRUCTIONS = `This project uses the ONEM/RVA nemo Design System.
@@ -95,18 +210,49 @@ Before writing any Angular UI, find the design system component first:
95
210
  <link>", "recreate this page", or just "<link>".
96
211
  If the message says nothing about what to build, call the tool first, then
97
212
  ask me which screen you should build before writing any code.
213
+ - ANY request to check, review or correct spacing, padding, margins, gaps or
214
+ alignment against a design means: use the review_figma_spacing prompt if your
215
+ client exposes prompts; otherwise call get_spacing_spec for every component on
216
+ the page, diff it against the current styles, and report before you edit.
217
+ Examples: "the padding is off", "fix the spacing on this page", "does this
218
+ match the design?".
98
219
  - otherwise call search_components or suggest_component, then
99
220
  get_component_props to confirm the real API before writing code.
100
221
 
101
222
  Never write raw Angular Material or hand-rolled markup where a design system
102
- component exists. Never hard-code colours, spacing or fonts: use the design
103
- tokens. Never guess an input, output or import path that a tool did not return.
104
- Run lint_ds_usage on templates you touched.
223
+ component exists. Never guess an input, output or import path that a tool did
224
+ not return. Run lint_ds_usage on templates you touched.
225
+
226
+ Write as little CSS as possible. For margin, padding and gap prefer a spacing
227
+ utility class in the template (.mt-l, .px-m, .g-s); otherwise a token in SCSS
228
+ (var(--spacer), var(--double-spacer)). Never a raw px or a hex colour. Do not
229
+ restyle the internals of a design system component.
230
+
231
+ Keep components small and single-purpose: split a page into named standalone
232
+ components rather than growing one large template.
233
+
234
+ After producing or changing a component — implement_figma_design, a spacing
235
+ review, migrate_file, migrate_to_ds, generate_form — run review_implementation
236
+ on the template and stylesheet before you show them. Apply the fixes it lists
237
+ and run it again. The verdict is GOOD once there are no errors and no warnings;
238
+ notes alone do not block. Never present generated code as finished while it
239
+ still reports an error or a warning.
240
+
241
+ Spacing comes from get_spacing_spec (padding, gap and the matching utility
242
+ class per component), never from measuring a screenshot.
105
243
 
106
- If nothing in the design system fits, say so, then offer to report it with
107
- request_ds_feature.`;
244
+ If nothing in the design system fits, say so plainly rather than building a
245
+ lookalike.`;
246
+ // request_ds_feature is only registered on some deployments, so it is named
247
+ // here rather than in the constant above, which every client receives.
248
+ export function serverInstructions(canFileGaps) {
249
+ return canFileGaps
250
+ ? `${SERVER_INSTRUCTIONS}\nThen offer to report the gap with request_ds_feature.`
251
+ : SERVER_INSTRUCTIONS;
252
+ }
108
253
  export const PROMPT_NAMES = {
109
254
  figmaToPage: 'implement_figma_design',
255
+ spacingReview: 'review_figma_spacing',
110
256
  };
111
257
  export function getPrompts() {
112
258
  return [
@@ -132,9 +278,34 @@ export function getPrompts() {
132
278
  },
133
279
  ],
134
280
  },
281
+ {
282
+ name: PROMPT_NAMES.spacingReview,
283
+ title: 'Fix the spacing of an existing screen against its Figma frame',
284
+ description: 'Spacing-only pass over code you already have: reads padding, gap and alignment from the Figma frame, reports a per-element diff against the current styles, then fixes the drift with design tokens. Does not restructure the markup.',
285
+ arguments: [
286
+ {
287
+ name: 'figmaUrl',
288
+ description: 'Link to the Figma frame to compare against.',
289
+ required: false,
290
+ },
291
+ {
292
+ name: 'screen',
293
+ description: 'The screen or component to review, e.g. "the applications table page".',
294
+ required: false,
295
+ },
296
+ {
297
+ name: 'notes',
298
+ description: 'Anything else the assistant should know.',
299
+ required: false,
300
+ },
301
+ ],
302
+ },
135
303
  ];
136
304
  }
137
305
  export function buildPrompt(name, args = {}) {
306
+ if (name === PROMPT_NAMES.spacingReview) {
307
+ return spacingReviewPrompt(args);
308
+ }
138
309
  if (name !== PROMPT_NAMES.figmaToPage) {
139
310
  throw new Error(`Unknown prompt: ${name}`);
140
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface SpacingScale {
2
+ classFor: Map<number, string>;
3
+ tokenFor: Map<number, string>;
4
+ source: 'design-system' | 'fallback';
5
+ }
6
+ export declare function parseUtilityScale(scss: string): Map<number, string>;
7
+ export declare function parseTokenScale(scss: string): Map<number, string>;
8
+ export declare function getSpacingScale(): SpacingScale;
9
+ export declare function resetSpacingScale(): void;
10
+ export declare function spacingSuffix(px: number): string | undefined;
11
+ export declare function spacingToken(px: number): string | undefined;
12
+ export declare function spacingScaleSummary(): string;
@@ -0,0 +1,120 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ // Used when the design system sources are not on disk, e.g. the published server.
6
+ // Regenerate with `npm run sync:mcp` if the scale ever changes.
7
+ const FALLBACK_CLASSES = [
8
+ [0, '-0'],
9
+ [2, '-2xs'],
10
+ [4, '-xs'],
11
+ [8, '-s'],
12
+ [16, '-m'],
13
+ [24, '-l'],
14
+ [32, '-xl'],
15
+ [40, '-2xl'],
16
+ [56, '-3xl'],
17
+ ];
18
+ const FALLBACK_TOKENS = [
19
+ [2, '--quarter-spacer'],
20
+ [4, '--half-spacer'],
21
+ [8, '--spacer'],
22
+ [12, '--spacer-and-half'],
23
+ [16, '--double-spacer'],
24
+ [24, '--triple-spacer'],
25
+ [32, '--quad-spacer'],
26
+ ];
27
+ const THEME_DIR = [
28
+ '..',
29
+ '..',
30
+ '..',
31
+ 'projects',
32
+ 'onemrva',
33
+ 'design-system',
34
+ 'theme',
35
+ 'utilities',
36
+ ];
37
+ function themeFile(name) {
38
+ try {
39
+ const p = path.join(__dirname, ...THEME_DIR, name);
40
+ return fs.existsSync(p) ? fs.readFileSync(p, 'utf-8') : null;
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ // $spacers: '-2xs' $spacer * 0.25, ... with $spacer: 8px
47
+ export function parseUtilityScale(scss) {
48
+ const out = new Map();
49
+ const base = scss.match(/\$spacer:\s*(\d+(?:\.\d+)?)px/);
50
+ if (!base)
51
+ return out;
52
+ const unit = parseFloat(base[1]);
53
+ const block = scss.match(/\$spacers:\s*([\s\S]*?);/);
54
+ if (!block)
55
+ return out;
56
+ // '-s' $spacer has no multiplier; '-m' $spacer * 2 does; '-0' 0 is a literal
57
+ for (const m of block[1].matchAll(/'([^']*)'\s+(?:\$spacer(?:\s*\*\s*(\d+(?:\.\d+)?))?|(\d+(?:\.\d+)?))\s*(?:,|$)/g)) {
58
+ const suffix = m[1];
59
+ if (suffix === '' || suffix === '-auto')
60
+ continue;
61
+ const px = m[3] !== undefined ? parseFloat(m[3]) : unit * parseFloat(m[2] ?? '1');
62
+ if (!Number.isFinite(px) || out.has(px))
63
+ continue;
64
+ out.set(px, suffix);
65
+ }
66
+ return out;
67
+ }
68
+ // --double-spacer: 1rem; // 16px
69
+ export function parseTokenScale(scss) {
70
+ const out = new Map();
71
+ for (const m of scss.matchAll(/(--[a-z-]*spacer[a-z-]*):\s*(\d+(?:\.\d+)?)rem/g)) {
72
+ const px = parseFloat(m[2]) * 16;
73
+ if (!out.has(px))
74
+ out.set(px, m[1]);
75
+ }
76
+ return out;
77
+ }
78
+ let cached = null;
79
+ export function getSpacingScale() {
80
+ if (cached)
81
+ return cached;
82
+ const vars = themeFile('_variables.scss');
83
+ const tokens = themeFile('_tokens.scss');
84
+ const classFor = vars ? parseUtilityScale(vars) : new Map();
85
+ const tokenFor = tokens ? parseTokenScale(tokens) : new Map();
86
+ cached =
87
+ classFor.size > 0 && tokenFor.size > 0
88
+ ? { classFor, tokenFor, source: 'design-system' }
89
+ : {
90
+ classFor: new Map(FALLBACK_CLASSES),
91
+ tokenFor: new Map(FALLBACK_TOKENS),
92
+ source: 'fallback',
93
+ };
94
+ return cached;
95
+ }
96
+ export function resetSpacingScale() {
97
+ cached = null;
98
+ }
99
+ export function spacingSuffix(px) {
100
+ return getSpacingScale().classFor.get(px);
101
+ }
102
+ export function spacingToken(px) {
103
+ return getSpacingScale().tokenFor.get(px);
104
+ }
105
+ // compact: this ships in every prompt and every get_spacing_spec response
106
+ export function spacingScaleSummary() {
107
+ const { classFor, tokenFor } = getSpacingScale();
108
+ const all = [...new Set([...classFor.keys(), ...tokenFor.keys()])].sort((a, b) => a - b);
109
+ return all
110
+ .map(px => {
111
+ const cls = classFor.get(px);
112
+ const tok = tokenFor.get(px);
113
+ const parts = [cls ? `.p${cls}` : null, tok ? `var(${tok})` : null]
114
+ .filter(Boolean)
115
+ .join('=');
116
+ return `${px}:${parts}`;
117
+ })
118
+ .join(' ');
119
+ }
120
+ //# sourceMappingURL=spacing-scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing-scale.js","sourceRoot":"","sources":["../src/spacing-scale.ts"],"names":[],"mappings":"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"}