figma-console-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +328 -0
  3. package/dist/browser/base.d.ts +50 -0
  4. package/dist/browser/base.d.ts.map +1 -0
  5. package/dist/browser/base.js +6 -0
  6. package/dist/browser/base.js.map +1 -0
  7. package/dist/browser/local.d.ts +66 -0
  8. package/dist/browser/local.d.ts.map +1 -0
  9. package/dist/browser/local.js +223 -0
  10. package/dist/browser/local.js.map +1 -0
  11. package/dist/cloudflare/browser/base.js +5 -0
  12. package/dist/cloudflare/browser/cloudflare.js +156 -0
  13. package/dist/cloudflare/browser-manager.js +157 -0
  14. package/dist/cloudflare/core/config.js +161 -0
  15. package/dist/cloudflare/core/console-monitor.js +382 -0
  16. package/dist/cloudflare/core/enrichment/enrichment-service.js +272 -0
  17. package/dist/cloudflare/core/enrichment/index.js +7 -0
  18. package/dist/cloudflare/core/enrichment/relationship-mapper.js +351 -0
  19. package/dist/cloudflare/core/enrichment/style-resolver.js +326 -0
  20. package/dist/cloudflare/core/figma-api.js +273 -0
  21. package/dist/cloudflare/core/figma-desktop-connector.js +383 -0
  22. package/dist/cloudflare/core/figma-style-extractor.js +311 -0
  23. package/dist/cloudflare/core/figma-tools.js +2299 -0
  24. package/dist/cloudflare/core/logger.js +53 -0
  25. package/dist/cloudflare/core/snippet-injector.js +96 -0
  26. package/dist/cloudflare/core/types/enriched.js +5 -0
  27. package/dist/cloudflare/core/types/index.js +4 -0
  28. package/dist/cloudflare/index.js +1059 -0
  29. package/dist/cloudflare/test-browser.js +88 -0
  30. package/dist/config.d.ts +17 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +141 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/core/config.d.ts +17 -0
  35. package/dist/core/config.d.ts.map +1 -0
  36. package/dist/core/config.js +162 -0
  37. package/dist/core/config.js.map +1 -0
  38. package/dist/core/console-monitor.d.ts +81 -0
  39. package/dist/core/console-monitor.d.ts.map +1 -0
  40. package/dist/core/console-monitor.js +383 -0
  41. package/dist/core/console-monitor.js.map +1 -0
  42. package/dist/core/enrichment/enrichment-service.d.ts +52 -0
  43. package/dist/core/enrichment/enrichment-service.d.ts.map +1 -0
  44. package/dist/core/enrichment/enrichment-service.js +273 -0
  45. package/dist/core/enrichment/enrichment-service.js.map +1 -0
  46. package/dist/core/enrichment/index.d.ts +8 -0
  47. package/dist/core/enrichment/index.d.ts.map +1 -0
  48. package/dist/core/enrichment/index.js +8 -0
  49. package/dist/core/enrichment/index.js.map +1 -0
  50. package/dist/core/enrichment/relationship-mapper.d.ts +106 -0
  51. package/dist/core/enrichment/relationship-mapper.d.ts.map +1 -0
  52. package/dist/core/enrichment/relationship-mapper.js +352 -0
  53. package/dist/core/enrichment/relationship-mapper.js.map +1 -0
  54. package/dist/core/enrichment/style-resolver.d.ts +80 -0
  55. package/dist/core/enrichment/style-resolver.d.ts.map +1 -0
  56. package/dist/core/enrichment/style-resolver.js +327 -0
  57. package/dist/core/enrichment/style-resolver.js.map +1 -0
  58. package/dist/core/figma-api.d.ts +137 -0
  59. package/dist/core/figma-api.d.ts.map +1 -0
  60. package/dist/core/figma-api.js +274 -0
  61. package/dist/core/figma-api.js.map +1 -0
  62. package/dist/core/figma-desktop-connector.d.ts +52 -0
  63. package/dist/core/figma-desktop-connector.d.ts.map +1 -0
  64. package/dist/core/figma-desktop-connector.js +384 -0
  65. package/dist/core/figma-desktop-connector.js.map +1 -0
  66. package/dist/core/figma-style-extractor.d.ts +76 -0
  67. package/dist/core/figma-style-extractor.d.ts.map +1 -0
  68. package/dist/core/figma-style-extractor.js +312 -0
  69. package/dist/core/figma-style-extractor.js.map +1 -0
  70. package/dist/core/figma-tools.d.ts +15 -0
  71. package/dist/core/figma-tools.d.ts.map +1 -0
  72. package/dist/core/figma-tools.js +2300 -0
  73. package/dist/core/figma-tools.js.map +1 -0
  74. package/dist/core/logger.d.ts +22 -0
  75. package/dist/core/logger.d.ts.map +1 -0
  76. package/dist/core/logger.js +54 -0
  77. package/dist/core/logger.js.map +1 -0
  78. package/dist/core/snippet-injector.d.ts +24 -0
  79. package/dist/core/snippet-injector.d.ts.map +1 -0
  80. package/dist/core/snippet-injector.js +97 -0
  81. package/dist/core/snippet-injector.js.map +1 -0
  82. package/dist/core/types/enriched.d.ts +213 -0
  83. package/dist/core/types/enriched.d.ts.map +1 -0
  84. package/dist/core/types/enriched.js +6 -0
  85. package/dist/core/types/enriched.js.map +1 -0
  86. package/dist/core/types/index.d.ts +112 -0
  87. package/dist/core/types/index.d.ts.map +1 -0
  88. package/dist/core/types/index.js +5 -0
  89. package/dist/core/types/index.js.map +1 -0
  90. package/dist/index.d.ts +8 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +72 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/local.d.ts +57 -0
  95. package/dist/local.d.ts.map +1 -0
  96. package/dist/local.js +668 -0
  97. package/dist/local.js.map +1 -0
  98. package/dist/logger.d.ts +22 -0
  99. package/dist/logger.d.ts.map +1 -0
  100. package/dist/logger.js +45 -0
  101. package/dist/logger.js.map +1 -0
  102. package/dist/server.d.ts +40 -0
  103. package/dist/server.d.ts.map +1 -0
  104. package/dist/server.js +99 -0
  105. package/dist/server.js.map +1 -0
  106. package/dist/tools/index.d.ts +15 -0
  107. package/dist/tools/index.d.ts.map +1 -0
  108. package/dist/tools/index.js +184 -0
  109. package/dist/tools/index.js.map +1 -0
  110. package/dist/types/index.d.ts +102 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/types/index.js +6 -0
  113. package/dist/types/index.js.map +1 -0
  114. package/figma-desktop-bridge/README.md +232 -0
  115. package/figma-desktop-bridge/code.js +133 -0
  116. package/figma-desktop-bridge/manifest.json +13 -0
  117. package/figma-desktop-bridge/ui.html +200 -0
  118. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Logging infrastructure using pino
3
+ */
4
+ import pino from 'pino';
5
+ /**
6
+ * Log levels
7
+ */
8
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
9
+ /**
10
+ * Create logger instance
11
+ * Logs to stderr to avoid interfering with MCP stdio protocol
12
+ */
13
+ export declare function createLogger(level?: LogLevel): pino.Logger;
14
+ /**
15
+ * Default logger instance
16
+ */
17
+ export declare const logger: pino.Logger<never, boolean>;
18
+ /**
19
+ * Create child logger with additional context
20
+ */
21
+ export declare function createChildLogger(bindings: Record<string, unknown>): pino.Logger;
22
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,QAAiB,GAAG,IAAI,CAAC,MAAM,CAoBlE;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,6BAAiB,CAAC;AAErC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAEhF"}
package/dist/logger.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Logging infrastructure using pino
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.logger = void 0;
10
+ exports.createLogger = createLogger;
11
+ exports.createChildLogger = createChildLogger;
12
+ const pino_1 = __importDefault(require("pino"));
13
+ /**
14
+ * Create logger instance
15
+ * Logs to stderr to avoid interfering with MCP stdio protocol
16
+ */
17
+ function createLogger(level = 'info') {
18
+ return (0, pino_1.default)({
19
+ level: process.env.LOG_LEVEL || level,
20
+ // Use pino-pretty in development for better readability
21
+ transport: process.env.NODE_ENV !== 'production'
22
+ ? {
23
+ target: 'pino-pretty',
24
+ options: {
25
+ colorize: true,
26
+ translateTime: 'HH:MM:ss',
27
+ ignore: 'pid,hostname',
28
+ },
29
+ }
30
+ : undefined,
31
+ },
32
+ // Always write to stderr (stdout is reserved for MCP protocol)
33
+ pino_1.default.destination({ dest: 2, sync: false }));
34
+ }
35
+ /**
36
+ * Default logger instance
37
+ */
38
+ exports.logger = createLogger();
39
+ /**
40
+ * Create child logger with additional context
41
+ */
42
+ function createChildLogger(bindings) {
43
+ return exports.logger.child(bindings);
44
+ }
45
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAaH,oCAoBC;AAUD,8CAEC;AA3CD,gDAAwB;AAOxB;;;GAGG;AACH,SAAgB,YAAY,CAAC,QAAkB,MAAM;IACnD,OAAO,IAAA,cAAI,EACT;QACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK;QACrC,wDAAwD;QACxD,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACnC,CAAC,CAAC;gBACE,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE;oBACP,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,cAAc;iBACvB;aACF;YACH,CAAC,CAAC,SAAS;KAChB;IACD,+DAA+D;IAC/D,cAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,MAAM,GAAG,YAAY,EAAE,CAAC;AAErC;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAAiC;IACjE,OAAO,cAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Figma Console MCP Server
3
+ * Main server class that manages the MCP protocol and server lifecycle
4
+ */
5
+ import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
6
+ import type { ServerConfig } from './types/index.js';
7
+ /**
8
+ * Figma Console MCP Server class
9
+ */
10
+ export declare class FigmaConsoleMCPServer {
11
+ private mcpServer;
12
+ private config;
13
+ private transport;
14
+ private isConnected;
15
+ /**
16
+ * Create a new Figma Console MCP server instance
17
+ */
18
+ constructor();
19
+ /**
20
+ * Connect the server to a transport
21
+ */
22
+ connect(transport: Transport): Promise<void>;
23
+ /**
24
+ * Check if server is connected
25
+ */
26
+ isReady(): boolean;
27
+ /**
28
+ * Get server configuration
29
+ */
30
+ getConfig(): ServerConfig;
31
+ /**
32
+ * Gracefully close the server
33
+ */
34
+ close(): Promise<void>;
35
+ /**
36
+ * Health check
37
+ */
38
+ ping(): Promise<boolean>;
39
+ }
40
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;;IAoBH;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAG/B"}
package/dist/server.js ADDED
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * Figma Console MCP Server
4
+ * Main server class that manages the MCP protocol and server lifecycle
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FigmaConsoleMCPServer = void 0;
8
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
9
+ const logger_js_1 = require("./logger.js");
10
+ const config_js_1 = require("./config.js");
11
+ const index_js_1 = require("./tools/index.js");
12
+ const logger = (0, logger_js_1.createChildLogger)({ component: 'server' });
13
+ /**
14
+ * Figma Console MCP Server class
15
+ */
16
+ class FigmaConsoleMCPServer {
17
+ mcpServer;
18
+ config;
19
+ transport = null;
20
+ isConnected = false;
21
+ /**
22
+ * Create a new Figma Console MCP server instance
23
+ */
24
+ constructor() {
25
+ logger.info('Initializing Figma Console MCP Server...');
26
+ // Load configuration
27
+ this.config = (0, config_js_1.getConfig)();
28
+ logger.debug({ config: this.config }, 'Configuration loaded');
29
+ // Create MCP server instance
30
+ this.mcpServer = new mcp_js_1.McpServer({
31
+ name: 'figma-console-mcp',
32
+ version: '0.1.0',
33
+ });
34
+ // Register all tools
35
+ (0, index_js_1.registerTools)(this.mcpServer);
36
+ logger.info('Figma Console MCP Server initialized successfully');
37
+ }
38
+ /**
39
+ * Connect the server to a transport
40
+ */
41
+ async connect(transport) {
42
+ if (this.isConnected) {
43
+ throw new Error('Server is already connected');
44
+ }
45
+ logger.info('Connecting to transport...');
46
+ this.transport = transport;
47
+ try {
48
+ await this.mcpServer.connect(transport);
49
+ this.isConnected = true;
50
+ logger.info('Server connected successfully and ready to accept requests');
51
+ }
52
+ catch (error) {
53
+ logger.error({ error }, 'Failed to connect to transport');
54
+ throw error;
55
+ }
56
+ }
57
+ /**
58
+ * Check if server is connected
59
+ */
60
+ isReady() {
61
+ return this.isConnected;
62
+ }
63
+ /**
64
+ * Get server configuration
65
+ */
66
+ getConfig() {
67
+ return this.config;
68
+ }
69
+ /**
70
+ * Gracefully close the server
71
+ */
72
+ async close() {
73
+ if (!this.isConnected) {
74
+ logger.warn('Server is not connected, nothing to close');
75
+ return;
76
+ }
77
+ logger.info('Closing server...');
78
+ try {
79
+ // Close transport if available
80
+ if (this.transport && 'close' in this.transport) {
81
+ await this.transport.close();
82
+ }
83
+ this.isConnected = false;
84
+ logger.info('Server closed successfully');
85
+ }
86
+ catch (error) {
87
+ logger.error({ error }, 'Error during server shutdown');
88
+ throw error;
89
+ }
90
+ }
91
+ /**
92
+ * Health check
93
+ */
94
+ async ping() {
95
+ return this.isConnected;
96
+ }
97
+ }
98
+ exports.FigmaConsoleMCPServer = FigmaConsoleMCPServer;
99
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oEAAoE;AAEpE,2CAAgD;AAChD,2CAAwC;AACxC,+CAAiD;AAGjD,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAa,qBAAqB;IACxB,SAAS,CAAY;IACrB,MAAM,CAAe;IACrB,SAAS,GAAqB,IAAI,CAAC;IACnC,WAAW,GAAG,KAAK,CAAC;IAE5B;;OAEG;IACH;QACE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAExD,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAE9D,6BAA6B;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC;YAC7B,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAA,wBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAoB;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAO,IAAI,CAAC,SAAiB,CAAC,KAAK,EAAE,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AA/FD,sDA+FC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * MCP Tools registration for Figma Console MCP server
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ /**
6
+ * Register all MCP tools with the server
7
+ *
8
+ * Note: This is Phase 1 implementation with placeholder tools.
9
+ * Full implementations will be added in subsequent phases:
10
+ * - Phase 1 Week 4: figma_get_console_logs (real implementation)
11
+ * - Phase 2: figma_take_screenshot
12
+ * - Phase 3: figma_watch_console, figma_reload_plugin, figma_clear_console
13
+ */
14
+ export declare function registerTools(server: McpServer): void;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuNrD"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tools registration for Figma Console MCP server
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerTools = registerTools;
7
+ const zod_1 = require("zod");
8
+ const logger_js_1 = require("../logger.js");
9
+ const logger = (0, logger_js_1.createChildLogger)({ component: 'tools' });
10
+ /**
11
+ * Register all MCP tools with the server
12
+ *
13
+ * Note: This is Phase 1 implementation with placeholder tools.
14
+ * Full implementations will be added in subsequent phases:
15
+ * - Phase 1 Week 4: figma_get_console_logs (real implementation)
16
+ * - Phase 2: figma_take_screenshot
17
+ * - Phase 3: figma_watch_console, figma_reload_plugin, figma_clear_console
18
+ */
19
+ function registerTools(server) {
20
+ logger.info('Registering MCP tools...');
21
+ // Tool 1: Get Console Logs (placeholder for now)
22
+ server.registerTool('figma_get_console_logs', {
23
+ description: 'Retrieve recent console logs from the Figma plugin',
24
+ inputSchema: {
25
+ count: zod_1.z
26
+ .number()
27
+ .optional()
28
+ .default(100)
29
+ .describe('Number of recent logs to retrieve (default: 100)'),
30
+ level: zod_1.z
31
+ .enum(['log', 'info', 'warn', 'error', 'debug', 'all'])
32
+ .optional()
33
+ .default('all')
34
+ .describe('Filter by log level (default: all)'),
35
+ since: zod_1.z
36
+ .number()
37
+ .optional()
38
+ .describe('Only logs after this timestamp (Unix ms)'),
39
+ },
40
+ }, async ({ count, level, since }) => {
41
+ logger.debug({ count, level, since }, 'figma_get_console_logs called');
42
+ // TODO: Phase 1 Week 4 - Implement actual console log retrieval
43
+ // This will connect to Chrome DevTools Protocol and return real logs
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text',
48
+ text: JSON.stringify({
49
+ status: 'placeholder',
50
+ message: 'Console log retrieval not yet implemented',
51
+ plannedFor: 'Phase 1, Week 4',
52
+ parameters: { count, level, since },
53
+ futureResponse: {
54
+ logs: [],
55
+ totalCount: 0,
56
+ oldestTimestamp: null,
57
+ newestTimestamp: null,
58
+ },
59
+ }, null, 2),
60
+ },
61
+ ],
62
+ };
63
+ });
64
+ // Tool 2: Take Screenshot (placeholder)
65
+ server.registerTool('figma_take_screenshot', {
66
+ description: 'Capture a screenshot of the Figma plugin UI',
67
+ inputSchema: {
68
+ target: zod_1.z
69
+ .enum(['plugin', 'full-page', 'viewport'])
70
+ .optional()
71
+ .default('plugin')
72
+ .describe('What to screenshot (default: plugin)'),
73
+ format: zod_1.z
74
+ .enum(['png', 'jpeg'])
75
+ .optional()
76
+ .default('png')
77
+ .describe('Image format (default: png)'),
78
+ quality: zod_1.z
79
+ .number()
80
+ .min(0)
81
+ .max(100)
82
+ .optional()
83
+ .default(90)
84
+ .describe('JPEG quality 0-100 (default: 90)'),
85
+ },
86
+ }, async ({ target, format, quality }) => {
87
+ logger.debug({ target, format, quality }, 'figma_take_screenshot called');
88
+ // TODO: Phase 2 - Implement screenshot capture
89
+ return {
90
+ content: [
91
+ {
92
+ type: 'text',
93
+ text: JSON.stringify({
94
+ status: 'placeholder',
95
+ message: 'Screenshot capture not yet implemented',
96
+ plannedFor: 'Phase 2 (Weeks 5-7)',
97
+ parameters: { target, format, quality },
98
+ }, null, 2),
99
+ },
100
+ ],
101
+ };
102
+ });
103
+ // Tool 3: Watch Console (placeholder)
104
+ server.registerTool('figma_watch_console', {
105
+ description: 'Stream console logs in real-time (sends notifications)',
106
+ inputSchema: {
107
+ duration: zod_1.z
108
+ .number()
109
+ .optional()
110
+ .default(30)
111
+ .describe('How long to watch in seconds (default: 30)'),
112
+ level: zod_1.z
113
+ .enum(['log', 'info', 'warn', 'error', 'debug', 'all'])
114
+ .optional()
115
+ .default('all')
116
+ .describe('Filter by log level (default: all)'),
117
+ },
118
+ }, async ({ duration, level }) => {
119
+ logger.debug({ duration, level }, 'figma_watch_console called');
120
+ // TODO: Phase 3 - Implement real-time streaming
121
+ return {
122
+ content: [
123
+ {
124
+ type: 'text',
125
+ text: JSON.stringify({
126
+ status: 'placeholder',
127
+ message: 'Real-time console streaming not yet implemented',
128
+ plannedFor: 'Phase 3 (Weeks 8-10)',
129
+ parameters: { duration, level },
130
+ }, null, 2),
131
+ },
132
+ ],
133
+ };
134
+ });
135
+ // Tool 4: Reload Plugin (placeholder)
136
+ server.registerTool('figma_reload_plugin', {
137
+ description: 'Reload the currently running Figma plugin',
138
+ inputSchema: {
139
+ clearConsole: zod_1.z
140
+ .boolean()
141
+ .optional()
142
+ .default(true)
143
+ .describe('Clear console logs before reload (default: true)'),
144
+ },
145
+ }, async ({ clearConsole }) => {
146
+ logger.debug({ clearConsole }, 'figma_reload_plugin called');
147
+ // TODO: Phase 3 - Implement plugin reload
148
+ return {
149
+ content: [
150
+ {
151
+ type: 'text',
152
+ text: JSON.stringify({
153
+ status: 'placeholder',
154
+ message: 'Plugin reload not yet implemented',
155
+ plannedFor: 'Phase 3 (Weeks 8-10)',
156
+ parameters: { clearConsole },
157
+ }, null, 2),
158
+ },
159
+ ],
160
+ };
161
+ });
162
+ // Tool 5: Clear Console (placeholder)
163
+ server.registerTool('figma_clear_console', {
164
+ description: 'Clear the console log buffer',
165
+ inputSchema: {},
166
+ }, async () => {
167
+ logger.debug('figma_clear_console called');
168
+ // TODO: Phase 3 - Implement console clearing
169
+ return {
170
+ content: [
171
+ {
172
+ type: 'text',
173
+ text: JSON.stringify({
174
+ status: 'placeholder',
175
+ message: 'Console clearing not yet implemented',
176
+ plannedFor: 'Phase 3 (Weeks 8-10)',
177
+ }, null, 2),
178
+ },
179
+ ],
180
+ };
181
+ });
182
+ logger.info('Successfully registered 5 MCP tools');
183
+ }
184
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Type definitions for Figma Console MCP
3
+ */
4
+ /**
5
+ * Console log entry captured from Figma plugin
6
+ */
7
+ export interface ConsoleLogEntry {
8
+ timestamp: number;
9
+ level: 'log' | 'info' | 'warn' | 'error' | 'debug';
10
+ message: string;
11
+ args: any[];
12
+ stackTrace?: StackTrace;
13
+ source: 'plugin' | 'figma' | 'unknown';
14
+ }
15
+ /**
16
+ * Stack trace information
17
+ */
18
+ export interface StackTrace {
19
+ callFrames: CallFrame[];
20
+ }
21
+ /**
22
+ * Individual stack frame
23
+ */
24
+ export interface CallFrame {
25
+ functionName: string;
26
+ url: string;
27
+ lineNumber: number;
28
+ columnNumber: number;
29
+ }
30
+ /**
31
+ * Screenshot metadata
32
+ */
33
+ export interface Screenshot {
34
+ id: string;
35
+ timestamp: number;
36
+ path: string;
37
+ format: 'png' | 'jpeg';
38
+ width: number;
39
+ height: number;
40
+ selector?: string;
41
+ base64?: string;
42
+ metadata?: ScreenshotMetadata;
43
+ }
44
+ /**
45
+ * Additional screenshot metadata
46
+ */
47
+ export interface ScreenshotMetadata {
48
+ pluginName?: string;
49
+ pluginId?: string;
50
+ figmaFileKey?: string;
51
+ }
52
+ /**
53
+ * Plugin context information
54
+ */
55
+ export interface PluginContext {
56
+ pluginId?: string;
57
+ pluginName?: string;
58
+ isRunning: boolean;
59
+ lastReloadTime?: number;
60
+ }
61
+ /**
62
+ * Server configuration
63
+ */
64
+ export interface ServerConfig {
65
+ browser: BrowserConfig;
66
+ console: ConsoleConfig;
67
+ screenshots: ScreenshotConfig;
68
+ }
69
+ /**
70
+ * Browser configuration
71
+ */
72
+ export interface BrowserConfig {
73
+ headless: boolean;
74
+ args: string[];
75
+ executablePath?: string;
76
+ }
77
+ /**
78
+ * Console monitoring configuration
79
+ */
80
+ export interface ConsoleConfig {
81
+ bufferSize: number;
82
+ filterLevels: ConsoleLogEntry['level'][];
83
+ truncation: TruncationConfig;
84
+ }
85
+ /**
86
+ * Screenshot configuration
87
+ */
88
+ export interface ScreenshotConfig {
89
+ defaultFormat: 'png' | 'jpeg';
90
+ quality: number;
91
+ storePath: string;
92
+ }
93
+ /**
94
+ * Log truncation configuration
95
+ */
96
+ export interface TruncationConfig {
97
+ maxStringLength: number;
98
+ maxArrayLength: number;
99
+ maxObjectDepth: number;
100
+ removeDuplicates: boolean;
101
+ }
102
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for Figma Console MCP
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG"}