@superblocksteam/vite-plugin-file-sync 2.0.154 → 2.0.155-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 (140) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +23 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +84 -29
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +2 -0
  6. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +11 -2
  8. package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -1
  9. package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tool-permission-delivery.js +4 -0
  11. package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
  12. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +29 -0
  13. package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts.map +1 -0
  14. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js +387 -0
  15. package/dist/ai-service/agent/tools/app-environment/update-app-environment.js.map +1 -0
  16. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.d.ts +58 -0
  17. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.d.ts.map +1 -0
  18. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.js +258 -0
  19. package/dist/ai-service/agent/tools/databases/destructive-migration-prompt.js.map +1 -0
  20. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +18 -6
  21. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +203 -51
  23. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
  24. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts +12 -10
  25. package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/databases/dev-database-tools.js +29 -8
  27. package/dist/ai-service/agent/tools/databases/dev-database-tools.js.map +1 -1
  28. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +3 -0
  29. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/integrations/metadata.js +10 -2
  31. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
  32. package/dist/ai-service/agent/tools.d.ts +9 -1
  33. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools.js +25 -1
  35. package/dist/ai-service/agent/tools.js.map +1 -1
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +8 -0
  37. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +104 -14
  39. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  40. package/dist/ai-service/app-interface/npm-registry.d.ts +9 -0
  41. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  42. package/dist/ai-service/app-interface/npm-registry.js +50 -1
  43. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  44. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  45. package/dist/ai-service/app-skills/helpers.js +1 -0
  46. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  47. package/dist/ai-service/dev-database-client.d.ts +3 -1
  48. package/dist/ai-service/dev-database-client.d.ts.map +1 -1
  49. package/dist/ai-service/dev-database-client.js.map +1 -1
  50. package/dist/ai-service/features.d.ts +24 -0
  51. package/dist/ai-service/features.d.ts.map +1 -1
  52. package/dist/ai-service/features.js +24 -0
  53. package/dist/ai-service/features.js.map +1 -1
  54. package/dist/ai-service/helper-system-ai-attributes.d.ts +19 -0
  55. package/dist/ai-service/helper-system-ai-attributes.d.ts.map +1 -0
  56. package/dist/ai-service/helper-system-ai-attributes.js +17 -0
  57. package/dist/ai-service/helper-system-ai-attributes.js.map +1 -0
  58. package/dist/ai-service/index.d.ts +58 -2
  59. package/dist/ai-service/index.d.ts.map +1 -1
  60. package/dist/ai-service/index.js +186 -34
  61. package/dist/ai-service/index.js.map +1 -1
  62. package/dist/ai-service/integrations/store.d.ts +3 -0
  63. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  64. package/dist/ai-service/integrations/store.js +3 -0
  65. package/dist/ai-service/integrations/store.js.map +1 -1
  66. package/dist/ai-service/live-edit-events/bridge.d.ts +21 -0
  67. package/dist/ai-service/live-edit-events/bridge.d.ts.map +1 -0
  68. package/dist/ai-service/live-edit-events/bridge.js +52 -0
  69. package/dist/ai-service/live-edit-events/bridge.js.map +1 -0
  70. package/dist/ai-service/live-edit-events/forwarder.d.ts +158 -0
  71. package/dist/ai-service/live-edit-events/forwarder.d.ts.map +1 -0
  72. package/dist/ai-service/live-edit-events/forwarder.js +403 -0
  73. package/dist/ai-service/live-edit-events/forwarder.js.map +1 -0
  74. package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -0
  75. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  76. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  77. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  78. package/dist/ai-service/state-machine/handlers/awaiting-user.js +4 -0
  79. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  80. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  81. package/dist/ai-service/state-machine/handlers/idle.js +3 -0
  82. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  83. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +2 -0
  84. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  85. package/dist/ai-service/state-machine/handlers/llm-generating.js +93 -3
  86. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  87. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.d.ts +27 -0
  88. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.d.ts.map +1 -0
  89. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.js +34 -0
  90. package/dist/ai-service/state-machine/helpers/headless-turn-lifecycle.js.map +1 -0
  91. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  92. package/dist/ai-service/state-machine/helpers/peer.js +24 -0
  93. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  94. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
  95. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +4 -0
  96. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
  97. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +103 -1
  98. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
  99. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +263 -3
  100. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
  101. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +143 -0
  102. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  103. package/dist/ai-service/state-machine/helpers/stable-peer.js +220 -2
  104. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  105. package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
  106. package/dist/ai-service/tasks/peer-push.js +7 -0
  107. package/dist/ai-service/tasks/peer-push.js.map +1 -1
  108. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -1
  109. package/dist/dev-server-ws-smoke-client.js +1 -0
  110. package/dist/dev-server-ws-smoke-client.js.map +1 -1
  111. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  112. package/dist/file-sync-vite-plugin.js +9 -2
  113. package/dist/file-sync-vite-plugin.js.map +1 -1
  114. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  115. package/dist/lock-service/activity-tracker.js +5 -6
  116. package/dist/lock-service/activity-tracker.js.map +1 -1
  117. package/dist/lock-service/index.d.ts +56 -1
  118. package/dist/lock-service/index.d.ts.map +1 -1
  119. package/dist/lock-service/index.js +158 -13
  120. package/dist/lock-service/index.js.map +1 -1
  121. package/dist/rename-manager.d.ts.map +1 -1
  122. package/dist/rename-manager.js +2 -6
  123. package/dist/rename-manager.js.map +1 -1
  124. package/dist/socket-manager.d.ts +64 -0
  125. package/dist/socket-manager.d.ts.map +1 -1
  126. package/dist/socket-manager.js +236 -51
  127. package/dist/socket-manager.js.map +1 -1
  128. package/dist/util/logger.d.ts +2 -0
  129. package/dist/util/logger.d.ts.map +1 -1
  130. package/dist/util/logger.js +5 -0
  131. package/dist/util/logger.js.map +1 -1
  132. package/package.json +9 -9
  133. package/dist/parsing/entity/to-code-entity.d.ts +0 -3
  134. package/dist/parsing/entity/to-code-entity.d.ts.map +0 -1
  135. package/dist/parsing/entity/to-code-entity.js +0 -77
  136. package/dist/parsing/entity/to-code-entity.js.map +0 -1
  137. package/dist/parsing/entity/to-value-entity.d.ts +0 -8
  138. package/dist/parsing/entity/to-value-entity.d.ts.map +0 -1
  139. package/dist/parsing/entity/to-value-entity.js +0 -129
  140. package/dist/parsing/entity/to-value-entity.js.map +0 -1
@@ -34,6 +34,79 @@ function extractCallerUserId(peerAuthorization) {
34
34
  return undefined;
35
35
  return parseJwt(jwt).userId;
36
36
  }
37
+ const EDITOR_PROTOCOL = "editor";
38
+ const GATEWAY_PROTOCOL = "gateway";
39
+ /**
40
+ * Subprotocols the dev server answers with. The library runtime offers none at
41
+ * all and connects on that basis; there is no `library` protocol to negotiate.
42
+ * A peer that does offer something must offer one of these — an unrecognized
43
+ * offer fails negotiation rather than being demoted to a library socket that
44
+ * would never carry the traffic the peer connected for.
45
+ */
46
+ const NEGOTIABLE_PROTOCOLS = [
47
+ EDITOR_PROTOCOL,
48
+ GATEWAY_PROTOCOL,
49
+ ];
50
+ function selectProtocol(offered) {
51
+ for (const protocol of offered) {
52
+ if (NEGOTIABLE_PROTOCOLS.includes(protocol)) {
53
+ return protocol;
54
+ }
55
+ }
56
+ return false;
57
+ }
58
+ /**
59
+ * Classifies a peer from the subprotocols it offered on the upgrade request.
60
+ * The header is a comma-separated list, so an offer of `gateway, editor` is
61
+ * resolved by the same precedence the handshake answers with.
62
+ */
63
+ export function classifyConnectionKind(offeredProtocols) {
64
+ const offered = (offeredProtocols ?? "")
65
+ .split(",")
66
+ .map((entry) => entry.trim())
67
+ .filter(Boolean);
68
+ if (offered.length === 0) {
69
+ return "library";
70
+ }
71
+ const selected = selectProtocol(offered);
72
+ if (selected === GATEWAY_PROTOCOL) {
73
+ return "gateway";
74
+ }
75
+ if (selected === EDITOR_PROTOCOL) {
76
+ return "editor";
77
+ }
78
+ return "unsupported";
79
+ }
80
+ /**
81
+ * Identifies the peer behind an upgrade request.
82
+ *
83
+ * A refusal that reports only the subprotocol says what went wrong and nothing
84
+ * about who did it, which is no help at all when one repeats on a timer: every
85
+ * client that can reach this socket has to be ruled out by hand. The user agent
86
+ * earns its place next to the ids because it separates a browser editor from a
87
+ * headless peer immediately, and those are the two the ids alone cannot tell
88
+ * apart.
89
+ */
90
+ function describeUpgradePeer(url, req) {
91
+ const peerId = url.searchParams.get("peerId") ?? "unknown";
92
+ const applicationId = url.searchParams.get("applicationId") ?? "unknown";
93
+ const userAgent = req.headers["user-agent"] ?? "unknown";
94
+ return `peerId=${peerId}, applicationId=${applicationId}, userAgent=${userAgent}`;
95
+ }
96
+ /**
97
+ * The turn a gateway peer says its call belongs to.
98
+ *
99
+ * Carried in the RPC payload rather than on the connection: the correlator is
100
+ * minted with the prompt, and the calls that matter for ownership — the prompt
101
+ * itself and the reattach's first authenticated read — already carry a payload.
102
+ */
103
+ function readHeadlessTurnId(params) {
104
+ if (!params || typeof params !== "object") {
105
+ return undefined;
106
+ }
107
+ const candidate = params.headlessTurnId;
108
+ return typeof candidate === "string" ? candidate : undefined;
109
+ }
37
110
  let _socketManager;
38
111
  // Global flag for Clark log forwarding to browser console.
39
112
  // Defaults to enabled for internal dev (SUPERBLOCKS_CLI_ENV=local), can be toggled via ?clark_logs=true query param.
@@ -55,7 +128,15 @@ export function disposeSocketManager() {
55
128
  }
56
129
  class SocketManager extends TracedEventEmitter {
57
130
  peerIds = new Map();
58
- editorSockets = new Set();
131
+ /** Attached editor sockets, each mapped to the peer that opened it. */
132
+ editorSockets = new Map();
133
+ /**
134
+ * Attached headless gateway sockets, each mapped to the peer that opened it.
135
+ * Kept apart from {@link editorSockets} so gateway peers are never handed the
136
+ * browser editor binding, never counted as editor presence, and never picked
137
+ * as a surviving editor.
138
+ */
139
+ gatewaySockets = new Map();
59
140
  librarySockets = new Set();
60
141
  _disposer = () => { };
61
142
  constructor(tracer) {
@@ -70,6 +151,10 @@ class SocketManager extends TracedEventEmitter {
70
151
  path,
71
152
  noServer: true,
72
153
  maxPayload: maxPayloadBytes,
154
+ // Echo back the role the peer asked for so a gateway client can tell it
155
+ // was accepted as a gateway rather than silently demoted to a library
156
+ // peer. `ws` only consults this when the client offered a subprotocol.
157
+ handleProtocols: (protocols) => selectProtocol(protocols),
73
158
  });
74
159
  this.socketServer = wss;
75
160
  let activeGitService = gitService;
@@ -178,10 +263,10 @@ class SocketManager extends TracedEventEmitter {
178
263
  const url = new URL(req.url, "http://localhost");
179
264
  // TODO: some sort of authorization? this socket shouldnt be open outside of superblocks
180
265
  if (url.pathname === path) {
181
- let isEditor = false;
182
- if (req.headers["sec-websocket-protocol"] === "editor") {
183
- isEditor = true;
184
- }
266
+ // Read once, before `handleUpgrade` takes the request over, so the
267
+ // refusal below reports what was actually classified.
268
+ const offeredProtocols = req.headers["sec-websocket-protocol"];
269
+ const kind = classifyConnectionKind(offeredProtocols);
185
270
  let isUpgraded = false;
186
271
  wss.handleUpgrade(req, socket, head, (ws) => {
187
272
  if (isUpgraded) {
@@ -193,11 +278,23 @@ class SocketManager extends TracedEventEmitter {
193
278
  // the process via uncaughtException. ws already closes the
194
279
  // offending socket itself (1009 Message Too Big for oversized
195
280
  // frames), so containment only requires observing the error.
281
+ //
282
+ // Attached before any branch below closes the socket: a refused
283
+ // connection can still have frames on it, and one that raises while
284
+ // being closed would otherwise be the crash this guards against.
196
285
  ws.on("error", (error) => {
197
- const errorPeerId = url.searchParams.get("peerId") ?? "unknown";
198
- const errorApplicationId = url.searchParams.get("applicationId") ?? "unknown";
199
- getLogger().error(`[socket-manager] websocket error (peerId=${errorPeerId}, applicationId=${errorApplicationId})`, getErrorMeta(error));
286
+ getLogger().error(`[socket-manager] websocket error (${describeUpgradePeer(url, req)})`, getErrorMeta(error));
200
287
  });
288
+ if (kind === "unsupported") {
289
+ // `ws` answers without a `Sec-WebSocket-Protocol` header when no
290
+ // offer matched, which a compliant client already treats as a
291
+ // failed handshake. Closing here covers a lenient one, so a peer
292
+ // that asked for a role never ends up on a connection that would
293
+ // silently ignore it.
294
+ getLogger().error(`[socket-manager] refusing upgrade offering unsupported subprotocol(s): ${offeredProtocols ?? "none"} (${describeUpgradePeer(url, req)})`);
295
+ ws.close(1002, "Unsupported subprotocol");
296
+ return;
297
+ }
201
298
  const peerId = url.searchParams.get("peerId");
202
299
  if (!peerId) {
203
300
  getLogger().error("No peerId in upgrade request");
@@ -214,7 +311,7 @@ class SocketManager extends TracedEventEmitter {
214
311
  ws.close(1008, "Application ID mismatch");
215
312
  return;
216
313
  }
217
- wss.emit("connection", ws, isEditor, url.searchParams.get("peerId"), url.searchParams.get("userId"));
314
+ wss.emit("connection", ws, kind, url.searchParams.get("peerId"), url.searchParams.get("userId"));
218
315
  });
219
316
  }
220
317
  else {
@@ -226,8 +323,9 @@ class SocketManager extends TracedEventEmitter {
226
323
  server.removeListener("upgrade", handleUpgrade);
227
324
  wss.close();
228
325
  };
229
- wss.on("connection", (ws, isEditor, peerId, userId) => {
230
- const authMiddleware = async (_params, ctx, _peer, next) => {
326
+ wss.on("connection", (ws, kind, peerId, userId) => {
327
+ const isEditor = kind === "editor";
328
+ const authMiddleware = async (params, ctx, _peer, next) => {
231
329
  const result = await checkAuthorization(ctx.peerAuthorization);
232
330
  if (!result.success) {
233
331
  throw new Error(result.error);
@@ -252,6 +350,20 @@ class SocketManager extends TracedEventEmitter {
252
350
  getLogger().warn("[socket-manager] notifyAuthenticatedRpc threw; continuing", getErrorMeta(err));
253
351
  }
254
352
  }
353
+ // Everything a gateway peer is trusted with hangs off this proof.
354
+ // The `gateway` subprotocol is client-controlled and grants nothing
355
+ // on its own: the upgrade path only checks `applicationId`.
356
+ if (kind === "gateway") {
357
+ // Liveness, refreshed by each authorized call. The lock service
358
+ // decays it, so a gateway that stops talking stops protecting the
359
+ // sandbox instead of pinning the lock forever.
360
+ lockService?.markGatewayAttached(peerId);
361
+ // A peer that names the turn in flight is that turn reattaching, so
362
+ // it follows the peer rather than reporting into the socket it
363
+ // lost. Naming it is required — otherwise any authorized gateway
364
+ // session could take over another one's turn.
365
+ aiService?.claimHeadlessTurn(socket, peerId, readHeadlessTurnId(params));
366
+ }
255
367
  return await next();
256
368
  };
257
369
  // Create recording middleware if AI service is available
@@ -289,8 +401,35 @@ class SocketManager extends TracedEventEmitter {
289
401
  if (!aiService) {
290
402
  throw new Error("AI service not available");
291
403
  }
404
+ // A headless turn's pushes and tool callbacks belong to the
405
+ // gateway peer that asked for the work, not to whichever
406
+ // socket connected most recently. The prompt's own
407
+ // `requestId` is the correlator that same caller presents to
408
+ // reacquire this turn after losing its socket.
292
409
  const { queueMode, ...aiRequest } = request;
293
- return await aiService.handleAiGenerateWithQueue(aiRequest, queueMode);
410
+ if (kind !== "gateway") {
411
+ return await aiService.handleAiGenerateWithQueue(aiRequest, queueMode);
412
+ }
413
+ const turnId = aiService.beginHeadlessTurn(socket, peerId, typeof request.requestId === "string"
414
+ ? request.requestId
415
+ : undefined);
416
+ let result;
417
+ try {
418
+ result = await aiService.handleAiGenerateWithQueue(aiRequest, queueMode);
419
+ }
420
+ catch (err) {
421
+ // The turn is bound before the prompt is handed over, so
422
+ // a prompt that never starts has no generation to settle
423
+ // it. Left bound, it would capture the next turn a user
424
+ // starts in the browser.
425
+ aiService.abandonHeadlessTurn(peerId, turnId);
426
+ throw err;
427
+ }
428
+ // Answering with the turn handle tells the caller two
429
+ // things it cannot otherwise know: that this server routed
430
+ // the turn to it as a gateway peer at all, and which turn to
431
+ // name on a reattach.
432
+ return { ...result, headlessTurn: { turnId } };
294
433
  },
295
434
  ],
296
435
  aiTriggerMigrationTurn: [
@@ -550,8 +689,8 @@ class SocketManager extends TracedEventEmitter {
550
689
  async (ping) => {
551
690
  if (ping?.isUserActive !== undefined) {
552
691
  if (ping.isUserActive) {
553
- void lockService?.restartInactivityTimer();
554
692
  lockService?.markActivity(ping.isUserActive);
693
+ void lockService?.restartInactivityTimer();
555
694
  }
556
695
  }
557
696
  },
@@ -914,33 +1053,8 @@ class SocketManager extends TracedEventEmitter {
914
1053
  }
915
1054
  if (serviceToDisconnect) {
916
1055
  const gitDir = join(serviceToDisconnect.workDir, ".git");
917
- let checkoutBranchBeforeDisconnect = DEFAULT_NON_GIT_BRANCH;
918
- try {
919
- checkoutBranchBeforeDisconnect =
920
- await serviceToDisconnect.getDefaultBranch();
921
- }
922
- catch (defaultBranchErr) {
923
- getLogger().warn("[git] gitDisconnect failed to detect remote default branch before cleanup; falling back to non-git baseline branch", {
924
- gitCategory: "setup",
925
- gitOperation: "disconnect",
926
- gitOutcome: "failed",
927
- gitErrorKind: "default_branch_detection_failed",
928
- ...getErrorMeta(defaultBranchErr),
929
- });
930
- }
931
- try {
932
- await serviceToDisconnect.checkoutOrCreate(checkoutBranchBeforeDisconnect);
933
- }
934
- catch (checkoutErr) {
935
- getLogger().warn("[git] gitDisconnect failed to checkout branch before removing git metadata", {
936
- gitCategory: "setup",
937
- gitOperation: "disconnect",
938
- gitOutcome: "failed",
939
- gitErrorKind: "checkout_disconnect_branch_failed",
940
- checkoutBranchBeforeDisconnect,
941
- ...getErrorMeta(checkoutErr),
942
- });
943
- }
1056
+ // Never checkout: live-only files would be deleted
1057
+ // with no way back once .git is gone.
944
1058
  try {
945
1059
  await rm(gitDir, { recursive: true, force: true });
946
1060
  }
@@ -1167,14 +1281,18 @@ class SocketManager extends TracedEventEmitter {
1167
1281
  existingSockets = new Set();
1168
1282
  this.peerIds.set(peerId, existingSockets);
1169
1283
  }
1170
- if (isEditor) {
1171
- this.editorSockets.add(socket);
1284
+ if (kind === "gateway") {
1285
+ this.gatewaySockets.set(socket, peerId);
1286
+ // Liveness is granted in the auth middleware, not here: the upgrade
1287
+ // path only checks `applicationId`, and holding the sandbox open is
1288
+ // not something an unproven socket gets to do.
1289
+ this.emit("connect:gateway", socket, peerId);
1290
+ }
1291
+ else if (isEditor) {
1292
+ this.editorSockets.set(socket, peerId);
1172
1293
  this.emit("connect:editor", socket, peerId);
1173
1294
  if (userId) {
1174
1295
  lockService?.addConnectedPeerIdToUser(userId, peerId);
1175
- // Mark user as active on connection and restart inactivity timer
1176
- lockService?.markActivity(true);
1177
- void lockService?.restartInactivityTimer();
1178
1296
  }
1179
1297
  // When a new editor connects after git was enabled, the lock may
1180
1298
  // still be on 'main'. Trigger git activation which calls
@@ -1192,10 +1310,24 @@ class SocketManager extends TracedEventEmitter {
1192
1310
  }
1193
1311
  existingSockets.add(socket);
1194
1312
  ws.on("close", (code, reason) => {
1195
- this.peerIds.get(peerId)?.delete(socket);
1196
- getLogger().info(`Socket from ${isEditor ? "editor" : "library"} closed code: ${code} reason: ${reason}`);
1197
- if (isEditor) {
1313
+ const peerSockets = this.peerIds.get(peerId);
1314
+ peerSockets?.delete(socket);
1315
+ if (peerSockets?.size === 0) {
1316
+ this.peerIds.delete(peerId);
1317
+ }
1318
+ getLogger().info(`Socket from ${kind} closed code: ${code} reason: ${reason}`);
1319
+ if (kind === "gateway") {
1320
+ this.gatewaySockets.delete(socket);
1321
+ lockService?.markGatewayDetached(peerId);
1322
+ aiService?.endHeadlessTurn(peerId);
1323
+ this.emit("disconnect:gateway", peerId);
1324
+ }
1325
+ else if (isEditor) {
1198
1326
  this.editorSockets.delete(socket);
1327
+ const hasOtherEditorSocket = Array.from(peerSockets ?? []).some((peerSocket) => this.editorSockets.has(peerSocket));
1328
+ if (hasOtherEditorSocket) {
1329
+ return;
1330
+ }
1199
1331
  if (userId) {
1200
1332
  lockService?.removeConnectedPeerIdFromUser(userId, peerId);
1201
1333
  if (lockService?.connectedUsers.length === 0) {
@@ -1241,10 +1373,43 @@ class SocketManager extends TracedEventEmitter {
1241
1373
  });
1242
1374
  }
1243
1375
  callEditorClients(fn) {
1244
- for (const socket of this.editorSockets) {
1376
+ for (const socket of this.editorSockets.keys()) {
1245
1377
  fn(socket).catch(errorHandler);
1246
1378
  }
1247
1379
  }
1380
+ /**
1381
+ * Both registries, for the signals a headless turn needs as much as a browser
1382
+ * tab does — file-sync status being the one that decides whether a checkpoint
1383
+ * would capture work still on its way to the server.
1384
+ *
1385
+ * Deliberately not `callEditorClients`: a gateway peer stays out of
1386
+ * `editorSockets`, so it is neither editor presence nor a candidate for the
1387
+ * editor binding. Bounded by the same registries — one socket per browser tab
1388
+ * and one per gateway session.
1389
+ */
1390
+ callEditorAndGatewayClients(fn) {
1391
+ for (const socket of this.editorSockets.keys()) {
1392
+ fn(socket).catch(errorHandler);
1393
+ }
1394
+ for (const socket of this.gatewaySockets.keys()) {
1395
+ fn(socket).catch(errorHandler);
1396
+ }
1397
+ }
1398
+ /**
1399
+ * Any editor socket that does not belong to `excludePeerId`.
1400
+ *
1401
+ * Used when a peer disconnects: Clark's RPCs are bound to a single editor,
1402
+ * so a survivor is what keeps API execution alive for a user whose tab is
1403
+ * still open after a headless build's socket closes.
1404
+ */
1405
+ getSurvivingEditorClient(excludePeerId) {
1406
+ for (const [peer, peerId] of this.editorSockets) {
1407
+ if (peerId !== excludePeerId) {
1408
+ return { peer, peerId };
1409
+ }
1410
+ }
1411
+ return undefined;
1412
+ }
1248
1413
  callLibraryClients(fn) {
1249
1414
  for (const socket of this.librarySockets) {
1250
1415
  fn(socket).catch(errorHandler);
@@ -1254,10 +1419,30 @@ class SocketManager extends TracedEventEmitter {
1254
1419
  return Array.from(this.librarySockets).at(0);
1255
1420
  }
1256
1421
  getEditorClients() {
1257
- return this.editorSockets;
1422
+ return this.editorSockets.keys();
1423
+ }
1424
+ /**
1425
+ * Attached headless gateway peers. Separate from {@link getEditorClients} so
1426
+ * a broadcast meant for browser tabs never reaches a gateway, and the
1427
+ * gateway's own lifecycle can be observed without editor semantics.
1428
+ */
1429
+ getGatewayClients() {
1430
+ return this.gatewaySockets.keys();
1431
+ }
1432
+ /** The attached gateway peer with this peer id, if it is still connected. */
1433
+ getGatewayClient(peerId) {
1434
+ for (const [socket, candidate] of this.gatewaySockets) {
1435
+ if (candidate === peerId) {
1436
+ return socket;
1437
+ }
1438
+ }
1439
+ return undefined;
1258
1440
  }
1259
1441
  closeAllClients() {
1260
- for (const socket of this.editorSockets) {
1442
+ for (const socket of this.editorSockets.keys()) {
1443
+ socket.close();
1444
+ }
1445
+ for (const socket of this.gatewaySockets.keys()) {
1261
1446
  socket.close();
1262
1447
  }
1263
1448
  for (const socket of this.librarySockets) {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-manager.js","sourceRoot":"","sources":["../src/socket-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-manager.js","sourceRoot":"","sources":["../src/socket-manager.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,8 @@ export interface LogEntry {
42
42
  export type LogListener = (entry: LogEntry) => void;
43
43
  export declare function registerLogListener(listener: LogListener): () => void;
44
44
  export declare function setDefaultLogger(logger: Logger): void;
45
+ /** Clears the module-level default so a test mock cannot leak into later files. */
46
+ export declare function _resetDefaultLoggerForTesting(): void;
45
47
  export declare function getLogger(): Logger;
46
48
  /**
47
49
  * Extracts error metadata from an error, sanitizing secrets.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEtE,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtE,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI,CAKrE;AAoMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAMrD;AASD,wBAAgB,SAAS,IAAI,MAAM,CA6BlC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CA0DtD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAc,GACtB,MAAM,CA8BR"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEtE,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtE,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACtE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI,CAKrE;AAoMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED,mFAAmF;AACnF,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AASD,wBAAgB,SAAS,IAAI,MAAM,CA6BlC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CA0DtD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAc,GACtB,MAAM,CA8BR"}
@@ -182,6 +182,11 @@ export function setDefaultLogger(logger) {
182
182
  _defaultLogger = wrapLogger(logger);
183
183
  _cachedProxy = undefined; // Invalidate cached proxy
184
184
  }
185
+ /** Clears the module-level default so a test mock cannot leak into later files. */
186
+ export function _resetDefaultLoggerForTesting() {
187
+ _defaultLogger = undefined;
188
+ _cachedProxy = undefined;
189
+ }
185
190
  const consoleLogger = wrapLogger({
186
191
  debug: (...messages) => console.debug(...messages),
187
192
  info: (...messages) => console.info(...messages),