@linktr.ee/arbor-mcp 0.6.0 → 0.7.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/dist/index.js +51 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6178,6 +6178,7 @@ function coerceEntry(raw) {
|
|
|
6178
6178
|
notWhen: asStringArray(r.notWhen),
|
|
6179
6179
|
disambiguateFrom: asDisambiguations(r.disambiguateFrom),
|
|
6180
6180
|
guideline: typeof r.guideline === "string" ? r.guideline : null,
|
|
6181
|
+
implementation: typeof r.implementation === "string" ? r.implementation : null,
|
|
6181
6182
|
decisions: asStringArray(r.decisions)
|
|
6182
6183
|
};
|
|
6183
6184
|
}
|
|
@@ -6291,7 +6292,7 @@ var listComponentsTool = {
|
|
|
6291
6292
|
// src/tools/get-component.ts
|
|
6292
6293
|
var TOOL_NAME4 = "arbor_get_component";
|
|
6293
6294
|
var TOOL_TITLE4 = "Get one Arbor component";
|
|
6294
|
-
var TOOL_DESCRIPTION4 = "Get a single Arbor component's metadata by name (case-insensitive) or id (name, id, description) PLUS its intention overlay \u2014 lifecycle status (shipped | in-progress | design-only | deprecated | researched-not-shipped), when to use it, when NOT to (and what to use instead),
|
|
6295
|
+
var TOOL_DESCRIPTION4 = "Get a single Arbor component's metadata by name (case-insensitive) or id (name, id, description) PLUS its intention overlay \u2014 lifecycle status (shipped | in-progress | design-only | deprecated | researched-not-shipped), when to use it, when NOT to (and what to use instead), what it is commonly confused with, and repo paths to its guideline and (when present) agent implementation guidance. Intention comes from Arbor's source of truth, so a design-only component absent from the live design data still resolves. Read-only; matches top-level components, not Figma variants. Does NOT return token values or rendered source \u2014 use the shadcn registry / Storybook for implementation and arbor_open_in_playroom for a runnable snippet. Does NOT change anything.";
|
|
6295
6296
|
var inputSchema4 = external_exports.object({
|
|
6296
6297
|
name: external_exports.string().trim().min(1).max(100).optional().describe('Component name (case-insensitive), e.g. "Button"'),
|
|
6297
6298
|
id: external_exports.string().trim().min(1).max(100).optional().describe("Supernova component id"),
|
|
@@ -6313,6 +6314,7 @@ var intentionSchema = external_exports.object({
|
|
|
6313
6314
|
notWhen: external_exports.array(external_exports.string()).describe("When NOT to reach for it, ideally naming the better alternative"),
|
|
6314
6315
|
disambiguateFrom: external_exports.array(disambiguationSchema).describe("Things this is commonly confused with"),
|
|
6315
6316
|
guideline: external_exports.string().nullable().describe("Repo-relative path to the long-form guideline, when one exists"),
|
|
6317
|
+
implementation: external_exports.string().nullable().describe("Repo-relative path to the agent-facing implementation guidance (code-correctness + a11y rules), when one exists"),
|
|
6316
6318
|
decisions: external_exports.array(external_exports.string()).describe("Decision-log ids (DL-NN) that explain this intention")
|
|
6317
6319
|
});
|
|
6318
6320
|
var outputSchema4 = external_exports.object({
|
|
@@ -6337,6 +6339,7 @@ async function resolveIntention(lookupName, load) {
|
|
|
6337
6339
|
notWhen: match.notWhen,
|
|
6338
6340
|
disambiguateFrom: match.disambiguateFrom.map((d) => ({ component: d.component, distinction: d.distinction })),
|
|
6339
6341
|
guideline: match.guideline,
|
|
6342
|
+
implementation: match.implementation,
|
|
6340
6343
|
decisions: match.decisions
|
|
6341
6344
|
};
|
|
6342
6345
|
return { intention, intentionSource: "remote" };
|
|
@@ -6932,6 +6935,22 @@ var compositions_default = [
|
|
|
6932
6935
|
name: "NotificationBadge",
|
|
6933
6936
|
code: "<NotificationBadge count={3} />"
|
|
6934
6937
|
},
|
|
6938
|
+
// ── IndicatorBadge ──
|
|
6939
|
+
{
|
|
6940
|
+
group: "IndicatorBadge",
|
|
6941
|
+
name: "IndicatorBadge (count)",
|
|
6942
|
+
code: "<IndicatorBadge count={5} />"
|
|
6943
|
+
},
|
|
6944
|
+
{
|
|
6945
|
+
group: "IndicatorBadge",
|
|
6946
|
+
name: "IndicatorBadge (dot)",
|
|
6947
|
+
code: '<IndicatorBadge dot aria-label="Unread" />'
|
|
6948
|
+
},
|
|
6949
|
+
{
|
|
6950
|
+
group: "IndicatorBadge",
|
|
6951
|
+
name: "IndicatorBadge (custom color)",
|
|
6952
|
+
code: '<IndicatorBadge count={5} color="#7B61FF" />'
|
|
6953
|
+
},
|
|
6935
6954
|
// ── Button ──
|
|
6936
6955
|
{
|
|
6937
6956
|
group: "Button",
|
|
@@ -6965,6 +6984,31 @@ var compositions_default = [
|
|
|
6965
6984
|
<Button variant="secondary">Cancel</Button>
|
|
6966
6985
|
<Button>Save changes</Button>
|
|
6967
6986
|
</div>`
|
|
6987
|
+
},
|
|
6988
|
+
// ── ButtonGroup ──
|
|
6989
|
+
{
|
|
6990
|
+
group: "ButtonGroup",
|
|
6991
|
+
name: "ButtonGroup (confirm / cancel)",
|
|
6992
|
+
code: `<ButtonGroup aria-label="Save changes">
|
|
6993
|
+
<Button variant="secondary">Cancel</Button>
|
|
6994
|
+
<Button>Save changes</Button>
|
|
6995
|
+
</ButtonGroup>`
|
|
6996
|
+
},
|
|
6997
|
+
{
|
|
6998
|
+
group: "ButtonGroup",
|
|
6999
|
+
name: "ButtonGroup (stacked)",
|
|
7000
|
+
code: `<ButtonGroup stacked aria-label="Start trial or decide later">
|
|
7001
|
+
<Button variant="accent">Start 7-day free trial</Button>
|
|
7002
|
+
<Button variant="ghost">Decide later</Button>
|
|
7003
|
+
</ButtonGroup>`
|
|
7004
|
+
},
|
|
7005
|
+
{
|
|
7006
|
+
group: "ButtonGroup",
|
|
7007
|
+
name: "ButtonGroup (auto width)",
|
|
7008
|
+
code: `<ButtonGroup fullWidth={false} aria-label="Discard or update">
|
|
7009
|
+
<Button variant="ghost">Discard changes</Button>
|
|
7010
|
+
<Button>Update everywhere</Button>
|
|
7011
|
+
</ButtonGroup>`
|
|
6968
7012
|
},
|
|
6969
7013
|
// ── CardSelect ──
|
|
6970
7014
|
{
|
|
@@ -7195,6 +7239,12 @@ var compositions_default = [
|
|
|
7195
7239
|
</RadioGroup>
|
|
7196
7240
|
</Fieldset>`
|
|
7197
7241
|
},
|
|
7242
|
+
// ── FileUpload ──
|
|
7243
|
+
{
|
|
7244
|
+
group: "FileUpload",
|
|
7245
|
+
name: "FileUpload",
|
|
7246
|
+
code: '<div className="w-full max-w-md"><FileUpload label="Select files to upload" supportingText="PDF, PNG, or JPG \u2014 up to 100MB each" /></div>'
|
|
7247
|
+
},
|
|
7198
7248
|
// ── HeaderBar ──
|
|
7199
7249
|
// Maps to figma-mappings `HeaderBar` (node 5223-5837). Title + back-button
|
|
7200
7250
|
// is the canonical small variant; HeaderBar.stories.tsx covers the full
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linktr.ee/arbor-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Model Context Protocol server exposing Arbor design system tools: Playroom snippets, Figma→code sync health, UX-writing checks, decision-log lookup, and federated component/version metadata.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"arbor",
|