@calibrate-ds/cli 0.1.16 → 0.1.17
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 +5 -3
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +124 -81
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/document.d.ts.map +1 -1
- package/dist/commands/document.js +5 -3
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/generate-components.js +9 -0
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/implement.d.ts.map +1 -1
- package/dist/commands/implement.js +19 -11
- package/dist/commands/implement.js.map +1 -1
- package/dist/commands/prune.d.ts.map +1 -1
- package/dist/commands/prune.js +7 -54
- package/dist/commands/prune.js.map +1 -1
- package/dist/commands/query.d.ts +13 -0
- package/dist/commands/query.d.ts.map +1 -0
- package/dist/commands/query.js +121 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +6 -1
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/stamp.d.ts.map +1 -1
- package/dist/commands/stamp.js +50 -1
- package/dist/commands/stamp.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +16 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.d.ts +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +3 -2
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/action-tools.d.ts.map +1 -1
- package/dist/mcp/tools/action-tools.js +200 -11
- package/dist/mcp/tools/action-tools.js.map +1 -1
- package/dist/mcp/tools/component-tools.d.ts.map +1 -1
- package/dist/mcp/tools/component-tools.js +18 -1
- package/dist/mcp/tools/component-tools.js.map +1 -1
- package/dist/mcp/tools/governance-tools.d.ts.map +1 -1
- package/dist/mcp/tools/governance-tools.js +311 -64
- package/dist/mcp/tools/governance-tools.js.map +1 -1
- package/dist/mcp/tools/info-tools.d.ts.map +1 -1
- package/dist/mcp/tools/info-tools.js +19 -0
- package/dist/mcp/tools/info-tools.js.map +1 -1
- package/dist/mcp/tools/token-tools.d.ts.map +1 -1
- package/dist/mcp/tools/token-tools.js +80 -0
- package/dist/mcp/tools/token-tools.js.map +1 -1
- package/dist/mcp/tools/verify-tool.d.ts.map +1 -1
- package/dist/mcp/tools/verify-tool.js +10 -2
- package/dist/mcp/tools/verify-tool.js.map +1 -1
- package/dist/verify/run-verify.d.ts +2 -0
- package/dist/verify/run-verify.d.ts.map +1 -1
- package/dist/verify/run-verify.js +28 -6
- package/dist/verify/run-verify.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/token-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAG/D,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"token-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/token-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAG/D,eAAO,MAAM,UAAU,EAAE,YAgKxB,CAAC"}
|
|
@@ -55,6 +55,86 @@ export const tokenTools = {
|
|
|
55
55
|
}
|
|
56
56
|
return { content: [{ type: "text", text: JSON.stringify(matches, null, 2) }] };
|
|
57
57
|
});
|
|
58
|
+
server.tool("get_token_by_value", `Reverse-lookup: given a color hex value OR a Figma variable name, return the matching --ptb-* token(s) with their full 4-tier resolution chain.
|
|
59
|
+
|
|
60
|
+
PTB owns the token identity map — this tool makes that map queryable from the composite (Figma + PTB) workflow. When Figma's get_variable_defs returns a variable like "surface/surface-info-light = #E5F3FF", use this tool to find the canonical --ptb-* name instead of guessing the convention manually.
|
|
61
|
+
|
|
62
|
+
Accepts:
|
|
63
|
+
- Hex color: "#E5F3FF", "e5f3ff", "#e5f3ff" (case-insensitive, # optional)
|
|
64
|
+
- Figma variable name: "surface/surface-info-light", "Brand/900" (slash-separated, case-insensitive)
|
|
65
|
+
- Partial name: "surface-info" — returns all tokens whose name contains the fragment
|
|
66
|
+
|
|
67
|
+
Returns: collection, tokenName, cssVar (--ptb-* variable), resolvedValue, aliasChain.`, {
|
|
68
|
+
value: z.string().describe("Hex color (#E5F3FF or E5F3FF), Figma variable name (surface/surface-info-light), or partial token name fragment"),
|
|
69
|
+
}, async ({ value }) => {
|
|
70
|
+
let ctx;
|
|
71
|
+
try {
|
|
72
|
+
ctx = await getContext();
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
return { content: [{ type: "text", text: e.message }] };
|
|
76
|
+
}
|
|
77
|
+
/** Normalise a hex string to uppercase #RRGGBB, or null if not a hex color. */
|
|
78
|
+
function normaliseHex(raw) {
|
|
79
|
+
const stripped = raw.trim().replace(/^#/, "");
|
|
80
|
+
if (/^[0-9a-fA-F]{3}$/.test(stripped)) {
|
|
81
|
+
const [r, g, b] = stripped.split("");
|
|
82
|
+
return `#${r}${r}${g}${g}${b}${b}`.toUpperCase();
|
|
83
|
+
}
|
|
84
|
+
if (/^[0-9a-fA-F]{6,8}$/.test(stripped)) {
|
|
85
|
+
return `#${stripped.slice(0, 6).toUpperCase()}`;
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
/** Normalise a Figma variable name for fuzzy comparison: lowercase, replace / and space with -. */
|
|
90
|
+
function normaliseName(raw) {
|
|
91
|
+
return raw.toLowerCase().replace(/[\s/]+/g, "-").replace(/^-+|-+$/g, "");
|
|
92
|
+
}
|
|
93
|
+
const hexQuery = normaliseHex(value);
|
|
94
|
+
// If not a valid hex, treat the input as a name fragment
|
|
95
|
+
const nameQuery = normaliseName(value);
|
|
96
|
+
const matches = [];
|
|
97
|
+
const seen = new Set();
|
|
98
|
+
for (const col of (ctx.snapshot.tokens ?? [])) {
|
|
99
|
+
for (const token of col.tokens ?? []) {
|
|
100
|
+
const t = token;
|
|
101
|
+
const tokenName = t.name ?? "";
|
|
102
|
+
const cssVar = t.cssVar ?? t.codeNames?.css ?? "";
|
|
103
|
+
const resolvedValue = String(t.resolvedValue ?? t.value ?? "");
|
|
104
|
+
const aliasChain = t.resolutionPath ?? t.aliasChain ?? [];
|
|
105
|
+
// Match by hex value
|
|
106
|
+
const resolvedHex = normaliseHex(resolvedValue);
|
|
107
|
+
const hexMatch = hexQuery !== null && resolvedHex === hexQuery;
|
|
108
|
+
// Match by Figma variable name / name fragment (normalised)
|
|
109
|
+
const normToken = normaliseName(tokenName);
|
|
110
|
+
const normCssVar = normaliseName(cssVar);
|
|
111
|
+
const nameMatch = !hexQuery && (normToken.includes(nameQuery) ||
|
|
112
|
+
normCssVar.includes(nameQuery) ||
|
|
113
|
+
normToken === nameQuery);
|
|
114
|
+
if (hexMatch || nameMatch) {
|
|
115
|
+
const key = `${col.name}::${tokenName}`;
|
|
116
|
+
if (seen.has(key))
|
|
117
|
+
continue;
|
|
118
|
+
seen.add(key);
|
|
119
|
+
matches.push({
|
|
120
|
+
collection: col.name,
|
|
121
|
+
tokenName,
|
|
122
|
+
cssVar: cssVar || null,
|
|
123
|
+
resolvedValue,
|
|
124
|
+
valueType: t.valueType ?? t.type ?? null,
|
|
125
|
+
aliasChain: aliasChain.length > 0 ? aliasChain : undefined,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (matches.length === 0) {
|
|
131
|
+
const hint = hexQuery
|
|
132
|
+
? `No token found with resolved value ${hexQuery}. The token may be an alias — try get_token with a name fragment instead.`
|
|
133
|
+
: `No token found matching '${value}'. Try a shorter fragment or a hex value.`;
|
|
134
|
+
return { content: [{ type: "text", text: hint }] };
|
|
135
|
+
}
|
|
136
|
+
return { content: [{ type: "text", text: JSON.stringify(matches, null, 2) }] };
|
|
137
|
+
});
|
|
58
138
|
},
|
|
59
139
|
};
|
|
60
140
|
//# sourceMappingURL=token-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/token-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,UAAU,GAAiB;IACpC,IAAI,EAAE,OAAO;IACb,QAAQ,CAAC,MAAM,EAAE,UAAU;QAEvB,MAAM,CAAC,IAAI,CACP,aAAa,EACb,sHAAsH,EACtH,KAAK,IAAI,EAAE;YACP,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,EAAE,CAAC;YACrG,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;gBACnC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBAC1D,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI;oBAC5C,KAAK,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;iBAC5C,CAAC,CAAC;aACN,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CACP,WAAW,EACX,mHAAmH,EACnH,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC,EAAE,EAC9G,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAC1B,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAsB,EAAE,CAAC;gBACjE,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,CAAE,KAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvD,MAAM,MAAM,GAAG,CAAE,KAAa,CAAC,MAAM,IAAK,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC5F,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjD,OAAO,CAAC,IAAI,CAAC;4BACT,UAAU,EAAE,GAAG,CAAC,IAAI;4BACpB,IAAI,EAAG,KAAa,CAAC,IAAI;4BACzB,MAAM,EAAG,KAAa,CAAC,MAAM,IAAK,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI;4BACtE,aAAa,EAAG,KAAa,CAAC,aAAa,IAAK,KAAa,CAAC,KAAK,IAAI,IAAI;4BAC3E,SAAS,EAAG,KAAa,CAAC,SAAS,IAAI,IAAI;yBAC9C,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACtG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,CACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"token-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/token-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAgB/D,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"verify-tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAgB/D,eAAO,MAAM,UAAU,EAAE,YA0JxB,CAAC"}
|
|
@@ -15,8 +15,13 @@ export const verifyTool = {
|
|
|
15
15
|
register(server, getContext) {
|
|
16
16
|
server.tool("run_verify", `Run a visual verification check for a component — compares the Figma design to the browser-rendered implementation.
|
|
17
17
|
|
|
18
|
+
Design reference (step 1):
|
|
19
|
+
- By default uses the scan-time thumbnail cached in .ptb/thumbnails/<slug>.png (no Figma token needed)
|
|
20
|
+
- Pass freshFigma: true to fetch a live screenshot from the Figma API instead (requires FIGMA_ACCESS_TOKEN)
|
|
21
|
+
- Run 'ptb scan' if no thumbnail is available yet
|
|
22
|
+
|
|
18
23
|
Steps performed:
|
|
19
|
-
1.
|
|
24
|
+
1. Resolves the design reference (cached thumbnail or live Figma API)
|
|
20
25
|
2. Screenshots the component's Storybook story using Playwright (auto-detects localhost:6006–6008)
|
|
21
26
|
3. Runs a pixel-by-pixel diff (pixelmatch) and returns a match score (0–1)
|
|
22
27
|
4. Sends both images to Claude Haiku for structured AI visual feedback (requires ANTHROPIC_API_KEY)
|
|
@@ -28,7 +33,8 @@ Returns: pixel match score, AI assessment ("matches" / "minor-differences" / "si
|
|
|
28
33
|
storybookUrl: z.string().optional().describe("Storybook base URL if not on default port, e.g. 'http://localhost:6007'"),
|
|
29
34
|
implScreenshot: z.string().optional().describe("Path to an existing implementation screenshot to use instead of Playwright"),
|
|
30
35
|
noAi: z.boolean().optional().describe("Skip the Claude Haiku visual feedback step"),
|
|
31
|
-
|
|
36
|
+
freshFigma: z.boolean().optional().describe("Fetch a live Figma screenshot instead of using the cached scan-time thumbnail"),
|
|
37
|
+
}, async ({ name, storybookUrl, implScreenshot, noAi, freshFigma }) => {
|
|
32
38
|
let ctx;
|
|
33
39
|
try {
|
|
34
40
|
ctx = await getContext();
|
|
@@ -46,6 +52,7 @@ Returns: pixel match score, AI assessment ("matches" / "minor-differences" / "si
|
|
|
46
52
|
storybookUrl,
|
|
47
53
|
implScreenshot,
|
|
48
54
|
noAi,
|
|
55
|
+
freshFigma,
|
|
49
56
|
});
|
|
50
57
|
const score = result.pixelMatch?.score ?? null;
|
|
51
58
|
const passFail = score === null
|
|
@@ -62,6 +69,7 @@ Returns: pixel match score, AI assessment ("matches" / "minor-differences" / "si
|
|
|
62
69
|
passFail,
|
|
63
70
|
pixelMatchScore: score,
|
|
64
71
|
diffPixels: result.pixelMatch?.diffPixels ?? null,
|
|
72
|
+
figmaSource: result.screenshots.figmaSource,
|
|
65
73
|
assessment: result.aiFeedback?.overallAssessment ?? null,
|
|
66
74
|
summary: result.aiFeedback?.summary ?? null,
|
|
67
75
|
differences: result.aiFeedback?.differences ?? [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,MAAM,CAAC,IAAY;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,QAAa,EAAE,KAAa;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CACtF,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ,CAAC,MAAM,EAAE,UAAU;QAEvB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ
|
|
1
|
+
{"version":3,"file":"verify-tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/verify-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,SAAS,MAAM,CAAC,IAAY;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,QAAa,EAAE,KAAa;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CACtF,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ,CAAC,MAAM,EAAE,UAAU;QAEvB,MAAM,CAAC,IAAI,CACP,YAAY,EACZ;;;;;;;;;;;;;;;2LAe+K,EAC/K;YACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;YACvH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YAC5H,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACnF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SAC/H,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,IAAI,uCAAuC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YAChI,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE;oBAChE,YAAY;oBACZ,cAAc;oBACd,IAAI;oBACJ,UAAU;iBACb,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC;gBAC/C,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI;oBAC3B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM;wBACxB,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM;4BACxB,CAAC,CAAC,MAAM,CAAC;gBAEb,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjB,SAAS,EAAE,MAAM,CAAC,aAAa;gCAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ;gCACR,eAAe,EAAE,KAAK;gCACtB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;gCAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;gCACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;gCAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC5B,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;iBACL,CAAC;YACN,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CACP,mBAAmB,EACnB,6OAA6O,EAC7O,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,EAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACf,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7E,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;gBAC/C,MAAM,OAAO,GAAG;oBACZ,SAAS,EAAE,MAAM,CAAC,aAAa;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI;oBACjD,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;oBACxD,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI;oBAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE;oBACjD,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,+BAA+B,IAAI,+CAA+C,IAAI,EAAE;yBACjG,CAAC;iBACL,CAAC;YACN,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CACP,qBAAqB,EACrB,4GAA4G,EAC5G,KAAK,IAAI,EAAE;YACP,IAAI,GAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACD,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0DAA0D,EAAE,CAAC,EAAE,CAAC;YACtH,CAAC;YAED,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC7D,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC;wBACT,SAAS,EAAE,MAAM,CAAC,aAAa;wBAC/B,IAAI;wBACJ,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI;wBACvC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI;qBAC3D,CAAC,CAAC;gBACP,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC,CACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
|
|
@@ -4,6 +4,8 @@ export type RunVerifyOptions = {
|
|
|
4
4
|
storybookUrl?: string;
|
|
5
5
|
implScreenshot?: string;
|
|
6
6
|
noAi?: boolean;
|
|
7
|
+
/** When true, always fetch a live screenshot from Figma even if a cached thumbnail exists. */
|
|
8
|
+
freshFigma?: boolean;
|
|
7
9
|
};
|
|
8
10
|
export type RunVerifyResult = VerifyReport & {
|
|
9
11
|
warnings: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-verify.d.ts","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWpG,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"run-verify.d.ts","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWpG,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAwHF;;;GAGG;AACH,wBAAsB,SAAS,CAC3B,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CA4I1B"}
|
|
@@ -123,19 +123,41 @@ export async function runVerify(component, config, snapshot, options = {}) {
|
|
|
123
123
|
slug,
|
|
124
124
|
checkedAt: new Date().toISOString(),
|
|
125
125
|
figmaNodeId: component.designToolNodeId ?? null,
|
|
126
|
-
screenshots: { figma: null, impl: null, diff: null },
|
|
126
|
+
screenshots: { figma: null, figmaSource: null, impl: null, diff: null },
|
|
127
127
|
pixelMatch: null,
|
|
128
128
|
aiFeedback: null,
|
|
129
129
|
};
|
|
130
|
-
// Step 1: Figma
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
// Step 1: Design reference — prefer the scan-time thumbnail (local-first; no Figma
|
|
131
|
+
// token required at verify time). Fall back to a live Figma API call when:
|
|
132
|
+
// a) no thumbnail was captured during the last scan, OR
|
|
133
|
+
// b) options.freshFigma is true (caller wants the current design, not cached)
|
|
134
|
+
let figmaPath = null;
|
|
135
|
+
const thumbnailPath = component.thumbnailPath ?? null;
|
|
136
|
+
const useThumbnail = thumbnailPath && !options.freshFigma;
|
|
137
|
+
if (useThumbnail) {
|
|
138
|
+
try {
|
|
139
|
+
await fs.access(thumbnailPath);
|
|
140
|
+
figmaPath = thumbnailPath;
|
|
141
|
+
report.screenshots.figmaSource = "thumbnail";
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// Cached thumbnail path is stale — fall through to live API
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (!figmaPath && report.figmaNodeId) {
|
|
148
|
+
const livePath = await fetchFigmaScreenshot(report.figmaNodeId, slug, config);
|
|
149
|
+
if (livePath) {
|
|
150
|
+
figmaPath = livePath;
|
|
151
|
+
report.screenshots.figmaSource = "live";
|
|
152
|
+
}
|
|
153
|
+
}
|
|
134
154
|
if (figmaPath) {
|
|
135
155
|
report.screenshots.figma = path.relative(process.cwd(), figmaPath);
|
|
136
156
|
}
|
|
137
157
|
else {
|
|
138
|
-
warnings.push(
|
|
158
|
+
warnings.push(thumbnailPath
|
|
159
|
+
? "Cached thumbnail path is stale — run 'ptb scan' to refresh it."
|
|
160
|
+
: "No design reference available — run 'ptb scan' to generate thumbnails, or set FIGMA_ACCESS_TOKEN for a live screenshot.");
|
|
139
161
|
}
|
|
140
162
|
// Step 2: Implementation screenshot
|
|
141
163
|
let implPath = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-verify.js","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACH,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,wBAAwB,GAC3B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-verify.js","sourceRoot":"","sources":["../../src/verify/run-verify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calibrate-ds/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"commander": "^14.0.3",
|
|
25
25
|
"openai": "^6.34.0",
|
|
26
26
|
"zod": "^4.3.6",
|
|
27
|
-
"@calibrate-ds/core": "^0.1.
|
|
28
|
-
"@calibrate-ds/figma-client": "^0.1.
|
|
29
|
-
"@calibrate-ds/generator-react": "^0.1.
|
|
30
|
-
"@calibrate-ds/shared-types": "^0.1.
|
|
27
|
+
"@calibrate-ds/core": "^0.1.17",
|
|
28
|
+
"@calibrate-ds/figma-client": "^0.1.17",
|
|
29
|
+
"@calibrate-ds/generator-react": "^0.1.17",
|
|
30
|
+
"@calibrate-ds/shared-types": "^0.1.17"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^22.13.5",
|