conductor-figma 3.0.0 → 3.0.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/README.md CHANGED
@@ -80,6 +80,22 @@ Every tool queries the intelligence engine:
80
80
  - **Font Weights**: Auto-resolves "bold" → "Bold", "600" → "Semi Bold"
81
81
  - **Layout Intelligence**: 13 layout presets (row, column, center, spread, grid, sidebar, form)
82
82
 
83
+ ## vs Competition
84
+
85
+ |---------|-----------|--------|-----------|---------------|
86
+ | Tools | 201 | 45 | 5 | 12 |
87
+ | Categories | 17 | ~8 | 1 | ~4 |
88
+ | Design intelligence | Yes | No | No | No |
89
+ | Smart components | 18 types | No | No | No |
90
+ | Accessibility | 12 tools | No | No | No |
91
+ | Code export | 5 frameworks | No | No | Partial |
92
+ | Batch operations | 17 tools | No | No | No |
93
+ | Design system | 10 tools (free) | $9 add-on | No | Partial |
94
+ | Responsive | 5 tools | No | No | No |
95
+ | Typography | 10 tools | No | No | No |
96
+ | Prototype | 10 tools | No | No | No |
97
+ | Annotation | 10 tools | No | No | No |
98
+
83
99
  ## License
84
100
 
85
101
  MIT. Built by [0xDragoon](https://github.com/dragoon0x).
@@ -62,7 +62,7 @@ function resolveRef(ref) {
62
62
 
63
63
  async function loadFont(family, style) {
64
64
  try { await figma.loadFontAsync({ family: family || 'Inter', style: style || 'Regular' }) }
65
- catch { await figma.loadFontAsync({ family: 'Inter', style: 'Regular' }) }
65
+ catch (e) { await figma.loadFontAsync({ family: 'Inter', style: 'Regular' }) }
66
66
  }
67
67
 
68
68
  function serializeNode(node, depth) {
@@ -8,7 +8,7 @@
8
8
  "enableProposedApi": false,
9
9
  "editorType": ["figma"],
10
10
  "networkAccess": {
11
- "allowedDomains": ["none"],
12
- "reasoning": "Conductor connects to a local WebSocket server only"
11
+ "allowedDomains": ["*"],
12
+ "reasoning": "Connects to local MCP WebSocket server"
13
13
  }
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-figma",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Design-intelligent MCP server for Figma. 201 design-intelligent tools for Figma. Every tool knows typography, spacing, color, accessibility. Not a shape proxy — a design engine.",
5
5
  "author": "0xDragoon",
6
6
  "license": "MIT",
package/src/server.js CHANGED
@@ -7,9 +7,11 @@ import { handleTool } from './tools/handlers.js'
7
7
  import { createBridge } from './bridge.js'
8
8
 
9
9
  const VERSION = '3.0.0'
10
- let bridge = null
10
+ const bridge = createBridge()
11
+ bridge.start()
11
12
 
12
13
  function log(...args) { process.stderr.write('[conductor] ' + args.join(' ') + '\n') }
14
+ log(`Conductor v${VERSION} starting — WebSocket on port ${bridge.getPort()}`)
13
15
 
14
16
  // ─── JSON-RPC over stdio ───
15
17
  let buffer = ''
@@ -49,10 +51,6 @@ async function handleMessage(msg) {
49
51
 
50
52
  switch (method) {
51
53
  case 'initialize':
52
- if (!bridge) {
53
- bridge = createBridge()
54
- await bridge.start()
55
- }
56
54
  return respond(id, {
57
55
  protocolVersion: '2024-11-05',
58
56
  capabilities: { tools: { listChanged: false } },