@sxl-studio/bridge 1.5.0 → 1.6.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 (38) hide show
  1. package/README.md +8 -1
  2. package/dist/agent-recipes.d.ts +312 -0
  3. package/dist/agent-recipes.js +743 -0
  4. package/dist/agent-recipes.js.map +1 -1
  5. package/dist/command-queue.js +21 -0
  6. package/dist/command-queue.js.map +1 -1
  7. package/dist/mcp-factory.js +11 -1
  8. package/dist/mcp-factory.js.map +1 -1
  9. package/dist/sxl-mcp-instructions.js +176 -4
  10. package/dist/sxl-mcp-instructions.js.map +1 -1
  11. package/dist/tools/audit.d.ts +49 -0
  12. package/dist/tools/audit.js +83 -0
  13. package/dist/tools/audit.js.map +1 -0
  14. package/dist/tools/catalogue-bootstrap.js +34 -0
  15. package/dist/tools/catalogue-bootstrap.js.map +1 -1
  16. package/dist/tools/compositions-orchestration.d.ts +91 -0
  17. package/dist/tools/compositions-orchestration.js +101 -0
  18. package/dist/tools/compositions-orchestration.js.map +1 -0
  19. package/dist/tools/mockup.d.ts +323 -0
  20. package/dist/tools/mockup.js +206 -0
  21. package/dist/tools/mockup.js.map +1 -0
  22. package/dist/tools/orchestration.js +91 -0
  23. package/dist/tools/orchestration.js.map +1 -1
  24. package/dist/tools/registry.d.ts +1 -1
  25. package/dist/tools/registry.js.map +1 -1
  26. package/dist/tools/resources.d.ts +1 -1
  27. package/dist/tools/resources.js +62 -2
  28. package/dist/tools/resources.js.map +1 -1
  29. package/dist/tools/styles-orchestration.d.ts +544 -0
  30. package/dist/tools/styles-orchestration.js +175 -0
  31. package/dist/tools/styles-orchestration.js.map +1 -0
  32. package/dist/tools/tokens.d.ts +60 -60
  33. package/dist/tools/variables-orchestration.d.ts +20 -0
  34. package/dist/tools/variables-orchestration.js +116 -0
  35. package/dist/tools/variables-orchestration.js.map +1 -0
  36. package/dist/tools/variables.js +59 -0
  37. package/dist/tools/variables.js.map +1 -1
  38. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"agent-recipes.js","sourceRoot":"","sources":["../src/agent-recipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-recipes.js","sourceRoot":"","sources":["../src/agent-recipes.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,11 @@ export const BRIDGE_COMMAND_TIMEOUT_MS = {
29
29
  reapply_compositions: 60_000,
30
30
  cross_file_sync_fetch: 30_000,
31
31
  cross_file_sync_apply: 30_000,
32
+ /** Batch variable / binding operations */
33
+ batch_create_variables: 60_000,
34
+ batch_set_variable_values: 60_000,
35
+ batch_delete_variables: 30_000,
36
+ batch_bind_variables: 60_000,
32
37
  /** Aligned with Plugin `COMMAND_TIMEOUTS` (remote/types.ts) for canvas-heavy commands */
33
38
  export_as_svg: 60_000,
34
39
  list_available_fonts: 45_000,
@@ -40,6 +45,22 @@ export const BRIDGE_COMMAND_TIMEOUT_MS = {
40
45
  get_page_structure: 30_000,
41
46
  get_variables: 30_000,
42
47
  import_component_by_key: 30_000,
48
+ /** Audit / Analysis (Bridge platform Phase A) */
49
+ analyze_variable_usage: 60_000,
50
+ find_variable_usages: 60_000,
51
+ render_variable_usage_page: 180_000,
52
+ audit_variable_coverage: 60_000,
53
+ find_variable_coverage_misses: 60_000,
54
+ audit_style_coverage: 60_000,
55
+ find_style_coverage_misses: 60_000,
56
+ find_unused_variables: 90_000,
57
+ find_unused_styles: 90_000,
58
+ /** Variables orchestration (Bridge platform Phase B) */
59
+ import_variable_spec: 120_000,
60
+ analyze_variable_order: 30_000,
61
+ dedupe_variables: 90_000,
62
+ rebind_variable_aliases: 60_000,
63
+ apply_coverage_suggestions: 90_000,
43
64
  };
44
65
  const DEFAULT_TIMEOUT = 15_000;
45
66
  export class CommandQueue {
@@ -1 +1 @@
1
- {"version":3,"file":"command-queue.js","sourceRoot":"","sources":["../src/command-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-queue.js","sourceRoot":"","sources":["../src/command-queue.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,24 @@
4
4
  */
5
5
  import { McpServer } from "../node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js";
6
6
  import { SXL_BRIDGE_MCP_INSTRUCTIONS } from "./sxl-mcp-instructions.js";
7
+ import { registerAuditTools } from "./tools/audit.js";
7
8
  import { bootstrapBridgeToolCatalogue } from "./tools/catalogue-bootstrap.js";
8
9
  import { registerCompositionTools } from "./tools/composition.js";
10
+ import { registerCompositionsOrchestrationTools } from "./tools/compositions-orchestration.js";
9
11
  import { registerDataTools } from "./tools/data.js";
10
12
  import { registerDiagnosticTools } from "./tools/diagnostics.js";
11
13
  import { registerFigmaNodeTools } from "./tools/figma-nodes.js";
12
14
  import { registerRcExtendedCanvasTools } from "./tools/figma-rc-extended.js";
13
15
  import { registerGitTools } from "./tools/git.js";
14
16
  import { registerMetaTools } from "./tools/meta.js";
17
+ import { registerMockupTools } from "./tools/mockup.js";
15
18
  import { registerOrchestrationTools } from "./tools/orchestration.js";
16
19
  import { registerBridgeResources } from "./tools/resources.js";
17
20
  import { registerStyleTools } from "./tools/styles.js";
21
+ import { registerStylesOrchestrationTools } from "./tools/styles-orchestration.js";
18
22
  import { registerTokenTools } from "./tools/tokens.js";
19
23
  import { registerVariableTools } from "./tools/variables.js";
24
+ import { registerVariablesOrchestrationTools } from "./tools/variables-orchestration.js";
20
25
  let catalogueReady = false;
21
26
  export function createBridgeMcpServer(commandQueue) {
22
27
  if (!catalogueReady) {
@@ -25,20 +30,25 @@ export function createBridgeMcpServer(commandQueue) {
25
30
  }
26
31
  const server = new McpServer({
27
32
  name: "@sxl-studio/bridge",
28
- version: "1.5.0",
33
+ version: "1.6.0",
29
34
  }, {
30
35
  instructions: SXL_BRIDGE_MCP_INSTRUCTIONS,
31
36
  });
32
37
  registerTokenTools(server, commandQueue);
33
38
  registerVariableTools(server, commandQueue);
39
+ registerVariablesOrchestrationTools(server, commandQueue);
34
40
  registerStyleTools(server, commandQueue);
41
+ registerStylesOrchestrationTools(server, commandQueue);
35
42
  registerCompositionTools(server, commandQueue);
43
+ registerCompositionsOrchestrationTools(server, commandQueue);
36
44
  registerDataTools(server, commandQueue);
37
45
  registerDiagnosticTools(server, commandQueue);
38
46
  registerFigmaNodeTools(server, commandQueue);
39
47
  registerRcExtendedCanvasTools(server, commandQueue);
40
48
  registerGitTools(server, commandQueue);
41
49
  registerOrchestrationTools(server, commandQueue);
50
+ registerAuditTools(server, commandQueue);
51
+ registerMockupTools(server, commandQueue);
42
52
  registerMetaTools(server, commandQueue);
43
53
  registerBridgeResources(server, commandQueue);
44
54
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-factory.js","sourceRoot":"","sources":["../src/mcp-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kEAAkE,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,UAAU,qBAAqB,CAAC,YAA0B;IAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,4BAA4B,EAAE,CAAC;QAC/B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE,2BAA2B;KAC1C,CACF,CAAC;IAEF,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9C,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,6BAA6B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpD,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAExC,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"mcp-factory.js","sourceRoot":"","sources":["../src/mcp-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kEAAkE,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mCAAmC,EAAE,MAAM,oCAAoC,CAAC;AAEzF,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,UAAU,qBAAqB,CAAC,YAA0B;IAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,4BAA4B,EAAE,CAAC;QAC/B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE,2BAA2B;KAC1C,CACF,CAAC;IAEF,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,mCAAmC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,gCAAgC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,sCAAsC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7D,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9C,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,6BAA6B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpD,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAExC,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -12,8 +12,38 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
12
12
  - Variable cards (e.g. "цвета коллекции Projects") → \`bind_variable_palette\` (or \`apply_doc_spec\` with \`palette\` section).
13
13
  - Component (title + variants + props + measure) → \`build_component_doc\` (or \`apply_doc_spec\`).
14
14
  - Multi-page flow → \`build_doc_flow\`.
15
- 3. If no recipe fits, prefer composing \`apply_doc_spec\` from explicit sections (read \`sxl://agent/recipes/doc-spec-v2\`) before falling back to direct canvas tools.
16
- 4. Always pass JSON arguments to Bridge tools directly. Never write payloads to \`/tmp\`, never base64-encode loaders into \`use_figma\`, never glue shell + node -e to invoke MCP.
15
+ 3. Analysis / audit / cleanup use the audit tools, never roll your own \`figma.\` walker:
16
+ - "where / how often is variable X used" \`analyze_variable_usage\` (summary) + \`find_variable_usages\` (paginated). Visualize with \`render_variable_usage_page\`.
17
+ - "find raw values that should be variables / styles" → \`audit_variable_coverage\` / \`audit_style_coverage\` (summary) + their \`find_*_misses\` siblings.
18
+ - "what variables / styles are dead" → \`find_unused_variables\` / \`find_unused_styles\`.
19
+ These tools resolve transitive aliases, paginate via cursor, and yield to the event loop on huge files.
20
+ 4. Bulk Variables refactors → use Phase B "thick" commands instead of looping single ops:
21
+ - "create / update many variables at once" → \`import_variable_spec\` (declarative spec, dryRun supported).
22
+ - "merge duplicates" → \`dedupe_variables\` (dry-run by default; \`apply: true\` to commit).
23
+ - "rewrite alias targets" → \`rebind_variable_aliases\` (dryRun supported).
24
+ - "reorder a collection alphabetically / by path" → \`analyze_variable_order\` (READ-ONLY diff; manual reorder required).
25
+ - "apply audit_variable_coverage suggestions" → \`apply_coverage_suggestions\` (dry-run by default).
26
+ 5. Bulk Styles refactors → use Phase C "thick" commands (mirror of Phase B for local Paint / Text / Effect styles):
27
+ - "create / update many paint / text / effect styles at once" → \`import_style_spec\` (declarative spec, dryRun supported, idempotent by name).
28
+ - "merge duplicate styles" → \`dedupe_styles\` (\`byName\` | \`bySignature\`; dry-run by default; \`apply: true\` rebinds consumers via \`rebind_style_consumers\` and removes duplicates).
29
+ - "rewrite styleId on consumer nodes (old style → new style)" → \`rebind_style_consumers\` (dryRun supported; auto-detects \`fillStyleId\` / \`strokeStyleId\` / \`textStyleId\` / \`effectStyleId\` from source style type).
30
+ - "audit drift between paint styles and the source of truth" → \`audit_style_drift\` (READ-ONLY, Dev-Mode-safe; modes: \`byName-vs-variables\` or \`explicit\` with \`{ styleId, expectedColor }\`).
31
+ - "apply audit_style_coverage suggestions" → \`apply_style_coverage_suggestions\` (dry-run by default; PER-NODE, so duplicate \`(nodeId, field)\` entries are deduped).
32
+ 6. Mockup-from-DesignSystem (Phase D — assemble screens from existing components) → use the Phase D "thick" commands instead of \`use_figma\`:
33
+ - "discover available components / their props" → \`find_components\` (READ-ONLY; local + optional remote-instance discovery; returns ids, keys, name, defaultVariantId, componentPropertyDefinitions).
34
+ - "build a screen / dashboard / list from existing components" → \`build_mockup\` (declarative item tree: \`instance | section | spacer | text\` with property / text / fill-binding overrides, auto-layout container, dryRun supported).
35
+ - "render N cards from this list / dataset" → \`apply_mockup_dataset\` (clones a template node per row, applies row-specific overrides; dryRun supported; \`removeTemplate: true\` cleans up the placeholder).
36
+ 7. Compositions orchestration (Phase E — bulk DS pipeline over composition JSON files) → use the Phase E "thick" commands instead of looping \`generate_composition\` / \`apply_composition\`:
37
+ - "(re)generate / apply MANY components from JSON in one call" → \`bulk_generate_compositions\` (filters: \`fileIds | names | prefix\`; operations: \`auto | generate | apply\`; per-item error isolation via \`continueOnError: true\` default; \`dryRun: true\` returns the resolved plan WITHOUT touching the canvas — Dev Mode safe).
38
+ - "audit which compositions drifted from Figma" → \`audit_composition_drift\` (READ-ONLY: per-composition status \`linked | unlinked | drift | missing\` with human-readable \`reason\`; Dev-Mode-safe; pair with \`bulk_generate_compositions { fileIds: drifted }\` to fix).
39
+ 8. If no recipe fits, prefer composing \`apply_doc_spec\` from explicit sections (read \`sxl://agent/recipes/doc-spec-v2\`) before falling back to direct canvas tools.
40
+ 9. Always pass JSON arguments to Bridge tools directly. Never write payloads to \`/tmp\`, never base64-encode loaders into \`use_figma\`, never glue shell + node -e to invoke MCP.
41
+
42
+ ### Token-economy rules
43
+ - Default to summary tools (\`analyze_variable_usage\`, \`audit_*\`); pull details only when the user asks "show me", "list", "give me ids".
44
+ - Start with the narrowest scope (\`page\` or \`selection\`); widen to \`file\` only after confirming magnitude.
45
+ - Use \`limit\` + \`cursor\` on \`find_*\` tools — never request a full file dump in one call.
46
+ - Reuse the previous response: \`target.aliasChain\`, \`topOffenders\`, \`suggestion\` already give the agent enough signal to act without another scan.
17
47
 
18
48
  ## Two MCP servers you may see in Cursor
19
49
  - **Official Figma MCP** (often remote): reads design context from selection / links, opens files, native Figma ops (e.g. \`use_figma\`). Parse \`node-id\` from figma.com URLs by replacing "-" with ":".
@@ -34,6 +64,7 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
34
64
 
35
65
  ## Discovery: prefer authoritative catalogues
36
66
  - \`list_tools\` — meta-tool that returns the full Bridge tool catalogue with category and flags (\`requiresDesignMode\`, \`requiresComposition\`). Use it instead of guessing tool names. Filter with \`category\` or \`devModeReadableOnly: true\`.
67
+ - \`find_components\` — Phase D component discovery (READ-ONLY). Returns local + optionally remote-instantiated components with their \`componentPropertyDefinitions\`. Use this before \`build_mockup\` / \`apply_mockup_dataset\` to learn the available property keys instead of guessing.
37
68
  - MCP Resources (read-only URIs) — attach as context instead of calling tools when you only need state:
38
69
  - \`sxl://figma/status\` — plugin status snapshot.
39
70
  - \`sxl://figma/selection\` — current selection.
@@ -49,6 +80,18 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
49
80
  - \`sxl://agent/recipes/doc-composition\` — materialise from composition; do not hand-write JSON.
50
81
  - \`sxl://agent/recipes/doc-flow\` — multi-page / scenario flow (\`build_doc_flow\`).
51
82
  - \`sxl://agent/recipes/variable-palette\` — color cards from a Figma variable collection (\`bind_variable_palette\`). Read before any script.
83
+ - \`sxl://agent/recipes/compose-with-variables\` — export composition + generate component with Figma variable bindings (\`compose_from_url\` + \`batch_bind_variables\`).
84
+ - \`sxl://agent/recipes/scenario-from-markdown\` — render a markdown scenario spec as a Figma flow (\`build_scenario_from_md\`).
85
+ - \`sxl://agent/recipes/variable-usage\` — count + visualize where a variable is used.
86
+ - \`sxl://agent/recipes/audit-coverage\` — find nodes that lack a variable / style binding.
87
+ - \`sxl://agent/recipes/find-unused\` — list local variables / styles that nothing references.
88
+ - \`sxl://agent/recipes/bulk-variables\` — Phase B refactors: \`import_variable_spec\`, \`dedupe_variables\`, \`rebind_variable_aliases\`, \`analyze_variable_order\` (always dryRun first).
89
+ - \`sxl://agent/recipes/auto-bind-from-audit\` — apply \`find_variable_coverage_misses\` suggestions via \`apply_coverage_suggestions\` (dryRun first).
90
+ - \`sxl://agent/recipes/bulk-styles\` — Phase C refactors: \`import_style_spec\`, \`dedupe_styles\`, \`rebind_style_consumers\`, \`apply_style_coverage_suggestions\` (always dryRun first).
91
+ - \`sxl://agent/recipes/style-drift\` — Phase C READ-ONLY drift detection: \`audit_style_drift\` byName-vs-variables / explicit. Dev-Mode-safe.
92
+ - \`sxl://agent/recipes/mockup-builder\` — Phase D screen assembly: \`find_components\`, \`build_mockup\`, \`apply_mockup_dataset\` (declarative auto-layout with overrides + variable bindings; always dryRun first).
93
+ - \`sxl://agent/recipes/bulk-compositions\` — Phase E bulk component pipeline: \`bulk_generate_compositions\` with per-item error isolation, dryRun preview, fileIds | names | prefix filters, operation: auto | generate | apply.
94
+ - \`sxl://agent/recipes/composition-drift\` — Phase E READ-ONLY drift detection: \`audit_composition_drift\` (linked / unlinked / drift / missing). Dev-Mode-safe.
52
95
 
53
96
  ## CRITICAL — never hand-craft composition / token JSON
54
97
  If the user asks for "JSON", "composition", "get code", or "same output as Dev Mode → Get Code":
@@ -65,6 +108,24 @@ If the user asks for "JSON", "composition", "get code", or "same output as Dev M
65
108
  Code Connect) call \`get_codegen\` with \`language: "designer-json"\` (default).
66
109
  SwiftUI / Kotlin / Vue3 outputs are also available via \`language\` parameter.
67
110
 
111
+ ## Workflow — Scenario / flow from a markdown spec
112
+ When the user provides a **markdown document** describing a UI scenario:
113
+ 1. Read \`sxl://agent/recipes/scenario-from-markdown\`.
114
+ 2. Call \`build_scenario_from_md\` with \`{ markdown, dryRun: true }\` to preview parsed pages.
115
+ 3. Confirm nodeIds are correct (H2 sections need Figma URLs with \`?node-id=\`).
116
+ 4. Re-run without \`dryRun\`, passing \`targetParentId\` or \`targetRootId\`.
117
+
118
+ Markdown format expected by \`build_scenario_from_md\`:
119
+ \`\`\`markdown
120
+ # Flow title
121
+ ## Screen 1 — Login
122
+ User sees the login form.
123
+ https://www.figma.com/design/KEY/Name?node-id=123:456
124
+ ## Screen 2 — Dashboard
125
+ After login the user lands here.
126
+ https://www.figma.com/design/KEY/Name?node-id=789:101
127
+ \`\`\`
128
+
68
129
  ## High-level orchestration (preferred when given a Figma URL)
69
130
  - \`generate_code_from_url\` — given a \`figma.com/design/…\` URL, Bridge parses \`fileKey\` +
70
131
  \`nodeId\` and runs \`get_codegen\` on the target node. Returns all codegen tabs. Use this
@@ -91,6 +152,44 @@ If the user asks for "JSON", "composition", "get code", or "same output as Dev M
91
152
  or component set in a single call.
92
153
  - \`build_doc_flow\` — multi-page scenario layout (\`pages[]\` of node URLs / IDs / composition
93
154
  files). Use this instead of orchestrating multiple \`compose_from_url\` calls by hand.
155
+ - \`build_scenario_from_md\` — parse a markdown scenario spec (H1 title, H2 pages, Figma URLs,
156
+ prose) and call \`build_doc_flow\` automatically. Use when the user provides a \`.md\` scenario
157
+ document. Always \`dryRun: true\` first.
158
+
159
+ ## Audit / Analysis (read \`sxl://agent/recipes/index\` first)
160
+ - \`analyze_variable_usage\` — summary of where a variable is used (counts, byProperty, byPage,
161
+ byNodeType, aliasChain). Default scope: \`page\`. Resolves transitive aliases.
162
+ - \`find_variable_usages\` — paginated list of \`{ nodeId, property, viaAlias? }\`. Cursor-based.
163
+ - \`render_variable_usage_page\` — clones every owning node into a fresh "Usage: <var>" page
164
+ (auto-layout grid). Canvas write — confirm \`writesAllowed: true\` first.
165
+ - \`audit_variable_coverage\` — summary of nodes that have raw values where a variable should
166
+ be bound. With \`suggest=true\` (default), each topOffender entry surfaces a suggestion
167
+ (variable that already encodes that value). Pair with \`batch_bind_variables\` to apply.
168
+ - \`find_variable_coverage_misses\` — paginated detail list with the same suggestions.
169
+ - \`audit_style_coverage\` / \`find_style_coverage_misses\` — same idea for paint / stroke /
170
+ effect styles (no styleId AND no variable binding).
171
+ - \`find_unused_variables\` / \`find_unused_styles\` — list local entries that nothing
172
+ references. Read-only; pair with \`batch_delete_variables\` after explicit user confirmation.
173
+
174
+ ## Variables orchestration (Phase B — thick commands)
175
+ Read \`sxl://agent/recipes/bulk-variables\` first. The command set:
176
+ - \`import_variable_spec\` — declarative bulk create / update of collections + modes + variables in one call.
177
+ Pass \`{ spec: { collections: [...], dryRun?: true } }\`. Aliases (\`{ alias: { variableName } }\`) are resolved
178
+ in a second pass so cross-collection references work. Per-item errors are collected, the run never aborts.
179
+ - \`analyze_variable_order\` — READ-ONLY: returns the exact moves needed to reorder a collection
180
+ (\`alphabetical\` / \`byPath\` / \`explicit\`). Figma Plugin API does not expose stable variable
181
+ reordering, so apply the diff manually in the Variables panel.
182
+ - \`dedupe_variables\` — find duplicates by name or default-mode value. Default is dry-run; pass
183
+ \`apply: true\` to merge (winner inherits incoming aliases via \`rebind_variable_aliases\`, losers deleted).
184
+ - \`rebind_variable_aliases\` — bulk rewrite \`{ fromVariableId → toVariableId }\` across all modes. Pass
185
+ \`dryRun: true\` to count rewrites without writing.
186
+ - \`apply_coverage_suggestions\` — pipe \`find_variable_coverage_misses\` suggestions into
187
+ \`setBoundVariableForPaint\` / \`setBoundVariableForEffect\` / \`setBoundVariable\`. Default is dry-run;
188
+ set \`dryRun: false\` to commit. Always preview first.
189
+
190
+ **Rules:** ALWAYS use the dry-run / preview mode first and surface the plan to the user. Looping
191
+ \`create_variable\` / \`bind_variable\` for 5+ items is forbidden when one of these tools covers the
192
+ case. \`use_figma\` scripts to refactor variables are forbidden — Bridge already has the tool.
94
193
 
95
194
  ## Documentation recipes (do not improvise the pipeline)
96
195
  0. **Pick the recipe via the index** — read \`sxl://agent/recipes/index\` first. It contains
@@ -145,9 +244,18 @@ If the user asks for "JSON", "composition", "get code", or "same output as Dev M
145
244
 
146
245
  ## Workflow — Variables / Design Tokens
147
246
  - \`get_variables\` — read collections + variables (filter by type, limit paged).
148
- - \`create_variable_collection\`, \`create_variable\`, \`bind_variable\` — build new tokens.
247
+ - \`create_variable_collection\`, \`create_variable\`, \`bind_variable\` — build new tokens (single ops).
248
+ - **Batch ops (preferred for 3+ items):**
249
+ - \`batch_create_variables\` — create many variables at once in a collection. Pass \`variables[]\`
250
+ with name, type, optional values/scopes/codeSyntax per entry. Read \`sxl://agent/recipes/compose-with-variables\`.
251
+ - \`batch_set_variable_values\` — set (variableId, modeId, value) tuples in one round-trip.
252
+ Hex strings are auto-coerced for COLOR variables.
253
+ - \`batch_delete_variables\` — delete many variables in one call. Pass \`variableIds[]\`.
254
+ - \`batch_bind_variables\` — bind many nodes to variables in one call. Pass \`bindings[]\`
255
+ with nodeId, variableId, field (BindableNodeField like 'fills', 'cornerRadius', 'opacity').
256
+ Use this after \`generate_composition\` for any bindings not captured in the composition JSON.
149
257
  - \`rename_variable\`, \`delete_variable\`, \`rename_variable_collection\`,
150
- \`delete_variable_collection\` — lifecycle.
258
+ \`delete_variable_collection\` — lifecycle (single ops).
151
259
  - \`add_variable_mode\`, \`remove_variable_mode\`, \`rename_variable_mode\` — manage modes.
152
260
  - \`set_variable_mode_value\` — write a per-mode value (accepts \`#hex\` for COLOR).
153
261
  - \`set_variable_scopes\`, \`set_variable_code_syntax\` — metadata required for proper
@@ -169,6 +277,70 @@ If the user asks for "JSON", "composition", "get code", or "same output as Dev M
169
277
  assign a style to a node.
170
278
  - \`import_style_by_key\` to bring in published styles.
171
279
 
280
+ ## Styles orchestration (Phase C — thick commands)
281
+ Read \`sxl://agent/recipes/bulk-styles\` (write flows) and \`sxl://agent/recipes/style-drift\` (read-only audit) first. Command set:
282
+ - \`import_style_spec\` — declarative bulk create / update of LOCAL styles in one call. Pass \`{ spec: { paintStyles?, textStyles?, effectStyles?, dryRun? } }\`. SOLID paints accept \`color: '#rrggbb[aa]'\` shortcut. Match by name (slash-paths nest in the styles panel). Idempotent: re-running with the same spec is a no-op. Per-item errors collected, partial success is the norm.
283
+ - \`dedupe_styles\` — find duplicates within the same style type by \`byName\` or \`bySignature\` (paints-array / font+leading / effects-array). Default is dry-run; pass \`apply: true\` to merge (winner = style with most consumers; ties broken by name). The command rebinds consumers via internal \`rebind_style_consumers\` BEFORE deleting the duplicate, so no nodes are left with a dangling styleId.
284
+ - \`rebind_style_consumers\` — bulk rewrite \`{ fromStyleId → toStyleId }\` on every consumer node. Fields are auto-detected from source style type (PaintStyle → fillStyleId + strokeStyleId; TextStyle → textStyleId; EffectStyle → effectStyleId). Pass \`mappings[i].field\` to override. Dry-run supported.
285
+ - \`audit_style_drift\` — READ-ONLY drift detection (Dev-Mode-safe). Two modes:
286
+ - \`byName-vs-variables\`: for every local PaintStyle, look for a like-named local Variable (COLOR) and compare its default-mode value to the style's first SOLID paint.
287
+ - \`explicit\`: compare against caller-supplied \`{ styleId, expectedColor }\` expectations (e.g. a token snapshot from the transformer).
288
+ Both modes accept \`tolerance\` (per-channel deviation 0..1, default 0). Returns \`findings[]\` (drift > tolerance) and \`skipped[]\` (no matching variable, non-SOLID, etc.).
289
+ - \`apply_style_coverage_suggestions\` — pipe \`find_style_coverage_misses\` records into \`setFillStyleIdAsync\` / \`setStrokeStyleIdAsync\` / \`setTextStyleIdAsync\` / \`setEffectStyleIdAsync\` writes. PER-NODE: when the same \`(nodeId, field)\` appears multiple times only the first wins (rest land in \`skipped[]\`). Default is dry-run; \`dryRun: false\` commits.
290
+
291
+ **Rules:** ALWAYS use the dry-run / preview mode first and surface the plan to the user. Looping \`create_paint_style\` / \`set_fill_style\` for 5+ items is forbidden when one of these tools covers the case. \`use_figma\` scripts to refactor styles are forbidden — Bridge already has the tool.
292
+
293
+ ## Mockup-from-DesignSystem (Phase D — thick commands)
294
+ Read \`sxl://agent/recipes/mockup-builder\` first. Goal: ASSEMBLE Figma screens from existing design-system components (consumer side) without \`use_figma\`. The pipeline is:
295
+
296
+ 1. **Discover** components with \`find_components\`:
297
+ - Pass \`{ query?, prefix?, kind?: "COMPONENT" | "COMPONENT_SET" | "BOTH", includeProperties: true, includeRemoteInstances?: true, limit?: 50, cursor? }\`.
298
+ - Default scope is local components on the document; \`includeRemoteInstances: true\` adds library components that are already instantiated in this file.
299
+ - The response carries \`{ id, name, key?, type, defaultVariantId?, componentPropertyDefinitions? }\` per entry — feed \`id\` (or \`key\` for remote) directly into \`build_mockup\`. \`componentPropertyDefinitions\` shows the human keys (\`size\`, \`variant\`, \`loading\`) you must use in \`properties\` overrides.
300
+ 2. **Assemble** with \`build_mockup\`:
301
+ - Top-level: \`{ name?, parentNodeId?, layout?, padding?, background?, items, dryRun? }\`. \`layout\` defaults to \`{ direction: "VERTICAL", itemSpacing: 16, primaryAxisSizingMode: "AUTO", counterAxisSizingMode: "AUTO" }\`. The container is always an auto-layout FRAME.
302
+ - \`items[]\` is a tree of \`{ kind: "instance" | "section" | "spacer" | "text", ... }\`:
303
+ - \`instance\`: pick the component via \`componentId\` (preferred) or \`componentKey\` (remote) or \`componentName\` (local fallback). Override with \`properties: { variant: "primary", size: "lg", loading: false }\`, fill text by layer name with \`textOverrides: [{ layerName: "Title", value: "..." }]\`, swap a child icon with \`properties: { "icon.swap": "<componentId-or-key>" }\` (or use the component's \`INSTANCE_SWAP\` property key directly), bind variable fills with \`fillBindings: [{ layerName: "Surface", variableId: "VariableID:..." }]\`.
304
+ - \`section\`: a nested auto-layout frame — \`{ name?, layout?, padding?, background?, sizing?, items[] }\`. Use for grids of cards, header strips, sidebars, etc.
305
+ - \`spacer\`: explicit gap with \`{ size?: number, axis?: "HORIZONTAL" | "VERTICAL", flex?: boolean }\`. Use \`flex: true\` for "push to the edge" gaps; otherwise prefer \`layout.itemSpacing\` on the parent.
306
+ - \`text\`: bare TEXT layer — \`{ characters, fontSize?, fontWeight?, fontFamily?, textStyleId?, fillBindings? }\`. Fonts are loaded on demand with an Inter Regular fallback.
307
+ - **ALWAYS** call with \`dryRun: true\` first. The plugin returns a resolved plan with per-item \`ok\`/\`error\` and the proposed root \`nodeId\`. Surface the plan; only re-call without \`dryRun\` after the user confirms.
308
+ 3. **Repeat per dataset row** with \`apply_mockup_dataset\`:
309
+ - Pass \`{ templateNodeId, rows: [{ id?, properties?, textOverrides?, fillBindings? }, ...], parentNodeId?, removeTemplate?, layout?, dryRun? }\`.
310
+ - The template can be an \`InstanceNode\`, \`FrameNode\`, or \`ComponentNode\`. Each row is cloned and overridden independently; per-row errors do not abort the run.
311
+ - Set \`removeTemplate: true\` when the template is a placeholder that should disappear after cloning. Use a containing frame as \`parentNodeId\` to keep the dataset under a known root.
312
+
313
+ **Rules:**
314
+ - Run \`find_components\` first; never guess component names — local naming varies between files.
315
+ - Use \`fillBindings\` with a Variable id whenever the design system exposes a variable for that paint — the mockup will pick up theme switches automatically. Raw hex is only acceptable when no variable is available.
316
+ - Pass property values by their HUMAN key (\`size\`, \`variant\`, \`icon.swap\`) — the plugin maps to \`name#defId\` internally. For \`INSTANCE_SWAP\` properties pass the component id or key, not the layer name.
317
+ - ALWAYS preview with \`dryRun: true\` before committing. Both \`build_mockup\` and \`apply_mockup_dataset\` are canvas writes (Design mode required when not dry-run).
318
+ - Looping \`create_component_instance\` / \`set_node_property\` / \`set_node_fill_variable\` for 5+ instances is forbidden when \`build_mockup\` / \`apply_mockup_dataset\` covers the case. \`use_figma\` scripts to assemble layouts are forbidden.
319
+
320
+ ## Compositions orchestration (Phase E — thick commands)
321
+ Read \`sxl://agent/recipes/bulk-compositions\` (write flows) and \`sxl://agent/recipes/composition-drift\` (read-only audit) first. Goal: bulk-manage SXL design-system components straight from composition JSON files (\`tokens/components/W*.json\`) without looping the per-file \`generate_composition\` / \`apply_composition\` tools.
322
+
323
+ 1. **Discover** which composition files exist with \`list_compositions\` (or attach \`sxl://compositions/index\` as context). Each entry carries \`{ fileId, fileName, folder, gitPath, compositionName, component }\`.
324
+ 2. **Audit drift** with \`audit_composition_drift\` (READ-ONLY, Dev-Mode-safe). Compares every \`$type:composition\` file against the Figma component tracked in \`diff-id.compositions\`. Returns per-composition status:
325
+ - \`linked\` — tracking valid + Figma node matches (name + variant count).
326
+ - \`unlinked\` — composition has no tracking entry yet (never generated).
327
+ - \`drift\` — Figma node renamed, variant count mismatch, or wrong type.
328
+ - \`missing\` — tracking points to a deleted node.
329
+ Filters: \`fileIds | names | prefix | includeUnlinked | includeLinked\`. Findings include human-readable \`reason\`.
330
+ 3. **Bulk generate / apply** with \`bulk_generate_compositions\`:
331
+ - Filters (AND-ed): \`fileIds[] | names[] | prefix\` — omit all three to operate on every composition.
332
+ - \`operation\`: \`auto\` (default — apply when tracked, generate otherwise; mirrors manual UX), \`generate\` (force fresh ComponentSet rebuild — use after structural changes / corrupted tracking), \`apply\` (force apply on existing — use only when tracking is healthy).
333
+ - \`continueOnError\` (default \`true\`) — collect every error, return a partial report. Set \`false\` to abort on the first failure.
334
+ - \`dryRun: true\` returns the resolved plan WITHOUT touching the canvas (the plan reports parse errors per file). Always preview first.
335
+ - Response: \`{ ok, dryRun, summary: { total, processed, created, updated, failed, skipped, elapsedMs }, items: [{ fileId, fileName, compositionName, operation, success, variantsCreated, variantsUpdated, errors[], warnings[], elapsedMs }] }\`.
336
+
337
+ **Rules:**
338
+ - ALWAYS preview with \`dryRun: true\` first when committing canvas writes; surface \`summary\` + per-item \`errors\` to the user before committing.
339
+ - Run \`audit_composition_drift\` first when the user is unsure which components actually drifted; use the report to build a surgical \`fileIds\` filter.
340
+ - Looping \`generate_composition\` / \`apply_composition\` for 3+ files is forbidden when \`bulk_generate_compositions\` covers the case (you lose per-item error isolation, progress events, and idempotency).
341
+ - \`success: true, variantsCreated: 0\` is normal idempotent behaviour for \`apply\` when nothing changed — do NOT treat as a failure.
342
+ - Auto-fixing drift without confirmation is forbidden — drift can be intentional (designer renamed the Figma component on purpose). Surface the report, ask, then commit.
343
+
172
344
  ## Dev Mode rules
173
345
  - **Reads always work** — \`get_selection\`, \`get_node_info\`, \`get_node_tree\`,
174
346
  \`export_composition_json\`, \`get_codegen\`, \`get_variables\`, \`get_page_structure\`,
@@ -1 +1 @@
1
- {"version":3,"file":"sxl-mcp-instructions.js","sourceRoot":"","sources":["../src/sxl-mcp-instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8M1C,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"sxl-mcp-instructions.js","sourceRoot":"","sources":["../src/sxl-mcp-instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0X1C,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Audit / Analysis tools — Bridge platform Phase A.
3
+ *
4
+ * Token economy:
5
+ * - default tools (`analyze_variable_usage`, `audit_*`) return SUMMARY only.
6
+ * - paginated `find_*` siblings let the agent pull a window of records on demand.
7
+ *
8
+ * Validation:
9
+ * - one Zod schema per tool, including a shared `auditScopeZod` and `variableSelectorZod`.
10
+ *
11
+ * Performance:
12
+ * - heavy walks (file-scope) are gated by per-command timeouts in
13
+ * `command-queue.BRIDGE_COMMAND_TIMEOUT_MS` (mirrors plugin `COMMAND_TIMEOUTS`).
14
+ */
15
+ import { z } from "zod";
16
+ import type { McpServer } from "../../node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js";
17
+ import type { CommandQueue } from "../command-queue.js";
18
+ export declare const auditScopeZod: z.ZodUnion<[z.ZodEnum<["file", "page", "selection"]>, z.ZodObject<{
19
+ type: z.ZodEnum<["file", "page", "selection", "node"]>;
20
+ nodeId: z.ZodOptional<z.ZodString>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ type: "file" | "page" | "selection" | "node";
23
+ nodeId?: string | undefined;
24
+ }, {
25
+ type: "file" | "page" | "selection" | "node";
26
+ nodeId?: string | undefined;
27
+ }>]>;
28
+ export declare const variableSelectorZod: z.ZodEffects<z.ZodObject<{
29
+ variableId: z.ZodOptional<z.ZodString>;
30
+ name: z.ZodOptional<z.ZodString>;
31
+ nameSuffix: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ variableId?: string | undefined;
34
+ name?: string | undefined;
35
+ nameSuffix?: string | undefined;
36
+ }, {
37
+ variableId?: string | undefined;
38
+ name?: string | undefined;
39
+ nameSuffix?: string | undefined;
40
+ }>, {
41
+ variableId?: string | undefined;
42
+ name?: string | undefined;
43
+ nameSuffix?: string | undefined;
44
+ }, {
45
+ variableId?: string | undefined;
46
+ name?: string | undefined;
47
+ nameSuffix?: string | undefined;
48
+ }>;
49
+ export declare function registerAuditTools(server: McpServer, queue: CommandQueue): void;
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Audit / Analysis tools — Bridge platform Phase A.
3
+ *
4
+ * Token economy:
5
+ * - default tools (`analyze_variable_usage`, `audit_*`) return SUMMARY only.
6
+ * - paginated `find_*` siblings let the agent pull a window of records on demand.
7
+ *
8
+ * Validation:
9
+ * - one Zod schema per tool, including a shared `auditScopeZod` and `variableSelectorZod`.
10
+ *
11
+ * Performance:
12
+ * - heavy walks (file-scope) are gated by per-command timeouts in
13
+ * `command-queue.BRIDGE_COMMAND_TIMEOUT_MS` (mirrors plugin `COMMAND_TIMEOUTS`).
14
+ */
15
+ import { z } from "zod";
16
+ import { callPluginCommand } from "./shared.js";
17
+ export const auditScopeZod = z
18
+ .union([
19
+ z.enum(["file", "page", "selection"]),
20
+ z.object({
21
+ type: z.enum(["file", "page", "selection", "node"]),
22
+ nodeId: z.string().optional(),
23
+ }),
24
+ ])
25
+ .describe("Scan scope. Default: 'page'. Use 'file' for full-document audits (slower). For 'node' pass { type: 'node', nodeId }.");
26
+ export const variableSelectorZod = z
27
+ .object({
28
+ variableId: z.string().optional().describe("Exact Figma variable id (preferred when known)"),
29
+ name: z.string().optional().describe("Exact variable name (e.g. 'accent/medium')"),
30
+ nameSuffix: z
31
+ .string()
32
+ .optional()
33
+ .describe("Trailing-segment match (e.g. 'medium' matches 'accent/medium')"),
34
+ })
35
+ .refine((v) => Boolean(v.variableId ?? v.name ?? v.nameSuffix), {
36
+ message: "variable selector requires variableId, name, or nameSuffix",
37
+ })
38
+ .describe("Selector for the target variable. Use variableId for unambiguous results.");
39
+ export function registerAuditTools(server, queue) {
40
+ server.tool("analyze_variable_usage", "Audit: count how many times a Figma variable is used in the file (or page / selection). Resolves transitive aliases automatically — a variable that aliases the target counts as a usage. Returns a SUMMARY (totalUsages, byProperty, byPage, byNodeType, aliasChain). Read-only. Use find_variable_usages for the full list of nodes.", {
41
+ variable: variableSelectorZod,
42
+ scope: auditScopeZod.optional(),
43
+ }, async (args) => callPluginCommand(queue, "analyze_variable_usage", args));
44
+ server.tool("find_variable_usages", "Audit: list every node that binds the target variable (directly or via alias chain). Paginated via cursor + limit (default 100, max 500). Each record: { nodeId, nodeName, nodeType, pageId, pageName, property, variableId, viaAlias? }. Read-only.", {
45
+ variable: variableSelectorZod,
46
+ scope: auditScopeZod.optional(),
47
+ limit: z.number().int().positive().max(500).optional().describe("Page size (default 100, max 500)"),
48
+ cursor: z.string().optional().describe("Continuation cursor returned by the previous call"),
49
+ }, async (args) => callPluginCommand(queue, "find_variable_usages", args));
50
+ server.tool("render_variable_usage_page", "Audit: create (or reuse) a Figma page named 'Usage: <variable>' and clone every node that uses the variable into an auto-layout container. Useful when designers want to see all instances of, e.g., accent.medium in one place. CANVAS WRITE — blocked in Dev Mode. Defaults: scope=file, maxClones=200.", {
51
+ variable: variableSelectorZod,
52
+ scope: auditScopeZod.optional().describe("Scan scope (default: 'file')"),
53
+ pageName: z.string().optional().describe("Override page name (default: 'Usage: <variableName>')"),
54
+ maxClones: z
55
+ .number()
56
+ .int()
57
+ .positive()
58
+ .max(1000)
59
+ .optional()
60
+ .describe("Cap the number of cloned nodes (default 200, max 1000)"),
61
+ }, async (args) => callPluginCommand(queue, "render_variable_usage_page", args));
62
+ server.tool("audit_variable_coverage", "Audit: scan for raw values (hex colors, numeric dimensions) that should be bound to a Figma variable. Returns SUMMARY only — { scannedNodes, missing, withSuggestion, byProperty, byPage, topOffenders[] }. When 'suggest' is true (default), the plugin matches each raw value against existing local variables and surfaces 'topOffenders' with suggestions. Read-only. Use find_variable_coverage_misses for the detailed list.", {
63
+ scope: auditScopeZod.optional(),
64
+ suggest: z.boolean().optional().describe("Match raw values against local variables (default: true)"),
65
+ }, async (args) => callPluginCommand(queue, "audit_variable_coverage", args));
66
+ server.tool("find_variable_coverage_misses", "Audit: paginated detail list for audit_variable_coverage. Each missingItems[] entry includes nodeId, property, value, and an optional suggestion { variableId, variableName }. Pass returned cursor to fetch the next page. Read-only.", {
67
+ scope: auditScopeZod.optional(),
68
+ suggest: z.boolean().optional(),
69
+ limit: z.number().int().positive().max(500).optional(),
70
+ cursor: z.string().optional(),
71
+ }, async (args) => callPluginCommand(queue, "find_variable_coverage_misses", args));
72
+ server.tool("audit_style_coverage", "Audit: scan for SOLID fills / strokes / shadow effects that have NEITHER a styleId NOR a variable binding (i.e. true raw values). Returns SUMMARY only. Read-only. Use find_style_coverage_misses for details.", {
73
+ scope: auditScopeZod.optional(),
74
+ }, async (args) => callPluginCommand(queue, "audit_style_coverage", args));
75
+ server.tool("find_style_coverage_misses", "Audit: paginated detail list for audit_style_coverage. Each missingItems[] entry includes nodeId, property, value. Read-only.", {
76
+ scope: auditScopeZod.optional(),
77
+ limit: z.number().int().positive().max(500).optional(),
78
+ cursor: z.string().optional(),
79
+ }, async (args) => callPluginCommand(queue, "find_style_coverage_misses", args));
80
+ server.tool("find_unused_variables", "Audit: list local Figma variables that are not referenced anywhere in the file (no node binding, no alias from other variables). Read-only. Combine with batch_delete_variables to clean up after user confirmation.", {}, async () => callPluginCommand(queue, "find_unused_variables"));
81
+ server.tool("find_unused_styles", "Audit: list local Paint / Text / Effect styles that are not referenced anywhere in the file. Read-only.", {}, async () => callPluginCommand(queue, "find_unused_styles"));
82
+ }
83
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}