@superblocksteam/gateway 2.0.157 → 2.0.158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +30 -3
  2. package/dist/capabilities/integration-metadata.d.ts +28 -0
  3. package/dist/capabilities/integration-metadata.js +174 -0
  4. package/dist/capabilities/integration-metadata.js.map +1 -0
  5. package/dist/capabilities/lifecycle.d.ts +12 -1
  6. package/dist/capabilities/lifecycle.js +99 -51
  7. package/dist/capabilities/lifecycle.js.map +1 -1
  8. package/dist/capabilities/types.d.ts +5 -0
  9. package/dist/capabilities/types.js.map +1 -1
  10. package/dist/deps.d.ts +2 -0
  11. package/dist/integrations/map.d.ts +1 -0
  12. package/dist/integrations/map.js +1 -1
  13. package/dist/integrations/map.js.map +1 -1
  14. package/dist/sabs/editor-client-methods.js +4 -5
  15. package/dist/sabs/editor-client-methods.js.map +1 -1
  16. package/dist/sabs/session-peer.d.ts +4 -0
  17. package/dist/sabs/websocket-session-peer.d.ts +2 -1
  18. package/dist/sabs/websocket-session-peer.js +21 -11
  19. package/dist/sabs/websocket-session-peer.js.map +1 -1
  20. package/dist/server/client.d.ts +10 -4
  21. package/dist/server/client.js +13 -4
  22. package/dist/server/client.js.map +1 -1
  23. package/dist/start.d.ts +10 -0
  24. package/dist/start.js +5 -2
  25. package/dist/start.js.map +1 -1
  26. package/dist/telemetry/mcp-client.d.ts +22 -0
  27. package/dist/telemetry/mcp-client.js +129 -0
  28. package/dist/telemetry/mcp-client.js.map +1 -0
  29. package/dist/telemetry/runtime.d.ts +9 -0
  30. package/dist/telemetry/runtime.js +121 -0
  31. package/dist/telemetry/runtime.js.map +1 -0
  32. package/dist/transports/mcp/admin-tools.d.ts +3 -1
  33. package/dist/transports/mcp/admin-tools.js +12 -1
  34. package/dist/transports/mcp/admin-tools.js.map +1 -1
  35. package/dist/transports/mcp/app-status-html.d.ts +2 -2
  36. package/dist/transports/mcp/app-status-html.js +139 -8
  37. package/dist/transports/mcp/app-status-html.js.map +1 -1
  38. package/dist/transports/mcp/mount.js +89 -24
  39. package/dist/transports/mcp/mount.js.map +1 -1
  40. package/package.json +5 -4
@@ -11,7 +11,7 @@
11
11
  * card (hosts cache UI resources; keep this file small and inline). Bump the
12
12
  * resource URI when the HTML changes so Claude Desktop refreshes its cache.
13
13
  */
14
- export const APP_STATUS_RESOURCE_URI = "ui://gateway/app-status-v6.html";
14
+ export const APP_STATUS_RESOURCE_URI = "ui://gateway/app-status-v8.html";
15
15
  export const APP_STATUS_HTML = `<!DOCTYPE html>
16
16
  <html lang="en">
17
17
  <head>
@@ -125,11 +125,29 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
125
125
  <script>
126
126
  (() => {
127
127
  const PROTOCOL_VERSION = "2026-01-26";
128
+ // Statuses get_app reports when the app is still the empty starter
129
+ // template. "building" is deliberately absent: the card only hears a
130
+ // build finished if a new result arrives, so a stale badge would strand
131
+ // the button.
132
+ const UNBUILT_STATUSES = [
133
+ "cancelled",
134
+ "live_edit_terminated",
135
+ "needs_decision",
136
+ "no_changes",
137
+ "timeout",
138
+ ];
139
+ const BLOCKED_ACTIONS = [
140
+ "answer_question",
141
+ "approve_plan",
142
+ "retry_build",
143
+ "retry_import",
144
+ ];
128
145
  let nextId = 1;
129
146
  const pending = new Map();
130
147
  let applicationId = "";
131
148
  let appName = "";
132
149
  let commitId = "";
150
+ let pendingAction = "";
133
151
  let editUrl = "";
134
152
  let previewUrl = "";
135
153
  let publishUrl = "";
@@ -137,6 +155,13 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
137
155
  let canCallTools = false;
138
156
  let publishing = false;
139
157
  let lastHeight = 0;
158
+ let refreshInFlight = false;
159
+ let refreshTimer = 0;
160
+ let refreshGeneration = 0;
161
+ let refreshAttempts = 0;
162
+ let pollAfterMs = 2000;
163
+ const MIN_POLL_MS = 2000;
164
+ const MAX_REFRESH_ATTEMPTS = 40;
140
165
 
141
166
  function post(message) {
142
167
  window.parent.postMessage(message, "*");
@@ -226,6 +251,31 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
226
251
  }
227
252
  }
228
253
 
254
+ /**
255
+ * True when publishing would deploy the empty starter template.
256
+ * pendingAction is the server's own "nothing to preview" signal;
257
+ * wait_for_build is the building exception. Status is only a fallback
258
+ * when the payload omitted pendingAction. loading/waiting with no
259
+ * preview fail closed so Publish is not clickable before get_app
260
+ * returns.
261
+ */
262
+ function nothingToPublish() {
263
+ if (previewUrl || publishUrl) {
264
+ return false;
265
+ }
266
+ if (pendingAction === "wait_for_build") {
267
+ return false;
268
+ }
269
+ if (BLOCKED_ACTIONS.indexOf(pendingAction) !== -1) {
270
+ return true;
271
+ }
272
+ const badge = element("status").textContent;
273
+ if (!badge || badge === "loading" || badge === "waiting") {
274
+ return true;
275
+ }
276
+ return UNBUILT_STATUSES.indexOf(badge) !== -1;
277
+ }
278
+
229
279
  /**
230
280
  * Keep URLs in memory for openLink — never print them (preview JWTs are
231
281
  * huge and ugly in the card).
@@ -240,7 +290,10 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
240
290
  : "Publish app";
241
291
  element("publishApp").disabled = publishUrl
242
292
  ? !canOpenLinks
243
- : !applicationId || !canCallTools || publishing;
293
+ : !applicationId ||
294
+ !canCallTools ||
295
+ publishing ||
296
+ nothingToPublish();
244
297
  // Only warn about what is actually broken. Hosts that do open links
245
298
  // handle local http fine; if one refuses, refused() says so then.
246
299
  if (!canOpenLinks && (editUrl || previewUrl) && !publishUrl) {
@@ -312,6 +365,11 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
312
365
  if (typeof value.commitId === "string") {
313
366
  commitId = value.commitId;
314
367
  }
368
+ if (typeof value.pendingAction === "string") {
369
+ pendingAction = value.pendingAction;
370
+ } else if (typeof value.status === "string") {
371
+ pendingAction = "";
372
+ }
315
373
  if (typeof value.screenshotBase64 === "string") {
316
374
  showScreenshot(value.screenshotBase64, "image/jpeg");
317
375
  }
@@ -324,6 +382,9 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
324
382
  if (typeof value.publishUrl === "string") {
325
383
  publishUrl = webUrl(value.publishUrl);
326
384
  }
385
+ if (typeof value.nextPollAfterMs === "number") {
386
+ pollAfterMs = value.nextPollAfterMs;
387
+ }
327
388
  // Hosts that deliver URLs without a status left the badge on the HTML
328
389
  // default ("loading") even after the app was built.
329
390
  const badge = element("status").textContent;
@@ -338,29 +399,91 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
338
399
  }
339
400
 
340
401
  /**
341
- * When the host opened the card with tool input (applicationId) but never
342
- * pushed a tool result, refresh ourselves so the badge is not stuck on
343
- * "loading" after the build finished.
402
+ * Re-ask get_app when the host gave us no result, or while status is
403
+ * still building. wait:false and ensurePreview:false so polls only
404
+ * ask for status. Honor nextPollAfterMs; 0 means stop.
344
405
  */
406
+ function clearRefreshTimer() {
407
+ if (refreshTimer) {
408
+ clearTimeout(refreshTimer);
409
+ refreshTimer = 0;
410
+ }
411
+ }
412
+
413
+ function retryDelay() {
414
+ return Math.max(MIN_POLL_MS, pollAfterMs || MIN_POLL_MS);
415
+ }
416
+
417
+ function scheduleRefresh(delayMs) {
418
+ clearRefreshTimer();
419
+ if (refreshAttempts >= MAX_REFRESH_ATTEMPTS) {
420
+ note("Stopped checking whether the app is still building.");
421
+ return;
422
+ }
423
+ refreshTimer = setTimeout(() => {
424
+ refreshTimer = 0;
425
+ refreshFromServer();
426
+ }, delayMs);
427
+ }
428
+
345
429
  function refreshFromServer() {
346
- if (!canCallTools || !applicationId || editUrl) {
430
+ clearRefreshTimer();
431
+ if (!canCallTools || !applicationId || refreshInFlight) {
432
+ return;
433
+ }
434
+ if (typeof document.hidden === "boolean" && document.hidden) {
435
+ scheduleRefresh(retryDelay());
436
+ return;
437
+ }
438
+ const badge = element("status").textContent;
439
+ if (editUrl && badge !== "building") {
440
+ return;
441
+ }
442
+ if (refreshAttempts >= MAX_REFRESH_ATTEMPTS) {
443
+ note("Stopped checking whether the app is still building.");
347
444
  return;
348
445
  }
446
+ refreshAttempts += 1;
447
+ const generation = refreshGeneration;
448
+ refreshInFlight = true;
349
449
  request("tools/call", {
350
450
  name: "get_app",
351
- arguments: { applicationId },
451
+ arguments: {
452
+ applicationId,
453
+ ensurePreview: false,
454
+ wait: false,
455
+ },
352
456
  })
353
457
  .then((result) => {
458
+ refreshInFlight = false;
459
+ if (generation !== refreshGeneration) {
460
+ if (element("status").textContent === "building") {
461
+ scheduleRefresh(retryDelay());
462
+ }
463
+ return;
464
+ }
354
465
  if (!result || result.isError) {
466
+ scheduleRefresh(retryDelay());
355
467
  return;
356
468
  }
357
469
  applyPayload(result);
358
470
  if (result.structuredContent) {
359
471
  applyPayload(result.structuredContent);
360
472
  }
473
+ if (element("status").textContent !== "building") {
474
+ return;
475
+ }
476
+ if (pollAfterMs === 0) {
477
+ return;
478
+ }
479
+ scheduleRefresh(retryDelay());
361
480
  })
362
481
  .catch(() => {
363
- // Host declined; stay on whatever we have.
482
+ refreshInFlight = false;
483
+ if (generation !== refreshGeneration) {
484
+ return;
485
+ }
486
+ scheduleRefresh(retryDelay());
364
487
  });
365
488
  }
366
489
 
@@ -413,6 +536,10 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
413
536
  if (!applicationId || !canCallTools || publishing) {
414
537
  return;
415
538
  }
539
+ if (nothingToPublish()) {
540
+ note("Nothing to publish yet: this turn did not build the app.");
541
+ return;
542
+ }
416
543
  publishing = true;
417
544
  renderActions();
418
545
  note("Publishing…");
@@ -496,6 +623,10 @@ export const APP_STATUS_HTML = `<!DOCTYPE html>
496
623
  if (params.structuredContent) {
497
624
  applyPayload(params.structuredContent);
498
625
  }
626
+ refreshGeneration += 1;
627
+ if (element("status").textContent === "building") {
628
+ refreshFromServer();
629
+ }
499
630
  }
500
631
  if (method === "ui/notifications/tool-input" && params.arguments) {
501
632
  applyPayload(params.arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"app-status-html.js","sourceRoot":"","sources":["../../../src/transports/mcp/app-status-html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmiB9B,CAAC"}
1
+ {"version":3,"file":"app-status-html.js","sourceRoot":"","sources":["../../../src/transports/mcp/app-status-html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsqB9B,CAAC"}
@@ -3,6 +3,7 @@ import { registerAppResource, registerAppTool, RESOURCE_MIME_TYPE, } from "@mode
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import { ElicitResultSchema, } from "@modelcontextprotocol/sdk/types.js";
5
5
  import { z } from "zod";
6
+ import { getIntegrationMetadata } from "../../capabilities/integration-metadata.js";
6
7
  import { checkAppProgress, editApp, getApp, importApp, previewApp, publishApp, startApp, } from "../../capabilities/lifecycle.js";
7
8
  import { IMPORT_ZIP_BASE64_MAX_CHARS } from "../../capabilities/types.js";
8
9
  import { BROWSER_DRIVER_INSTRUCTIONS } from "../../capture/browser-instructions.js";
@@ -16,6 +17,24 @@ import { APP_STATUS_HTML, APP_STATUS_RESOURCE_URI } from "./app-status-html.js";
16
17
  import { clientSupportsFormElicitation, pendingDecision, resolveDecisionByElicitation, } from "./decision-elicitation.js";
17
18
  import { formatMcpToolContent } from "./format-tool-content.js";
18
19
  import { createProgressNotifier } from "./progress-notifier.js";
20
+ const DESTRUCTIVE_TOOL_ANNOTATIONS = {
21
+ destructiveHint: true,
22
+ idempotentHint: false,
23
+ openWorldHint: true,
24
+ readOnlyHint: false,
25
+ };
26
+ const NON_DESTRUCTIVE_WRITE_TOOL_ANNOTATIONS = {
27
+ destructiveHint: false,
28
+ idempotentHint: false,
29
+ openWorldHint: true,
30
+ readOnlyHint: false,
31
+ };
32
+ const READ_ONLY_TOOL_ANNOTATIONS = {
33
+ destructiveHint: false,
34
+ idempotentHint: true,
35
+ openWorldHint: true,
36
+ readOnlyHint: true,
37
+ };
19
38
  /**
20
39
  * Optional composite progress cursor a host may hand back on
21
40
  * `check_app_progress`.
@@ -76,10 +95,11 @@ Name the builder "Superblocks" in every word you write. Users sometimes call it
76
95
  Use these tools whenever the user asks to build, change, import, or ship an app, whichever of those names they reach for.
77
96
 
78
97
  - start_app: create a new application and hand a prompt to Superblocks. Returns as soon as Superblocks accepts, with status "building". Superblocks names it unless a name is given.
79
- - import_app: import an existing app from a ZIP (or .tgz/.gz) into Superblocks and start a Superblocks migration. Pass the archive's file name as zipPath — the gateway opens the file on this machine itself. Archives larger than 1 MB are rejected — they almost certainly include node_modules; re-export without install artifacts. Optional prompt carries extra intent (e.g. "make it more secure"). Returns like start_app with status "building".
98
+ - import_app: import an existing app from a ZIP (or .tgz/.gz) into Superblocks and start a Superblocks migration. Pass the archive's file name as zipPath — the gateway opens the file on this machine itself. Archives larger than 1 MB are rejected — they almost certainly include node_modules; re-export without install artifacts. Optional prompt carries extra intent (e.g. "make it more secure"). Returns like start_app with status "building". Pass applicationId only when retrying a failed import into the application that call already created.
80
99
  - edit_app: send a follow-up prompt (including the answer when Superblocks asked a question) for an existing application. Also returns at status "building". Defaults to the most recent app, so an applicationId is only needed to target a different app.
81
100
  - check_app_progress: wait for the next thing Superblocks does and return it. It returns the moment Superblocks says anything, and after ~10 seconds of silence at the latest. "activity" holds Superblocks' own words since the previous call, in order; a quiet poll still returns a short heartbeat with elapsedSeconds.
82
- - get_app: return editor and preview URLs for the recent or specified app (builds a private preview when needed). Prefer this after status "ready" so the user can open the live app. Hosts that support MCP Apps show the status card (Open editor / Open preview) on this call — not on check_app_progress or preview_app — so only one card opens. When Superblocks has written code the tool includes a screenshot: the live Vite canvas (library peer) if a held session exists, otherwise the signed-in preview. Never open canvas.doNotOpen (the edit URL) to take that screenshot. It refuses to build a preview of an app Superblocks has not written yet: while a plan or question is outstanding it returns status "needs_decision" with "pendingAction", while a turn is running it returns status "building", and when the last turn ended without writing anything it returns that turn's status ("timeout", "live_edit_terminated", "no_changes" or "cancelled") with pendingAction "retry_build". In each case there are no preview URLs and no screenshot — do the pendingAction first rather than calling get_app again.
101
+ - get_app: return editor and preview URLs for the recent or specified app (builds a private preview when needed). Prefer this after status "ready" so the user can open the live app. Hosts that support MCP Apps show the status card (Open editor / Open preview) on this call — not on check_app_progress or preview_app — so only one card opens. When Superblocks has written code the tool includes a screenshot: the live Vite canvas (library peer) if a held session exists, otherwise the signed-in preview. Never open canvas.doNotOpen (the edit URL) to take that screenshot. It refuses to build a preview of an app Superblocks has not written yet: while a plan or question is outstanding it returns status "needs_decision" with "pendingAction", while a turn is running it returns status "building", and when the last turn ended without writing anything it returns that turn's status ("timeout", "live_edit_terminated", "no_changes" or "cancelled") with pendingAction "retry_build" for ordinary prompts or pendingAction "retry_import" for imports. In each case there are no preview URLs and no screenshot — do the pendingAction first rather than calling get_app again.
102
+ - get_integration_metadata: inspect the tables, columns, and types in a connected integration. It needs no application and never executes an integration action, so do not call start_app or hunt through list_applications to satisfy it. Pass applicationId only for an integration that belongs to one application, such as a Native DB. Use search, limit, and offset to page large results. get_integration_config_schema is the JSON form for create_integration; it does not inspect connected data.
83
103
  - preview_app: build the application's current work and return a URL that runs it, without deploying it — the editor's Preview button. Nobody else can reach a preview. Text/markdown only (no MCP Apps widget); use get_app instead when you want the status card.
84
104
  - publish_app: deploy an application and wait until it is live. It commits the current work first, so a commitId is only needed to publish an earlier commit.
85
105
 
@@ -87,21 +107,25 @@ A build takes two to four minutes, and start_app/edit_app/import_app return with
87
107
 
88
108
  The user sees nothing at all while a tool call is outstanding, so between two calls always write out the new "activity" lines as a short message in your own reply — quote or paraphrase them, oldest first, before calling check_app_progress again. Do not batch them up for a summary at the end, and do not go two calls in a row without writing something: the point of the loop is that the user watches the build happen. When a call comes back with only a heartbeat (no new Superblocks words), say Superblocks is still working and how long it has been going, then poll again.
89
109
 
90
- status "ready" means the turn finished: report the "reply" field, then call get_app (not preview_app as well — calling both used to open two widgets) so the user gets Open preview / an https link or a screenshot. status "needs_decision" means Superblocks is waiting — often with a plan — so stop polling and put the decision to the user. When "decision.kind" is "plan", show the plan markdown, then invite them to build it as written or say what to change — the same fork the editor's Build-it button offers. Ask that as an ordinary closing question in your own words; do not turn it into a numbered or bulleted menu, and do not wrap the choices in quotation marks. When they say "Build it", "approve", "looks good", or "go ahead", you MUST call edit_app with planAction "approve" and omit prompt (do not re-send the plan, and do not put "approve" or "Build it" in the prompt field — that is refine feedback to Superblocks, not the editor Build-it path). When they want changes, call edit_app with planAction "refine" and their feedback as prompt. When "decision.kind" is "multi_choice", relay the question and options and send their answer with edit_app. Do not claim the app is built while status is "needs_decision". status "no_changes" means the Superblocks job ended without building anything: relay reply, say no app was built, and do not present the edit URL as a finished app. status "live_edit_terminated" means the live-edit session that was to run the turn died before it built anything, or never opened at all — the prompt was fine and nothing timed out, so relay reply, tell the user the session did not survive, and offer to send the same instruction again with edit_app. status "detached" means Superblocks is still working but the gateway can no longer see it — usually because the app is open in a browser editor, which takes over Superblocks updates. Stop polling, say so, and point the user at the edit URL. status "unknown" means nothing is in flight for that app. A checkpointCommitId means Superblocks work is saved and the edit URL opens the finished app; when viewStatus is unknown, say the app may still be finishing in the editor.
110
+ status "ready" means the turn finished: report the "reply" field, then call get_app (not preview_app as well — calling both used to open two widgets) so the user gets Open preview / an https link or a screenshot. status "needs_decision" means Superblocks is waiting — often with a plan — so stop polling and put the decision to the user. When "decision.kind" is "plan", show the plan markdown, then invite them to build it as written or say what to change — the same fork the editor's Build-it button offers. Ask that as an ordinary closing question in your own words; do not turn it into a numbered or bulleted menu, and do not wrap the choices in quotation marks. When they say "Build it", "approve", "looks good", or "go ahead", you MUST call edit_app with planAction "approve" and omit prompt (do not re-send the plan, and do not put "approve" or "Build it" in the prompt field — that is refine feedback to Superblocks, not the editor Build-it path). When they want changes, call edit_app with planAction "refine" and their feedback as prompt. When "decision.kind" is "multi_choice", relay the question and options and send their answer with edit_app. Do not claim the app is built while status is "needs_decision". status "no_changes" means the Superblocks job ended without building anything: relay reply, say no app was built, and do not present the edit URL as a finished app. status "live_edit_terminated" means the live-edit session that was to run the turn died before it built anything, or never opened at all — relay reply, tell the user the session did not survive, and follow its pendingAction to retry with edit_app or import_app. status "detached" means Superblocks is still working but the gateway can no longer see it — usually because the app is open in a browser editor, which takes over Superblocks updates. Stop polling, say so, and point the user at the edit URL. status "unknown" means nothing is in flight for that app. A checkpointCommitId means Superblocks work is saved and the edit URL opens the finished app; when viewStatus is unknown, say the app may still be finishing in the editor.
111
+
112
+ When get_app returns a screenshot, inspect it yourself before reporting that the app looks correct. If it shows skeletons, spinners, empty tables or charts, or "Loading...", call get_app again a few seconds later instead of treating that as a defect. If it shows a problem the user would plainly recognize as wrong, call edit_app once with a concrete correction, follow that turn to completion, and inspect the next get_app screenshot. Otherwise describe what you see and ask the user whether to fix it.
91
113
 
92
114
  start_app, edit_app, and import_app default to Plan mode (Superblocks proposes a plan before writing). Pass mode "BUILD" only when the user asks to skip planning and build immediately. Approving a plan after start_app or import_app is always a follow-up edit_app with planAction "approve" — never a second start_app/import_app with prompt "approve". Once the app has run in Build mode, later edit_app calls stay in Build mode on their own: you do not need to re-send mode "BUILD", and a new instruction is not a fresh planning round. Send mode "PLAN" only when the user explicitly asks to plan again before building. Every start_app / edit_app / import_app result reports the "mode" the turn ran in, so you can tell the user whether Superblocks is planning or building rather than guessing — and if a result comes back "PLAN" after a long gap, the build session was recycled rather than the user asking to plan, so pass mode "BUILD" again to carry on building. editUrl / previewUrl / publishUrl may appear in structured JSON for openLink buttons — do not dump raw URLs (especially preview JWTs) into the chat. Prefer the MCP Apps Open editor / Open preview buttons from get_app. Claude Desktop can only openLink https URLs; when previewUrl is http, say so briefly and rely on any screenshot image the tool returned rather than pasting the URL.
93
115
 
94
116
  Once a build reaches "ready", call get_app so the user can open the app, then offer publish_app to deploy for their organization when they ask. Prefer get_app over preview_app after a build — get_app already ensures a private preview and is the only tool that opens the MCP Apps status card. Only publish when the user asks. If preview_app or get_app comes back with status "building", the URL is already correct; tell the user it is still building and call again to check.
95
117
 
96
- There is nothing to preview until Superblocks has written code, so get_app is not the way out of a plan, a question, or a turn that failed. When it answers status "needs_decision" (pendingAction "approve_plan" or "answer_question"), the app is still the empty starter template: put the decision to the user, send their answer with edit_app, and only call get_app once a turn has finished. When it answers "timeout", "live_edit_terminated", "no_changes" or "cancelled" with pendingAction "retry_build", that turn built nothing: tell the user so plainly, and send the instruction again with edit_app if they want to retry. Repeating get_app instead opens another status card and tells the user nothing new.
118
+ There is nothing to preview until Superblocks has written code, so get_app is not the way out of a plan, a question, or a turn that failed. When it answers status "needs_decision" (pendingAction "approve_plan" or "answer_question"), the app is still the empty starter template: put the decision to the user, send their answer with edit_app, and only call get_app once a turn has finished. When it answers "timeout", "live_edit_terminated", "no_changes" or "cancelled" with pendingAction "retry_build", that turn built nothing: tell the user so plainly, and send the instruction again with edit_app if they want to retry. For pendingAction "retry_import", call import_app again with the same archive and applicationId. One of those statuses can arrive with no pendingAction at all, which means the gateway knows the turn wrote nothing but not how it was started: say so, and pick the retry from what this conversation already knows — import_app with the archive and applicationId for an app you imported, edit_app with the same prompt otherwise. Repeating get_app instead opens another status card and tells the user nothing new.
97
119
 
98
120
  Superblocks tests what it builds: it opens the app in a browser and runs its APIs, and the test run arrives as ordinary "activity" lines ("Testing the orders page", "Test passed: …", "Tests failed: …"). Relay those lines like any other activity, and say which cases passed and which failed — a test run is the only evidence the user has that the app actually works. A failing test is a build signal, not an auth problem: it means the app has a bug Superblocks is about to work on, so keep polling and never tell the user to sign in again or re-enter credentials over one.
99
121
 
100
- A failed call still names the application it was working on. start_app and import_app create the application before the build can start, so an error from either one leaves an application that exists and belongs to this conversation, and the error says which: read the "applicationId" field, never a UUID out of the message text. Never take an error to mean nothing happened. Do not answer a failed start_app with a second start_app — that abandons the app you already have and creates a duplicate. When the error carries pendingAction "retry_build" — a "live_edit_unavailable" session that would not open, or a turn that ran out of budget — send the same prompt again with edit_app and that applicationId. A failed import_app carries no such recovery, because edit_app cannot resupply the archive the migration prompt reads: that application is empty and nothing can continue it in place, so name it to the user and let them decide whether to import again. Every edit_app error names its applicationId too, which is the one place to see which app a call that omitted the id actually ran on.
122
+ A failed call still names the application it was working on. start_app and import_app create the application before the build can start, so an error from either one leaves an application that exists and belongs to this conversation, and the error says which: read the "applicationId" field, never a UUID out of the message text. Never take an error to mean nothing happened. Do not answer a failed start_app with a second start_app — that abandons the app you already have and creates a duplicate. When the error carries pendingAction "retry_build" — a "live_edit_unavailable" session that would not open, or a turn that ran out of budget — send the same prompt again with edit_app and that applicationId. When import_app returns pendingAction "retry_import", call import_app again with the same archive and applicationId so it resumes the existing app instead of creating another one. Every edit_app error names its applicationId too, which is the one place to see which app a call that omitted the id actually ran on.
123
+
124
+ A cancelled call does not stop the build, and it is not permission to start over. Cancelling only ends the waiting — Superblocks carries on, and the "cancelled" error names the application it was driving in "applicationId". Read that id, call check_app_progress or get_app on it, and act on what comes back. When the user then asks to redo, retry, or resume an import, that is a request to finish the application you already have: never answer it with an import_app that omits applicationId, which builds a second app and strands the first. The same holds when no pendingAction is in front of you — after a cancel, or in a later session. If the app came from an import, the way back in is import_app with the same archive and that applicationId; if you cannot tell which application the user means, ask rather than create one.
101
125
 
102
126
  Prompts are forwarded to Superblocks verbatim — pass the user's wording rather than a summary.
103
127
 
104
- This connector is the single Superblocks MCP: Builder tools (start_app, import_app, edit_app, check_app_progress, get_app, preview_app, publish_app) and Admin tools (integrations, apps, users, folders, deploy_application, and the rest of the customer Admin surface) share this endpoint. Prefer create_integration / update_integration / list_integrations here when Superblocks needs a missing Postgres, REST, or other datasource — do not send the user to a second MCP. create_integration is Admin CRUD for org datasources; start_app creates a new application and hands a prompt to Superblocks. deploy_application is Admin deploy of an existing commit; publish_app is the Builder path that commits current work and waits until the app is live. Omit base_url on Admin tools unless targeting a different control plane — the gateway injects its configured Server URL. checkout_application is not exposed on this network surface (host filesystem writes); use the CLI/workspace checkout path instead.
128
+ This connector is the single Superblocks MCP: Builder tools (start_app, import_app, edit_app, check_app_progress, get_app, get_integration_metadata, preview_app, publish_app) and Admin tools (integrations, apps, users, folders, deploy_application, and the rest of the customer Admin surface) share this endpoint. Prefer create_integration / update_integration / list_integrations here when Superblocks needs a missing Postgres, REST, or other datasource — do not send the user to a second MCP. Call get_integration_config_schema with the plugin_id before create_integration, then pass name, plugin_id, and configuration — never the raw integrations API envelope. create_integration is Admin CRUD for org datasources; start_app creates a new application and hands a prompt to Superblocks. deploy_application is Admin deploy of an existing commit; publish_app is the Builder path that commits current work and waits until the app is live. Omit base_url on Admin tools unless targeting a different control plane — the gateway injects its configured Server URL. checkout_application is not exposed on this network surface (host filesystem writes); use the CLI/workspace checkout path instead.
105
129
 
106
130
  This connection is already authenticated and already pointed at one Superblocks Server, so there is no setup, login, or auth-status call to make first. Call the tool that does the job — list_integrations to see the org's datasources, start_app to create an application — and read its error if something is genuinely wrong. Do not look for a tool that reports credentials or environments; there is none, and asking for one costs the user a turn.
107
131
 
@@ -127,6 +151,9 @@ export function createMcpServer(deps) {
127
151
  progress.push(event);
128
152
  notify?.(event.message);
129
153
  },
154
+ onPrincipalResolved: (principal) => {
155
+ deps.mcpTelemetry?.setOrganizationId(principal.organizationId);
156
+ },
130
157
  principal: principalFrom(deps),
131
158
  progressCursors: deps.progressCursors,
132
159
  recentApps: deps.recentApps,
@@ -145,19 +172,18 @@ export function createMcpServer(deps) {
145
172
  gatewayDebugStack("tool started", { "tool.name": toolName });
146
173
  const progress = [];
147
174
  const notify = createProgressNotifier(extra);
148
- let result;
149
- if (!deps.cliApiKey) {
150
- gatewayDebug("tool short-circuited", {
151
- "tool.name": toolName,
152
- "tool.reason": "missing_cli_session",
153
- });
154
- result = {
155
- kind: "error",
156
- code: "unauthenticated",
157
- message: "This Gateway has no CLI session. Run: superblocks login",
158
- };
159
- }
160
- else {
175
+ const execute = async () => {
176
+ if (!deps.cliApiKey) {
177
+ gatewayDebug("tool short-circuited", {
178
+ "tool.name": toolName,
179
+ "tool.reason": "missing_cli_session",
180
+ });
181
+ return {
182
+ kind: "error",
183
+ code: "unauthenticated",
184
+ message: "This Gateway has no CLI session. Run: superblocks login",
185
+ };
186
+ }
161
187
  try {
162
188
  // The SDK aborts this on `notifications/cancelled` and on a dropped
163
189
  // connection. Handing it to the capability is what turns "the host
@@ -165,7 +191,7 @@ export function createMcpServer(deps) {
165
191
  // and a waiter running for an answer nobody will read.
166
192
  const signal = extra?.signal;
167
193
  const capabilityContext = await context(progress, notify, signal);
168
- result = await capability(capabilityContext, () => {
194
+ return await capability(capabilityContext, () => {
169
195
  for (let index = progress.length - 1; index >= 0; index -= 1) {
170
196
  if (progress[index]?.type === "completed") {
171
197
  progress.splice(index, 1);
@@ -175,7 +201,7 @@ export function createMcpServer(deps) {
175
201
  }
176
202
  catch (error) {
177
203
  console.error("gateway capability failed", error);
178
- result = {
204
+ return {
179
205
  kind: "error",
180
206
  code: "capability_failed",
181
207
  message: error instanceof Error
@@ -183,7 +209,21 @@ export function createMcpServer(deps) {
183
209
  : "The gateway failed for an unknown reason.",
184
210
  };
185
211
  }
186
- }
212
+ };
213
+ const client = server.server.getClientVersion();
214
+ const result = deps.mcpTelemetry
215
+ ? await deps.mcpTelemetry.runTool({
216
+ ...(client
217
+ ? {
218
+ client: {
219
+ name: client.name,
220
+ version: client.version,
221
+ },
222
+ }
223
+ : {}),
224
+ toolName,
225
+ }, execute)
226
+ : await execute();
187
227
  const resultStatus = result.kind === "ok" &&
188
228
  result.value &&
189
229
  typeof result.value === "object" &&
@@ -294,7 +334,24 @@ export function createMcpServer(deps) {
294
334
  });
295
335
  }
296
336
  function registerBuilderTools() {
337
+ server.registerTool("get_integration_metadata", {
338
+ annotations: READ_ONLY_TOOL_ANNOTATIONS,
339
+ description: "Inspect the tables, columns, and types in a connected Superblocks integration. Needs no application and never executes an integration action. Pass integrationId, which list_integrations returns. A large result comes back paged: narrow it with search, take more or fewer entries with limit, and continue from nextOffset with offset. Requires build permission on the integration. Do not use this to learn how to create an integration; that is get_integration_config_schema.",
340
+ inputSchema: {
341
+ applicationId: z
342
+ .string()
343
+ .uuid()
344
+ .optional()
345
+ .describe("Only for an integration owned by a single application, such as a Native DB. Leave unset otherwise; do not go looking for an application to supply."),
346
+ integrationId: z.string().uuid(),
347
+ limit: z.number().int().min(1).max(200).optional(),
348
+ offset: z.number().int().min(0).optional(),
349
+ search: z.string().min(1).optional(),
350
+ },
351
+ title: "Get Integration Metadata",
352
+ }, async (input, extra) => run("get_integration_metadata", (context) => getIntegrationMetadata(context, input), extra));
297
353
  server.registerTool("start_app", {
354
+ annotations: NON_DESTRUCTIVE_WRITE_TOOL_ANNOTATIONS,
298
355
  description: 'Create a Superblocks application and hand a prompt to Superblocks in Plan mode by default. Returns as soon as Superblocks accepts, with status "building" and an edit URL; follow with check_app_progress until status is no longer "building". When Superblocks returns needs_decision with a plan and the user says "Build it", call edit_app with planAction "approve" (omit prompt) — do not call start_app again with prompt "approve". Pass mode "BUILD" to skip planning. Superblocks names the application unless name is given. An error from this tool does not mean nothing happened: the application is created before the build starts, so the error names it in "applicationId". Retry that app with edit_app rather than calling start_app another time, which would leave the first one abandoned.',
299
356
  inputSchema: {
300
357
  branch: z.string().optional(),
@@ -319,8 +376,10 @@ export function createMcpServer(deps) {
319
376
  wait: "ack",
320
377
  }), extra));
321
378
  server.registerTool("import_app", {
322
- description: 'Import an existing app from a ZIP/.tgz/.gz archive into Superblocks and start a Superblocks migration. Pass the archive\'s file name (or its full path on this machine) as zipPath: the gateway reads the file itself, so a path from your own sandbox is fine as long as the name matches the file the user has. Never encode the archive as base64 — zipBase64 only carries test fixtures. Archives larger than 1 MB are rejected — exclude node_modules. Optional prompt adds intent such as hardening security. Returns status "building"; follow with check_app_progress. Defaults to Plan mode — when Superblocks returns a plan and the user says "Build it", call edit_app with planAction "approve" (omit prompt); do not call import_app again with prompt "approve". An error from this tool does not mean nothing happened: the application is created before the migration starts, so the error names it in "applicationId". That application is empty — the migration never ran — and nothing can continue it in place, so say it exists and let the user decide whether to import again rather than silently retrying.',
379
+ annotations: DESTRUCTIVE_TOOL_ANNOTATIONS,
380
+ description: 'Import an existing app from a ZIP/.tgz/.gz archive into Superblocks and start a Superblocks migration. Pass the archive\'s file name (or its full path on this machine) as zipPath: the gateway reads the file itself, so a path from your own sandbox is fine as long as the name matches the file the user has. Never encode the archive as base64 — zipBase64 only carries test fixtures. Archives larger than 1 MB are rejected — exclude node_modules. Optional prompt adds intent such as hardening security. Returns status "building"; follow with check_app_progress. Defaults to Plan mode — when Superblocks returns a plan and the user says "Build it", call edit_app with planAction "approve" (omit prompt); do not call import_app again with prompt "approve". An error from this tool does not mean nothing happened: the application is created before the migration starts, so the error names it in "applicationId". When it returns pendingAction "retry_import", call import_app again with the same archive and applicationId to resume that application instead of creating another one.',
323
381
  inputSchema: {
382
+ applicationId: z.string().uuid().optional(),
324
383
  branch: z.string().optional(),
325
384
  idempotencyKey: z.string().optional(),
326
385
  mode: z.enum(["BUILD", "PLAN"]).optional(),
@@ -346,7 +405,8 @@ export function createMcpServer(deps) {
346
405
  zipPath: z.string().min(1).optional(),
347
406
  },
348
407
  title: "Import App",
349
- }, async ({ branch, idempotencyKey, mode, name, prompt, source, zipBase64, zipPath, }, extra) => run("import_app", (context) => importApp(context, {
408
+ }, async ({ applicationId, branch, idempotencyKey, mode, name, prompt, source, zipBase64, zipPath, }, extra) => run("import_app", (context) => importApp(context, {
409
+ applicationId,
350
410
  branch,
351
411
  idempotencyKey: idempotencyKey ?? `mcp-import:${randomUUID()}`,
352
412
  mode,
@@ -358,6 +418,7 @@ export function createMcpServer(deps) {
358
418
  zipPath,
359
419
  }), extra));
360
420
  server.registerTool("edit_app", {
421
+ annotations: DESTRUCTIVE_TOOL_ANNOTATIONS,
361
422
  description: 'Forward a prompt to Superblocks for the recent or specified application. Defaults to Plan mode until the app has run in Build mode; after that later edits keep building directly — you do not need to pass mode again. Pass mode "PLAN" only when the user explicitly asks to plan before building. The result reports the "mode" the turn ran in; a "PLAN" result after a long gap means the build session was recycled, so pass mode "BUILD" again rather than treating it as a new planning round. When status was needs_decision with a plan and the user says "Build it" / approve / go ahead, call edit_app with planAction "approve" and omit prompt — do not put "approve" or "Build it" in prompt (that is refine feedback, not the Build-it path). Use planAction "refine" with their feedback as prompt to change the plan. Also use edit_app to answer multi_choice questions. Returns status "building"; follow with check_app_progress.',
362
423
  inputSchema: {
363
424
  applicationId: z.string().uuid().optional(),
@@ -378,6 +439,7 @@ export function createMcpServer(deps) {
378
439
  wait: "ack",
379
440
  }), extra));
380
441
  server.registerTool("check_app_progress", {
442
+ annotations: NON_DESTRUCTIVE_WRITE_TOOL_ANNOTATIONS,
381
443
  description: 'Wait for the next thing Superblocks does on the recent or specified application and return it: "activity" carries Superblocks\' words since the previous call (or a short heartbeat when Superblocks is quiet), and status is "building" while the app is still being generated. Returns as soon as Superblocks says anything, and after ~10 seconds of silence at the latest. Call within about 10 seconds of start_app, import_app, or edit_app so a plan or question surfaces quickly. Once the plan is approved and Superblocks is building, space later polls about 30 seconds apart (honor "nextPollAfterMs" when present) until status is no longer "building" — a 10-second cadence on a multi-minute build burns through the host\'s tool-call budget. Relay each new activity line to the user between calls. When status becomes "needs_decision", stop polling and put the decision to the user — for a plan, show it and ask whether to build it or say what to change; for multi_choice, relay the question and options. Hosts that support form elicitation get a native picker instead, and this tool then returns the answered turn. When status becomes "ready", follow with get_app so the user can open the preview. Progress is text-only (no MCP Apps widget) so each poll does not reopen a blank card. Optional "cursor" from a prior result resumes from that composite position (per producer, no global sequence); omit it to use the gateway\'s stored place for this caller.',
382
444
  inputSchema: {
383
445
  applicationId: z.string().uuid().optional(),
@@ -398,6 +460,7 @@ export function createMcpServer(deps) {
398
460
  }, extra, forgetFinishedTurn);
399
461
  }, extra));
400
462
  registerAppTool(server, "get_app", {
463
+ annotations: READ_ONLY_TOOL_ANNOTATIONS,
401
464
  description: 'Return editor and preview URLs for the recent or specified Superblocks application. Ensures a private preview build by default (same as preview_app), but only once Superblocks has something to show: while a plan or question is outstanding it returns status "needs_decision" with the "decision" and a "pendingAction" of "approve_plan" or "answer_question", while a turn is running it returns status "building", and when the last turn ended without writing anything it returns "timeout", "live_edit_terminated", "no_changes" or "cancelled" with pendingAction "retry_build" — no preview URLs and no screenshot in any of those cases, because the app is still the empty starter template. Act on "pendingAction" through edit_app instead of calling this again. Prefer this after check_app_progress reaches status "ready". Also the right call when you do not know where a build stands — after a reconnect, when no turn of yours is running, or when the conversation moved to another channel: pass wait false and read "status" and "cursor" from the result rather than guessing. Hosts that support MCP Apps show Open editor / Open preview buttons. When Superblocks has written code the result includes a screenshot of the live Vite canvas if a held session exists, otherwise the signed-in preview — never the edit URL.',
402
465
  inputSchema: {
403
466
  applicationId: z.string().uuid().optional(),
@@ -414,6 +477,7 @@ export function createMcpServer(deps) {
414
477
  },
415
478
  }, async ({ applicationId, branch, ensurePreview, wait }, extra) => run("get_app", (context) => getApp(context, { applicationId, branch, ensurePreview, wait }), extra));
416
479
  server.registerTool("preview_app", {
480
+ annotations: READ_ONLY_TOOL_ANNOTATIONS,
417
481
  description: 'Build the recent or specified Superblocks application\'s current work and return a URL that runs it, without deploying it — the same thing the editor\'s Preview button does. Only the user can open it. Status "ready" means the URL works now; "building" means the build is still running and calling again resumes watching it. Prefer get_app when you want the MCP Apps status card (Open editor / Open preview); this tool returns the same URLs as text/markdown without opening a second widget.',
418
482
  inputSchema: {
419
483
  applicationId: z.string().uuid().optional(),
@@ -439,6 +503,7 @@ export function createMcpServer(deps) {
439
503
  ],
440
504
  }));
441
505
  server.registerTool("publish_app", {
506
+ annotations: DESTRUCTIVE_TOOL_ANNOTATIONS,
442
507
  description: "Publish/deploy the recent or specified Superblocks application and wait until it is live. Commits the application's current work first, so commitId is only needed to publish an earlier commit.",
443
508
  inputSchema: {
444
509
  applicationId: z.string().uuid().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../src/transports/mcp/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../src/transports/mcp/mount.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/gateway",
3
- "version": "2.0.157",
3
+ "version": "2.0.158",
4
4
  "description": "Gateway v0 — MCP entry for app start/edit/publish",
5
5
  "license": "Superblocks Community Software License",
6
6
  "bin": {
@@ -25,9 +25,10 @@
25
25
  "playwright": "1.56.0",
26
26
  "ws": "8.21.0",
27
27
  "zod": "^4.3.6",
28
- "@superblocksteam/shared": "0.9608.5",
29
- "@superblocksteam/library-shared": "2.0.157",
30
- "@superblocksteam/mcp-server": "2.0.157"
28
+ "@superblocksteam/library-shared": "2.0.158",
29
+ "@superblocksteam/mcp-server": "2.0.158",
30
+ "@superblocksteam/shared": "0.9609.7",
31
+ "@superblocksteam/telemetry": "2.0.158"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@eslint/js": "^9.39.2",