@sxl-studio/bridge 1.4.0 → 1.5.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.
- package/README.md +2 -1
- package/dist/agent-recipes.d.ts +142 -18
- package/dist/agent-recipes.js +267 -27
- package/dist/agent-recipes.js.map +1 -1
- package/dist/command-queue.js +4 -0
- package/dist/command-queue.js.map +1 -1
- package/dist/mcp-factory.js +1 -1
- package/dist/sxl-mcp-instructions.js +70 -24
- package/dist/sxl-mcp-instructions.js.map +1 -1
- package/dist/tools/catalogue-bootstrap.js +4 -0
- package/dist/tools/catalogue-bootstrap.js.map +1 -1
- package/dist/tools/orchestration.js +110 -2
- package/dist/tools/orchestration.js.map +1 -1
- package/dist/tools/resources.d.ts +4 -1
- package/dist/tools/resources.js +27 -2
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/tokens.d.ts +629 -0
- package/dist/tools/tokens.js +94 -0
- package/dist/tools/tokens.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ Bridge forwards `commandType` + `payload` over WebSocket; **execution is always
|
|
|
27
27
|
| `1.1.x` | same-era | `set_node_fill_variable`, extended `create_frame` / `create_text` (`parentId`, Auto Layout fields) |
|
|
28
28
|
| `1.2.x` | same-era | Remote module split (`dispatch/`, `canvas/`, `sxl/`), MCP instructions, base canvas tools, validated `POST /api/command`, aligned `COMMAND_TIMEOUTS` |
|
|
29
29
|
| **`1.3.x`** | **`2.1.0+`** | Dev Mode codegen bridge (`get_codegen`, `export_composition_json`), **full token workspace CRUD** (`create_token_file`, `delete_token_file`, `move_token_file`, `save_tokens_config`, upsert `save_token_file`), **Variables CRUD** (modes, scopes, codeSyntax), **Styles CRUD**, **orchestration** (`compose_from_url`, `generate_code_from_url`, `document_component`), **MCP Resources** (`sxl://…`), typed errors (`EDITOR_MODE_READONLY` + structured envelope), `BRIDGE_AUTH_TOKEN`, **Idempotency-Key** on `/api/command`, `/api/log` audit trail, `/api/tools` + `list_tools` meta-tool, editor-mode write-guard with typed propagation. |
|
|
30
|
-
| **`1.4.x`** | **`2.1.0+`** (plugin
|
|
30
|
+
| **`1.4.x`** | **`2.1.0+`** (plugin with `apply_token_doc_spec`) | **Doc Spec v1** + `build_token_documentation` / `apply_token_doc_spec`, **MCP resources** `sxl://agent/recipes/doc-tokens` (+ doc-component, doc-composition, doc-flow), expanded MCP instructions for documentation recipes. |
|
|
31
|
+
| **`1.5.x`** | **`2.2.0+`** | **Doc Builder v2**: `apply_doc_spec` (generic sections), `bind_variable_palette`, `build_component_doc`, `build_doc_flow`. Intent-router resource `sxl://agent/recipes/index` plus `template-discovery`, `doc-spec-v2`. Reinforced anti-patterns in `sxl-mcp-instructions.ts` (`/tmp` payloads, base64 loaders, `use_figma` scripts). |
|
|
31
32
|
|
|
32
33
|
Treat feature alignment by changelog or release tag, not npm name alone.
|
|
33
34
|
|
package/dist/agent-recipes.d.ts
CHANGED
|
@@ -1,36 +1,160 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Machine-readable documentation recipes for MCP resources (sxl://agent/recipes/*).
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* Read order for an agent that just got a documentation request:
|
|
5
|
+
* 1. sxl://agent/recipes/index — intent router (THIS file: RECIPE_INDEX).
|
|
6
|
+
* 2. The specific recipe it points to.
|
|
7
|
+
* 3. sxl://agent/recipes/doc-spec-v2 — section vocabulary, when needed.
|
|
8
|
+
* 4. sxl://agent/recipes/template-discovery — how to find templateNodeId.
|
|
9
|
+
*
|
|
10
|
+
* Every recipe MUST list:
|
|
11
|
+
* - userPhrases — short sample utterances that route to it.
|
|
12
|
+
* - decideBetween — siblings + when each wins.
|
|
13
|
+
* - preferredTools — Bridge / direct tool names in call order.
|
|
14
|
+
* - forbidden — concrete anti-patterns to avoid.
|
|
15
|
+
* - steps — minimal sequence to reach doneCriteria.
|
|
16
|
+
* - doneCriteria — verifiable success.
|
|
4
17
|
*/
|
|
18
|
+
export declare const RECIPE_INDEX: {
|
|
19
|
+
readonly id: "index";
|
|
20
|
+
readonly title: "SXL Doc Builder — intent router";
|
|
21
|
+
readonly version: 1;
|
|
22
|
+
readonly context: "Decision tree for any documentation / palette / scenario request that targets a Figma file managed by SXL Studio. Always read this resource first; it routes the agent to a specific recipe instead of running ad-hoc figma.* JS.";
|
|
23
|
+
readonly userIntents: readonly [{
|
|
24
|
+
readonly recipeId: "doc-tokens";
|
|
25
|
+
readonly userPhrases: readonly ["задокументируй токены", "build a token doc", "table of token values", "fill template TEXT layers with token values", "tokenPath, layerName binding", "show DTCG paths in doc frame"];
|
|
26
|
+
}, {
|
|
27
|
+
readonly recipeId: "variable-palette";
|
|
28
|
+
readonly userPhrases: readonly ["добавь все цвета коллекции projects карточками", "render figma variable collection as cards", "swatches from local variable collection", "по коллекции переменных нарисуй палитру", "fill content with one card per variable"];
|
|
29
|
+
}, {
|
|
30
|
+
readonly recipeId: "doc-component";
|
|
31
|
+
readonly userPhrases: readonly ["задокументируй компонент", "document WButton", "component frame with variants and props", "build component doc"];
|
|
32
|
+
}, {
|
|
33
|
+
readonly recipeId: "doc-flow";
|
|
34
|
+
readonly userPhrases: readonly ["сделай flow по этим ссылкам", "build a multi-page scenario", "screen flow doc", "story of pages from these urls"];
|
|
35
|
+
}, {
|
|
36
|
+
readonly recipeId: "doc-spec-v2";
|
|
37
|
+
readonly userPhrases: readonly ["сложная документация: title + variants + props + palette", "mix sections in one frame", "custom doc spec"];
|
|
38
|
+
}, {
|
|
39
|
+
readonly recipeId: "template-discovery";
|
|
40
|
+
readonly userPhrases: readonly ["find the card template inside content frame", "локализуй карточку-шаблон в content", "where is the swatch template node"];
|
|
41
|
+
}];
|
|
42
|
+
readonly decideBetween: readonly [{
|
|
43
|
+
readonly between: readonly ["doc-tokens", "variable-palette"];
|
|
44
|
+
readonly use_doc_tokens_when: "data source is DTCG token files in the plugin workspace (paths like core.color.fg)";
|
|
45
|
+
readonly use_variable_palette_when: "data source is local Figma Variables (no DTCG file behind them)";
|
|
46
|
+
}, {
|
|
47
|
+
readonly between: readonly ["doc-component", "doc-spec-v2"];
|
|
48
|
+
readonly use_doc_component_when: "single Figma component / component set with default sections (title + variants + props)";
|
|
49
|
+
readonly use_doc_spec_v2_when: "user wants a custom mix of sections, or several non-component artefacts in one frame";
|
|
50
|
+
}];
|
|
51
|
+
readonly forbidden: readonly ["Calling use_figma with a hand-written figma.* script when an SXL Bridge tool covers the task.", "Shell payload assembly to /tmp/*.json + base64 loaders + node -e glue to invoke MCP.", "Hand-crafting composition / token / Doc Spec JSON when the plugin pipeline (export_composition_json / list_compositions / get_variables) is the source of truth.", "Skipping this index and jumping straight to a sub-recipe without confirming intent."];
|
|
52
|
+
readonly doneCriteria: "Agent picked exactly one recipe, called only the tools it lists, and produced a verifiable result (doneWhen of that recipe).";
|
|
53
|
+
};
|
|
54
|
+
export declare const RECIPE_TEMPLATE_DISCOVERY: {
|
|
55
|
+
readonly id: "template-discovery";
|
|
56
|
+
readonly title: "Find the swatch / card template inside a content frame";
|
|
57
|
+
readonly version: 1;
|
|
58
|
+
readonly context: "Many doc tasks (variable-palette, doc-spec-v2.palette, doc-component.variants) need a templateNodeId — an existing scene node we can clone. This recipe shows how to locate it deterministically without scripts.";
|
|
59
|
+
readonly userPhrases: readonly ["find template card in content", "locate swatch template", "templateNodeId под content фрейма"];
|
|
60
|
+
readonly preferredTools: readonly ["get_node_tree", "find_nodes", "get_node_info", "read_node_properties"];
|
|
61
|
+
readonly forbidden: readonly ["Cloning the entire content frame instead of one card.", "Guessing node ids — always verify via get_node_tree / find_nodes.", "Falling back to use_figma to traverse the file: get_node_tree returns enough info for SXL templates."];
|
|
62
|
+
readonly steps: readonly ["From the user URL, parse node-id (`figma.com/design/.../?node-id=151-2` → `151:2`).", "Call get_node_tree with that nodeId and depth=4 to inspect the frame and its content.", "Pick the first child of the content layer (or one named 'card', 'swatch', 'token-card' — let the user confirm if ambiguous).", "Read swatch / label / value layer names with get_node_tree (depth=2 from the picked card) and pass them to bind_variable_palette / palette section."];
|
|
63
|
+
readonly doneCriteria: "templateNodeId + swatchLayerName (and optionally labelLayerName / valueLayerName) confirmed against the file before any clone.";
|
|
64
|
+
};
|
|
65
|
+
export declare const RECIPE_DOC_SPEC_V2: {
|
|
66
|
+
readonly id: "doc-spec-v2";
|
|
67
|
+
readonly title: "Doc Spec v2 — sections vocabulary";
|
|
68
|
+
readonly version: 1;
|
|
69
|
+
readonly context: "Doc Spec v2 lets you compose a single apply_doc_spec call from a list of sections. Each section is independent: combine only what the user asked for. Read this resource before assembling a custom spec.";
|
|
70
|
+
readonly preferredTools: readonly ["apply_doc_spec", "build_component_doc", "bind_variable_palette", "build_doc_flow"];
|
|
71
|
+
readonly sections: readonly [{
|
|
72
|
+
readonly type: "title";
|
|
73
|
+
readonly note: "Either creates a TEXT node or writes into an existing layerName.";
|
|
74
|
+
}, {
|
|
75
|
+
readonly type: "description";
|
|
76
|
+
readonly note: "Markdown subset → formatted runs. Use **bold**, *italic*, `code`, # headings.";
|
|
77
|
+
}, {
|
|
78
|
+
readonly type: "variants";
|
|
79
|
+
readonly note: "ComponentSet → matrix / grid / list of instances. Use groupBy for matrix rows.";
|
|
80
|
+
}, {
|
|
81
|
+
readonly type: "props";
|
|
82
|
+
readonly note: "componentPropertyDefinitions → table TEXT block. include filters which kinds.";
|
|
83
|
+
}, {
|
|
84
|
+
readonly type: "tokenTable";
|
|
85
|
+
readonly note: "v1 surface preserved: layerName + tokenPath. Picks values from DTCG workspace.";
|
|
86
|
+
}, {
|
|
87
|
+
readonly type: "palette";
|
|
88
|
+
readonly note: "Local Figma Variables → cards by cloning templateNodeId.";
|
|
89
|
+
}, {
|
|
90
|
+
readonly type: "measure";
|
|
91
|
+
readonly note: "Experimental: node.annotations = [...].";
|
|
92
|
+
}];
|
|
93
|
+
readonly forbidden: readonly ["Generating section types not in the schema (the validator rejects them).", "Using `palette.collectionName` for a DTCG file path — palette only inspects local Figma Variables.", "Putting v1 fields (`groups`, `version: \"1\"`) into a v2 spec — use apply_token_doc_spec for v1."];
|
|
94
|
+
readonly steps: readonly ["Decide which sections are needed (intent router → user request).", "Resolve targetRootId (existing frame) or targetParentId (with createIfMissing).", "Call apply_doc_spec with the assembled spec; rely on per-section reports for partial failures."];
|
|
95
|
+
readonly doneCriteria: "apply_doc_spec returns ok=true (or section-level report shows which section failed and why).";
|
|
96
|
+
};
|
|
5
97
|
export declare const RECIPE_DOC_TOKENS: {
|
|
6
98
|
readonly id: "doc-tokens";
|
|
7
|
-
readonly title: "Token documentation (Doc Spec v1)";
|
|
8
|
-
readonly version:
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
|
|
12
|
-
|
|
99
|
+
readonly title: "Token documentation (Doc Spec v1 / v2 tokenTable)";
|
|
100
|
+
readonly version: 2;
|
|
101
|
+
readonly userPhrases: readonly ["задокументируй токены", "fill doc template with token values", "table of DTCG paths and resolved values"];
|
|
102
|
+
readonly decideBetween: readonly [{
|
|
103
|
+
readonly between: readonly ["doc-tokens", "variable-palette"];
|
|
104
|
+
readonly hint: "If the data source is local Figma variables (no DTCG file), switch to variable-palette.";
|
|
105
|
+
}];
|
|
106
|
+
readonly preferredTools: readonly ["list_token_files", "get_token_file_content", "build_token_documentation", "apply_token_doc_spec", "apply_doc_spec", "duplicate_subtree"];
|
|
107
|
+
readonly forbidden: readonly ["Hand-written DTCG / composition JSON as the source of truth — use plugin workspace files.", "Raw figma.* JS / use_figma scripts to traverse tokens — Bridge has list_token_files + get_token_file_content.", "Copy-pasting token values into the spec instead of letting the plugin resolve them."];
|
|
108
|
+
readonly steps: readonly ["Read sxl://tokens/config and sxl://tokens/files (or list_token_files) to locate token files.", "In Figma Design mode duplicate the doc template (or use an existing one) to obtain targetRootId.", "Build Doc Spec v1 (groups[].rows with layerName + tokenPath) — or v2 with a single tokenTable section if you also need title / description.", "Call build_token_documentation / apply_token_doc_spec (v1) or apply_doc_spec (v2) with { spec, targetRootId }.", "On unresolved paths re-check tokenPath spelling and confirm files are present in the workspace."];
|
|
109
|
+
readonly doneCriteria: "TEXT layers under targetRootId show resolved values; the response reports updated > 0 and no unresolved paths (unless dryRun).";
|
|
13
110
|
};
|
|
14
111
|
export declare const RECIPE_DOC_COMPONENT: {
|
|
15
112
|
readonly id: "doc-component";
|
|
16
|
-
readonly title: "Component documentation";
|
|
17
|
-
readonly version:
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
20
|
-
|
|
113
|
+
readonly title: "Component documentation (title + variants + props + optional measure)";
|
|
114
|
+
readonly version: 2;
|
|
115
|
+
readonly userPhrases: readonly ["задокументируй компонент", "document this component", "WButton documentation frame", "build component doc"];
|
|
116
|
+
readonly decideBetween: readonly [{
|
|
117
|
+
readonly between: readonly ["doc-component", "doc-spec-v2"];
|
|
118
|
+
readonly hint: "If you need anything beyond title/description/variants/props/measure (e.g. palette, tokenTable), pick doc-spec-v2 + apply_doc_spec.";
|
|
119
|
+
}];
|
|
120
|
+
readonly preferredTools: readonly ["build_component_doc", "apply_doc_spec", "export_composition_json", "get_codegen", "duplicate_subtree"];
|
|
121
|
+
readonly forbidden: readonly ["Synthesising composition JSON from get_node_tree — use export_composition_json / get_codegen.", "Calling use_figma to read componentPropertyDefinitions — the plugin already exposes it via build_component_doc.", "Mutating the component itself when documenting it — work on the doc frame, not the source."];
|
|
122
|
+
readonly steps: readonly ["Identify the component (componentNodeId). For a component set, pass the set id.", "Provide either targetRootId (existing doc frame) or targetParentId (createIfMissing=true).", "Call build_component_doc; toggle includeMeasure only if the user asked for size annotations.", "Refine specific sections (e.g. update description markdown) by re-running with new payload."];
|
|
123
|
+
readonly doneCriteria: "The doc frame contains a title, a variants matrix (when applicable), and a props table with all componentPropertyDefinitions.";
|
|
21
124
|
readonly phases: "Measuring/annotations: see Plugin/sxl/docs/23-doc-agent-phased-roadmap.md (Phase 3).";
|
|
22
125
|
};
|
|
23
126
|
export declare const RECIPE_DOC_COMPOSITION: {
|
|
24
127
|
readonly id: "doc-composition";
|
|
25
128
|
readonly title: "Documentation from composition file";
|
|
26
|
-
readonly version:
|
|
129
|
+
readonly version: 2;
|
|
130
|
+
readonly userPhrases: readonly ["render this composition file as documentation", "доку по composition.json", "build a frame from a composition file"];
|
|
27
131
|
readonly preferredTools: readonly ["list_compositions", "export_composition_json", "generate_composition", "apply_composition", "compose_from_url"];
|
|
28
|
-
readonly
|
|
132
|
+
readonly forbidden: readonly ["Hand-assembling composition trees in JSON — the plugin pipeline is the single source of truth.", "Using use_figma to draw the composition manually."];
|
|
133
|
+
readonly steps: readonly ["Prefer compose_from_url for a Figma URL → export_composition_json → create_token_file → generate_composition.", "Apply with apply_composition / generate_composition; do not hand-construct nodes."];
|
|
134
|
+
readonly doneCriteria: "Composition file in workspace + generated component / instance on the canvas matching the source.";
|
|
29
135
|
};
|
|
30
136
|
export declare const RECIPE_DOC_FLOW: {
|
|
31
137
|
readonly id: "doc-flow";
|
|
32
|
-
readonly title: "Multi-page screen flow";
|
|
33
|
-
readonly version:
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
138
|
+
readonly title: "Multi-page screen flow / scenario";
|
|
139
|
+
readonly version: 2;
|
|
140
|
+
readonly userPhrases: readonly ["сделай flow по этим ссылкам", "build a screen flow doc", "story of pages from these urls", "scenario doc with multiple frames"];
|
|
141
|
+
readonly preferredTools: readonly ["build_doc_flow", "compose_from_url", "duplicate_subtree", "apply_doc_spec"];
|
|
142
|
+
readonly forbidden: readonly ["Calling use_figma to clone many frames into one container — use build_doc_flow.", "Skipping captions when the user provided a description per page — pass them via pages[].title / description."];
|
|
143
|
+
readonly steps: readonly ["Resolve each Figma URL to a node id (parseFigmaUrl handles `&node-id=` segments).", "Call build_doc_flow with pages[] (each with nodeId and optional title / description).", "If a page references a composition file rather than a node, call compose_from_url first to materialise it."];
|
|
144
|
+
readonly doneCriteria: "All requested pages appear inside a single auto-layout container with optional captions; no use_figma script was used.";
|
|
145
|
+
};
|
|
146
|
+
export declare const RECIPE_VARIABLE_PALETTE: {
|
|
147
|
+
readonly id: "variable-palette";
|
|
148
|
+
readonly title: "Color (or variable) cards from a Figma variable collection";
|
|
149
|
+
readonly version: 2;
|
|
150
|
+
readonly userPhrases: readonly ["добавь все цвета коллекции projects карточками", "render figma variable collection as cards", "swatches from local variable collection", "по коллекции переменных нарисуй палитру"];
|
|
151
|
+
readonly decideBetween: readonly [{
|
|
152
|
+
readonly between: readonly ["variable-palette", "doc-tokens"];
|
|
153
|
+
readonly hint: "If user names a DTCG file or token path (`core.color.*`), switch to doc-tokens.";
|
|
154
|
+
}];
|
|
155
|
+
readonly context: "Example: fill a frame's content with one card per COLOR variable in the Projects collection, using an existing card component / instance as template.";
|
|
156
|
+
readonly preferredTools: readonly ["get_plugin_status", "get_variables", "get_node_tree", "find_nodes", "bind_variable_palette", "apply_doc_spec"];
|
|
157
|
+
readonly forbidden: readonly ["use_figma (official Figma MCP) with a custom JavaScript payload — SXL session cannot execute that in the plugin; bind_variable_palette covers the same flow.", "Shell payloads (/tmp/*.json, base64 loaders, copy-paste into tokens/system, node -e glue) to invoke MCP — pass JSON directly to bind_variable_palette.", "Pretending the task requires a 'Figma script' when get_variables + bind_variable_palette is enough."];
|
|
158
|
+
readonly steps: readonly ["get_plugin_status — confirm writesAllowed (Figma Design, not Dev Mode read-only).", "Use sxl://agent/recipes/template-discovery to locate templateNodeId + swatchLayerName under the user's content frame.", "Call bind_variable_palette with { templateNodeId, collectionName, variableType: 'COLOR', swatchLayerName, labelLayerName? }.", "Inspect the response: created should equal the variable count; bound should equal created (one fill bind per swatch)."];
|
|
159
|
+
readonly doneCriteria: "One card per target variable next to the template; each swatch is bound to its variable; no use_figma script was used.";
|
|
36
160
|
};
|
package/dist/agent-recipes.js
CHANGED
|
@@ -1,56 +1,241 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Machine-readable documentation recipes for MCP resources (sxl://agent/recipes/*).
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* Read order for an agent that just got a documentation request:
|
|
5
|
+
* 1. sxl://agent/recipes/index — intent router (THIS file: RECIPE_INDEX).
|
|
6
|
+
* 2. The specific recipe it points to.
|
|
7
|
+
* 3. sxl://agent/recipes/doc-spec-v2 — section vocabulary, when needed.
|
|
8
|
+
* 4. sxl://agent/recipes/template-discovery — how to find templateNodeId.
|
|
9
|
+
*
|
|
10
|
+
* Every recipe MUST list:
|
|
11
|
+
* - userPhrases — short sample utterances that route to it.
|
|
12
|
+
* - decideBetween — siblings + when each wins.
|
|
13
|
+
* - preferredTools — Bridge / direct tool names in call order.
|
|
14
|
+
* - forbidden — concrete anti-patterns to avoid.
|
|
15
|
+
* - steps — minimal sequence to reach doneCriteria.
|
|
16
|
+
* - doneCriteria — verifiable success.
|
|
4
17
|
*/
|
|
18
|
+
export const RECIPE_INDEX = {
|
|
19
|
+
id: "index",
|
|
20
|
+
title: "SXL Doc Builder — intent router",
|
|
21
|
+
version: 1,
|
|
22
|
+
context: "Decision tree for any documentation / palette / scenario request that targets a Figma file managed by SXL Studio. Always read this resource first; it routes the agent to a specific recipe instead of running ad-hoc figma.* JS.",
|
|
23
|
+
userIntents: [
|
|
24
|
+
{
|
|
25
|
+
recipeId: "doc-tokens",
|
|
26
|
+
userPhrases: [
|
|
27
|
+
"задокументируй токены",
|
|
28
|
+
"build a token doc",
|
|
29
|
+
"table of token values",
|
|
30
|
+
"fill template TEXT layers with token values",
|
|
31
|
+
"tokenPath, layerName binding",
|
|
32
|
+
"show DTCG paths in doc frame",
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
recipeId: "variable-palette",
|
|
37
|
+
userPhrases: [
|
|
38
|
+
"добавь все цвета коллекции projects карточками",
|
|
39
|
+
"render figma variable collection as cards",
|
|
40
|
+
"swatches from local variable collection",
|
|
41
|
+
"по коллекции переменных нарисуй палитру",
|
|
42
|
+
"fill content with one card per variable",
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
recipeId: "doc-component",
|
|
47
|
+
userPhrases: [
|
|
48
|
+
"задокументируй компонент",
|
|
49
|
+
"document WButton",
|
|
50
|
+
"component frame with variants and props",
|
|
51
|
+
"build component doc",
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
recipeId: "doc-flow",
|
|
56
|
+
userPhrases: [
|
|
57
|
+
"сделай flow по этим ссылкам",
|
|
58
|
+
"build a multi-page scenario",
|
|
59
|
+
"screen flow doc",
|
|
60
|
+
"story of pages from these urls",
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
recipeId: "doc-spec-v2",
|
|
65
|
+
userPhrases: [
|
|
66
|
+
"сложная документация: title + variants + props + palette",
|
|
67
|
+
"mix sections in one frame",
|
|
68
|
+
"custom doc spec",
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
recipeId: "template-discovery",
|
|
73
|
+
userPhrases: [
|
|
74
|
+
"find the card template inside content frame",
|
|
75
|
+
"локализуй карточку-шаблон в content",
|
|
76
|
+
"where is the swatch template node",
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
decideBetween: [
|
|
81
|
+
{
|
|
82
|
+
between: ["doc-tokens", "variable-palette"],
|
|
83
|
+
use_doc_tokens_when: "data source is DTCG token files in the plugin workspace (paths like core.color.fg)",
|
|
84
|
+
use_variable_palette_when: "data source is local Figma Variables (no DTCG file behind them)",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
between: ["doc-component", "doc-spec-v2"],
|
|
88
|
+
use_doc_component_when: "single Figma component / component set with default sections (title + variants + props)",
|
|
89
|
+
use_doc_spec_v2_when: "user wants a custom mix of sections, or several non-component artefacts in one frame",
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
forbidden: [
|
|
93
|
+
"Calling use_figma with a hand-written figma.* script when an SXL Bridge tool covers the task.",
|
|
94
|
+
"Shell payload assembly to /tmp/*.json + base64 loaders + node -e glue to invoke MCP.",
|
|
95
|
+
"Hand-crafting composition / token / Doc Spec JSON when the plugin pipeline (export_composition_json / list_compositions / get_variables) is the source of truth.",
|
|
96
|
+
"Skipping this index and jumping straight to a sub-recipe without confirming intent.",
|
|
97
|
+
],
|
|
98
|
+
doneCriteria: "Agent picked exactly one recipe, called only the tools it lists, and produced a verifiable result (doneWhen of that recipe).",
|
|
99
|
+
};
|
|
100
|
+
export const RECIPE_TEMPLATE_DISCOVERY = {
|
|
101
|
+
id: "template-discovery",
|
|
102
|
+
title: "Find the swatch / card template inside a content frame",
|
|
103
|
+
version: 1,
|
|
104
|
+
context: "Many doc tasks (variable-palette, doc-spec-v2.palette, doc-component.variants) need a templateNodeId — an existing scene node we can clone. This recipe shows how to locate it deterministically without scripts.",
|
|
105
|
+
userPhrases: [
|
|
106
|
+
"find template card in content",
|
|
107
|
+
"locate swatch template",
|
|
108
|
+
"templateNodeId под content фрейма",
|
|
109
|
+
],
|
|
110
|
+
preferredTools: [
|
|
111
|
+
"get_node_tree",
|
|
112
|
+
"find_nodes",
|
|
113
|
+
"get_node_info",
|
|
114
|
+
"read_node_properties",
|
|
115
|
+
],
|
|
116
|
+
forbidden: [
|
|
117
|
+
"Cloning the entire content frame instead of one card.",
|
|
118
|
+
"Guessing node ids — always verify via get_node_tree / find_nodes.",
|
|
119
|
+
"Falling back to use_figma to traverse the file: get_node_tree returns enough info for SXL templates.",
|
|
120
|
+
],
|
|
121
|
+
steps: [
|
|
122
|
+
"From the user URL, parse node-id (`figma.com/design/.../?node-id=151-2` → `151:2`).",
|
|
123
|
+
"Call get_node_tree with that nodeId and depth=4 to inspect the frame and its content.",
|
|
124
|
+
"Pick the first child of the content layer (or one named 'card', 'swatch', 'token-card' — let the user confirm if ambiguous).",
|
|
125
|
+
"Read swatch / label / value layer names with get_node_tree (depth=2 from the picked card) and pass them to bind_variable_palette / palette section.",
|
|
126
|
+
],
|
|
127
|
+
doneCriteria: "templateNodeId + swatchLayerName (and optionally labelLayerName / valueLayerName) confirmed against the file before any clone.",
|
|
128
|
+
};
|
|
129
|
+
export const RECIPE_DOC_SPEC_V2 = {
|
|
130
|
+
id: "doc-spec-v2",
|
|
131
|
+
title: "Doc Spec v2 — sections vocabulary",
|
|
132
|
+
version: 1,
|
|
133
|
+
context: "Doc Spec v2 lets you compose a single apply_doc_spec call from a list of sections. Each section is independent: combine only what the user asked for. Read this resource before assembling a custom spec.",
|
|
134
|
+
preferredTools: ["apply_doc_spec", "build_component_doc", "bind_variable_palette", "build_doc_flow"],
|
|
135
|
+
sections: [
|
|
136
|
+
{ type: "title", note: "Either creates a TEXT node or writes into an existing layerName." },
|
|
137
|
+
{ type: "description", note: "Markdown subset → formatted runs. Use **bold**, *italic*, `code`, # headings." },
|
|
138
|
+
{ type: "variants", note: "ComponentSet → matrix / grid / list of instances. Use groupBy for matrix rows." },
|
|
139
|
+
{ type: "props", note: "componentPropertyDefinitions → table TEXT block. include filters which kinds." },
|
|
140
|
+
{ type: "tokenTable", note: "v1 surface preserved: layerName + tokenPath. Picks values from DTCG workspace." },
|
|
141
|
+
{ type: "palette", note: "Local Figma Variables → cards by cloning templateNodeId." },
|
|
142
|
+
{ type: "measure", note: "Experimental: node.annotations = [...]." },
|
|
143
|
+
],
|
|
144
|
+
forbidden: [
|
|
145
|
+
"Generating section types not in the schema (the validator rejects them).",
|
|
146
|
+
"Using `palette.collectionName` for a DTCG file path — palette only inspects local Figma Variables.",
|
|
147
|
+
"Putting v1 fields (`groups`, `version: \"1\"`) into a v2 spec — use apply_token_doc_spec for v1.",
|
|
148
|
+
],
|
|
149
|
+
steps: [
|
|
150
|
+
"Decide which sections are needed (intent router → user request).",
|
|
151
|
+
"Resolve targetRootId (existing frame) or targetParentId (with createIfMissing).",
|
|
152
|
+
"Call apply_doc_spec with the assembled spec; rely on per-section reports for partial failures.",
|
|
153
|
+
],
|
|
154
|
+
doneCriteria: "apply_doc_spec returns ok=true (or section-level report shows which section failed and why).",
|
|
155
|
+
};
|
|
5
156
|
export const RECIPE_DOC_TOKENS = {
|
|
6
157
|
id: "doc-tokens",
|
|
7
|
-
title: "Token documentation (Doc Spec v1)",
|
|
8
|
-
version:
|
|
158
|
+
title: "Token documentation (Doc Spec v1 / v2 tokenTable)",
|
|
159
|
+
version: 2,
|
|
160
|
+
userPhrases: [
|
|
161
|
+
"задокументируй токены",
|
|
162
|
+
"fill doc template with token values",
|
|
163
|
+
"table of DTCG paths and resolved values",
|
|
164
|
+
],
|
|
165
|
+
decideBetween: [
|
|
166
|
+
{
|
|
167
|
+
between: ["doc-tokens", "variable-palette"],
|
|
168
|
+
hint: "If the data source is local Figma variables (no DTCG file), switch to variable-palette.",
|
|
169
|
+
},
|
|
170
|
+
],
|
|
9
171
|
preferredTools: [
|
|
10
172
|
"list_token_files",
|
|
11
173
|
"get_token_file_content",
|
|
12
174
|
"build_token_documentation",
|
|
13
175
|
"apply_token_doc_spec",
|
|
176
|
+
"apply_doc_spec",
|
|
14
177
|
"duplicate_subtree",
|
|
15
|
-
"apply_documentation_payload",
|
|
16
178
|
],
|
|
17
179
|
forbidden: [
|
|
18
|
-
"Hand-written DTCG
|
|
19
|
-
"Raw
|
|
180
|
+
"Hand-written DTCG / composition JSON as the source of truth — use plugin workspace files.",
|
|
181
|
+
"Raw figma.* JS / use_figma scripts to traverse tokens — Bridge has list_token_files + get_token_file_content.",
|
|
182
|
+
"Copy-pasting token values into the spec instead of letting the plugin resolve them.",
|
|
20
183
|
],
|
|
21
184
|
steps: [
|
|
22
185
|
"Read sxl://tokens/config and sxl://tokens/files (or list_token_files) to locate token files.",
|
|
23
|
-
"In Figma Design mode
|
|
24
|
-
"Build
|
|
25
|
-
"Call build_token_documentation with { spec, targetRootId }
|
|
26
|
-
"On unresolved paths
|
|
186
|
+
"In Figma Design mode duplicate the doc template (or use an existing one) to obtain targetRootId.",
|
|
187
|
+
"Build Doc Spec v1 (groups[].rows with layerName + tokenPath) — or v2 with a single tokenTable section if you also need title / description.",
|
|
188
|
+
"Call build_token_documentation / apply_token_doc_spec (v1) or apply_doc_spec (v2) with { spec, targetRootId }.",
|
|
189
|
+
"On unresolved paths re-check tokenPath spelling and confirm files are present in the workspace.",
|
|
27
190
|
],
|
|
28
|
-
|
|
191
|
+
doneCriteria: "TEXT layers under targetRootId show resolved values; the response reports updated > 0 and no unresolved paths (unless dryRun).",
|
|
29
192
|
};
|
|
30
193
|
export const RECIPE_DOC_COMPONENT = {
|
|
31
194
|
id: "doc-component",
|
|
32
|
-
title: "Component documentation",
|
|
33
|
-
version:
|
|
195
|
+
title: "Component documentation (title + variants + props + optional measure)",
|
|
196
|
+
version: 2,
|
|
197
|
+
userPhrases: [
|
|
198
|
+
"задокументируй компонент",
|
|
199
|
+
"document this component",
|
|
200
|
+
"WButton documentation frame",
|
|
201
|
+
"build component doc",
|
|
202
|
+
],
|
|
203
|
+
decideBetween: [
|
|
204
|
+
{
|
|
205
|
+
between: ["doc-component", "doc-spec-v2"],
|
|
206
|
+
hint: "If you need anything beyond title/description/variants/props/measure (e.g. palette, tokenTable), pick doc-spec-v2 + apply_doc_spec.",
|
|
207
|
+
},
|
|
208
|
+
],
|
|
34
209
|
preferredTools: [
|
|
210
|
+
"build_component_doc",
|
|
211
|
+
"apply_doc_spec",
|
|
35
212
|
"export_composition_json",
|
|
36
213
|
"get_codegen",
|
|
37
|
-
"
|
|
38
|
-
"apply_documentation_payload",
|
|
39
|
-
"create_component_instance",
|
|
214
|
+
"duplicate_subtree",
|
|
40
215
|
],
|
|
41
216
|
forbidden: [
|
|
42
|
-
"Synthesising composition JSON from get_node_tree — use export_composition_json
|
|
217
|
+
"Synthesising composition JSON from get_node_tree — use export_composition_json / get_codegen.",
|
|
218
|
+
"Calling use_figma to read componentPropertyDefinitions — the plugin already exposes it via build_component_doc.",
|
|
219
|
+
"Mutating the component itself when documenting it — work on the doc frame, not the source.",
|
|
43
220
|
],
|
|
44
221
|
steps: [
|
|
45
|
-
"
|
|
46
|
-
"
|
|
222
|
+
"Identify the component (componentNodeId). For a component set, pass the set id.",
|
|
223
|
+
"Provide either targetRootId (existing doc frame) or targetParentId (createIfMissing=true).",
|
|
224
|
+
"Call build_component_doc; toggle includeMeasure only if the user asked for size annotations.",
|
|
225
|
+
"Refine specific sections (e.g. update description markdown) by re-running with new payload.",
|
|
47
226
|
],
|
|
227
|
+
doneCriteria: "The doc frame contains a title, a variants matrix (when applicable), and a props table with all componentPropertyDefinitions.",
|
|
48
228
|
phases: "Measuring/annotations: see Plugin/sxl/docs/23-doc-agent-phased-roadmap.md (Phase 3).",
|
|
49
229
|
};
|
|
50
230
|
export const RECIPE_DOC_COMPOSITION = {
|
|
51
231
|
id: "doc-composition",
|
|
52
232
|
title: "Documentation from composition file",
|
|
53
|
-
version:
|
|
233
|
+
version: 2,
|
|
234
|
+
userPhrases: [
|
|
235
|
+
"render this composition file as documentation",
|
|
236
|
+
"доку по composition.json",
|
|
237
|
+
"build a frame from a composition file",
|
|
238
|
+
],
|
|
54
239
|
preferredTools: [
|
|
55
240
|
"list_compositions",
|
|
56
241
|
"export_composition_json",
|
|
@@ -58,19 +243,74 @@ export const RECIPE_DOC_COMPOSITION = {
|
|
|
58
243
|
"apply_composition",
|
|
59
244
|
"compose_from_url",
|
|
60
245
|
],
|
|
246
|
+
forbidden: [
|
|
247
|
+
"Hand-assembling composition trees in JSON — the plugin pipeline is the single source of truth.",
|
|
248
|
+
"Using use_figma to draw the composition manually.",
|
|
249
|
+
],
|
|
61
250
|
steps: [
|
|
62
|
-
"Prefer compose_from_url
|
|
63
|
-
"
|
|
251
|
+
"Prefer compose_from_url for a Figma URL → export_composition_json → create_token_file → generate_composition.",
|
|
252
|
+
"Apply with apply_composition / generate_composition; do not hand-construct nodes.",
|
|
64
253
|
],
|
|
254
|
+
doneCriteria: "Composition file in workspace + generated component / instance on the canvas matching the source.",
|
|
65
255
|
};
|
|
66
256
|
export const RECIPE_DOC_FLOW = {
|
|
67
257
|
id: "doc-flow",
|
|
68
|
-
title: "Multi-page screen flow",
|
|
69
|
-
version:
|
|
70
|
-
|
|
258
|
+
title: "Multi-page screen flow / scenario",
|
|
259
|
+
version: 2,
|
|
260
|
+
userPhrases: [
|
|
261
|
+
"сделай flow по этим ссылкам",
|
|
262
|
+
"build a screen flow doc",
|
|
263
|
+
"story of pages from these urls",
|
|
264
|
+
"scenario doc with multiple frames",
|
|
265
|
+
],
|
|
266
|
+
preferredTools: ["build_doc_flow", "compose_from_url", "duplicate_subtree", "apply_doc_spec"],
|
|
267
|
+
forbidden: [
|
|
268
|
+
"Calling use_figma to clone many frames into one container — use build_doc_flow.",
|
|
269
|
+
"Skipping captions when the user provided a description per page — pass them via pages[].title / description.",
|
|
270
|
+
],
|
|
271
|
+
steps: [
|
|
272
|
+
"Resolve each Figma URL to a node id (parseFigmaUrl handles `&node-id=` segments).",
|
|
273
|
+
"Call build_doc_flow with pages[] (each with nodeId and optional title / description).",
|
|
274
|
+
"If a page references a composition file rather than a node, call compose_from_url first to materialise it.",
|
|
275
|
+
],
|
|
276
|
+
doneCriteria: "All requested pages appear inside a single auto-layout container with optional captions; no use_figma script was used.",
|
|
277
|
+
};
|
|
278
|
+
export const RECIPE_VARIABLE_PALETTE = {
|
|
279
|
+
id: "variable-palette",
|
|
280
|
+
title: "Color (or variable) cards from a Figma variable collection",
|
|
281
|
+
version: 2,
|
|
282
|
+
userPhrases: [
|
|
283
|
+
"добавь все цвета коллекции projects карточками",
|
|
284
|
+
"render figma variable collection as cards",
|
|
285
|
+
"swatches from local variable collection",
|
|
286
|
+
"по коллекции переменных нарисуй палитру",
|
|
287
|
+
],
|
|
288
|
+
decideBetween: [
|
|
289
|
+
{
|
|
290
|
+
between: ["variable-palette", "doc-tokens"],
|
|
291
|
+
hint: "If user names a DTCG file or token path (`core.color.*`), switch to doc-tokens.",
|
|
292
|
+
},
|
|
293
|
+
],
|
|
294
|
+
context: "Example: fill a frame's content with one card per COLOR variable in the Projects collection, using an existing card component / instance as template.",
|
|
295
|
+
preferredTools: [
|
|
296
|
+
"get_plugin_status",
|
|
297
|
+
"get_variables",
|
|
298
|
+
"get_node_tree",
|
|
299
|
+
"find_nodes",
|
|
300
|
+
"bind_variable_palette",
|
|
301
|
+
"apply_doc_spec",
|
|
302
|
+
],
|
|
303
|
+
forbidden: [
|
|
304
|
+
"use_figma (official Figma MCP) with a custom JavaScript payload — SXL session cannot execute that in the plugin; bind_variable_palette covers the same flow.",
|
|
305
|
+
"Shell payloads (/tmp/*.json, base64 loaders, copy-paste into tokens/system, node -e glue) to invoke MCP — pass JSON directly to bind_variable_palette.",
|
|
306
|
+
"Pretending the task requires a 'Figma script' when get_variables + bind_variable_palette is enough.",
|
|
307
|
+
],
|
|
71
308
|
steps: [
|
|
72
|
-
"
|
|
73
|
-
"
|
|
309
|
+
"get_plugin_status — confirm writesAllowed (Figma Design, not Dev Mode read-only).",
|
|
310
|
+
"Use sxl://agent/recipes/template-discovery to locate templateNodeId + swatchLayerName under the user's content frame.",
|
|
311
|
+
"Call bind_variable_palette with { templateNodeId, collectionName, variableType: 'COLOR', swatchLayerName, labelLayerName? }.",
|
|
312
|
+
"Inspect the response: created should equal the variable count; bound should equal created (one fill bind per swatch).",
|
|
74
313
|
],
|
|
314
|
+
doneCriteria: "One card per target variable next to the template; each swatch is bound to its variable; no use_figma script was used.",
|
|
75
315
|
};
|
|
76
316
|
//# sourceMappingURL=agent-recipes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-recipes.js","sourceRoot":"","sources":["../src/agent-recipes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent-recipes.js","sourceRoot":"","sources":["../src/agent-recipes.ts"],"names":[],"mappings":"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"}
|
package/dist/command-queue.js
CHANGED
|
@@ -20,6 +20,10 @@ export const BRIDGE_COMMAND_TIMEOUT_MS = {
|
|
|
20
20
|
duplicate_subtree: 60_000,
|
|
21
21
|
apply_documentation_payload: 45_000,
|
|
22
22
|
apply_token_doc_spec: 45_000,
|
|
23
|
+
apply_doc_spec: 90_000,
|
|
24
|
+
bind_variable_palette: 90_000,
|
|
25
|
+
build_component_doc: 120_000,
|
|
26
|
+
build_doc_flow: 120_000,
|
|
23
27
|
generate_instances: 30_000,
|
|
24
28
|
reapply_token_bindings: 30_000,
|
|
25
29
|
reapply_compositions: 60_000,
|
|
@@ -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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"}
|
package/dist/mcp-factory.js
CHANGED