@mcp-consultant-tools/figma 32.0.0 → 35.0.0-beta.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.
- package/build/cli.js +0 -0
- package/build/figma/extractors/semantic-extractor.d.ts +6 -4
- package/build/figma/extractors/semantic-extractor.d.ts.map +1 -1
- package/build/figma/extractors/semantic-extractor.js +6 -3
- package/build/figma/extractors/semantic-extractor.js.map +1 -1
- package/build/index.js +0 -0
- package/build/tool-examples.js +2 -2
- package/build/tool-examples.js.map +1 -1
- package/build/tools/figma-tools.d.ts.map +1 -1
- package/build/tools/figma-tools.js +15 -6
- package/build/tools/figma-tools.js.map +1 -1
- package/package.json +2 -2
- package/build/FigmaService.d.ts +0 -64
- package/build/FigmaService.d.ts.map +0 -1
- package/build/FigmaService.js +0 -162
- package/build/FigmaService.js.map +0 -1
package/build/cli.js
CHANGED
|
File without changes
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* positional/visual information. Produces deterministic, diff-friendly output.
|
|
6
6
|
*/
|
|
7
7
|
import type { SimplifiedDesign, SimplifiedNode } from "./types.js";
|
|
8
|
-
export type StickyCategory = "blocker" | "tbd" | "
|
|
8
|
+
export type StickyCategory = "blocker" | "tbd" | "investigation" | "done" | "info" | "note" | "unknown";
|
|
9
|
+
/** Legacy alias for "investigation" (pre-v33 name) — accepted on input, never emitted. */
|
|
10
|
+
export type LegacyStickyCategory = "si-investigation";
|
|
9
11
|
export interface SemanticExtract {
|
|
10
12
|
fileKey: string;
|
|
11
13
|
nodeId: string | null;
|
|
@@ -68,8 +70,8 @@ export interface UserStoryRef {
|
|
|
68
70
|
contexts: string[];
|
|
69
71
|
}
|
|
70
72
|
export interface SemanticExtractOptions {
|
|
71
|
-
/** Custom sticky color category overrides (hex -> category) */
|
|
72
|
-
stickyColorOverrides?: Record<string, StickyCategory>;
|
|
73
|
+
/** Custom sticky color category overrides (hex -> category). Accepts the legacy "si-investigation" alias. */
|
|
74
|
+
stickyColorOverrides?: Record<string, StickyCategory | LegacyStickyCategory>;
|
|
73
75
|
/** Custom regex pattern for story ID extraction */
|
|
74
76
|
storyIdPattern?: RegExp;
|
|
75
77
|
}
|
|
@@ -80,7 +82,7 @@ export interface SemanticExtractOptions {
|
|
|
80
82
|
*/
|
|
81
83
|
export declare function categorizeStickyColor(fills: string | undefined, globalVars?: {
|
|
82
84
|
styles?: Record<string, unknown>;
|
|
83
|
-
}, overrides?: Record<string, StickyCategory>): StickyCategory;
|
|
85
|
+
}, overrides?: Record<string, StickyCategory | LegacyStickyCategory>): StickyCategory;
|
|
84
86
|
/**
|
|
85
87
|
* Extract user story/task/bug IDs from text content.
|
|
86
88
|
* Uses strict pattern requiring prefix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-extractor.d.ts","sourceRoot":"","sources":["../../../src/figma/extractors/semantic-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOnE,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,KAAK,GACL,
|
|
1
|
+
{"version":3,"file":"semantic-extractor.d.ts","sourceRoot":"","sources":["../../../src/figma/extractors/semantic-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Extracts semantically meaningful data from FigJam boards while discarding
|
|
5
5
|
* positional/visual information. Produces deterministic, diff-friendly output.
|
|
6
6
|
*/
|
|
7
|
+
function normalizeStickyCategory(category) {
|
|
8
|
+
return category === "si-investigation" ? "investigation" : category;
|
|
9
|
+
}
|
|
7
10
|
// ============================================================================
|
|
8
11
|
// Constants
|
|
9
12
|
// ============================================================================
|
|
@@ -81,7 +84,7 @@ function categorizeByHsl(hsl) {
|
|
|
81
84
|
}
|
|
82
85
|
// Blue: 200-259°
|
|
83
86
|
if (h >= 200 && h < 260) {
|
|
84
|
-
return "
|
|
87
|
+
return "investigation";
|
|
85
88
|
}
|
|
86
89
|
// Purple: 260-330° (light purples can have hue as low as 260)
|
|
87
90
|
if (h >= 260 && h <= 330) {
|
|
@@ -138,7 +141,7 @@ export function categorizeStickyColor(fills, globalVars, overrides) {
|
|
|
138
141
|
}
|
|
139
142
|
// Check for override first (exact match)
|
|
140
143
|
if (overrides && overrides[resolvedFills]) {
|
|
141
|
-
return overrides[resolvedFills];
|
|
144
|
+
return normalizeStickyCategory(overrides[resolvedFills]);
|
|
142
145
|
}
|
|
143
146
|
// Parse color string
|
|
144
147
|
const rgb = parseColorString(resolvedFills);
|
|
@@ -156,7 +159,7 @@ export function categorizeStickyColor(fills, globalVars, overrides) {
|
|
|
156
159
|
.toString(16)
|
|
157
160
|
.padStart(2, "0");
|
|
158
161
|
if (overrides && overrides[hex.toUpperCase()]) {
|
|
159
|
-
return overrides[hex.toUpperCase()];
|
|
162
|
+
return normalizeStickyCategory(overrides[hex.toUpperCase()]);
|
|
160
163
|
}
|
|
161
164
|
// Use HSL-based categorization
|
|
162
165
|
const hsl = rgbToHsl(rgb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-extractor.js","sourceRoot":"","sources":["../../../src/figma/extractors/semantic-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semantic-extractor.js","sourceRoot":"","sources":["../../../src/figma/extractors/semantic-extractor.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
|
File without changes
|
package/build/tool-examples.js
CHANGED
|
@@ -8,7 +8,7 @@ export { descWithExamples } from '@mcp-consultant-tools/core';
|
|
|
8
8
|
// ========================================
|
|
9
9
|
export const FILE_KEY_EXAMPLES = [
|
|
10
10
|
{ label: "From URL https://figma.com/file/abc123XYZ/...", value: "abc123XYZ" },
|
|
11
|
-
{ label: "FigJam board", value: "
|
|
11
|
+
{ label: "FigJam board", value: "Abc123SampleFileKey000" },
|
|
12
12
|
];
|
|
13
13
|
// ========================================
|
|
14
14
|
// Node ID Examples
|
|
@@ -16,7 +16,7 @@ export const FILE_KEY_EXAMPLES = [
|
|
|
16
16
|
export const NODE_ID_EXAMPLES = [
|
|
17
17
|
{ label: "Root node", value: "0:1" },
|
|
18
18
|
{ label: "Specific frame", value: "1234:5678" },
|
|
19
|
-
{ label: "Section node", value: "
|
|
19
|
+
{ label: "Section node", value: "1234-5678" },
|
|
20
20
|
];
|
|
21
21
|
// ========================================
|
|
22
22
|
// Extractor Examples
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,2CAA2C;AAC3C,oBAAoB;AACpB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,wBAAwB,EAAE;CAC3D,CAAC;AAEF,2CAA2C;AAC3C,mBAAmB;AACnB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE;IAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,2CAA2C;AAC3C,oBAAoB;AACpB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,wBAAwB,EAAE;CAC3D,CAAC;AAEF,2CAA2C;AAC3C,mBAAmB;AACnB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;IACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE;IAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE;CAC9C,CAAC;AAEF,2CAA2C;AAC3C,qBAAqB;AACrB,2CAA2C;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;IACxC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,WAAW,EAAE;CAC1D,CAAC;AAEF,2CAA2C;AAC3C,2BAA2B;AAC3B,2CAA2C;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7C,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE;IAC1C,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE;CAC/C,CAAC;AAEF,2CAA2C;AAC3C,4BAA4B;AAC5B,2CAA2C;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,EAAE,KAAK,EAAE,8CAA8C,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAC7G,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE;CAChD,CAAC;AAEF,2CAA2C;AAC3C,4BAA4B;AAC5B,2CAA2C;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE;CAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma-tools.d.ts","sourceRoot":"","sources":["../../src/tools/figma-tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"figma-tools.d.ts","sourceRoot":"","sources":["../../src/tools/figma-tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBlD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CA+RzE"}
|
|
@@ -18,7 +18,9 @@ export function registerFigmaTools(server, ctx) {
|
|
|
18
18
|
simplifyConnectors: z.boolean().optional().describe("Simplify CONNECTOR nodes to just connection endpoints (startNodeId, endNodeId, text). Preserves relationship data while removing visual properties. Default: true. Set to false for full connector data."),
|
|
19
19
|
simplifyComponentInstances: z.boolean().optional().describe("Keep componentId and componentProperties on INSTANCE nodes but remove visual styling. Ideal for ADO User Story components. Default: true. Set to false for full instance data."),
|
|
20
20
|
extractors: z.array(z.enum(["layout", "text", "visuals", "component"])).optional().describe(descWithExamples("Override which extractors to use. Default uses all.", EXTRACTOR_EXAMPLES)),
|
|
21
|
-
}),
|
|
21
|
+
}),
|
|
22
|
+
// Pure read: fetches design data from the Figma API.
|
|
23
|
+
{ readOnlyHint: true, openWorldHint: true }, async ({ fileKey, nodeId, depth, excludeStyles, tablesToMarkdown, simplifyConnectors, simplifyComponentInstances, extractors, returnFullResponse, }) => {
|
|
22
24
|
try {
|
|
23
25
|
const dataOptions = {
|
|
24
26
|
excludeStyles,
|
|
@@ -48,11 +50,14 @@ export function registerFigmaTools(server, ctx) {
|
|
|
48
50
|
fileKey: z.string().describe(descWithExamples("Figma file key (alphanumeric string from URL)", FILE_KEY_EXAMPLES)),
|
|
49
51
|
nodeId: z.string().optional().describe(descWithExamples("Optional specific node/section ID to fetch. If omitted, fetches entire file.", NODE_ID_EXAMPLES)),
|
|
50
52
|
stickyColorOverrides: z.record(z.enum([
|
|
51
|
-
"blocker", "tbd", "
|
|
52
|
-
|
|
53
|
+
"blocker", "tbd", "investigation", "done", "info", "note", "unknown",
|
|
54
|
+
"si-investigation" // deprecated alias for "investigation", accepted for backward compatibility
|
|
55
|
+
])).optional().describe(descWithExamples("Optional color to category overrides. Map hex colors to categories. ('si-investigation' is a deprecated alias for 'investigation' — output always uses 'investigation'.)", STICKY_CATEGORY_EXAMPLES)),
|
|
53
56
|
storyIdPattern: z.string().optional().describe(descWithExamples("Optional custom regex pattern for extracting story IDs", STORY_ID_PATTERN_EXAMPLES)),
|
|
54
57
|
includeScreenshot: z.boolean().optional().describe("When true and nodeId is set, returns a 2x PNG screenshot of the node as an image content block alongside the semantic data."),
|
|
55
|
-
}),
|
|
58
|
+
}),
|
|
59
|
+
// Pure read: extracts semantic data from the Figma API.
|
|
60
|
+
{ readOnlyHint: true, openWorldHint: true }, async ({ fileKey, nodeId, stickyColorOverrides, storyIdPattern, includeScreenshot, returnFullResponse, }) => {
|
|
56
61
|
try {
|
|
57
62
|
const dataOptions = {
|
|
58
63
|
excludeStyles: false,
|
|
@@ -120,7 +125,9 @@ export function registerFigmaTools(server, ctx) {
|
|
|
120
125
|
adoOrganization: z.string().optional().describe(descWithExamples("Azure DevOps organization name for constructing work item links", ADO_ORG_EXAMPLES)),
|
|
121
126
|
adoProject: z.string().optional().describe(descWithExamples("Azure DevOps project name for constructing work item links", ADO_PROJECT_EXAMPLES)),
|
|
122
127
|
includePlaceholders: z.boolean().optional().describe("Include ADO components with placeholder IDs (e.g. 'ADO xxxxx'). Default: false (placeholders are filtered out)."),
|
|
123
|
-
}),
|
|
128
|
+
}),
|
|
129
|
+
// Pure read: extracts ADO story data from the Figma API.
|
|
130
|
+
{ readOnlyHint: true, openWorldHint: true }, async ({ fileKey, nodeId, adoOrganization, adoProject, includePlaceholders, returnFullResponse, }) => {
|
|
124
131
|
try {
|
|
125
132
|
const dataOptions = {
|
|
126
133
|
excludeStyles: true,
|
|
@@ -158,7 +165,9 @@ export function registerFigmaTools(server, ctx) {
|
|
|
158
165
|
localPath: z.string().describe("Local directory path to save images (created if needed)"),
|
|
159
166
|
format: z.enum(["png", "svg", "jpg", "pdf"]).optional().describe("Image format. Default: png"),
|
|
160
167
|
scale: z.number().optional().describe("Scale factor 0.01-4. Default: 2 (for retina)"),
|
|
161
|
-
},
|
|
168
|
+
},
|
|
169
|
+
// Read from Figma API; writes rendered images to local disk only (no remote mutation).
|
|
170
|
+
{ readOnlyHint: true, openWorldHint: true }, async ({ fileKey, nodeIds, localPath, format, scale }) => {
|
|
162
171
|
try {
|
|
163
172
|
const parsedIds = nodeIds.split(';').map(id => id.trim()).filter(Boolean);
|
|
164
173
|
const imageMap = await ctx.figma.getNodeImages(fileKey, parsedIds, { format, scale });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma-tools.js","sourceRoot":"","sources":["../../src/tools/figma-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,kBAAkB,CAAC,MAAW,EAAE,GAAmB;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAE1D,uBAAuB;IACvB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,2SAA2S,EAC3S,oBAAoB,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,+CAA+C,EAAE,iBAAiB,CAAC,CAAC;QAClH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,sHAAsH,EAAE,gBAAgB,CAAC,CAAC;QAClM,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iHAAiH,CAAC;QACxJ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6NAA6N,CAAC;QAC7Q,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+KAA+K,CAAC;QAClO,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0MAA0M,CAAC;QAC/P,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,CAAC;QAC7O,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qDAAqD,EAAE,kBAAkB,CAAC,CAAC;KACzL,CAAC,
|
|
1
|
+
{"version":3,"file":"figma-tools.js","sourceRoot":"","sources":["../../src/tools/figma-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-consultant-tools/figma",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "35.0.0-beta.1",
|
|
4
4
|
"description": "MCP server for Figma integration - design data extraction and transformation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@figma/rest-api-spec": "^0.33.0",
|
|
43
|
-
"@mcp-consultant-tools/core": "
|
|
43
|
+
"@mcp-consultant-tools/core": "33.0.0",
|
|
44
44
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
45
45
|
"commander": "^14.0.3",
|
|
46
46
|
"zod": "^3.24.1"
|
package/build/FigmaService.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { SimplifiedDesign } from "./figma/extractors/types.js";
|
|
2
|
-
export interface FigmaConfig {
|
|
3
|
-
apiKey?: string;
|
|
4
|
-
oauthToken?: string;
|
|
5
|
-
useOAuth: boolean;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Options for controlling what data is extracted and how it's formatted.
|
|
9
|
-
* All options default to false to preserve backward compatibility.
|
|
10
|
-
*/
|
|
11
|
-
export interface FigmaDataOptions {
|
|
12
|
-
/** Remove all styling info (fills, strokes, effects, textStyle, opacity, borderRadius) */
|
|
13
|
-
excludeStyles?: boolean;
|
|
14
|
-
/** Convert TABLE nodes to markdown format */
|
|
15
|
-
tablesToMarkdown?: boolean;
|
|
16
|
-
/** Simplify CONNECTOR nodes to just endpoints (startNodeId, endNodeId) */
|
|
17
|
-
simplifyConnectors?: boolean;
|
|
18
|
-
/** Keep componentId and componentProperties but remove visual styling from INSTANCE nodes */
|
|
19
|
-
simplifyComponentInstances?: boolean;
|
|
20
|
-
/** Override which extractors to use: "layout", "text", "visuals", "component" */
|
|
21
|
-
extractors?: ("layout" | "text" | "visuals" | "component")[];
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Service for interacting with the Figma API
|
|
25
|
-
* Follows the service pattern established by PowerPlatformService
|
|
26
|
-
*/
|
|
27
|
-
export declare class FigmaService {
|
|
28
|
-
private config;
|
|
29
|
-
private readonly baseUrl;
|
|
30
|
-
constructor(config: FigmaConfig);
|
|
31
|
-
/**
|
|
32
|
-
* Get authentication headers based on configuration
|
|
33
|
-
*/
|
|
34
|
-
private getAuthHeaders;
|
|
35
|
-
/**
|
|
36
|
-
* Make an authenticated request to the Figma API
|
|
37
|
-
*/
|
|
38
|
-
private request;
|
|
39
|
-
/**
|
|
40
|
-
* Get raw Figma API response for a file
|
|
41
|
-
* @param fileKey - The Figma file key from the URL
|
|
42
|
-
* @param depth - Optional depth limit for traversal
|
|
43
|
-
*/
|
|
44
|
-
private getFigmaFile;
|
|
45
|
-
/**
|
|
46
|
-
* Get raw Figma API response for specific nodes
|
|
47
|
-
* @param fileKey - The Figma file key from the URL
|
|
48
|
-
* @param nodeIds - Array of node IDs to fetch
|
|
49
|
-
* @param depth - Optional depth limit for traversal
|
|
50
|
-
*/
|
|
51
|
-
private getFigmaNodes;
|
|
52
|
-
/**
|
|
53
|
-
* Get comprehensive Figma design data in simplified, AI-friendly format
|
|
54
|
-
* This is the main method exposed to MCP tools
|
|
55
|
-
*
|
|
56
|
-
* @param fileKey - The Figma file key from the URL
|
|
57
|
-
* @param nodeId - Optional specific node ID(s) to fetch (format: "1:10" or "1:10;2:20")
|
|
58
|
-
* @param depth - Optional tree traversal depth limit
|
|
59
|
-
* @param dataOptions - Optional optimization options for reducing output size
|
|
60
|
-
* @returns Simplified design data ready for AI consumption
|
|
61
|
-
*/
|
|
62
|
-
getFigmaData(fileKey: string, nodeId?: string, depth?: number, dataOptions?: FigmaDataOptions): Promise<SimplifiedDesign>;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=FigmaService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FigmaService.d.ts","sourceRoot":"","sources":["../src/FigmaService.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAiC,MAAM,6BAA6B,CAAC;AAInG,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6FAA6F;IAC7F,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;CAC9D;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;gBAE1C,MAAM,EAAE,WAAW;IAiB/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;YACW,OAAO;IAgBrB;;;;OAIG;YACW,YAAY;IAQ1B;;;;;OAKG;YACW,aAAa;IAc3B;;;;;;;;;OASG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;CAyF7B"}
|
package/build/FigmaService.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { fetchWithRetry } from "./figma/utils/fetch-with-retry.js";
|
|
2
|
-
import { simplifyRawFigmaObject } from "./figma/extractors/design-extractor.js";
|
|
3
|
-
import { allExtractors, layoutExtractor, textExtractor, visualsExtractor, componentExtractor, connectorExtractor, simplifyAllConnectors, } from "./figma/extractors/built-in.js";
|
|
4
|
-
import { stripStylesFromDesign } from "./figma/transformers/style-stripper.js";
|
|
5
|
-
import { simplifyAllComponentInstances } from "./figma/transformers/component-simplifier.js";
|
|
6
|
-
/**
|
|
7
|
-
* Service for interacting with the Figma API
|
|
8
|
-
* Follows the service pattern established by PowerPlatformService
|
|
9
|
-
*/
|
|
10
|
-
export class FigmaService {
|
|
11
|
-
config;
|
|
12
|
-
baseUrl = "https://api.figma.com/v1";
|
|
13
|
-
constructor(config) {
|
|
14
|
-
this.config = config;
|
|
15
|
-
// Validate configuration
|
|
16
|
-
if (!this.config.apiKey && !this.config.oauthToken) {
|
|
17
|
-
throw new Error("Figma configuration requires either apiKey or oauthToken");
|
|
18
|
-
}
|
|
19
|
-
if (this.config.useOAuth && !this.config.oauthToken) {
|
|
20
|
-
throw new Error("useOAuth is true but oauthToken is not provided");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get authentication headers based on configuration
|
|
25
|
-
*/
|
|
26
|
-
getAuthHeaders() {
|
|
27
|
-
if (this.config.useOAuth && this.config.oauthToken) {
|
|
28
|
-
console.error("Using OAuth Bearer token for authentication");
|
|
29
|
-
return { Authorization: `Bearer ${this.config.oauthToken}` };
|
|
30
|
-
}
|
|
31
|
-
else if (this.config.apiKey) {
|
|
32
|
-
console.error("Using Personal Access Token for authentication");
|
|
33
|
-
return { "X-Figma-Token": this.config.apiKey };
|
|
34
|
-
}
|
|
35
|
-
throw new Error("No valid authentication method configured");
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Make an authenticated request to the Figma API
|
|
39
|
-
*/
|
|
40
|
-
async request(endpoint) {
|
|
41
|
-
try {
|
|
42
|
-
console.error(`Calling ${this.baseUrl}${endpoint}`);
|
|
43
|
-
const headers = this.getAuthHeaders();
|
|
44
|
-
return await fetchWithRetry(`${this.baseUrl}${endpoint}`, {
|
|
45
|
-
headers,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
50
|
-
throw new Error(`Failed to make request to Figma API endpoint '${endpoint}': ${errorMessage}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Get raw Figma API response for a file
|
|
55
|
-
* @param fileKey - The Figma file key from the URL
|
|
56
|
-
* @param depth - Optional depth limit for traversal
|
|
57
|
-
*/
|
|
58
|
-
async getFigmaFile(fileKey, depth) {
|
|
59
|
-
const endpoint = `/files/${fileKey}${depth ? `?depth=${depth}` : ""}`;
|
|
60
|
-
console.error(`Retrieving Figma file: ${fileKey} (depth: ${depth ?? "default"})`);
|
|
61
|
-
const response = await this.request(endpoint);
|
|
62
|
-
return response;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Get raw Figma API response for specific nodes
|
|
66
|
-
* @param fileKey - The Figma file key from the URL
|
|
67
|
-
* @param nodeIds - Array of node IDs to fetch
|
|
68
|
-
* @param depth - Optional depth limit for traversal
|
|
69
|
-
*/
|
|
70
|
-
async getFigmaNodes(fileKey, nodeIds, depth) {
|
|
71
|
-
const endpoint = `/files/${fileKey}/nodes?ids=${nodeIds.join(",")}${depth ? `&depth=${depth}` : ""}`;
|
|
72
|
-
console.error(`Retrieving Figma nodes: ${nodeIds.join(", ")} from ${fileKey} (depth: ${depth ?? "default"})`);
|
|
73
|
-
const response = await this.request(endpoint);
|
|
74
|
-
return response;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get comprehensive Figma design data in simplified, AI-friendly format
|
|
78
|
-
* This is the main method exposed to MCP tools
|
|
79
|
-
*
|
|
80
|
-
* @param fileKey - The Figma file key from the URL
|
|
81
|
-
* @param nodeId - Optional specific node ID(s) to fetch (format: "1:10" or "1:10;2:20")
|
|
82
|
-
* @param depth - Optional tree traversal depth limit
|
|
83
|
-
* @param dataOptions - Optional optimization options for reducing output size
|
|
84
|
-
* @returns Simplified design data ready for AI consumption
|
|
85
|
-
*/
|
|
86
|
-
async getFigmaData(fileKey, nodeId, depth, dataOptions) {
|
|
87
|
-
try {
|
|
88
|
-
// Apply defaults - optimizations ON by default for reduced context usage
|
|
89
|
-
const effectiveOptions = {
|
|
90
|
-
excludeStyles: dataOptions?.excludeStyles ?? true,
|
|
91
|
-
tablesToMarkdown: dataOptions?.tablesToMarkdown ?? true,
|
|
92
|
-
simplifyConnectors: dataOptions?.simplifyConnectors ?? true,
|
|
93
|
-
simplifyComponentInstances: dataOptions?.simplifyComponentInstances ?? true,
|
|
94
|
-
extractors: dataOptions?.extractors,
|
|
95
|
-
};
|
|
96
|
-
// Fetch raw data from Figma API
|
|
97
|
-
let rawData;
|
|
98
|
-
if (nodeId) {
|
|
99
|
-
// Parse node IDs (support both single and multiple, semicolon-separated)
|
|
100
|
-
const nodeIds = nodeId.split(";").map(id => id.trim()).filter(id => id.length > 0);
|
|
101
|
-
rawData = await this.getFigmaNodes(fileKey, nodeIds, depth);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
rawData = await this.getFigmaFile(fileKey, depth);
|
|
105
|
-
}
|
|
106
|
-
// Build extractor array based on options
|
|
107
|
-
let extractorList = [...allExtractors];
|
|
108
|
-
if (effectiveOptions.extractors) {
|
|
109
|
-
// Use custom extractor selection
|
|
110
|
-
extractorList = [];
|
|
111
|
-
if (effectiveOptions.extractors.includes("layout")) {
|
|
112
|
-
extractorList.push(layoutExtractor);
|
|
113
|
-
}
|
|
114
|
-
if (effectiveOptions.extractors.includes("text")) {
|
|
115
|
-
extractorList.push(textExtractor);
|
|
116
|
-
}
|
|
117
|
-
if (effectiveOptions.extractors.includes("visuals")) {
|
|
118
|
-
extractorList.push(visualsExtractor);
|
|
119
|
-
}
|
|
120
|
-
if (effectiveOptions.extractors.includes("component")) {
|
|
121
|
-
extractorList.push(componentExtractor);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
// Always add connector extractor for relationship data
|
|
125
|
-
extractorList.push(connectorExtractor);
|
|
126
|
-
// Transform raw Figma data into simplified format using extractors
|
|
127
|
-
const traversalOptions = {
|
|
128
|
-
maxDepth: depth,
|
|
129
|
-
optimization: {
|
|
130
|
-
tablesToMarkdown: effectiveOptions.tablesToMarkdown,
|
|
131
|
-
// Note: simplifyConnectors and simplifyComponentInstances are applied post-processing
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
let simplifiedData = simplifyRawFigmaObject(rawData, extractorList, traversalOptions);
|
|
135
|
-
// Apply post-processing transformations
|
|
136
|
-
// Order matters: apply connector simplification before style stripping
|
|
137
|
-
// so connector endpoints are preserved
|
|
138
|
-
if (effectiveOptions.simplifyConnectors) {
|
|
139
|
-
simplifiedData = {
|
|
140
|
-
...simplifiedData,
|
|
141
|
-
nodes: simplifyAllConnectors(simplifiedData.nodes),
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
if (effectiveOptions.simplifyComponentInstances) {
|
|
145
|
-
simplifiedData = {
|
|
146
|
-
...simplifiedData,
|
|
147
|
-
nodes: simplifyAllComponentInstances(simplifiedData.nodes),
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
// Apply style stripping last - it removes styling from all nodes
|
|
151
|
-
if (effectiveOptions.excludeStyles) {
|
|
152
|
-
simplifiedData = stripStylesFromDesign(simplifiedData);
|
|
153
|
-
}
|
|
154
|
-
return simplifiedData;
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
console.error("Error fetching Figma data:", error);
|
|
158
|
-
throw new Error(`Failed to fetch Figma data: ${error.message}`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=FigmaService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FigmaService.js","sourceRoot":"","sources":["../src/FigmaService.ts"],"names":[],"mappings":"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"}
|