@superblocksteam/gateway 2.0.161 → 2.0.162-next.1

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 (235) hide show
  1. package/README.md +135 -39
  2. package/dist/agents/resolve-orchestrator-url.d.ts +18 -0
  3. package/dist/agents/resolve-orchestrator-url.js +64 -1
  4. package/dist/agents/resolve-orchestrator-url.js.map +1 -1
  5. package/dist/capabilities/lifecycle.d.ts +46 -29
  6. package/dist/capabilities/lifecycle.js +1731 -843
  7. package/dist/capabilities/lifecycle.js.map +1 -1
  8. package/dist/capabilities/query-integration.d.ts +14 -0
  9. package/dist/capabilities/query-integration.js +172 -0
  10. package/dist/capabilities/query-integration.js.map +1 -0
  11. package/dist/capabilities/source-files-archive.d.ts +11 -0
  12. package/dist/capabilities/source-files-archive.js +54 -0
  13. package/dist/capabilities/source-files-archive.js.map +1 -0
  14. package/dist/capabilities/types.d.ts +197 -119
  15. package/dist/capabilities/types.js +45 -6
  16. package/dist/capabilities/types.js.map +1 -1
  17. package/dist/capture/browser-contract.d.ts +15 -5
  18. package/dist/capture/browser-contract.js +13 -3
  19. package/dist/capture/browser-contract.js.map +1 -1
  20. package/dist/capture/browser-instructions.d.ts +3 -2
  21. package/dist/capture/browser-instructions.js +3 -2
  22. package/dist/capture/browser-instructions.js.map +1 -1
  23. package/dist/capture/mode.d.ts +8 -1
  24. package/dist/capture/mode.js +22 -2
  25. package/dist/capture/mode.js.map +1 -1
  26. package/dist/config.d.ts +22 -23
  27. package/dist/config.js +13 -12
  28. package/dist/config.js.map +1 -1
  29. package/dist/deps.d.ts +7 -7
  30. package/dist/index.d.ts +2 -4
  31. package/dist/index.js +2 -4
  32. package/dist/index.js.map +1 -1
  33. package/dist/integrations/read-only-postgres-query.d.ts +2 -0
  34. package/dist/integrations/read-only-postgres-query.js +164 -0
  35. package/dist/integrations/read-only-postgres-query.js.map +1 -0
  36. package/dist/main.js +1 -1
  37. package/dist/main.js.map +1 -1
  38. package/dist/playwright/ensure-chromium.d.ts +5 -7
  39. package/dist/playwright/ensure-chromium.js +13 -13
  40. package/dist/playwright/ensure-chromium.js.map +1 -1
  41. package/dist/preview/capture-screenshot.d.ts +30 -4
  42. package/dist/preview/capture-screenshot.js +67 -17
  43. package/dist/preview/capture-screenshot.js.map +1 -1
  44. package/dist/preview/viewer-url.js +3 -1
  45. package/dist/preview/viewer-url.js.map +1 -1
  46. package/dist/process/fault-barrier.js +1 -1
  47. package/dist/process/fault-barrier.js.map +1 -1
  48. package/dist/sabs/agent-facing-text.d.ts +2 -0
  49. package/dist/sabs/agent-facing-text.js +56 -2
  50. package/dist/sabs/agent-facing-text.js.map +1 -1
  51. package/dist/sabs/app-state.d.ts +126 -0
  52. package/dist/sabs/app-state.js +332 -0
  53. package/dist/sabs/app-state.js.map +1 -0
  54. package/dist/sabs/awaited-decision.d.ts +49 -0
  55. package/dist/sabs/awaited-decision.js +129 -0
  56. package/dist/sabs/awaited-decision.js.map +1 -0
  57. package/dist/sabs/editor-client-methods.d.ts +23 -5
  58. package/dist/sabs/editor-client-methods.js +45 -4
  59. package/dist/sabs/editor-client-methods.js.map +1 -1
  60. package/dist/sabs/editor-socket.d.ts +85 -0
  61. package/dist/sabs/editor-socket.js +67 -0
  62. package/dist/sabs/editor-socket.js.map +1 -0
  63. package/dist/sabs/session-peer.d.ts +119 -82
  64. package/dist/sabs/session-peer.js +10 -1
  65. package/dist/sabs/session-peer.js.map +1 -1
  66. package/dist/sabs/streamed-reply.d.ts +45 -0
  67. package/dist/sabs/streamed-reply.js +125 -0
  68. package/dist/sabs/streamed-reply.js.map +1 -0
  69. package/dist/sabs/turn-collector.d.ts +50 -35
  70. package/dist/sabs/turn-collector.js +110 -176
  71. package/dist/sabs/turn-collector.js.map +1 -1
  72. package/dist/sabs/websocket-session-peer.d.ts +104 -69
  73. package/dist/sabs/websocket-session-peer.js +1333 -477
  74. package/dist/sabs/websocket-session-peer.js.map +1 -1
  75. package/dist/server/client.d.ts +41 -9
  76. package/dist/server/client.js +126 -21
  77. package/dist/server/client.js.map +1 -1
  78. package/dist/start.d.ts +1 -1
  79. package/dist/start.js +30 -8
  80. package/dist/start.js.map +1 -1
  81. package/dist/stores/memory.d.ts +46 -0
  82. package/dist/stores/memory.js +163 -0
  83. package/dist/stores/memory.js.map +1 -0
  84. package/dist/stores/types.d.ts +92 -0
  85. package/dist/stores/types.js +11 -0
  86. package/dist/stores/types.js.map +1 -0
  87. package/dist/telemetry/mcp-client.d.ts +6 -1
  88. package/dist/telemetry/mcp-client.js +100 -4
  89. package/dist/telemetry/mcp-client.js.map +1 -1
  90. package/dist/telemetry/metrics.d.ts +12 -3
  91. package/dist/telemetry/metrics.js +60 -14
  92. package/dist/telemetry/metrics.js.map +1 -1
  93. package/dist/telemetry/runtime.js +4 -6
  94. package/dist/telemetry/runtime.js.map +1 -1
  95. package/dist/transports/mcp/admin-tools.d.ts +8 -0
  96. package/dist/transports/mcp/admin-tools.js +115 -4
  97. package/dist/transports/mcp/admin-tools.js.map +1 -1
  98. package/dist/transports/mcp/app-status-html.d.ts +4 -8
  99. package/dist/transports/mcp/app-status-html.js +336 -128
  100. package/dist/transports/mcp/app-status-html.js.map +1 -1
  101. package/dist/transports/mcp/client-presentation.d.ts +16 -0
  102. package/dist/transports/mcp/client-presentation.js +13 -0
  103. package/dist/transports/mcp/client-presentation.js.map +1 -0
  104. package/dist/transports/mcp/cowork-editor-url.d.ts +6 -0
  105. package/dist/transports/mcp/cowork-editor-url.js +10 -0
  106. package/dist/transports/mcp/cowork-editor-url.js.map +1 -0
  107. package/dist/transports/mcp/decision-card-html.d.ts +26 -0
  108. package/dist/transports/mcp/decision-card-html.js +876 -0
  109. package/dist/transports/mcp/decision-card-html.js.map +1 -0
  110. package/dist/transports/mcp/decision-elicitation.d.ts +42 -0
  111. package/dist/transports/mcp/decision-elicitation.js +59 -0
  112. package/dist/transports/mcp/decision-elicitation.js.map +1 -1
  113. package/dist/transports/mcp/editor-document-probe.d.ts +4 -0
  114. package/dist/transports/mcp/editor-document-probe.js +35 -0
  115. package/dist/transports/mcp/editor-document-probe.js.map +1 -0
  116. package/dist/transports/mcp/editor-integration-setup-url.d.ts +14 -0
  117. package/dist/transports/mcp/editor-integration-setup-url.js +29 -0
  118. package/dist/transports/mcp/editor-integration-setup-url.js.map +1 -0
  119. package/dist/transports/mcp/format-tool-content.d.ts +13 -18
  120. package/dist/transports/mcp/format-tool-content.js +172 -13
  121. package/dist/transports/mcp/format-tool-content.js.map +1 -1
  122. package/dist/transports/mcp/instructions/index.d.ts +23 -0
  123. package/dist/transports/mcp/instructions/index.js +81 -0
  124. package/dist/transports/mcp/instructions/index.js.map +1 -0
  125. package/dist/transports/mcp/instructions/result.d.ts +18 -0
  126. package/dist/transports/mcp/instructions/result.js +58 -0
  127. package/dist/transports/mcp/instructions/result.js.map +1 -0
  128. package/dist/transports/mcp/instructions/tools/ask-user.d.ts +2 -0
  129. package/dist/transports/mcp/instructions/tools/ask-user.js +20 -0
  130. package/dist/transports/mcp/instructions/tools/ask-user.js.map +1 -0
  131. package/dist/transports/mcp/instructions/tools/build-app.d.ts +4 -0
  132. package/dist/transports/mcp/instructions/tools/build-app.js +54 -0
  133. package/dist/transports/mcp/instructions/tools/build-app.js.map +1 -0
  134. package/dist/transports/mcp/instructions/tools/check-app-progress.d.ts +3 -0
  135. package/dist/transports/mcp/instructions/tools/check-app-progress.js +79 -0
  136. package/dist/transports/mcp/instructions/tools/check-app-progress.js.map +1 -0
  137. package/dist/transports/mcp/instructions/tools/check-publish-progress.d.ts +3 -0
  138. package/dist/transports/mcp/instructions/tools/check-publish-progress.js +23 -0
  139. package/dist/transports/mcp/instructions/tools/check-publish-progress.js.map +1 -0
  140. package/dist/transports/mcp/instructions/tools/copy.d.ts +18 -0
  141. package/dist/transports/mcp/instructions/tools/copy.js +49 -0
  142. package/dist/transports/mcp/instructions/tools/copy.js.map +1 -0
  143. package/dist/transports/mcp/instructions/tools/create-integration.d.ts +4 -0
  144. package/dist/transports/mcp/instructions/tools/create-integration.js +41 -0
  145. package/dist/transports/mcp/instructions/tools/create-integration.js.map +1 -0
  146. package/dist/transports/mcp/instructions/tools/edit-app.d.ts +3 -0
  147. package/dist/transports/mcp/instructions/tools/edit-app.js +18 -0
  148. package/dist/transports/mcp/instructions/tools/edit-app.js.map +1 -0
  149. package/dist/transports/mcp/instructions/tools/get-app.d.ts +3 -0
  150. package/dist/transports/mcp/instructions/tools/get-app.js +49 -0
  151. package/dist/transports/mcp/instructions/tools/get-app.js.map +1 -0
  152. package/dist/transports/mcp/instructions/tools/get-integration-metadata.d.ts +2 -0
  153. package/dist/transports/mcp/instructions/tools/get-integration-metadata.js +13 -0
  154. package/dist/transports/mcp/instructions/tools/get-integration-metadata.js.map +1 -0
  155. package/dist/transports/mcp/instructions/tools/index.d.ts +7 -0
  156. package/dist/transports/mcp/instructions/tools/index.js +31 -0
  157. package/dist/transports/mcp/instructions/tools/index.js.map +1 -0
  158. package/dist/transports/mcp/instructions/tools/publish-app.d.ts +3 -0
  159. package/dist/transports/mcp/instructions/tools/publish-app.js +23 -0
  160. package/dist/transports/mcp/instructions/tools/publish-app.js.map +1 -0
  161. package/dist/transports/mcp/instructions/tools/start-app.d.ts +3 -0
  162. package/dist/transports/mcp/instructions/tools/start-app.js +22 -0
  163. package/dist/transports/mcp/instructions/tools/start-app.js.map +1 -0
  164. package/dist/transports/mcp/instructions/tools/upload-artifact.d.ts +2 -0
  165. package/dist/transports/mcp/instructions/tools/upload-artifact.js +13 -0
  166. package/dist/transports/mcp/instructions/tools/upload-artifact.js.map +1 -0
  167. package/dist/transports/mcp/mcp-app-brand-css.d.ts +1 -0
  168. package/dist/transports/mcp/mcp-app-brand-css.js +180 -0
  169. package/dist/transports/mcp/mcp-app-brand-css.js.map +1 -0
  170. package/dist/transports/mcp/mount.d.ts +14 -1
  171. package/dist/transports/mcp/mount.js +729 -172
  172. package/dist/transports/mcp/mount.js.map +1 -1
  173. package/dist/transports/mcp/native-browser-presence.d.ts +45 -0
  174. package/dist/transports/mcp/native-browser-presence.js +158 -0
  175. package/dist/transports/mcp/native-browser-presence.js.map +1 -0
  176. package/dist/transports/mcp/plan-approval.d.ts +44 -0
  177. package/dist/transports/mcp/plan-approval.js +179 -0
  178. package/dist/transports/mcp/plan-approval.js.map +1 -0
  179. package/dist/transports/mcp/session-directory.d.ts +7 -0
  180. package/dist/transports/mcp/session-directory.js +18 -0
  181. package/dist/transports/mcp/session-directory.js.map +1 -0
  182. package/dist/transports/mcp/tool-names.d.ts +2 -0
  183. package/dist/transports/mcp/tool-names.js +2 -0
  184. package/dist/transports/mcp/tool-names.js.map +1 -0
  185. package/package.json +16 -7
  186. package/skills/superblocks-build/SKILL.md +59 -0
  187. package/skills/superblocks-import/SKILL.md +125 -0
  188. package/dist/capabilities/import-prompt.d.ts +0 -11
  189. package/dist/capabilities/import-prompt.js +0 -96
  190. package/dist/capabilities/import-prompt.js.map +0 -1
  191. package/dist/capabilities/persisted-progress.d.ts +0 -46
  192. package/dist/capabilities/persisted-progress.js +0 -246
  193. package/dist/capabilities/persisted-progress.js.map +0 -1
  194. package/dist/events/cursor.d.ts +0 -43
  195. package/dist/events/cursor.js +0 -78
  196. package/dist/events/cursor.js.map +0 -1
  197. package/dist/events/memory-event-store.d.ts +0 -34
  198. package/dist/events/memory-event-store.js +0 -110
  199. package/dist/events/memory-event-store.js.map +0 -1
  200. package/dist/events/merge.d.ts +0 -23
  201. package/dist/events/merge.js +0 -97
  202. package/dist/events/merge.js.map +0 -1
  203. package/dist/events/normalized-collector.d.ts +0 -62
  204. package/dist/events/normalized-collector.js +0 -156
  205. package/dist/events/normalized-collector.js.map +0 -1
  206. package/dist/events/schema.d.ts +0 -9
  207. package/dist/events/schema.js +0 -93
  208. package/dist/events/schema.js.map +0 -1
  209. package/dist/events/snapshot.d.ts +0 -32
  210. package/dist/events/snapshot.js +0 -57
  211. package/dist/events/snapshot.js.map +0 -1
  212. package/dist/events/stream-key.d.ts +0 -2
  213. package/dist/events/stream-key.js +0 -31
  214. package/dist/events/stream-key.js.map +0 -1
  215. package/dist/events/types.d.ts +0 -179
  216. package/dist/events/types.js +0 -66
  217. package/dist/events/types.js.map +0 -1
  218. package/dist/resume/memory-progress-store.d.ts +0 -39
  219. package/dist/resume/memory-progress-store.js +0 -82
  220. package/dist/resume/memory-progress-store.js.map +0 -1
  221. package/dist/resume/memory-recent-app-store.d.ts +0 -14
  222. package/dist/resume/memory-recent-app-store.js +0 -27
  223. package/dist/resume/memory-recent-app-store.js.map +0 -1
  224. package/dist/resume/memory-turn-store.d.ts +0 -18
  225. package/dist/resume/memory-turn-store.js +0 -73
  226. package/dist/resume/memory-turn-store.js.map +0 -1
  227. package/dist/resume/progress-key.d.ts +0 -21
  228. package/dist/resume/progress-key.js +0 -58
  229. package/dist/resume/progress-key.js.map +0 -1
  230. package/dist/resume/stores.d.ts +0 -14
  231. package/dist/resume/stores.js +0 -18
  232. package/dist/resume/stores.js.map +0 -1
  233. package/dist/resume/types.d.ts +0 -124
  234. package/dist/resume/types.js +0 -13
  235. package/dist/resume/types.js.map +0 -1
@@ -1,7 +1,11 @@
1
- import { getBasePluginId, } from "@superblocksteam/shared";
1
+ import { getBasePluginId, sha256Object, } from "@superblocksteam/shared";
2
2
  import { listIntegrationsForClark, toPromptContextIntegration, } from "../integrations/map.js";
3
- import { sanitizeAgentFacingText, sanitizeAgentFacingValue, } from "./agent-facing-text.js";
3
+ import { sanitizeAgentFacingConfiguration, sanitizeAgentFacingText, sanitizeAgentFacingValue, } from "./agent-facing-text.js";
4
4
  const ADMIN_MCP_SETUP_MESSAGE = "Integrations CRUD is available on this Superblocks MCP via get_integration_config_schema, create_integration, update_integration, and list_integrations (same connector as start_app). Call get_integration_config_schema before create_integration. Use those Admin tools, then continue with edit_app. The headless editor session cannot open the Integrations UI.";
5
+ const INTEGRATION_REQUEST_RECORDED_MESSAGE = "The integration request was recorded for the MCP host. Continue with work that does not depend on this integration.";
6
+ function nonSecretIntegrationFields(fields) {
7
+ return sanitizeAgentFacingConfiguration(fields ?? {});
8
+ }
5
9
  /**
6
10
  * Clark tools that already use PROMPT access rules in the editor. The headless
7
11
  * gateway has no human approval UI, so only these may be auto-approved; any
@@ -292,7 +296,7 @@ export function mapSdkExecutionResponse(response) {
292
296
  * and takes the in-flight Clark build down with it. A browser editor answers
293
297
  * all of them, so a held gateway socket has to as well.
294
298
  *
295
- * Keyed on `EditorClientMethods` rather than a hand-kept list so that a method
299
+ * Keyed on `GatewayClientMethods` rather than a hand-kept list so that a method
296
300
  * added to the protocol upstream fails this package's typecheck instead of
297
301
  * reaching a sandbox and crashing it. Same handler surface as
298
302
  * `createEditorHandlers` in vite-plugin-file-sync's dev-server-ws-smoke-client,
@@ -376,10 +380,28 @@ export function createEditorClientMethods(getListener, onInbound, deps) {
376
380
  });
377
381
  },
378
382
  ],
383
+ aiSetEditorHasDefaultStructure: [
384
+ async (payload) => {
385
+ if (payload?.hasDefaultStructure === "yes" ||
386
+ payload?.hasDefaultStructure === "no" ||
387
+ payload?.hasDefaultStructure === "unknown") {
388
+ getListener?.()?.({
389
+ hasDefaultStructure: payload.hasDefaultStructure,
390
+ kind: "editor_structure",
391
+ });
392
+ }
393
+ },
394
+ ],
379
395
  aiSetGenerationState: [
380
396
  async (snapshot) => {
381
397
  if (typeof snapshot?.state === "string") {
382
398
  getListener?.()?.({
399
+ ...(snapshot.generationId
400
+ ? { generationId: snapshot.generationId }
401
+ : {}),
402
+ ...(snapshot.gatewayObserverSource === "browser"
403
+ ? { gatewayObserverSource: "browser" }
404
+ : {}),
383
405
  hasError: snapshot.hasError,
384
406
  hasSuggestions: snapshot.hasSuggestions,
385
407
  kind: "generation_state",
@@ -684,7 +706,26 @@ export function createEditorClientMethods(getListener, onInbound, deps) {
684
706
  }),
685
707
  ],
686
708
  aiOpenExistingIntegration: setupUnavailable,
687
- aiOpenIntegrationSetup: setupUnavailable,
709
+ aiOpenIntegrationSetup: [
710
+ async (input) => {
711
+ const name = input.label?.trim() || undefined;
712
+ getListener?.()?.({
713
+ configuration: nonSecretIntegrationFields(input.fields),
714
+ kind: "missing_integration",
715
+ ...(name ? { name } : {}),
716
+ pluginId: input.pluginId,
717
+ requestFingerprint: await sha256Object({
718
+ configuration: input.fields ?? {},
719
+ name,
720
+ pluginId: input.pluginId,
721
+ }),
722
+ });
723
+ return {
724
+ error: INTEGRATION_REQUEST_RECORDED_MESSAGE,
725
+ success: false,
726
+ };
727
+ },
728
+ ],
688
729
  aiSaveIntegration: setupUnavailable,
689
730
  aiTestIntegrationConnection: [
690
731
  async () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"editor-client-methods.js","sourceRoot":"","sources":["../../src/sabs/editor-client-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-client-methods.js","sourceRoot":"","sources":["../../src/sabs/editor-client-methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { ServerMethods } from "@superblocksteam/library-shared/types";
2
+ type EditorMethods = ServerMethods["editor"];
3
+ /** The payload one `editor.*` method takes, as the protocol declares it. */
4
+ type ParamsOf<M extends keyof EditorMethods> = Parameters<EditorMethods[M]>[0];
5
+ /** What one `editor.*` method answers with, as the protocol declares it. */
6
+ type ResultOf<M extends keyof EditorMethods> = Awaited<ReturnType<EditorMethods[M]>>;
7
+ /**
8
+ * The field the session reads to decide which turn a call belongs to, sent on
9
+ * every call that makes up a turn's lifetime so a turn keeps reporting into
10
+ * this caller across a reattach.
11
+ *
12
+ * Spelled out here rather than widened away with an index signature: it is a
13
+ * gateway extension the shared protocol does not declare, and naming it is
14
+ * what keeps the declared fields checked alongside it.
15
+ */
16
+ type WithTurnCorrelator<Params> = (Params extends void ? Record<never, never> : Params) & {
17
+ headlessTurnId?: string;
18
+ };
19
+ /**
20
+ * The part of an ISocket client this needs: the untyped escape hatch that
21
+ * carries a per-call `authorization` header.
22
+ *
23
+ * The typed `call.editor.*` proxy cannot take one, and the gateway has to send
24
+ * the edit-scoped token on every request rather than once at construction, so
25
+ * the calls go through here and the types are put back on top.
26
+ */
27
+ export type TracingSocketClient = {
28
+ requestWithTracing<Params, Result>(method: string, params: Params, tracingHeaders: {
29
+ traceparent?: string;
30
+ tracestate?: string;
31
+ }, authorization?: string): Promise<Result>;
32
+ };
33
+ /**
34
+ * The `editor.*` calls the gateway makes, checked against the protocol.
35
+ *
36
+ * Every one of these used to be a bare string constant handed to
37
+ * `requestWithTracing<Record<string, unknown>, T>`, so nothing checked the
38
+ * payload built at the call site - a renamed or mistyped field reached a
39
+ * sandbox and failed there, if it failed loudly at all. Naming the methods
40
+ * once, against `ServerMethods`, is what moves that to compile time.
41
+ *
42
+ * Deliberately only the methods a headless peer sends. The browser editor
43
+ * calls dozens more; a facade that mirrored all of them would be a second copy
44
+ * of the protocol to keep in step.
45
+ */
46
+ export declare class EditorSocket {
47
+ private readonly client;
48
+ private readonly authorization;
49
+ constructor(client: TracingSocketClient, authorization: () => string | undefined);
50
+ /**
51
+ * Start a Clark turn. This is the same call the editor makes when a user
52
+ * submits a prompt in the browser: the sandbox exposes no HTTP route that
53
+ * starts a generation.
54
+ */
55
+ aiGenerateWithQueue(params: WithTurnCorrelator<ParamsOf<"aiGenerateWithQueue">>): Promise<ResultOf<"aiGenerateWithQueue"> & {
56
+ headlessTurn?: {
57
+ turnId?: string;
58
+ };
59
+ }>;
60
+ /**
61
+ * Commit what Clark wrote as a draft and create the checkpoint. The browser
62
+ * editor fires this automatically once files are in sync; a headless peer
63
+ * that skips it leaves the app uncommitted, so the build only finishes when
64
+ * a human finally opens the edit URL.
65
+ */
66
+ aiAcceptDraft(params: WithTurnCorrelator<ParamsOf<"aiAcceptDraft">>): Promise<ResultOf<"aiAcceptDraft">>;
67
+ aiUploadCheckpointScreenshot(params: WithTurnCorrelator<ParamsOf<"aiUploadCheckpointScreenshot">>): Promise<ResultOf<"aiUploadCheckpointScreenshot">>;
68
+ aiChatGetMessages(params: WithTurnCorrelator<ParamsOf<"aiChatGetMessages">>): Promise<ResultOf<"aiChatGetMessages">>;
69
+ aiRespondToToolPermission(params: WithTurnCorrelator<ParamsOf<"aiRespondToToolPermission">>): Promise<ResultOf<"aiRespondToToolPermission">>;
70
+ /**
71
+ * The cheapest authorized call there is, used as the gateway's liveness beat.
72
+ *
73
+ * Deliberately sent without `isUserActive`: the sandbox counts that as a
74
+ * person at a keyboard, and a headless peer is not one.
75
+ */
76
+ ping(params: {
77
+ headlessTurnId?: string;
78
+ }): Promise<ResultOf<"ping">>;
79
+ /**
80
+ * The name is checked against the protocol; the payload is checked by the
81
+ * public method above that built it.
82
+ */
83
+ private send;
84
+ }
85
+ export {};
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The `editor.*` calls the gateway makes, checked against the protocol.
3
+ *
4
+ * Every one of these used to be a bare string constant handed to
5
+ * `requestWithTracing<Record<string, unknown>, T>`, so nothing checked the
6
+ * payload built at the call site - a renamed or mistyped field reached a
7
+ * sandbox and failed there, if it failed loudly at all. Naming the methods
8
+ * once, against `ServerMethods`, is what moves that to compile time.
9
+ *
10
+ * Deliberately only the methods a headless peer sends. The browser editor
11
+ * calls dozens more; a facade that mirrored all of them would be a second copy
12
+ * of the protocol to keep in step.
13
+ */
14
+ export class EditorSocket {
15
+ client;
16
+ authorization;
17
+ constructor(client, authorization) {
18
+ this.client = client;
19
+ this.authorization = authorization;
20
+ }
21
+ /**
22
+ * Start a Clark turn. This is the same call the editor makes when a user
23
+ * submits a prompt in the browser: the sandbox exposes no HTTP route that
24
+ * starts a generation.
25
+ */
26
+ async aiGenerateWithQueue(params) {
27
+ return await this.send("aiGenerateWithQueue", params);
28
+ }
29
+ /**
30
+ * Commit what Clark wrote as a draft and create the checkpoint. The browser
31
+ * editor fires this automatically once files are in sync; a headless peer
32
+ * that skips it leaves the app uncommitted, so the build only finishes when
33
+ * a human finally opens the edit URL.
34
+ */
35
+ async aiAcceptDraft(params) {
36
+ return await this.send("aiAcceptDraft", params);
37
+ }
38
+ async aiUploadCheckpointScreenshot(params) {
39
+ return await this.send("aiUploadCheckpointScreenshot", params);
40
+ }
41
+ async aiChatGetMessages(params) {
42
+ return await this.send("aiChatGetMessages", params);
43
+ }
44
+ async aiRespondToToolPermission(params) {
45
+ return await this.send("aiRespondToToolPermission", params);
46
+ }
47
+ /**
48
+ * The cheapest authorized call there is, used as the gateway's liveness beat.
49
+ *
50
+ * Deliberately sent without `isUserActive`: the sandbox counts that as a
51
+ * person at a keyboard, and a headless peer is not one.
52
+ */
53
+ async ping(params) {
54
+ // The protocol declares `void | { isUserActive: boolean }`. A headless peer
55
+ // sends neither - only the turn correlator - because `isUserActive` tells
56
+ // the sandbox a person is at a keyboard.
57
+ return await this.send("ping", params);
58
+ }
59
+ /**
60
+ * The name is checked against the protocol; the payload is checked by the
61
+ * public method above that built it.
62
+ */
63
+ async send(method, params) {
64
+ return await this.client.requestWithTracing(`editor.${String(method)}`, params, {}, this.authorization());
65
+ }
66
+ }
67
+ //# sourceMappingURL=editor-socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-socket.js","sourceRoot":"","sources":["../../src/sabs/editor-socket.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,MAA2B,EAC3B,aAAuC;QADvC,WAAM,GAAN,MAAM,CAAqB;QAC3B,kBAAa,GAAb,aAAa,CAA0B;IACvD,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAA2D;QAI3D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,MAAqD;QAErD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,MAAoE;QAEpE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAyD;QAEzD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAAiE;QAEjE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmC;QAC5C,4EAA4E;QAC5E,0EAA0E;QAC1E,yCAAyC;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,IAAI,CAChB,MAAS,EACT,MAAc;QAEd,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CACzC,UAAU,MAAM,CAAC,MAAM,CAAC,EAAE,EAC1B,MAAM,EACN,EAAE,EACF,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;IACJ,CAAC;CACF"}
@@ -1,4 +1,14 @@
1
1
  import type { BrowserContext } from "@superblocksteam/library-shared/types";
2
+ import type { LiveEditStatus } from "../server/client.js";
3
+ import type { AppState } from "./app-state.js";
4
+ export declare class PromptNotSentError extends Error {
5
+ readonly recoveryAction: "start_new_app" | undefined;
6
+ readonly retryable: false | undefined;
7
+ constructor(message: string, cause?: unknown, options?: {
8
+ recoveryAction?: "start_new_app";
9
+ retryable?: false;
10
+ });
11
+ }
2
12
  export type GenerationStatus = "cancelled" | "completed"
3
13
  /**
4
14
  * Clark took the prompt but pushes nothing to this peer, so the gateway
@@ -9,8 +19,9 @@ export type GenerationStatus = "cancelled" | "completed"
9
19
  * The turn never ran to an outcome because the live-edit session did not: it
10
20
  * went away mid-flight (the sandbox was killed, lost its lock, or the socket
11
21
  * died), or it never opened at all. Distinct from `timeout`: the turn did not
12
- * run out of time, the thing that was to run it was not there, and retrying
13
- * is the right response.
22
+ * run out of time, the thing that was to run it was not there. Mid-turn deaths
23
+ * are retryable. Failed opens can suppress that default when reconnecting
24
+ * cannot recover the session; only a just-created app is safe to recreate.
14
25
  */
15
26
  | "live_edit_terminated"
16
27
  /** The job ended without writing a file or leaving a draft. */
@@ -18,8 +29,28 @@ export type GenerationStatus = "cancelled" | "completed"
18
29
  export type ViewStatus = "ready" | "unknown";
19
30
  export type AiMode = "BUILD" | "PLAN";
20
31
  export type PlanAction = "approve" | "refine";
21
- export type RetryAction = "retry_build" | "retry_import";
32
+ export type RetryAction = "retry_build";
33
+ export type RecoveryAction = "start_new_app";
34
+ export type CheckpointFailure = {
35
+ category: "authentication" | "conflict" | "downstream" | "timeout";
36
+ code?: number;
37
+ message: string;
38
+ status?: number;
39
+ };
40
+ export type CheckpointWarning = {
41
+ code: "draft_state_cleanup_failed";
42
+ message: string;
43
+ };
22
44
  export type TurnDecision = {
45
+ integrations: Array<{
46
+ configuration: Record<string, unknown>;
47
+ /** The plugin's configuration form, so the host needs no lookup. */
48
+ configurationSchema?: Record<string, unknown>;
49
+ name?: string;
50
+ pluginId: string;
51
+ }>;
52
+ kind: "missing_integrations";
53
+ } | {
23
54
  kind: "multi_choice";
24
55
  messageId?: string;
25
56
  options: string[];
@@ -35,11 +66,18 @@ export type TurnDecision = {
35
66
  * See {@link SessionPeer.turnState}.
36
67
  */
37
68
  export type TurnState = {
69
+ branch?: string;
38
70
  checkpointCommitId?: string;
71
+ checkpointFailure?: CheckpointFailure;
72
+ checkpointWarning?: CheckpointWarning;
39
73
  generationStatus: GenerationStatus;
40
74
  phase: "finished";
75
+ recoveryAction?: RecoveryAction;
76
+ reply?: string;
41
77
  retryAction?: RetryAction;
78
+ retryable?: false;
42
79
  } | {
80
+ branch?: string;
43
81
  phase: "running";
44
82
  };
45
83
  export type FinishedTurn = {
@@ -48,6 +86,8 @@ export type FinishedTurn = {
48
86
  * Clark left nothing to commit, or when the checkpoint did not land.
49
87
  */
50
88
  checkpointCommitId?: string;
89
+ checkpointFailure?: CheckpointFailure;
90
+ checkpointWarning?: CheckpointWarning;
51
91
  reply: string;
52
92
  /** Present when generationStatus is needs_decision. */
53
93
  decision?: TurnDecision;
@@ -60,7 +100,9 @@ export type FinishedTurn = {
60
100
  success: boolean;
61
101
  summary: string;
62
102
  }>;
103
+ recoveryAction?: RecoveryAction;
63
104
  retryAction?: RetryAction;
105
+ retryable?: false;
64
106
  viewStatus: ViewStatus;
65
107
  };
66
108
  /**
@@ -96,10 +138,13 @@ export type StartPromptResult = (RanOnLiveEdit & {
96
138
  */
97
139
  export type TurnUpdate = {
98
140
  activity: string[];
141
+ branch?: string;
99
142
  /** How long the turn has been running, so a quiet poll still has news. */
100
143
  elapsedMs: number;
101
144
  /** Mid-turn testApi / testIntegration outcomes collected so far. */
102
145
  recentRuns?: FinishedTurn["recentRuns"];
146
+ /** Whether this turn has produced content the editor can render. */
147
+ viewStatus?: ViewStatus;
103
148
  } & ({
104
149
  status: "running";
105
150
  } | ({
@@ -135,11 +180,14 @@ export type PromptInput = {
135
180
  apiKey?: string;
136
181
  /** Archive (and other) attachments for Clark's migration / file tools. */
137
182
  attachments?: PromptAttachment[];
138
- /**
139
- * Third-party import source id (e.g. "zip", "replit") for billing and
140
- * migration skill selection.
141
- */
142
- importSource?: string;
183
+ /** Identifies the exact retry so older completions cannot clear newer state. */
184
+ idempotencyKey?: string;
185
+ /** Orders this attempt from before its live-edit session is opened. */
186
+ revision?: number;
187
+ /** Reject this start unless its exact acknowledged-start marker is current. */
188
+ pendingStartRequired?: boolean;
189
+ /** Opaque identity of the acknowledged background invocation. */
190
+ pendingStartToken?: number;
143
191
  /**
144
192
  * The live edit Clark is running on, as SABS names it on the events it
145
193
  * relays. Without it the turn cannot be matched to its pushes, so it only
@@ -147,6 +195,11 @@ export type PromptInput = {
147
195
  */
148
196
  liveEditId?: string;
149
197
  liveEditUrl: string;
198
+ /** Reads the exact live edit from the control plane without ensuring one. */
199
+ getLiveEditStatus?: (input: {
200
+ liveEditId: string;
201
+ signal: AbortSignal;
202
+ }) => Promise<LiveEditStatus>;
150
203
  /**
151
204
  * Re-opens the live-edit session, for the case where {@link liveEditUrl} no
152
205
  * longer serves it.
@@ -198,7 +251,12 @@ export type PromptInput = {
198
251
  */
199
252
  responseMetadata?: {
200
253
  approved?: boolean;
201
- responseToMessageId?: string;
254
+ /**
255
+ * Required, because the ai-service resolves the plan card this answers by
256
+ * it. Built conditionally, a plan Clark streamed without a message id used
257
+ * to send a `plan_response` that named nothing to respond to.
258
+ */
259
+ responseToMessageId: string;
202
260
  type: "plan_response";
203
261
  };
204
262
  /**
@@ -221,7 +279,9 @@ export type HoldLiveEditInput = {
221
279
  applicationId: string;
222
280
  apiKey?: string;
223
281
  branch?: string;
282
+ getLiveEditStatus?: PromptInput["getLiveEditStatus"];
224
283
  keepalive?: () => Promise<void>;
284
+ liveEditId?: string;
225
285
  liveEditUrl: string;
226
286
  organizationId?: string;
227
287
  sessionToken: string;
@@ -234,29 +294,23 @@ export type SessionPeer = {
234
294
  */
235
295
  awaitTurn(input: {
236
296
  applicationId: string;
237
- /**
238
- * Whose poll this is. Only needed to find a turn that died before
239
- * Superblocks saw it, which is recorded per caller - see
240
- * {@link SessionPeer.recordFailedStart}. A poll that omits it is answered
241
- * from the turn map alone, never out of a record belonging to someone.
242
- */
297
+ branch?: string;
243
298
  organizationId?: string;
244
299
  signal?: AbortSignal;
245
300
  userId?: string;
301
+ /** Minimum time a progress poll waits to collect activity for before it answers.
302
+ * If the turn is finished (ex: needs a user decision), it will answer immediately. */
303
+ floorMs?: number;
304
+ /** Maximum time a progress poll waits to collect activity for before it answers.
305
+ * This is the ceiling on the poll.
306
+ * If we reach the ceiling, we will answer with what we have (can be empty if no activity). */
246
307
  waitMs: number;
247
308
  }): Promise<TurnUpdate>;
248
309
  /**
249
310
  * Drop every held session socket. Used on gateway shutdown so sandboxes are
250
311
  * not left held open by a peer that no longer exists.
251
312
  */
252
- closeAll?(): void;
253
- /** Clear a stored plan after approve builds or the app is abandoned. */
254
- clearPendingPlan?(applicationId: string): void;
255
- /**
256
- * Clear a stored needs_decision payload (plan or multi_choice) after the
257
- * human answers or a new turn starts.
258
- */
259
- clearPendingDecision?(applicationId: string): void;
313
+ closeAll(): void;
260
314
  /** Send a prompt and wait for Clark's whole turn. */
261
315
  forwardPrompt(input: PromptInput): Promise<ForwardPromptResult>;
262
316
  /**
@@ -264,90 +318,73 @@ export type SessionPeer = {
264
318
  * Clark turn. Used by get_app when the in-memory hold is empty (MCP
265
319
  * respawn) but the sandbox is still running.
266
320
  */
267
- holdLiveEdit?(input: HoldLiveEditInput): Promise<void>;
268
- /**
269
- * Live-library bootstrap for a held session, used to screenshot pitcherURL
270
- * without opening the edit URL. Absent when no session is held or the
271
- * sandbox URL cannot be addressed.
272
- */
273
- libraryBrowserContext?(applicationId: string): BrowserContext | undefined;
274
- /**
275
- * Record that this application dispatched a BUILD turn, whether a plan was
276
- * approved or the caller asked to build outright.
277
- */
278
- markBuildMode?(applicationId: string): void;
279
- /**
280
- * Decision Clark is waiting on (plan or multi_choice), with the turn reply,
281
- * if the last turn ended in needs_decision.
282
- */
283
- pendingDecision?(applicationId: string): {
284
- decision: TurnDecision;
285
- recentRuns?: FinishedTurn["recentRuns"];
286
- reply: string;
287
- } | undefined;
288
- /**
289
- * Plan Clark proposed and is waiting on, if the last turn ended in
290
- * needs_decision with a plan artifact.
291
- */
292
- pendingPlan?(applicationId: string): {
293
- messageId?: string;
294
- plan: string;
295
- title?: string;
321
+ holdLiveEdit(input: HoldLiveEditInput): Promise<void>;
322
+ /** The live editor session currently held for this application. */
323
+ heldContext(applicationId: string): {
324
+ branch?: string;
296
325
  } | undefined;
297
326
  /**
298
- * True once this application has dispatched a BUILD turn. Clark's headless
299
- * default is PLAN, so without this a follow-up prompt proposes another plan
300
- * instead of building — see {@link SessionPeer.markBuildMode}.
301
- */
302
- buildMode?(applicationId: string): boolean;
303
- /**
304
- * Remember that a turn for this application died before Superblocks ever saw
305
- * it: the live-edit session could not be opened, so no turn was ever run here
306
- * to end.
307
- *
308
- * Without this the peer holds nothing for the app and every later read
309
- * answers "nothing in flight" - `check_app_progress` reports `unknown` and
310
- * `get_app` previews the untouched starter template as though a build were
311
- * running. Kept on the peer rather than in the capability so both reads see
312
- * the same fact, and so the next prompt for the app clears it.
327
+ * Live-library bootstrap for a held session, used to screenshot pitcherURL
328
+ * without opening the edit URL. Undefined when no session is held for the
329
+ * requested branch or the sandbox URL cannot be addressed.
313
330
  */
314
- recordFailedStart?(input: {
331
+ libraryBrowserContext(applicationId: string, requestedBranch?: string): BrowserContext | undefined;
332
+ /** Record work acknowledged before its Superblocks turn exists. */
333
+ recordPendingStart(input: {
315
334
  applicationId: string;
316
- /**
317
- * Whose prompt died. Scoped to the caller because `connectLiveEdit` is
318
- * where Superblocks authorizes them, per application - so a caller with no
319
- * rights to this one still reaches this path, and a record keyed any wider
320
- * becomes the status everyone who does have rights reads.
321
- */
335
+ branch?: string;
336
+ idempotencyKey?: string;
337
+ organizationId: string;
338
+ retryAction?: RetryAction;
339
+ userId: string;
340
+ }): number;
341
+ /** Drop one exact acknowledged-start marker. */
342
+ clearPendingStart(input: {
343
+ applicationId: string;
344
+ branch?: string;
345
+ idempotencyKey?: string;
322
346
  organizationId: string;
347
+ pendingStartToken?: number;
348
+ userId: string;
349
+ }): void;
350
+ recordFailedStart(input: {
351
+ applicationId: string;
352
+ branch?: string;
353
+ decision?: TurnDecision;
354
+ generationStatus?: "detached" | "live_edit_terminated" | "needs_decision";
355
+ idempotencyKey?: string;
356
+ organizationId: string;
357
+ pendingStartRequired?: boolean;
358
+ pendingStartToken?: number;
323
359
  reason: string;
360
+ recoveryAction?: RecoveryAction;
361
+ revision?: number;
324
362
  retryAction?: RetryAction;
363
+ retryable?: false;
325
364
  userId: string;
326
365
  }): void;
327
366
  /**
328
367
  * Close the held session socket for an application (idle timeout, publish,
329
368
  * or an explicit release).
330
369
  */
331
- release?(applicationId: string): void;
370
+ release(applicationId: string): void;
332
371
  /**
333
372
  * Send a prompt and return as soon as Clark accepts it, leaving the turn
334
373
  * running on the held session for {@link SessionPeer.awaitTurn} to follow.
335
374
  */
336
375
  startPrompt(input: PromptInput): Promise<StartPromptResult>;
376
+ /** The per-application facts this peer writes as turns settle. */
377
+ state(): AppState;
337
378
  /**
338
379
  * Where the turn for this application stands, without consuming anything.
339
380
  * Undefined when this peer has no turn for the application.
340
381
  *
341
382
  * Deliberately not {@link SessionPeer.awaitTurn} with a zero wait: that
342
- * drains the activity a `check_app_progress` poll is owed. Callers that only
343
- * need to know how the work stands read this instead.
344
- *
345
- * Takes the caller, not just the application, because a turn that died before
346
- * Superblocks saw it is recorded per caller - see
347
- * {@link SessionPeer.recordFailedStart}.
383
+ * drains the activity a `check_app_progress` poll is owed.
348
384
  */
349
- turnState?(input: {
385
+ turnState(input: {
350
386
  applicationId: string;
387
+ branch?: string;
351
388
  organizationId: string;
352
389
  userId: string;
353
390
  }): TurnState | undefined;