@sxl-studio/bridge 1.7.2 → 1.7.3
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 +342 -16
- package/dist/agent-recipes.d.ts +781 -11
- package/dist/agent-recipes.js +886 -13
- package/dist/agent-recipes.js.map +1 -1
- package/dist/agent-runbook.d.ts +50 -0
- package/dist/agent-runbook.js +243 -0
- package/dist/agent-runbook.js.map +1 -0
- package/dist/asset-upload.d.ts +63 -0
- package/dist/asset-upload.js +225 -0
- package/dist/asset-upload.js.map +1 -0
- package/dist/audit-store.d.ts +15 -0
- package/dist/audit-store.js +100 -0
- package/dist/audit-store.js.map +1 -0
- package/dist/audit.d.ts +4 -3
- package/dist/audit.js +37 -4
- package/dist/audit.js.map +1 -1
- package/dist/auth.d.ts +8 -1
- package/dist/auth.js +41 -1
- package/dist/auth.js.map +1 -1
- package/dist/bridge-agent-workflow-validation-cli.d.ts +2 -0
- package/dist/bridge-agent-workflow-validation-cli.js +68 -0
- package/dist/bridge-agent-workflow-validation-cli.js.map +1 -0
- package/dist/bridge-agent-workflow-validation.d.ts +42 -0
- package/dist/bridge-agent-workflow-validation.js +170 -0
- package/dist/bridge-agent-workflow-validation.js.map +1 -0
- package/dist/bridge-contract-audit.d.ts +45 -0
- package/dist/bridge-contract-audit.js +345 -0
- package/dist/bridge-contract-audit.js.map +1 -0
- package/dist/bridge-health-cli.d.ts +2 -0
- package/dist/bridge-health-cli.js +115 -0
- package/dist/bridge-health-cli.js.map +1 -0
- package/dist/bridge-health.d.ts +33 -0
- package/dist/bridge-health.js +594 -0
- package/dist/bridge-health.js.map +1 -0
- package/dist/bridge-live-validation-cli.d.ts +2 -0
- package/dist/bridge-live-validation-cli.js +114 -0
- package/dist/bridge-live-validation-cli.js.map +1 -0
- package/dist/bridge-live-validation.d.ts +39 -0
- package/dist/bridge-live-validation.js +1141 -0
- package/dist/bridge-live-validation.js.map +1 -0
- package/dist/bridge-performance-profile.d.ts +81 -0
- package/dist/bridge-performance-profile.js +227 -0
- package/dist/bridge-performance-profile.js.map +1 -0
- package/dist/bridge-readiness-cli.d.ts +30 -0
- package/dist/bridge-readiness-cli.js +242 -0
- package/dist/bridge-readiness-cli.js.map +1 -0
- package/dist/bridge-runtime-summary.d.ts +50 -0
- package/dist/bridge-runtime-summary.js +112 -0
- package/dist/bridge-runtime-summary.js.map +1 -0
- package/dist/bridge-workflow-smoke-cli.d.ts +2 -0
- package/dist/bridge-workflow-smoke-cli.js +126 -0
- package/dist/bridge-workflow-smoke-cli.js.map +1 -0
- package/dist/bridge-workflow-smoke.d.ts +39 -0
- package/dist/bridge-workflow-smoke.js +431 -0
- package/dist/bridge-workflow-smoke.js.map +1 -0
- package/dist/codeconnect-suggestions.d.ts +74 -0
- package/dist/codeconnect-suggestions.js +398 -0
- package/dist/codeconnect-suggestions.js.map +1 -0
- package/dist/codeconnect-template.d.ts +98 -0
- package/dist/codeconnect-template.js +280 -0
- package/dist/codeconnect-template.js.map +1 -0
- package/dist/command-queue.d.ts +11 -1
- package/dist/command-queue.js +200 -1
- package/dist/command-queue.js.map +1 -1
- package/dist/command-safety.d.ts +13 -0
- package/dist/command-safety.js +59 -0
- package/dist/command-safety.js.map +1 -0
- package/dist/enabled-library-search.d.ts +49 -0
- package/dist/enabled-library-search.js +151 -0
- package/dist/enabled-library-search.js.map +1 -0
- package/dist/figma-mcp-parity.d.ts +49 -0
- package/dist/figma-mcp-parity.js +368 -0
- package/dist/figma-mcp-parity.js.map +1 -0
- package/dist/figma-mcp-skills-parity.d.ts +61 -0
- package/dist/figma-mcp-skills-parity.js +434 -0
- package/dist/figma-mcp-skills-parity.js.map +1 -0
- package/dist/figma-rest-diagnostics.d.ts +50 -0
- package/dist/figma-rest-diagnostics.js +314 -0
- package/dist/figma-rest-diagnostics.js.map +1 -0
- package/dist/figma-rest.d.ts +27 -0
- package/dist/figma-rest.js +116 -0
- package/dist/figma-rest.js.map +1 -0
- package/dist/http-api.d.ts +14 -2
- package/dist/http-api.js +323 -17
- package/dist/http-api.js.map +1 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-factory.d.ts +6 -1
- package/dist/mcp-factory.js +23 -4
- package/dist/mcp-factory.js.map +1 -1
- package/dist/mcp-runtime-probe.d.ts +22 -0
- package/dist/mcp-runtime-probe.js +777 -0
- package/dist/mcp-runtime-probe.js.map +1 -0
- package/dist/mcp-server.d.ts +2 -1
- package/dist/mcp-server.js +2 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/sxl-mcp-instructions.js +97 -25
- package/dist/sxl-mcp-instructions.js.map +1 -1
- package/dist/tools/audit.d.ts +22 -6
- package/dist/tools/audit.js +49 -7
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/capability-matrix.d.ts +22 -0
- package/dist/tools/capability-matrix.js +38 -0
- package/dist/tools/capability-matrix.js.map +1 -0
- package/dist/tools/catalogue-bootstrap.d.ts +1 -0
- package/dist/tools/catalogue-bootstrap.js +665 -30
- package/dist/tools/catalogue-bootstrap.js.map +1 -1
- package/dist/tools/code-connect-context.d.ts +3 -0
- package/dist/tools/code-connect-context.js +319 -0
- package/dist/tools/code-connect-context.js.map +1 -0
- package/dist/tools/code-connect-template.d.ts +3 -0
- package/dist/tools/code-connect-template.js +111 -0
- package/dist/tools/code-connect-template.js.map +1 -0
- package/dist/tools/composition.js +13 -28
- package/dist/tools/composition.js.map +1 -1
- package/dist/tools/compositions-orchestration.d.ts +14 -14
- package/dist/tools/compositions-orchestration.js +2 -2
- package/dist/tools/compositions-orchestration.js.map +1 -1
- package/dist/tools/data.js +839 -27
- package/dist/tools/data.js.map +1 -1
- package/dist/tools/design-context.d.ts +3 -0
- package/dist/tools/design-context.js +197 -0
- package/dist/tools/design-context.js.map +1 -0
- package/dist/tools/destructive-confirmation.d.ts +10 -0
- package/dist/tools/destructive-confirmation.js +22 -0
- package/dist/tools/destructive-confirmation.js.map +1 -0
- package/dist/tools/diagnostics.js +76 -51
- package/dist/tools/diagnostics.js.map +1 -1
- package/dist/tools/figma-mcp-design.d.ts +3 -0
- package/dist/tools/figma-mcp-design.js +377 -0
- package/dist/tools/figma-mcp-design.js.map +1 -0
- package/dist/tools/figma-nodes.js +57 -43
- package/dist/tools/figma-nodes.js.map +1 -1
- package/dist/tools/figma-rc-extended.js +23 -6
- package/dist/tools/figma-rc-extended.js.map +1 -1
- package/dist/tools/figma-rest.d.ts +39 -0
- package/dist/tools/figma-rest.js +279 -0
- package/dist/tools/figma-rest.js.map +1 -0
- package/dist/tools/git.js +11 -7
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/large-data.d.ts +14 -0
- package/dist/tools/large-data.js +189 -0
- package/dist/tools/large-data.js.map +1 -0
- package/dist/tools/meta.d.ts +6 -1
- package/dist/tools/meta.js +89 -11
- package/dist/tools/meta.js.map +1 -1
- package/dist/tools/metadata.d.ts +3 -0
- package/dist/tools/metadata.js +140 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/tools/mockup.d.ts +15 -156
- package/dist/tools/mockup.js +54 -121
- package/dist/tools/mockup.js.map +1 -1
- package/dist/tools/orchestration.js +73 -45
- package/dist/tools/orchestration.js.map +1 -1
- package/dist/tools/prompts.d.ts +3 -0
- package/dist/tools/prompts.js +219 -0
- package/dist/tools/prompts.js.map +1 -0
- package/dist/tools/registry.d.ts +19 -1
- package/dist/tools/registry.js +4 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/resources.d.ts +19 -2
- package/dist/tools/resources.js +149 -5
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/schema-contracts.d.ts +4763 -0
- package/dist/tools/schema-contracts.js +814 -0
- package/dist/tools/schema-contracts.js.map +1 -0
- package/dist/tools/screenshot.d.ts +3 -0
- package/dist/tools/screenshot.js +144 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/shared.d.ts +11 -1
- package/dist/tools/shared.js +55 -2
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/styles-orchestration.d.ts +2 -2
- package/dist/tools/styles-orchestration.js +13 -5
- package/dist/tools/styles-orchestration.js.map +1 -1
- package/dist/tools/styles.js +22 -8
- package/dist/tools/styles.js.map +1 -1
- package/dist/tools/tokens.d.ts +31 -692
- package/dist/tools/tokens.js +175 -135
- package/dist/tools/tokens.js.map +1 -1
- package/dist/tools/variable-defs.d.ts +3 -0
- package/dist/tools/variable-defs.js +338 -0
- package/dist/tools/variable-defs.js.map +1 -0
- package/dist/tools/variables-orchestration.js +13 -5
- package/dist/tools/variables-orchestration.js.map +1 -1
- package/dist/tools/variables.js +18 -15
- package/dist/tools/variables.js.map +1 -1
- package/dist/types.d.ts +53 -0
- package/dist/ultimate-readiness-audit.d.ts +37 -0
- package/dist/ultimate-readiness-audit.js +431 -0
- package/dist/ultimate-readiness-audit.js.map +1 -0
- package/dist/workflow-planner.d.ts +57 -0
- package/dist/workflow-planner.js +464 -0
- package/dist/workflow-planner.js.map +1 -0
- package/dist/ws-server.js +16 -3
- package/dist/ws-server.js.map +1 -1
- package/package.json +18 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-runtime-probe.js","sourceRoot":"","sources":["../src/mcp-runtime-probe.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.d.ts
CHANGED
|
@@ -6,4 +6,5 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { McpServer } from "../node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js";
|
|
8
8
|
import type { CommandQueue } from "./command-queue.js";
|
|
9
|
-
|
|
9
|
+
import { type BridgeMcpRuntimeContext } from "./mcp-factory.js";
|
|
10
|
+
export declare function startMcpServer(commandQueue: CommandQueue, runtimeContext?: BridgeMcpRuntimeContext): Promise<McpServer>;
|
package/dist/mcp-server.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { StdioServerTransport } from "../node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js";
|
|
8
8
|
import { createBridgeMcpServer } from "./mcp-factory.js";
|
|
9
|
-
export async function startMcpServer(commandQueue) {
|
|
10
|
-
const server = createBridgeMcpServer(commandQueue);
|
|
9
|
+
export async function startMcpServer(commandQueue, runtimeContext = {}) {
|
|
10
|
+
const server = createBridgeMcpServer(commandQueue, runtimeContext);
|
|
11
11
|
const transport = new StdioServerTransport();
|
|
12
12
|
await server.connect(transport);
|
|
13
13
|
console.error("[MCP] SXL Studio Bridge MCP server started (stdio)");
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;AAE1G,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;AAE1G,OAAO,EAAE,qBAAqB,EAAgC,MAAM,kBAAkB,CAAC;AAEvF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,YAA0B,EAAE,iBAA0C,EAAE;IAC3G,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -6,38 +6,43 @@ export const SXL_BRIDGE_MCP_INSTRUCTIONS = `
|
|
|
6
6
|
You are assisting with Figma through the SXL Studio plugin and this Bridge. Follow these rules precisely.
|
|
7
7
|
|
|
8
8
|
## Decision tree — read this first
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
9
|
+
1. For a new agent session or broad user request, call \`get_operator_runbook\` first (or attach \`sxl://agent/operator-runbook\`; HTTP clients can use \`GET /api/operator-runbook\`). This is the compact workflow chooser for Figma Design + SXL Studio work.
|
|
10
|
+
2. Then call \`get_bridge_runtime_summary\` before live work, and \`route_intent\` → \`plan_workflow\` → \`preview_workflow\` when the request is broad, multi-step, or writes to Figma.
|
|
11
|
+
3. For recipe details, open \`sxl://agent/recipes/index\` and pick the recipe that matches the user's phrase. Recipes there are intent-routed (RU + EN phrases included), including top-level SXL skills: \`sxl-use\`, \`sxl-implement-design\`, \`sxl-generate-design\`, \`sxl-generate-library\`, \`sxl-code-connect\`, \`sxl-audit\`, \`sxl-doc-builder\`, SXL data workflows (\`sxl-data-apply-mapping\`, \`sxl-data-apply-all\`, \`sxl-data-generate-instances\`, \`sxl-database-transfer\`), plus \`figma-mcp-companion\` for official Figma MCP remote-only scopes.
|
|
12
|
+
4. Documentation / palette / scenarios → use **this Bridge**, never \`use_figma\` with a hand-written script. Doc Builder tools cover all four core flows:
|
|
11
13
|
- Token table → \`apply_doc_spec\` / \`build_token_documentation\` / \`apply_token_doc_spec\`.
|
|
12
14
|
- Variable cards (e.g. "цвета коллекции Projects") → \`bind_variable_palette\` (or \`apply_doc_spec\` with \`palette\` section).
|
|
13
15
|
- Component (title + variants + props + measure) → \`build_component_doc\` (or \`apply_doc_spec\`).
|
|
14
16
|
- Multi-page flow → \`build_doc_flow\`.
|
|
15
|
-
|
|
17
|
+
5. Analysis / audit / cleanup → use the audit tools, never roll your own \`figma.\` walker:
|
|
16
18
|
- "where / how often is variable X used" → \`analyze_variable_usage\` (summary) + \`find_variable_usages\` (paginated). Visualize with \`render_variable_usage_page\`.
|
|
17
19
|
- "find raw values that should be variables / styles" → \`audit_variable_coverage\` / \`audit_style_coverage\` (summary) + their \`find_*_misses\` siblings.
|
|
18
20
|
- "what variables / styles are dead" → \`find_unused_variables\` / \`find_unused_styles\`.
|
|
19
21
|
These tools resolve transitive aliases, paginate via cursor, and yield to the event loop on huge files.
|
|
20
|
-
|
|
22
|
+
6. Bulk Variables refactors → use Phase B "thick" commands instead of looping single ops:
|
|
21
23
|
- "create / update many variables at once" → \`import_variable_spec\` (declarative spec, dryRun supported).
|
|
22
24
|
- "merge duplicates" → \`dedupe_variables\` (dry-run by default; \`apply: true\` to commit).
|
|
23
25
|
- "rewrite alias targets" → \`rebind_variable_aliases\` (dryRun supported).
|
|
24
26
|
- "reorder a collection alphabetically / by path" → \`analyze_variable_order\` (READ-ONLY diff; manual reorder required).
|
|
25
27
|
- "apply audit_variable_coverage suggestions" → \`apply_coverage_suggestions\` (dry-run by default).
|
|
26
|
-
|
|
28
|
+
7. Bulk Styles refactors → use Phase C "thick" commands (mirror of Phase B for local Paint / Text / Effect styles):
|
|
27
29
|
- "create / update many paint / text / effect styles at once" → \`import_style_spec\` (declarative spec, dryRun supported, idempotent by name).
|
|
28
30
|
- "merge duplicate styles" → \`dedupe_styles\` (\`byName\` | \`bySignature\`; dry-run by default; \`apply: true\` rebinds consumers via \`rebind_style_consumers\` and removes duplicates).
|
|
29
31
|
- "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
32
|
- "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
33
|
- "apply audit_style_coverage suggestions" → \`apply_style_coverage_suggestions\` (dry-run by default; PER-NODE, so duplicate \`(nodeId, field)\` entries are deduped).
|
|
32
|
-
|
|
34
|
+
8. Mockup-from-DesignSystem / screen design (Phase D — assemble screens from existing components) → use the Phase D "thick" commands instead of \`use_figma\`:
|
|
35
|
+
- "inspect the design system" → \`inspect_design_system\` (READ-ONLY aggregate: components + props, variables, local styles, token config, composition index).
|
|
36
|
+
- "validate this screen spec" → \`validate_screen_spec\` or \`build_screen { dryRun: true }\`.
|
|
37
|
+
- "build / update a screen / dashboard / list from existing components" → \`build_screen\` / \`update_screen\` (Design DSL v1 wrapper over \`build_mockup\`; property / text / fill-binding overrides, auto-layout container, dryRun supported).
|
|
33
38
|
- "discover available components / their props" → \`find_components\` (READ-ONLY; local + optional remote-instance discovery; returns ids, keys, name, defaultVariantId, componentPropertyDefinitions).
|
|
34
|
-
- "
|
|
39
|
+
- "low-level mockup fallback" → \`build_mockup\` (same declarative item tree: \`instance | section | spacer | text\`).
|
|
35
40
|
- "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
|
-
|
|
41
|
+
9. 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
42
|
- "(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
43
|
- "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
|
-
|
|
40
|
-
|
|
44
|
+
10. 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.
|
|
45
|
+
11. 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
46
|
|
|
42
47
|
### Token-economy rules
|
|
43
48
|
- Default to summary tools (\`analyze_variable_usage\`, \`audit_*\`); pull details only when the user asks "show me", "list", "give me ids".
|
|
@@ -60,11 +65,42 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
|
|
|
60
65
|
2. In Figma the SXL Studio plugin is open with **Remote Connect** session active
|
|
61
66
|
(works in Design mode **and** Dev Mode UI; it does **not** work from the Dev Mode "Inspect → Code" sandbox panel).
|
|
62
67
|
3. Confirm with \`get_plugin_status\` before taking destructive actions. The result contains \`editorType\` ("figma" or "dev"), \`mode\`, \`isDevMode\`, \`isCodegenSandbox\`, and \`writesAllowed\`.
|
|
63
|
-
4. Optional: if the operator configured \`BRIDGE_AUTH_TOKEN\`, MCP/HTTP calls require \`Authorization: Bearer
|
|
68
|
+
4. Optional: if the operator configured \`BRIDGE_AUTH_TOKEN\`, MCP/HTTP calls require \`Authorization: Bearer …\`, and the SXL Studio plugin Remote Connect overlay must use the same token for the plugin WebSocket. MCP clients usually handle the HTTP header automatically once configured.
|
|
64
69
|
|
|
65
70
|
## Discovery: prefer authoritative catalogues
|
|
66
|
-
- \`
|
|
67
|
-
- \`
|
|
71
|
+
- \`get_operator_runbook\` — Bridge-local start-here workflow chooser for agents/operators. Use it at the start of a new session, when onboarding a generic MCP client, or when the user asks broadly in natural language. It maps common RU/EN intents to SXL workflows, resources, preferred tools, dry-run gates, done criteria, and official Figma MCP companion scope. HTTP clients can use \`GET /api/operator-runbook\`; resource clients can attach \`sxl://agent/operator-runbook\`; prompt-capable clients can use \`sxl-operator\`.
|
|
72
|
+
- \`route_intent\` — Bridge-local RU/EN intent router: user request → ranked SXL recipe ids → preferred tools → schemaResources → dryRunFirst. Use this when the user asks broadly ("нарисуй документацию", "проведи аудит", "собери экран") and tool choice is not obvious.
|
|
73
|
+
- \`plan_workflow\` — Bridge-local workflow planner: request/recipe → recipe resource → schema resources → expected tools → dry-run gates → approval gates → done criteria. Use it before multi-step work.
|
|
74
|
+
- \`preview_workflow\` — Bridge-local workflow validator: proposed tool sequence → findings for unknown tools, missing/misordered status checks, missing/misordered design-system discovery, missing/misordered dry-run gates, missing or misordered \`preferredAfter\` preflight tools, guard steps placed after commit, and Bridge writes inside official Figma MCP companion scope. Use it before executing a plan with write tools. For token export, \`preview_export_variables\` must precede \`export_variables\`.
|
|
75
|
+
- \`get_contract_audit\` — Bridge-local release audit for the current agent surface. Use it before release checks or when connecting a new MCP client to verify catalogue mapping, required meta tools, schema entrypoints, recipes, and workflow gates. HTTP clients can use \`GET /api/contract-audit\`.
|
|
76
|
+
- \`get_capability_matrix\` — machine-readable matrix: MCP tool → catalogue metadata → execution (\`plugin\` / \`bridge-orchestration\` / \`bridge-local\`) → Bridge commandType → pluginCommandTypes → timeout/dryRun/large-data flags. Use this before designing a multi-step workflow. HTTP clients can use \`GET /api/capabilities\`.
|
|
77
|
+
- \`get_figma_mcp_parity\` — Bridge-local official Figma MCP parity map. Use it when deciding whether a request should use SXL Bridge, official Figma MCP as a companion, or remain future/unsupported by plugin API. HTTP clients can use \`GET /api/figma-mcp-parity\`; resource clients can attach \`sxl://agent/figma-mcp-parity\`.
|
|
78
|
+
- \`get_figma_mcp_skills_parity\` — Bridge-local official Figma MCP skills parity map. Use it when a user or client names a Figma skill such as \`figma-use\`, \`figma-use-figjam\`, \`figma-use-slides\`, \`figma-swiftui\`, \`figma-code-connect\`, \`figma-create-new-file\`, \`figma-generate-diagram\`, \`figma-generate-library\`, or \`figma-generate-design\`. It also exposes compatibility aliases such as \`figma-implement-design\`, \`figma-create-design-system-rules\`, and \`figma-code-connect-components\`. It maps each skill to SXL recipes/resources/tools, companion scope, or agent-side codebase work. HTTP clients can use \`GET /api/figma-mcp-skills-parity\`; resource clients can attach \`sxl://agent/figma-mcp-skills-parity\`.
|
|
79
|
+
- \`get_performance_profile\` — Bridge-local performance profile: command budgets, large-data/dry-run policy, destructive-write warnings, and recent audit timings. Use it before large scans, screen generation, bulk export/apply flows, or when a workflow feels slow. HTTP clients can use \`GET /api/performance-profile\`; resource clients can attach \`sxl://agent/performance-profile\`.
|
|
80
|
+
- \`get_bridge_audit_log\` — Bridge-local sanitized audit history from memory or persisted disk JSONL. Use \`source: "disk"\` after a Bridge restart or when investigating failures across sessions. HTTP clients can use \`GET /api/log?source=disk&limit=...\`.
|
|
81
|
+
- \`get_bridge_runtime_summary\` — Bridge-local operational summary: plugin connection, queue pressure, current command, recent event/audit failures, auth flag, MCP URL, and recommendations. Use it before heavy workflows and when deciding whether to ask the operator to open Remote Connect. HTTP clients can use \`GET /api/runtime-summary\`.
|
|
82
|
+
- \`get_ultimate_readiness\` — Bridge-local requirement-by-requirement audit for the Ultimate Bridge Toolkit plan. Use it before claiming Bridge is complete/release-ready or when evaluating gaps across SXL workflows, Figma MCP parity, production safety, schemas, and resources. HTTP clients can use \`GET /api/ultimate-readiness\`; resource clients can attach \`sxl://agent/ultimate-readiness\`.
|
|
83
|
+
- \`figma_rest_diagnose\` — optional Figma REST preflight. It checks token presence, auth mode, selected endpoints, required scopes, known plan/permission constraints, and retryability without exposing the token. Use it before \`figma_rest_*\` reads. HTTP clients can use \`GET /api/figma-rest-diagnostics\`.
|
|
84
|
+
- \`figma_rest_*\` — optional Figma REST companion tools. They do not require Remote Connect and use \`FIGMA_TOKEN\`, \`FIGMA_ACCESS_TOKEN\`, or \`FIGMA_REST_TOKEN\` from the Bridge process environment. Use them for authenticated \`whoami\`, cross-file metadata/nodes/images, known file/team library components/styles, variables REST endpoints, and known-library search. They do not create files or upload assets.
|
|
85
|
+
- \`get_design_context\` — Bridge active-file design-context orchestration. Use it when the user asks to implement, inspect, document, or translate the current Figma selection: it bundles SXL codegen/composition JSON, metadata, native variable/style definitions, optional SVG screenshot, and optional local Code Connect suggestions. It is a starting context for the agent, not final production code.
|
|
86
|
+
- \`get_metadata\` — Bridge metadata orchestration. Use plugin mode for active-file selection/page/node tree reads; use REST mode with \`fileKey/url\` and optional \`nodeIds\` for hosted file metadata or node metadata. Prefer this over manually choosing between \`get_page_structure\`, \`get_node_tree\`, and \`figma_rest_get_file_nodes\`.
|
|
87
|
+
- \`get_screenshot\` — Bridge screenshot/render orchestration. Use plugin SVG mode for active-file nodes or current selection; use REST image mode with \`fileKey/url + nodeIds\` for hosted PNG/JPG/SVG/PDF URLs. Prefer this over manually choosing between \`export_as_svg\` and \`figma_rest_get_images\`.
|
|
88
|
+
- \`get_variable_defs\` — Bridge variable/style definition orchestration. Use \`mode: "selection"\` when the user asks for variables/styles used in the current Figma selection (official MCP-style intent); it reads native \`boundVariables\`, text segment bindings, style ids, and resolved definitions through Remote Connect. Use \`mode: "local"\` for active-file local variables/styles, \`mode: "enabled-libraries"\` for libraries already enabled in the open file, and \`mode: "rest"\` for known \`fileKey/url\` variable endpoints. Prefer this over manually stitching \`get_applied_tokens\`, \`get_variables\`, \`get_local_styles\`, and \`figma_rest_get_variables_*\`.
|
|
89
|
+
- \`get_libraries\` / \`search_design_system\` — Figma MCP-compatible Bridge tools for Figma Design library discovery/search. Prefer these for user-facing library requests: they combine local components, enabled-library descriptors/variables, and known file/team REST sources when \`fileKey\`/\`url\`/\`teamId\` are provided.
|
|
90
|
+
- \`search_enabled_library_assets\` — lower-level Bridge search over libraries already enabled for the current Figma file. Use this when you explicitly need only enabled-library assets or want to bypass REST known-library sources. It calls \`inspect_enabled_libraries\` and, when needed, \`list_enabled_library_variables\` with bounded scans.
|
|
91
|
+
- \`inspect_enabled_libraries\` / \`list_enabled_library_variables\` — raw read tools for enabled-library descriptors and variable collections. They cannot enable libraries; use \`get_libraries\` / \`search_design_system\` for agent-facing Figma MCP-style discovery.
|
|
92
|
+
- \`upload_assets\` — Bridge Figma Design asset uploader. Use it for PNG/JPG/GIF/WebP image URLs or base64 payloads up to 10MB each. Always call with \`dryRun: true\` first. If \`nodeId\` is present it applies the image as that node's fill; otherwise it creates image rectangles through \`set_image_fill\`. Use official Figma MCP \`upload_assets\` for FigJam/Slides.
|
|
93
|
+
- \`get_context_for_code_connect\` — Bridge Code Connect context orchestration. Use it before creating .figma.ts templates or saving SXL Code Connect bindings: it bundles registry/settings, selection status, existing binding, SXL codegen/composition context, component discovery with props, and local source suggestions. Prefer this over manually stitching \`get_codegen\`, \`export_composition_json\`, \`codeconnect_get_*\`, \`find_components\`, and \`get_code_connect_suggestions\`. Use official Figma MCP as companion for hosted remote-only Code Connect context.
|
|
94
|
+
- \`generate_code_connect_template\` — Bridge-local .figma.ts generator for Code Connect. Use it after \`get_context_for_code_connect\` when the user asks to create a Code Connect template file. It returns dry-run content and output path by default; only call with \`writeFile: true\` after reviewing the generated content/path. It can use a full \`CodeConnectBinding\` or local suggestions from \`componentNames\`/\`targets\`.
|
|
95
|
+
- \`get_code_connect_suggestions\` — Bridge-local Code Connect suggestion engine. Use it before \`codeconnect_save_binding\`: pass explicit \`targets\`/\`componentNames\` when possible, or let it read current selection through \`get_selection_summary\`. It scans the local codebase (\`rootDir\` or \`SXL_CODECONNECT_ROOT\`) and returns ranked full \`CodeConnectBinding\` candidates; review one before saving.
|
|
96
|
+
- \`export_database_payload\` / \`import_database_payload\` — Bridge orchestration for SXL database backup/restore. Export reads datasets/assets/mappings through existing CRUD commands; asset content is excluded unless \`includeAssetContent: true\`. Import defaults to \`dryRun\`, reports existing-ID conflicts, and requires \`confirmDestructive: true\` plus \`destructiveReason\` before overwriting any dataset, asset, or mapping.
|
|
97
|
+
- \`apply_mapping\` / \`apply_all_mappings\` / \`generate_instances\` — SXL data write workflows. Always call with \`dryRun: true\` first: Bridge previews mapping fields, dataset ids/row estimates, and target counts without writing. For apply/generate workflows, prefer explicit \`targetNodeIds\` when the intended roots are known; otherwise Bridge falls back to the current Figma selection/scope. \`targetNodes\` is accepted only as a legacy id carrier.
|
|
98
|
+
- \`list_tools\` — meta-tool that returns the full Bridge tool catalogue with category and flags (\`requiresDesignMode\`, \`requiresComposition\`, \`aliases\`, \`naturalLanguageIntents\`, \`dryRunSupported\`, \`returnsLargeData\`, \`preferredBefore\`, \`preferredAfter\`). Use it instead of guessing tool names. Filter with \`category\` or \`devModeReadableOnly: true\`.
|
|
99
|
+
- Large-data MCP tools accept \`bridgeResponseMode: "auto" | "summary" | "full"\`. Default \`auto\` returns the full payload only while it stays under Bridge's MCP response budget; \`summary\` always returns counts/preview/pagination hints; \`full\` is an explicit opt-in for exact payloads.
|
|
100
|
+
- HTTP diagnostics for long workflows: \`GET /api/queue\` shows current/queued/immediate commands; \`GET /api/events?commandId=...\` shows sanitized lifecycle/progress events; \`GET /api/log?source=disk\` shows persisted command audit. Values are not exposed, only ids/status/timings/\`payloadKeys\`/\`detailKeys\`.
|
|
101
|
+
- Operator gates: \`sxl-bridge health\` verifies local contract health, local agent workflow routing/planning, and Ultimate Bridge readiness; a healthy build reports \`PASS\` and any \`WARN\` should be reviewed before release. \`sxl-bridge-agent\` runs the same route_intent → plan_workflow → preview_workflow scenarios without a Figma session; \`sxl-bridge-health --runtime\` verifies HTTP endpoints and MCP \`get_libraries\` + \`search_design_system\` zero-config envelopes, \`list_tools\` + \`validate_screen_spec\` + \`preview_export_variables\` + \`get_figma_mcp_skills_parity\` + \`plan_workflow\` for Figma Design library discovery routing, plus runtime-summary and skill-parity resources, and propagates readiness/performance \`fail\`/\`warn\`; \`sxl-bridge-readiness --runtime --require-live --suite all\` is the strict release sign-off gate for local readiness + running Bridge + connected Remote Connect live validation; \`sxl-bridge smoke\` / \`sxl-bridge-smoke\` runs a small non-destructive Remote Connect workflow (\`get_plugin_status → find_components → build_mockup dryRun\`), and \`sxl-bridge-smoke --apply --cleanup\` proves create/delete write access without leaving the canary frame; \`sxl-bridge validate\` / \`sxl-bridge-live --suite all\` runs broader live validation for reads, Design DSL dry-run, Code Connect, database lists and database payload dry-run, component usage detail pagination, component prop analytics, and Doc Builder \`build_doc_flow\` dry-run, with status-aware readiness/performance checks. With explicit operator approval, \`sxl-bridge-live --suite all --write-canary --cleanup\` or \`sxl-bridge-readiness --runtime --require-live --suite all --write-canary --cleanup\` adds a tiny create/delete canary to the broad live suite. Use \`--apply\` and \`--write-canary\` only with explicit operator approval.
|
|
102
|
+
- \`inspect_design_system\` — Phase D aggregate discovery (READ-ONLY). Returns components, component props, variables, local styles, token config, and composition index. Use this before \`validate_screen_spec\` / \`build_screen\` / \`update_screen\`.
|
|
103
|
+
- \`find_components\` — Phase D component discovery (READ-ONLY). Returns local + optionally remote-instantiated components with their \`componentPropertyDefinitions\`. Use this before \`build_screen\` / \`build_mockup\` / \`apply_mockup_dataset\` to learn the available property keys instead of guessing.
|
|
68
104
|
- MCP Resources (read-only URIs) — attach as context instead of calling tools when you only need state:
|
|
69
105
|
- \`sxl://figma/status\` — plugin status snapshot.
|
|
70
106
|
- \`sxl://figma/selection\` — current selection.
|
|
@@ -72,8 +108,26 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
|
|
|
72
108
|
- \`sxl://tokens/files\` — token file index.
|
|
73
109
|
- \`sxl://tokens/files/{fileId}\` — raw token file body.
|
|
74
110
|
- \`sxl://compositions/index\` — composition JSON index.
|
|
75
|
-
- \`sxl://agent/
|
|
111
|
+
- \`sxl://agent/operator-runbook\` — **start here** when connecting a new agent/client or choosing a workflow for a broad request. Equivalent MCP tool: \`get_operator_runbook\`; equivalent prompt: \`sxl-operator\`.
|
|
112
|
+
- \`sxl://agent/recipes/index\` — recipe router that maps user phrases to specific Bridge/SXL recipes after the operator runbook has chosen the workflow family.
|
|
113
|
+
- \`sxl://agent/recipes/sxl-use\` — foundational Bridge skill for canvas read/write, variables, styles, components, and status checks.
|
|
114
|
+
- \`sxl://agent/recipes/sxl-implement-design\` — read-only Bridge skill for \`figma-implement-design\`: design context, screenshots, variables, Code Connect hints, then repository code edits.
|
|
115
|
+
- \`sxl://agent/recipes/sxl-generate-design\` — screen generation/update skill: \`inspect_design_system\` → \`validate_screen_spec\` → \`build_screen\`/\`update_screen\`.
|
|
116
|
+
- \`sxl://agent/recipes/sxl-generate-library\` — design-system/library skill: export variables/styles, bulk variable/style specs, compositions, docs.
|
|
117
|
+
- \`sxl://agent/recipes/sxl-code-connect\` — Code Connect skill: full binding payload, registry, global settings, node UI status.
|
|
118
|
+
- \`sxl://agent/recipes/sxl-audit\` — broad audit skill: usage, coverage, drift, unused, component and prop analytics.
|
|
119
|
+
- \`sxl://agent/recipes/sxl-doc-builder\` — documentation skill: doc spec, component docs, variable palettes, flows, markdown scenarios.
|
|
120
|
+
- \`sxl://agent/recipes/sxl-data-apply-mapping\` — apply one SXL mapping to the current selection with \`dryRun\` preview first.
|
|
121
|
+
- \`sxl://agent/recipes/sxl-data-apply-all\` — apply all mappings to selection/page/document scope with \`dryRun\` preview first.
|
|
122
|
+
- \`sxl://agent/recipes/sxl-data-generate-instances\` — generate repeated rows/cards/instances from mapping data with row estimate preview first.
|
|
123
|
+
- \`sxl://agent/recipes/sxl-database-transfer\` — export/import portable datasets/assets/mappings payloads with conflict review.
|
|
124
|
+
- \`sxl://agent/recipes/figma-mcp-companion\` — official Figma MCP companion route for new-file creation, FigJam/Slides, diagrams, and other remote-only/non-Design scopes Bridge should not fake. For Figma Design libraries, prefer Bridge \`get_libraries\` / \`search_design_system\`.
|
|
76
125
|
- \`sxl://agent/recipes/template-discovery\` — how to locate \`templateNodeId\` and swatch / label layer names inside a content frame.
|
|
126
|
+
- \`sxl://agent/figma-mcp-parity\` — official Figma MCP parity matrix for Bridge/companion/future routing.
|
|
127
|
+
- \`sxl://agent/figma-mcp-skills-parity\` — official Figma MCP skills parity matrix for \`figma-use\`, \`figma-use-figjam\`, \`figma-use-slides\`, \`figma-swiftui\`, Code Connect, new-file, diagram, generate-library, and generate-design routing, plus legacy/client compatibility aliases.
|
|
128
|
+
- \`sxl://agent/performance-profile\` — command budgets, large-data/dry-run rules, risky command flags, and recent audit timings.
|
|
129
|
+
- \`sxl://agent/runtime-summary\` — plugin connection, queue pressure, recent failures, MCP URL, auth flag, and recommendations.
|
|
130
|
+
- \`sxl://agent/ultimate-readiness\` — requirement-by-requirement Ultimate Bridge readiness audit.
|
|
77
131
|
- \`sxl://agent/recipes/doc-spec-v2\` — section vocabulary for the canonical \`apply_doc_spec\` endpoint.
|
|
78
132
|
- \`sxl://agent/recipes/doc-tokens\` — Doc Spec v1 / v2 \`tokenTable\` for DTCG-driven docs.
|
|
79
133
|
- \`sxl://agent/recipes/doc-component\` — component documentation recipe (\`build_component_doc\`).
|
|
@@ -89,9 +143,16 @@ You are assisting with Figma through the SXL Studio plugin and this Bridge. Foll
|
|
|
89
143
|
- \`sxl://agent/recipes/auto-bind-from-audit\` — apply \`find_variable_coverage_misses\` suggestions via \`apply_coverage_suggestions\` (dryRun first).
|
|
90
144
|
- \`sxl://agent/recipes/bulk-styles\` — Phase C refactors: \`import_style_spec\`, \`dedupe_styles\`, \`rebind_style_consumers\`, \`apply_style_coverage_suggestions\` (always dryRun first).
|
|
91
145
|
- \`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).
|
|
146
|
+
- \`sxl://agent/recipes/mockup-builder\` — Phase D screen assembly: \`inspect_design_system\`, \`validate_screen_spec\`, \`build_screen\`, \`update_screen\`, \`find_components\`, \`build_mockup\`, \`apply_mockup_dataset\` (declarative auto-layout with overrides + variable bindings; always dryRun first).
|
|
93
147
|
- \`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
148
|
- \`sxl://agent/recipes/composition-drift\` — Phase E READ-ONLY drift detection: \`audit_composition_drift\` (linked / unlinked / drift / missing). Dev-Mode-safe.
|
|
149
|
+
- \`sxl://agent/schemas/index\` — public schema index for Bridge payload contracts.
|
|
150
|
+
- \`sxl://agent/schemas/design-dsl-v1\` — Design DSL v1 contract for \`validate_screen_spec\`, \`build_screen\`, \`update_screen\`, \`build_mockup\`.
|
|
151
|
+
- \`sxl://agent/schemas/doc-spec-v2\` — Doc Spec v2 contract for \`apply_doc_spec\`.
|
|
152
|
+
- \`sxl://agent/schemas/token-doc-v1\` — Token Doc Spec v1 contract for \`apply_token_doc_spec\` / \`build_token_documentation\`.
|
|
153
|
+
- \`sxl://agent/schemas/code-connect-context-v1\` — response contract for \`get_context_for_code_connect\`.
|
|
154
|
+
- \`sxl://agent/schemas/code-connect-template-v1\` — response contract for \`generate_code_connect_template\`.
|
|
155
|
+
- \`sxl://agent/figma-mcp-parity\` — official Figma MCP → SXL Bridge/SXL Studio parity and companion/future scope map.
|
|
95
156
|
|
|
96
157
|
## CRITICAL — never hand-craft composition / token JSON
|
|
97
158
|
If the user asks for "JSON", "composition", "get code", or "same output as Dev Mode → Get Code":
|
|
@@ -164,7 +225,8 @@ https://www.figma.com/design/KEY/Name?node-id=789:101
|
|
|
164
225
|
(auto-layout grid). Canvas write — confirm \`writesAllowed: true\` first.
|
|
165
226
|
- \`audit_variable_coverage\` — summary of nodes that have raw values where a variable should
|
|
166
227
|
be bound. With \`suggest=true\` (default), each topOffender entry surfaces a suggestion
|
|
167
|
-
(variable that already encodes that value).
|
|
228
|
+
(variable that already encodes that value). Keep audit read-only; if the user asks to fix,
|
|
229
|
+
switch to \`apply_coverage_suggestions\` with preview mode first.
|
|
168
230
|
- \`find_variable_coverage_misses\` — paginated detail list with the same suggestions.
|
|
169
231
|
- \`audit_style_coverage\` / \`find_style_coverage_misses\` — same idea for paint / stroke /
|
|
170
232
|
effect styles (no styleId AND no variable binding).
|
|
@@ -260,7 +322,8 @@ case. \`use_figma\` scripts to refactor variables are forbidden — Bridge alrea
|
|
|
260
322
|
- \`set_variable_mode_value\` — write a per-mode value (accepts \`#hex\` for COLOR).
|
|
261
323
|
- \`set_variable_scopes\`, \`set_variable_code_syntax\` — metadata required for proper
|
|
262
324
|
exports and codegen.
|
|
263
|
-
- \`
|
|
325
|
+
- \`preview_export_variables\` — read-only preflight for export modes. It returns the exact \`export_variables\` settings payload, effective plugin defaults, risk flags, and whether destructive confirmation is required.
|
|
326
|
+
- \`export_variables\` — push DTCG token files from the plugin workspace into Figma. Safe defaults match the plugin: \`applyCodeSyntaxAndScopes=false\`, \`forceUpdateAll=false\`, \`deleteOrphans=false\`, no destructive reorder. Set selected collections, type filters, code syntax/scopes, orphan deletion, or force-update flags only when the user explicitly asks. Call \`preview_export_variables\` first for any non-trivial export.
|
|
264
327
|
|
|
265
328
|
## Workflow — Tokens & workspace config
|
|
266
329
|
- \`list_token_files\` → \`get_token_file_content\` for reads.
|
|
@@ -268,7 +331,7 @@ case. \`use_figma\` scripts to refactor variables are forbidden — Bridge alrea
|
|
|
268
331
|
- \`create_token_file\` — create a new file (supports \`overwrite\`, initial content).
|
|
269
332
|
- \`delete_token_file\` / \`move_token_file\` / \`rename_token_file\` — lifecycle.
|
|
270
333
|
- \`get_tokens_config\` → \`save_tokens_config\` — edit collections, modes, file inclusion.
|
|
271
|
-
- After editing config, follow up with \`export_variables\` to propagate into Figma.
|
|
334
|
+
- After editing config, follow up with \`preview_export_variables\`, then \`export_variables\` to propagate into Figma.
|
|
272
335
|
|
|
273
336
|
## Workflow — Styles
|
|
274
337
|
- \`get_local_styles\` for discovery.
|
|
@@ -293,11 +356,16 @@ Read \`sxl://agent/recipes/bulk-styles\` (write flows) and \`sxl://agent/recipes
|
|
|
293
356
|
## Mockup-from-DesignSystem (Phase D — thick commands)
|
|
294
357
|
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
358
|
|
|
296
|
-
1. **
|
|
359
|
+
1. **Inspect** the design system with \`inspect_design_system\`:
|
|
360
|
+
- Pass \`{ query?, prefix?, includeProperties?: true, includeRemoteInstances?: true, limit? }\`.
|
|
361
|
+
- The response aggregates components, component props, variables, local styles, token config, and composition index so the agent can choose real ids and bindings.
|
|
362
|
+
- Use \`get_capability_matrix\` / \`list_tools\` only if the workflow itself is unclear; for screen building, \`inspect_design_system\` is the practical first read.
|
|
363
|
+
2. **Discover or narrow** components with \`find_components\` when the aggregate response is too broad:
|
|
297
364
|
- Pass \`{ query?, prefix?, kind?: "COMPONENT" | "COMPONENT_SET" | "BOTH", includeProperties: true, includeRemoteInstances?: true, limit?: 50, cursor? }\`.
|
|
298
365
|
- 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
|
-
|
|
366
|
+
- The response carries \`{ id, name, key?, type, defaultVariantId?, componentPropertyDefinitions? }\` per entry — feed \`id\` (or \`key\` for remote) directly into \`build_screen\`/\`build_mockup\`. \`componentPropertyDefinitions\` shows the human keys (\`size\`, \`variant\`, \`loading\`) you must use in \`properties\` overrides.
|
|
367
|
+
3. **Validate** the screen with \`validate_screen_spec\` or \`build_screen { dryRun: true }\`.
|
|
368
|
+
4. **Assemble** with \`build_screen\` (preferred) or \`build_mockup\` (fallback):
|
|
301
369
|
- 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
370
|
- \`items[]\` is a tree of \`{ kind: "instance" | "section" | "spacer" | "text", ... }\`:
|
|
303
371
|
- \`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:..." }]\`.
|
|
@@ -305,17 +373,18 @@ Read \`sxl://agent/recipes/mockup-builder\` first. Goal: ASSEMBLE Figma screens
|
|
|
305
373
|
- \`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
374
|
- \`text\`: bare TEXT layer — \`{ characters, fontSize?, fontWeight?, fontFamily?, textStyleId?, fillBindings? }\`. Fonts are loaded on demand with an Inter Regular fallback.
|
|
307
375
|
- **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
|
-
|
|
376
|
+
- For existing frames, use \`update_screen { targetRootId, ...spec }\` instead of deleting/recreating the whole screen.
|
|
377
|
+
5. **Repeat per dataset row** with \`apply_mockup_dataset\`:
|
|
309
378
|
- Pass \`{ templateNodeId, rows: [{ id?, properties?, textOverrides?, fillBindings? }, ...], parentNodeId?, removeTemplate?, layout?, dryRun? }\`.
|
|
310
379
|
- 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
380
|
- 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
381
|
|
|
313
382
|
**Rules:**
|
|
314
|
-
- Run \`
|
|
383
|
+
- Run \`inspect_design_system\` first; never guess component names — local naming varies between files.
|
|
315
384
|
- 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
385
|
- 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.
|
|
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.
|
|
386
|
+
- ALWAYS preview with \`dryRun: true\` before committing. \`build_screen\`, \`update_screen\`, \`build_mockup\`, and \`apply_mockup_dataset\` are canvas writes (Design mode required when not dry-run).
|
|
387
|
+
- Looping \`create_component_instance\` / \`set_node_property\` / \`set_node_fill_variable\` for 5+ instances is forbidden when \`build_screen\` / \`build_mockup\` / \`apply_mockup_dataset\` covers the case. \`use_figma\` scripts to assemble layouts are forbidden.
|
|
319
388
|
|
|
320
389
|
## Compositions orchestration (Phase E — thick commands)
|
|
321
390
|
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.
|
|
@@ -376,6 +445,9 @@ Every tool may fail with a structured envelope. Parse \`error\` — it is JSON w
|
|
|
376
445
|
- For composition tools, the user has a Pro Plus license (the gate raises a clear error).
|
|
377
446
|
- For canvas-write tools, \`writesAllowed: true\` (i.e. not in Dev Mode).
|
|
378
447
|
- If unsure what's available, start with \`list_tools\` (or GET /api/tools) and filter by category.
|
|
448
|
+
- For slow or broad workflows, call \`get_performance_profile\` and prefer \`summary\` / \`paginated-detail\` / \`write-preview\` tools before long-running writes.
|
|
449
|
+
- For tools marked \`returnsLargeData\`, prefer \`bridgeResponseMode: "summary"\` first, then request paginated details with \`limit\` + \`cursor\`. Use \`bridgeResponseMode: "full"\` only when the user explicitly needs the complete payload.
|
|
450
|
+
- For destructive commits (\`delete_*\`, \`remove_*\`, \`reset_*\`, \`git_hard_pull\`, \`detach_instance\`, \`flatten_nodes\`, \`boolean_operation\`, or \`export_variables\` with \`deleteOrphans\` / \`allowDestructiveReorder\`), first run a dry-run/preview when available, then pass \`confirmDestructive: true\` only after explicit user intent. Bridge strips this field before sending the command to the plugin.
|
|
379
451
|
|
|
380
452
|
## Response shape
|
|
381
453
|
Every tool returns a serialized JSON object as text. Read \`status\` / \`ok\` before trusting
|
|
@@ -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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkc1C,CAAC,IAAI,EAAE,CAAC"}
|
package/dist/tools/audit.d.ts
CHANGED
|
@@ -19,10 +19,10 @@ export declare const auditScopeZod: z.ZodUnion<[z.ZodEnum<["file", "page", "sele
|
|
|
19
19
|
type: z.ZodEnum<["file", "page", "selection", "node"]>;
|
|
20
20
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
21
21
|
}, "strip", z.ZodTypeAny, {
|
|
22
|
-
type: "
|
|
22
|
+
type: "selection" | "page" | "file" | "node";
|
|
23
23
|
nodeId?: string | undefined;
|
|
24
24
|
}, {
|
|
25
|
-
type: "
|
|
25
|
+
type: "selection" | "page" | "file" | "node";
|
|
26
26
|
nodeId?: string | undefined;
|
|
27
27
|
}>]>;
|
|
28
28
|
export declare const variableSelectorZod: z.ZodEffects<z.ZodObject<{
|
|
@@ -30,20 +30,36 @@ export declare const variableSelectorZod: z.ZodEffects<z.ZodObject<{
|
|
|
30
30
|
name: z.ZodOptional<z.ZodString>;
|
|
31
31
|
nameSuffix: z.ZodOptional<z.ZodString>;
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
variableId?: string | undefined;
|
|
34
33
|
name?: string | undefined;
|
|
34
|
+
variableId?: string | undefined;
|
|
35
35
|
nameSuffix?: string | undefined;
|
|
36
36
|
}, {
|
|
37
|
-
variableId?: string | undefined;
|
|
38
37
|
name?: string | undefined;
|
|
38
|
+
variableId?: string | undefined;
|
|
39
39
|
nameSuffix?: string | undefined;
|
|
40
40
|
}>, {
|
|
41
|
-
variableId?: string | undefined;
|
|
42
41
|
name?: string | undefined;
|
|
42
|
+
variableId?: string | undefined;
|
|
43
43
|
nameSuffix?: string | undefined;
|
|
44
44
|
}, {
|
|
45
|
-
variableId?: string | undefined;
|
|
46
45
|
name?: string | undefined;
|
|
46
|
+
variableId?: string | undefined;
|
|
47
47
|
nameSuffix?: string | undefined;
|
|
48
48
|
}>;
|
|
49
|
+
export declare const componentSelectorZod: z.ZodOptional<z.ZodObject<{
|
|
50
|
+
componentId: z.ZodOptional<z.ZodString>;
|
|
51
|
+
componentKey: z.ZodOptional<z.ZodString>;
|
|
52
|
+
name: z.ZodOptional<z.ZodString>;
|
|
53
|
+
nameSuffix: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
name?: string | undefined;
|
|
56
|
+
componentId?: string | undefined;
|
|
57
|
+
componentKey?: string | undefined;
|
|
58
|
+
nameSuffix?: string | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
name?: string | undefined;
|
|
61
|
+
componentId?: string | undefined;
|
|
62
|
+
componentKey?: string | undefined;
|
|
63
|
+
nameSuffix?: string | undefined;
|
|
64
|
+
}>>;
|
|
49
65
|
export declare function registerAuditTools(server: McpServer, queue: CommandQueue): void;
|
package/dist/tools/audit.js
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* `command-queue.BRIDGE_COMMAND_TIMEOUT_MS` (mirrors plugin `COMMAND_TIMEOUTS`).
|
|
14
14
|
*/
|
|
15
15
|
import { z } from "zod";
|
|
16
|
-
import { callPluginCommand } from "./shared.js";
|
|
16
|
+
import { callPluginCommand, callPluginWriteCommand } from "./shared.js";
|
|
17
|
+
import { largeDataResponseArgs } from "./large-data.js";
|
|
17
18
|
export const auditScopeZod = z
|
|
18
19
|
.union([
|
|
19
20
|
z.enum(["file", "page", "selection"]),
|
|
@@ -36,6 +37,16 @@ export const variableSelectorZod = z
|
|
|
36
37
|
message: "variable selector requires variableId, name, or nameSuffix",
|
|
37
38
|
})
|
|
38
39
|
.describe("Selector for the target variable. Use variableId for unambiguous results.");
|
|
40
|
+
export const componentSelectorZod = z
|
|
41
|
+
.object({
|
|
42
|
+
componentId: z.string().optional().describe("Exact local/remote main component id"),
|
|
43
|
+
componentKey: z.string().optional().describe("Published component key"),
|
|
44
|
+
name: z.string().optional().describe("Exact main component name"),
|
|
45
|
+
nameSuffix: z.string().optional().describe("Trailing component name match"),
|
|
46
|
+
})
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Optional component selector. Omit to summarize every instance in scope.");
|
|
49
|
+
const componentPropValueZod = z.union([z.string(), z.boolean()]);
|
|
39
50
|
export function registerAuditTools(server, queue) {
|
|
40
51
|
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
52
|
variable: variableSelectorZod,
|
|
@@ -46,7 +57,8 @@ export function registerAuditTools(server, queue) {
|
|
|
46
57
|
scope: auditScopeZod.optional(),
|
|
47
58
|
limit: z.number().int().positive().max(500).optional().describe("Page size (default 100, max 500)"),
|
|
48
59
|
cursor: z.string().optional().describe("Continuation cursor returned by the previous call"),
|
|
49
|
-
|
|
60
|
+
...largeDataResponseArgs,
|
|
61
|
+
}, async (args) => callPluginCommand(queue, "find_variable_usages", args, { largeData: true }));
|
|
50
62
|
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
63
|
variable: variableSelectorZod,
|
|
52
64
|
scope: auditScopeZod.optional().describe("Scan scope (default: 'file')"),
|
|
@@ -58,7 +70,9 @@ export function registerAuditTools(server, queue) {
|
|
|
58
70
|
.max(1000)
|
|
59
71
|
.optional()
|
|
60
72
|
.describe("Cap the number of cloned nodes (default 200, max 1000)"),
|
|
61
|
-
}, async (args) =>
|
|
73
|
+
}, async (args) => callPluginWriteCommand(queue, "render_variable_usage_page", args, {
|
|
74
|
+
okFalseErrorCode: "SXL_AUDIT_WRITE_FAILED",
|
|
75
|
+
}));
|
|
62
76
|
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
77
|
scope: auditScopeZod.optional(),
|
|
64
78
|
suggest: z.boolean().optional().describe("Match raw values against local variables (default: true)"),
|
|
@@ -68,7 +82,8 @@ export function registerAuditTools(server, queue) {
|
|
|
68
82
|
suggest: z.boolean().optional(),
|
|
69
83
|
limit: z.number().int().positive().max(500).optional(),
|
|
70
84
|
cursor: z.string().optional(),
|
|
71
|
-
|
|
85
|
+
...largeDataResponseArgs,
|
|
86
|
+
}, async (args) => callPluginCommand(queue, "find_variable_coverage_misses", args, { largeData: true }));
|
|
72
87
|
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
88
|
scope: auditScopeZod.optional(),
|
|
74
89
|
}, async (args) => callPluginCommand(queue, "audit_style_coverage", args));
|
|
@@ -76,8 +91,35 @@ export function registerAuditTools(server, queue) {
|
|
|
76
91
|
scope: auditScopeZod.optional(),
|
|
77
92
|
limit: z.number().int().positive().max(500).optional(),
|
|
78
93
|
cursor: z.string().optional(),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
server.tool("
|
|
94
|
+
...largeDataResponseArgs,
|
|
95
|
+
}, async (args) => callPluginCommand(queue, "find_style_coverage_misses", args, { largeData: true }));
|
|
96
|
+
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.", { ...largeDataResponseArgs }, async (args) => callPluginCommand(queue, "find_unused_variables", args, { largeData: true }));
|
|
97
|
+
server.tool("find_unused_styles", "Audit: list local Paint / Text / Effect styles that are not referenced anywhere in the file. Read-only.", { ...largeDataResponseArgs }, async (args) => callPluginCommand(queue, "find_unused_styles", args, { largeData: true }));
|
|
98
|
+
server.tool("analyze_component_usage", "Audit: summarize INSTANCE usage for a component selector. Selector can be componentId, componentKey, exact name, or nameSuffix. Omit component to summarize all instances. Read-only.", {
|
|
99
|
+
component: componentSelectorZod,
|
|
100
|
+
scope: auditScopeZod.optional(),
|
|
101
|
+
}, async (args) => callPluginCommand(queue, "analyze_component_usage", args));
|
|
102
|
+
server.tool("find_component_usages", "Audit: paginated list of INSTANCE nodes matching a component selector. Returns main component id/key/name and current component properties. Read-only.", {
|
|
103
|
+
component: componentSelectorZod,
|
|
104
|
+
scope: auditScopeZod.optional(),
|
|
105
|
+
limit: z.number().int().positive().max(500).optional(),
|
|
106
|
+
cursor: z.string().optional(),
|
|
107
|
+
...largeDataResponseArgs,
|
|
108
|
+
}, async (args) => callPluginCommand(queue, "find_component_usages", args, { largeData: true }));
|
|
109
|
+
server.tool("analyze_component_prop_usage", "Audit: summarize component property usage across INSTANCE nodes. Filter by component selector, propName, and/or propValue. Read-only.", {
|
|
110
|
+
component: componentSelectorZod,
|
|
111
|
+
scope: auditScopeZod.optional(),
|
|
112
|
+
propName: z.string().optional(),
|
|
113
|
+
propValue: componentPropValueZod.optional(),
|
|
114
|
+
}, async (args) => callPluginCommand(queue, "analyze_component_prop_usage", args));
|
|
115
|
+
server.tool("find_component_prop_usages", "Audit: paginated component property usage records. Use after analyze_component_prop_usage when details are needed. Read-only.", {
|
|
116
|
+
component: componentSelectorZod,
|
|
117
|
+
scope: auditScopeZod.optional(),
|
|
118
|
+
propName: z.string().optional(),
|
|
119
|
+
propValue: componentPropValueZod.optional(),
|
|
120
|
+
limit: z.number().int().positive().max(500).optional(),
|
|
121
|
+
cursor: z.string().optional(),
|
|
122
|
+
...largeDataResponseArgs,
|
|
123
|
+
}, async (args) => callPluginCommand(queue, "find_component_prop_usages", args, { largeData: true }));
|
|
82
124
|
}
|
|
83
125
|
//# sourceMappingURL=audit.js.map
|
package/dist/tools/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getBridgeToolCatalogue } from "./registry.js";
|
|
2
|
+
export type CapabilityMatrixTool = ReturnType<typeof getBridgeToolCatalogue>[number] & {
|
|
3
|
+
commandType: string;
|
|
4
|
+
execution: NonNullable<ReturnType<typeof getBridgeToolCatalogue>[number]["execution"]>;
|
|
5
|
+
pluginRequired: boolean;
|
|
6
|
+
pluginCommandTypes: string[];
|
|
7
|
+
bridgeTimeoutMs: number;
|
|
8
|
+
};
|
|
9
|
+
export type CapabilityMatrix = {
|
|
10
|
+
version: 1;
|
|
11
|
+
count: number;
|
|
12
|
+
categories: string[];
|
|
13
|
+
tools: CapabilityMatrixTool[];
|
|
14
|
+
};
|
|
15
|
+
export declare function listCatalogueTools(filters?: {
|
|
16
|
+
category?: string | null;
|
|
17
|
+
devModeReadableOnly?: boolean;
|
|
18
|
+
}): import("./registry.js").BridgeToolEntry[];
|
|
19
|
+
export declare function buildCapabilityMatrix(filters?: {
|
|
20
|
+
category?: string | null;
|
|
21
|
+
devModeReadableOnly?: boolean;
|
|
22
|
+
}): CapabilityMatrix;
|