@refrakt-md/cli 0.8.5 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/bin.js +56 -98
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/inspect.d.ts +2 -0
  4. package/dist/commands/inspect.d.ts.map +1 -1
  5. package/dist/commands/inspect.js +50 -5
  6. package/dist/commands/inspect.js.map +1 -1
  7. package/dist/lib/dimension-audit.d.ts +48 -0
  8. package/dist/lib/dimension-audit.d.ts.map +1 -0
  9. package/dist/lib/dimension-audit.js +186 -0
  10. package/dist/lib/dimension-audit.js.map +1 -0
  11. package/dist/lib/format.d.ts +10 -0
  12. package/dist/lib/format.d.ts.map +1 -1
  13. package/dist/lib/format.js +246 -2
  14. package/dist/lib/format.js.map +1 -1
  15. package/dist/lib/meta-audit.d.ts +43 -0
  16. package/dist/lib/meta-audit.d.ts.map +1 -0
  17. package/dist/lib/meta-audit.js +116 -0
  18. package/dist/lib/meta-audit.js.map +1 -0
  19. package/package.json +6 -9
  20. package/dist/commands/extract.d.ts +0 -10
  21. package/dist/commands/extract.d.ts.map +0 -1
  22. package/dist/commands/extract.js +0 -161
  23. package/dist/commands/extract.js.map +0 -1
  24. package/dist/extractors/index.d.ts +0 -3
  25. package/dist/extractors/index.d.ts.map +0 -1
  26. package/dist/extractors/index.js +0 -17
  27. package/dist/extractors/index.js.map +0 -1
  28. package/dist/extractors/python-docstring.d.ts +0 -26
  29. package/dist/extractors/python-docstring.d.ts.map +0 -1
  30. package/dist/extractors/python-docstring.js +0 -396
  31. package/dist/extractors/python-docstring.js.map +0 -1
  32. package/dist/extractors/python.d.ts +0 -21
  33. package/dist/extractors/python.d.ts.map +0 -1
  34. package/dist/extractors/python.js +0 -560
  35. package/dist/extractors/python.js.map +0 -1
  36. package/dist/extractors/types.d.ts +0 -55
  37. package/dist/extractors/types.d.ts.map +0 -1
  38. package/dist/extractors/types.js +0 -2
  39. package/dist/extractors/types.js.map +0 -1
  40. package/dist/extractors/typescript.d.ts +0 -28
  41. package/dist/extractors/typescript.d.ts.map +0 -1
  42. package/dist/extractors/typescript.js +0 -566
  43. package/dist/extractors/typescript.js.map +0 -1
  44. package/dist/lib/layout-generator.d.ts +0 -8
  45. package/dist/lib/layout-generator.d.ts.map +0 -1
  46. package/dist/lib/layout-generator.js +0 -22
  47. package/dist/lib/layout-generator.js.map +0 -1
  48. package/dist/lib/symbol-generator.d.ts +0 -14
  49. package/dist/lib/symbol-generator.d.ts.map +0 -1
  50. package/dist/lib/symbol-generator.js +0 -201
  51. package/dist/lib/symbol-generator.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ import { readdirSync, readFileSync, existsSync } from 'node:fs';
2
+ import { join, dirname } from 'node:path';
3
+ import { createRequire } from 'node:module';
4
+ import postcss from 'postcss';
5
+ const DENSITY_LEVELS = ['full', 'compact', 'minimal'];
6
+ const SECTION_ROLES = ['header', 'title', 'description', 'body', 'footer', 'media'];
7
+ const STATE_VALUES = ['open', 'closed', 'active', 'inactive', 'selected', 'disabled'];
8
+ const MEDIA_SLOTS = ['portrait', 'cover', 'thumbnail', 'hero', 'icon'];
9
+ const SEQUENCE_VALUES = ['numbered', 'connected', 'plain'];
10
+ /** Collect dimension declarations from all rune configs */
11
+ export function collectDimensions(config) {
12
+ const densityLevels = {};
13
+ const sectionRoles = {};
14
+ const interactiveRunes = [];
15
+ const mediaSlots = {};
16
+ const sequenceStyles = {};
17
+ for (const [runeKey, runeConfig] of Object.entries(config.runes)) {
18
+ // Density
19
+ const density = runeConfig.defaultDensity ?? 'full';
20
+ densityLevels[density] = (densityLevels[density] || 0) + 1;
21
+ // Section anatomy
22
+ if (runeConfig.sections) {
23
+ for (const role of Object.values(runeConfig.sections)) {
24
+ sectionRoles[role] = (sectionRoles[role] || 0) + 1;
25
+ }
26
+ }
27
+ // Interactive state (rootAttributes with data-state)
28
+ if (runeConfig.rootAttributes?.['data-state']) {
29
+ interactiveRunes.push(runeKey);
30
+ }
31
+ // Media slots
32
+ if (runeConfig.mediaSlots) {
33
+ for (const [ref, slotType] of Object.entries(runeConfig.mediaSlots)) {
34
+ if (!mediaSlots[slotType])
35
+ mediaSlots[slotType] = [];
36
+ mediaSlots[slotType].push(`${runeKey}.${ref}`);
37
+ }
38
+ }
39
+ // Sequence styles
40
+ if (runeConfig.sequence) {
41
+ if (!sequenceStyles[runeConfig.sequence])
42
+ sequenceStyles[runeConfig.sequence] = [];
43
+ sequenceStyles[runeConfig.sequence].push(runeKey);
44
+ }
45
+ }
46
+ return { densityLevels, sectionRoles, interactiveRunes, mediaSlots, sequenceStyles };
47
+ }
48
+ const SURFACE_RE = /\.rf-[\w-]+/g;
49
+ const DIM_ATTR_RE = /\[data-(?:density|section|state|media|sequence(?:-direction)?)(?:="[^"]*")?\]/g;
50
+ /** Scan CSS for surface assignments and dimension selectors */
51
+ export function checkDimensionCss(cssDir) {
52
+ const dimSelectors = new Map();
53
+ // Surface detection: track which runes appear in which surface-like rule groups
54
+ const surfaceRunes = new Map();
55
+ const allStyledRunes = new Set();
56
+ // Collect CSS directories to scan
57
+ const dirs = [cssDir];
58
+ const dimensionsDir = join(dirname(cssDir), 'dimensions');
59
+ if (existsSync(dimensionsDir)) {
60
+ dirs.push(dimensionsDir);
61
+ }
62
+ try {
63
+ const require = createRequire(import.meta.url);
64
+ const luminaPkg = require.resolve('@refrakt-md/lumina/package.json');
65
+ const luminaDimDir = join(dirname(luminaPkg), 'styles', 'dimensions');
66
+ if (existsSync(luminaDimDir) && !dirs.includes(luminaDimDir)) {
67
+ dirs.push(luminaDimDir);
68
+ }
69
+ }
70
+ catch {
71
+ // Package not found
72
+ }
73
+ for (const dir of dirs) {
74
+ if (!existsSync(dir))
75
+ continue;
76
+ const files = readdirSync(dir).filter(f => f.endsWith('.css'));
77
+ for (const file of files) {
78
+ const content = readFileSync(join(dir, file), 'utf-8');
79
+ const root = postcss.parse(content);
80
+ root.walkRules((rule) => {
81
+ const line = rule.source?.start?.line ?? 0;
82
+ // Collect dimension attribute selectors
83
+ for (const m of rule.selector.matchAll(DIM_ATTR_RE)) {
84
+ if (!dimSelectors.has(m[0])) {
85
+ dimSelectors.set(m[0], { file, line });
86
+ }
87
+ }
88
+ // Detect surface groupings (rules in surfaces.css with multiple .rf-* selectors)
89
+ if (file === 'surfaces.css') {
90
+ const runeClasses = [...rule.selector.matchAll(SURFACE_RE)].map(m => m[0]);
91
+ if (runeClasses.length > 0) {
92
+ // Determine surface type from CSS properties
93
+ const surfaceName = detectSurfaceType(rule);
94
+ for (const cls of runeClasses) {
95
+ const runeName = cls.replace(/^\.rf-/, '');
96
+ allStyledRunes.add(runeName);
97
+ if (surfaceName) {
98
+ const set = surfaceRunes.get(surfaceName) ?? new Set();
99
+ set.add(runeName);
100
+ surfaceRunes.set(surfaceName, set);
101
+ }
102
+ }
103
+ }
104
+ }
105
+ });
106
+ }
107
+ }
108
+ // Build surface groups
109
+ const surfaces = [];
110
+ for (const [name, runes] of surfaceRunes.entries()) {
111
+ surfaces.push({ name, runes: [...runes].sort() });
112
+ }
113
+ // Build CSS coverage
114
+ const density = {};
115
+ for (const level of DENSITY_LEVELS) {
116
+ const sel = `[data-density="${level}"]`;
117
+ const match = dimSelectors.get(sel);
118
+ density[level] = match ? { styled: true, file: match.file, line: match.line } : { styled: false };
119
+ }
120
+ const sections = {};
121
+ for (const role of SECTION_ROLES) {
122
+ const sel = `[data-section="${role}"]`;
123
+ const match = dimSelectors.get(sel);
124
+ sections[role] = match ? { styled: true, file: match.file, line: match.line } : { styled: false };
125
+ }
126
+ const states = {};
127
+ for (const state of STATE_VALUES) {
128
+ const sel = `[data-state="${state}"]`;
129
+ const match = dimSelectors.get(sel);
130
+ states[state] = match ? { styled: true, file: match.file, line: match.line } : { styled: false };
131
+ }
132
+ const media = {};
133
+ for (const slot of MEDIA_SLOTS) {
134
+ const sel = `[data-media="${slot}"]`;
135
+ const match = dimSelectors.get(sel);
136
+ media[slot] = match ? { styled: true, file: match.file, line: match.line } : { styled: false };
137
+ }
138
+ const sequence = {};
139
+ for (const seq of SEQUENCE_VALUES) {
140
+ const sel = `[data-sequence="${seq}"]`;
141
+ const match = dimSelectors.get(sel);
142
+ sequence[seq] = match ? { styled: true, file: match.file, line: match.line } : { styled: false };
143
+ }
144
+ return {
145
+ surfaces,
146
+ unassignedRunes: [], // Filled in by the caller after comparing with config
147
+ css: { density, sections, states, media, sequence },
148
+ };
149
+ }
150
+ /** Detect surface type from CSS rule properties */
151
+ function detectSurfaceType(rule) {
152
+ const selector = rule.selector;
153
+ // Use comment before the rule or the rule itself to detect
154
+ const prevNode = rule.prev();
155
+ const comment = prevNode && prevNode.type === 'comment' ? prevNode.text.toLowerCase() : '';
156
+ if (comment.includes('card') || selector.includes('card'))
157
+ return 'card';
158
+ if (comment.includes('inline'))
159
+ return 'inline';
160
+ if (comment.includes('banner'))
161
+ return 'banner';
162
+ if (comment.includes('inset'))
163
+ return 'inset';
164
+ // Fallback: detect from properties
165
+ let hasBorder = false;
166
+ let hasBorderRadius = false;
167
+ let hasPaddingZero = false;
168
+ rule.walkDecls((decl) => {
169
+ if (decl.prop === 'border' && decl.value.includes('solid'))
170
+ hasBorder = true;
171
+ if (decl.prop === 'border-radius')
172
+ hasBorderRadius = true;
173
+ if (decl.prop === 'padding' && decl.value.endsWith(' 0'))
174
+ hasPaddingZero = true;
175
+ });
176
+ if (hasBorder && hasBorderRadius)
177
+ return 'card';
178
+ if (hasPaddingZero && !hasBorder)
179
+ return 'banner';
180
+ if (hasBorderRadius && !hasBorder)
181
+ return 'inset';
182
+ if (!hasBorder && !hasBorderRadius)
183
+ return 'inline';
184
+ return null;
185
+ }
186
+ //# sourceMappingURL=dimension-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension-audit.js","sourceRoot":"","sources":["../../src/lib/dimension-audit.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { RuneConfig, ThemeConfig } from '@refrakt-md/transform';
2
2
  import type { AuditResult } from './css-audit.js';
3
+ import type { MetaAuditResult } from './meta-audit.js';
4
+ import type { DimensionAuditResult } from './dimension-audit.js';
3
5
  /** Format the "Config Applied" section showing what the identity transform does */
4
6
  export declare function formatConfig(runeTypeof: string, config: ThemeConfig): string;
5
7
  /** Format the selector list with visual grouping */
@@ -32,4 +34,12 @@ export declare function formatAuditResult(result: AuditResult, theme: string): s
32
34
  export declare function formatAuditSummary(results: AuditResult[], theme: string): string;
33
35
  /** Build JSON output for an audit */
34
36
  export declare function buildAuditJson(results: AuditResult[], theme: string): object;
37
+ /** Format metadata audit result for terminal output */
38
+ export declare function formatMetaAuditResult(result: MetaAuditResult): string;
39
+ /** Build JSON output for metadata audit */
40
+ export declare function buildMetaAuditJson(result: MetaAuditResult): object;
41
+ /** Format human-readable dimension audit output */
42
+ export declare function formatDimensionAuditResult(result: DimensionAuditResult): string;
43
+ /** Build JSON output for dimension audit */
44
+ export declare function buildDimensionAuditJson(result: DimensionAuditResult): object;
35
45
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUlD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CA2E5E;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAO3D;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,MAAM,CAqBjJ;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,MAAM,CAkBT;AAED,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA0B5E;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiChF;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB5E"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,sBAAsB,CAAC;AAU9E,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAoG5E;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAO3D;AAED,+BAA+B;AAC/B,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,GAAG,MAAM,CAqBjJ;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,MAAM,CAqBT;AAED,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA0B5E;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiChF;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB5E;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAiFrE;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAYlE;AAED,mDAAmD;AACnD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAyH/E;AAED,4CAA4C;AAC5C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAW5E"}
@@ -26,6 +26,10 @@ export function formatConfig(runeTypeof, config) {
26
26
  else {
27
27
  lines.push(` ${DIM}modifiers:${RESET} ${DIM}none${RESET}`);
28
28
  }
29
+ // Slots
30
+ if (runeConfig.slots && runeConfig.slots.length > 0) {
31
+ lines.push(` ${DIM}slots:${RESET} ${runeConfig.slots.join(' → ')}`);
32
+ }
29
33
  // Structure
30
34
  if (runeConfig.structure && Object.keys(runeConfig.structure).length > 0) {
31
35
  const structs = Object.entries(runeConfig.structure)
@@ -33,8 +37,9 @@ export function formatConfig(runeTypeof, config) {
33
37
  const children = entry.children
34
38
  ? entry.children.map(c => typeof c === 'string' ? c : (c.ref ?? '?')).join(' + ')
35
39
  : name;
36
- const pos = entry.before ? 'before' : 'after';
37
- return `${name} ${children} (${pos})`;
40
+ const slot = entry.slot ? `slot:${entry.slot}` : (entry.before ? 'before' : 'after');
41
+ const repeat = entry.repeat ? ` ×${entry.repeat.count}` : '';
42
+ return `${name} → ${children} (${slot})${repeat}`;
38
43
  })
39
44
  .join(', ');
40
45
  lines.push(` ${DIM}structure:${RESET} ${structs}`);
@@ -42,6 +47,24 @@ export function formatConfig(runeTypeof, config) {
42
47
  else {
43
48
  lines.push(` ${DIM}structure:${RESET} ${DIM}none${RESET}`);
44
49
  }
50
+ // Projection
51
+ if (runeConfig.projection) {
52
+ const parts = [];
53
+ if (runeConfig.projection.hide?.length) {
54
+ parts.push(`hide: ${runeConfig.projection.hide.join(', ')}`);
55
+ }
56
+ if (runeConfig.projection.group) {
57
+ const groups = Object.entries(runeConfig.projection.group)
58
+ .map(([name, def]) => `${name} ← [${def.members.join(', ')}]`);
59
+ parts.push(`group: ${groups.join('; ')}`);
60
+ }
61
+ if (runeConfig.projection.relocate) {
62
+ const relocations = Object.entries(runeConfig.projection.relocate)
63
+ .map(([name, def]) => `${name} → ${def.into}`);
64
+ parts.push(`relocate: ${relocations.join('; ')}`);
65
+ }
66
+ lines.push(` ${DIM}projection:${RESET} ${parts.join(' | ')}`);
67
+ }
45
68
  // Content wrapper
46
69
  if (runeConfig.contentWrapper) {
47
70
  lines.push(` ${DIM}contentWrapper:${RESET} ${runeConfig.contentWrapper.tag}[ref=${runeConfig.contentWrapper.ref}]`);
@@ -133,6 +156,9 @@ export function buildJsonOutput(opts) {
133
156
  rootAttributes: opts.config.rootAttributes ?? {},
134
157
  staticModifiers: opts.config.staticModifiers ?? [],
135
158
  styles: opts.config.styles ?? {},
159
+ ...(opts.config.slots ? { slots: opts.config.slots } : {}),
160
+ ...(opts.config.childDensity ? { childDensity: opts.config.childDensity } : {}),
161
+ ...(opts.config.projection ? { projection: opts.config.projection } : {}),
136
162
  } : null,
137
163
  html: opts.html,
138
164
  selectors: opts.selectors,
@@ -212,4 +238,222 @@ export function buildAuditJson(results, theme) {
212
238
  }])),
213
239
  };
214
240
  }
241
+ /** Format metadata audit result for terminal output */
242
+ export function formatMetaAuditResult(result) {
243
+ const lines = [];
244
+ lines.push(heading('Metadata Dimension Audit'));
245
+ // Meta types in use
246
+ lines.push('');
247
+ lines.push(` ${BOLD}Meta Types in Use${RESET}`);
248
+ for (const [type, count] of Object.entries(result.typeCount).sort(([, a], [, b]) => b - a)) {
249
+ lines.push(` ${type.padEnd(12)} ${count} field${count !== 1 ? 's' : ''}`);
250
+ }
251
+ if (Object.keys(result.typeCount).length === 0) {
252
+ lines.push(` ${DIM}none${RESET}`);
253
+ }
254
+ // Rank distribution
255
+ lines.push('');
256
+ lines.push(` ${BOLD}Ranks${RESET}`);
257
+ for (const [rank, count] of Object.entries(result.rankCount)) {
258
+ lines.push(` ${rank.padEnd(12)} ${count} field${count !== 1 ? 's' : ''}`);
259
+ }
260
+ // Sentiment coverage
261
+ lines.push('');
262
+ lines.push(` ${BOLD}Sentiment Coverage${RESET}`);
263
+ lines.push(` With sentiment map: ${result.withSentiment} field${result.withSentiment !== 1 ? 's' : ''}`);
264
+ lines.push(` Without sentiment map: ${result.withoutSentiment} field${result.withoutSentiment !== 1 ? 's' : ''}`);
265
+ // Fields grouped by rune
266
+ lines.push('');
267
+ lines.push(` ${BOLD}Fields by Rune${RESET}`);
268
+ const byRune = new Map();
269
+ for (const field of result.fields) {
270
+ const arr = byRune.get(field.rune) ?? [];
271
+ arr.push(field);
272
+ byRune.set(field.rune, arr);
273
+ }
274
+ for (const [rune, fields] of [...byRune.entries()].sort(([a], [b]) => a.localeCompare(b))) {
275
+ lines.push(` ${CYAN}${rune}${RESET}`);
276
+ for (const f of fields) {
277
+ const sentiment = f.hasSentiment ? `${GREEN}\u2713 sentiment${RESET}` : `${DIM}no sentiment${RESET}`;
278
+ const rank = f.metaRank ? ` ${DIM}(${f.metaRank})${RESET}` : '';
279
+ lines.push(` ${f.ref.padEnd(20)} ${f.metaType.padEnd(10)} ${sentiment}${rank}`);
280
+ }
281
+ }
282
+ // CSS coverage
283
+ if (result.css) {
284
+ lines.push('');
285
+ lines.push(` ${BOLD}Theme CSS Coverage${RESET}`);
286
+ const allChecks = [
287
+ ...Object.entries(result.css.types).map(([k, v]) => [`[data-meta-type="${k}"]`, v]),
288
+ ...Object.entries(result.css.sentiments).map(([k, v]) => [`[data-meta-sentiment="${k}"]`, v]),
289
+ ...Object.entries(result.css.ranks).map(([k, v]) => [`[data-meta-rank="${k}"]`, v]),
290
+ ];
291
+ const warnings = [];
292
+ for (const [sel, info] of allChecks) {
293
+ if (info.styled) {
294
+ lines.push(` ${GREEN}\u2713${RESET} ${sel} ${DIM}\u2192 ${info.file}:${info.line}${RESET}`);
295
+ }
296
+ else {
297
+ lines.push(` ${RED}\u2717${RESET} ${sel} ${RED}MISSING${RESET}`);
298
+ warnings.push(sel);
299
+ }
300
+ }
301
+ if (warnings.length > 0) {
302
+ lines.push('');
303
+ lines.push(` ${YELLOW}\u26a0 ${warnings.length} missing CSS rule${warnings.length !== 1 ? 's' : ''}${RESET}`);
304
+ }
305
+ else {
306
+ lines.push('');
307
+ lines.push(` ${GREEN}\u2713 All metadata CSS rules present${RESET}`);
308
+ }
309
+ }
310
+ // Summary
311
+ lines.push('');
312
+ lines.push(` ${DIM}${'─'.repeat(40)}${RESET}`);
313
+ lines.push(` Total: ${result.fields.length} annotated fields across ${byRune.size} runes`);
314
+ return lines.join('\n');
315
+ }
316
+ /** Build JSON output for metadata audit */
317
+ export function buildMetaAuditJson(result) {
318
+ return {
319
+ fields: result.fields,
320
+ summary: {
321
+ totalFields: result.fields.length,
322
+ typeCount: result.typeCount,
323
+ rankCount: result.rankCount,
324
+ withSentiment: result.withSentiment,
325
+ withoutSentiment: result.withoutSentiment,
326
+ },
327
+ css: result.css ?? null,
328
+ };
329
+ }
330
+ /** Format human-readable dimension audit output */
331
+ export function formatDimensionAuditResult(result) {
332
+ const lines = [];
333
+ lines.push(heading('Dimension Audit'));
334
+ // Surface assignments
335
+ lines.push('');
336
+ lines.push(` ${BOLD}Surface Assignments${RESET}`);
337
+ if (result.surfaces.length > 0) {
338
+ for (const group of result.surfaces) {
339
+ lines.push(` ${CYAN}${group.name}${RESET} (${group.runes.length} rune${group.runes.length !== 1 ? 's' : ''})`);
340
+ for (const rune of group.runes) {
341
+ lines.push(` ${DIM}${rune}${RESET}`);
342
+ }
343
+ }
344
+ }
345
+ else {
346
+ lines.push(` ${DIM}No surface CSS found${RESET}`);
347
+ }
348
+ if (result.unassignedRunes.length > 0) {
349
+ lines.push('');
350
+ lines.push(` ${YELLOW}\u26a0 Unassigned runes (${result.unassignedRunes.length}):${RESET}`);
351
+ for (const rune of result.unassignedRunes) {
352
+ lines.push(` ${YELLOW}${rune}${RESET}`);
353
+ }
354
+ }
355
+ // Density
356
+ lines.push('');
357
+ lines.push(` ${BOLD}Density Coverage${RESET}`);
358
+ for (const [level, count] of Object.entries(result.densityLevels).sort(([, a], [, b]) => b - a)) {
359
+ lines.push(` ${level.padEnd(12)} ${count} rune${count !== 1 ? 's' : ''}`);
360
+ }
361
+ // Section anatomy
362
+ lines.push('');
363
+ lines.push(` ${BOLD}Section Anatomy${RESET}`);
364
+ for (const [role, count] of Object.entries(result.sectionRoles).sort(([, a], [, b]) => b - a)) {
365
+ lines.push(` ${role.padEnd(14)} ${count} rune${count !== 1 ? 's' : ''}`);
366
+ }
367
+ // Interactive state
368
+ lines.push('');
369
+ lines.push(` ${BOLD}Interactive State${RESET}`);
370
+ if (result.interactiveRunes.length > 0) {
371
+ lines.push(` ${result.interactiveRunes.length} rune${result.interactiveRunes.length !== 1 ? 's' : ''} with initial data-state:`);
372
+ for (const rune of result.interactiveRunes.sort()) {
373
+ lines.push(` ${DIM}${rune}${RESET}`);
374
+ }
375
+ }
376
+ else {
377
+ lines.push(` ${DIM}none${RESET}`);
378
+ }
379
+ // Media slots
380
+ lines.push('');
381
+ lines.push(` ${BOLD}Media Slots${RESET}`);
382
+ if (Object.keys(result.mediaSlots).length > 0) {
383
+ for (const [slot, refs] of Object.entries(result.mediaSlots).sort()) {
384
+ lines.push(` ${CYAN}${slot}${RESET} (${refs.length})`);
385
+ for (const ref of refs.sort()) {
386
+ lines.push(` ${DIM}${ref}${RESET}`);
387
+ }
388
+ }
389
+ }
390
+ else {
391
+ lines.push(` ${DIM}none${RESET}`);
392
+ }
393
+ // Sequential items
394
+ lines.push('');
395
+ lines.push(` ${BOLD}Sequential Items${RESET}`);
396
+ if (Object.keys(result.sequenceStyles).length > 0) {
397
+ for (const [style, runes] of Object.entries(result.sequenceStyles).sort()) {
398
+ lines.push(` ${CYAN}${style}${RESET} (${runes.length})`);
399
+ for (const rune of runes.sort()) {
400
+ lines.push(` ${DIM}${rune}${RESET}`);
401
+ }
402
+ }
403
+ }
404
+ else {
405
+ lines.push(` ${DIM}none${RESET}`);
406
+ }
407
+ // CSS coverage
408
+ if (result.css) {
409
+ lines.push('');
410
+ lines.push(` ${BOLD}Theme CSS Coverage${RESET}`);
411
+ const allChecks = [
412
+ ...Object.entries(result.css.density).map(([k, v]) => [`[data-density="${k}"]`, v]),
413
+ ...Object.entries(result.css.sections).map(([k, v]) => [`[data-section="${k}"]`, v]),
414
+ ...Object.entries(result.css.states).map(([k, v]) => [`[data-state="${k}"]`, v]),
415
+ ...Object.entries(result.css.media).map(([k, v]) => [`[data-media="${k}"]`, v]),
416
+ ...Object.entries(result.css.sequence).map(([k, v]) => [`[data-sequence="${k}"]`, v]),
417
+ ];
418
+ const warnings = [];
419
+ for (const [sel, info] of allChecks) {
420
+ if (info.styled) {
421
+ lines.push(` ${GREEN}\u2713${RESET} ${sel} ${DIM}\u2192 ${info.file}:${info.line}${RESET}`);
422
+ }
423
+ else {
424
+ lines.push(` ${RED}\u2717${RESET} ${sel} ${RED}MISSING${RESET}`);
425
+ warnings.push(sel);
426
+ }
427
+ }
428
+ if (warnings.length > 0) {
429
+ lines.push('');
430
+ lines.push(` ${YELLOW}\u26a0 ${warnings.length} missing CSS rule${warnings.length !== 1 ? 's' : ''}${RESET}`);
431
+ }
432
+ else {
433
+ lines.push('');
434
+ lines.push(` ${GREEN}\u2713 All dimension CSS rules present${RESET}`);
435
+ }
436
+ }
437
+ // Summary
438
+ const totalSlots = Object.values(result.mediaSlots).reduce((sum, refs) => sum + refs.length, 0);
439
+ const totalSections = Object.values(result.sectionRoles).reduce((sum, c) => sum + c, 0);
440
+ const totalSequence = Object.values(result.sequenceStyles).reduce((sum, r) => sum + r.length, 0);
441
+ lines.push('');
442
+ lines.push(` ${DIM}${'─'.repeat(40)}${RESET}`);
443
+ lines.push(` ${totalSections} section assignments, ${result.interactiveRunes.length} interactive runes, ${totalSlots} media slots, ${totalSequence} sequential runes`);
444
+ return lines.join('\n');
445
+ }
446
+ /** Build JSON output for dimension audit */
447
+ export function buildDimensionAuditJson(result) {
448
+ return {
449
+ surfaces: result.surfaces,
450
+ unassignedRunes: result.unassignedRunes,
451
+ density: result.densityLevels,
452
+ sections: result.sectionRoles,
453
+ interactiveRunes: result.interactiveRunes,
454
+ mediaSlots: result.mediaSlots,
455
+ sequenceStyles: result.sequenceStyles,
456
+ css: result.css ?? null,
457
+ };
458
+ }
215
459
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAGA,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,GAAG,GAAG,UAAU,CAAC;AACvB,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAmB;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,GAAG,uBAAuB,UAAU,GAAG,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,KAAK,eAAe,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpE,YAAY;IACZ,IAAI,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,IAAI,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC3C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,KAAK,WAAW,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,KAAK,WAAW,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,YAAY;IACZ,IAAI,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;gBAC9B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjF,CAAC,CAAC,IAAI,CAAC;YACR,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,OAAO,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,GAAG,CAAC;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,KAAK,WAAW,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,KAAK,WAAW,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB;IAClB,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,KAAK,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,QAAQ,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;IACxH,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,KAAK,MAAM,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,IAAI,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,MAAM,MAAM,EAAE,CAAC;aAClD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAoB,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IAClB,IAAI,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,KAAK,MAAM,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB;IACnB,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAmB,KAAK,KAAK,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,iBAAiB;IACjB,IAAI,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,KAAK,cAAc,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAAC,SAAmB;IAClD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;QACtD,OAAO,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,OAAO,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,KAA0G;IACxI,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,eAAe,CAAC,IAO/B;IACA,OAAO;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;YACtC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;YACtC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI;YAClD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE;YACpD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE;YAChD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;KACzB,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,KAAa;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,MAAM,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0CAA0C;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK,IAAI,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,KAAK,IAAI,MAAM,IAAI,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,kBAAkB,KAAK,EAAE;QAClF,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,EAAE;YAClG,CAAC,CAAC,GAAG,GAAG,qBAAqB,KAAK,EAAE,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,eAAe,GAAG,OAAO,UAAU,EAAE,CAAC,CAAC;IAE9F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,KAAa;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,2CAA2C;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,kBAAkB,KAAK,EAAE;YAC7E,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,YAAY,KAAK,EAAE;gBACnF,CAAC,CAAC,GAAG,GAAG,qBAAqB,KAAK,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,iBAAiB,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,UAAU;IACV,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,GAAG,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,IAAI,cAAc,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,QAAQ,CAAC,CAAC;IAC3D,IAAI,UAAU,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,QAAQ,CAAC,CAAC;IAErE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,cAAc,CAAC,OAAsB,EAAE,KAAa;IACnE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAElE,OAAO;QACN,KAAK;QACL,cAAc;QACd,eAAe,EAAE,WAAW;QAC5B,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzF,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACnD,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;aACtB,CAAC,CAAC,CAAC;KACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { ThemeConfig } from '@refrakt-md/transform';
2
+ /** A single metadata field found in a rune config */
3
+ export interface MetaField {
4
+ rune: string;
5
+ block: string;
6
+ ref: string;
7
+ metaType: string;
8
+ metaRank?: string;
9
+ hasSentiment: boolean;
10
+ sentimentValues?: string[];
11
+ }
12
+ /** CSS coverage for metadata selectors */
13
+ export interface MetaCssCoverage {
14
+ types: Record<string, {
15
+ styled: boolean;
16
+ file?: string;
17
+ line?: number;
18
+ }>;
19
+ sentiments: Record<string, {
20
+ styled: boolean;
21
+ file?: string;
22
+ line?: number;
23
+ }>;
24
+ ranks: Record<string, {
25
+ styled: boolean;
26
+ file?: string;
27
+ line?: number;
28
+ }>;
29
+ }
30
+ /** Full metadata audit result */
31
+ export interface MetaAuditResult {
32
+ fields: MetaField[];
33
+ typeCount: Record<string, number>;
34
+ rankCount: Record<string, number>;
35
+ withSentiment: number;
36
+ withoutSentiment: number;
37
+ css?: MetaCssCoverage;
38
+ }
39
+ /** Walk all rune configs and collect structure entries with metadata annotations */
40
+ export declare function collectMetadata(config: ThemeConfig): Omit<MetaAuditResult, 'css'>;
41
+ /** Check CSS files for metadata dimension selectors */
42
+ export declare function checkMetaCss(cssDir: string): MetaCssCoverage;
43
+ //# sourceMappingURL=meta-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-audit.d.ts","sourceRoot":"","sources":["../../src/lib/meta-audit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,eAAe,CAAC;CACtB;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CA4BjF;AAiCD,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAiE5D"}