@linktr.ee/arbor-mcp 0.3.0 → 0.4.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 CHANGED
@@ -80,8 +80,11 @@ until a docs page-content route exists.)
80
80
  ### Runtime config + graceful degradation
81
81
 
82
82
  These tools read the design system's metadata from an internal Lambda
83
- federation proxy. Two env vars configure the connection distributed
84
- internally through the same channel as `FIGMA_ACCESS_TOKEN`:
83
+ federation proxy. The proxy **URL is built in** (override with
84
+ `ARBOR_MCP_SUPERNOVA_PROXY_URL`). While the route is access-gated, also set
85
+ `ARBOR_MCP_SUPERNOVA_PROXY_TOKEN` — one shared internal value provisioned by
86
+ the Arbor team (not a per-engineer token, and never bundled in this package).
87
+ If the route is open, the tools work with no configuration at all:
85
88
 
86
89
  | Variable | Purpose |
87
90
  | --------------------------------- | -------------------------------------------------------- |
package/dist/index.js CHANGED
@@ -5917,6 +5917,7 @@ var checkUxWritingTool = {
5917
5917
  var CACHE_TTL_MS2 = 5 * 60 * 1e3;
5918
5918
  var DEFAULT_TIMEOUT_MS2 = 9e3;
5919
5919
  var DEFAULT_MAX_CHARS2 = 4e6;
5920
+ var DEFAULT_PROXY_URL = "https://on7uu5jns5nmsusrk6gg3suu640clium.lambda-url.us-west-2.on.aws/supernova/query";
5920
5921
  var moduleCache2 = /* @__PURE__ */ new Map();
5921
5922
  function statusReason(status) {
5922
5923
  if (status === 401) return "unauthorized";
@@ -5937,14 +5938,12 @@ async function querySupernova(resource, opts = {}) {
5937
5938
  timeoutMs = DEFAULT_TIMEOUT_MS2,
5938
5939
  maxChars = DEFAULT_MAX_CHARS2
5939
5940
  } = opts;
5940
- if (!proxyUrl || !proxyToken) {
5941
- return { ok: false, reason: "not_configured", detail: "ARBOR_MCP_SUPERNOVA_PROXY_URL / _TOKEN are not set" };
5942
- }
5941
+ const url = proxyUrl || DEFAULT_PROXY_URL;
5943
5942
  let parsed;
5944
5943
  try {
5945
- parsed = new URL(proxyUrl);
5944
+ parsed = new URL(url);
5946
5945
  } catch {
5947
- return { ok: false, reason: "not_configured", detail: "ARBOR_MCP_SUPERNOVA_PROXY_URL is not a valid URL" };
5946
+ return { ok: false, reason: "not_configured", detail: `proxy URL is not valid: ${url}` };
5948
5947
  }
5949
5948
  if (parsed.protocol !== "https:") {
5950
5949
  return { ok: false, reason: "not_configured", detail: `proxy URL must be https (got ${parsed.protocol})` };
@@ -5960,9 +5959,9 @@ async function querySupernova(resource, opts = {}) {
5960
5959
  let res;
5961
5960
  let text;
5962
5961
  try {
5963
- res = await fetchImpl(proxyUrl, {
5962
+ res = await fetchImpl(url, {
5964
5963
  method: "POST",
5965
- headers: { "Content-Type": "application/json", Authorization: `Bearer ${proxyToken}` },
5964
+ headers: { "Content-Type": "application/json", ...proxyToken ? { Authorization: `Bearer ${proxyToken}` } : {} },
5966
5965
  body: JSON.stringify(body),
5967
5966
  signal: controller.signal,
5968
5967
  redirect: "error"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linktr.ee/arbor-mcp",
3
- "version": "0.3.0",
3
+ "version": "0.4.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",