@superblocksteam/sdk 2.0.119-next.0 → 2.0.119-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 (85) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cli-replacement/dev-s3-restore.test.mjs +0 -116
  3. package/dist/cli-replacement/dev-s3-restore.test.mjs.map +1 -1
  4. package/dist/cli-replacement/dev-startup-git-before-dbfs-order.test.mjs +0 -1
  5. package/dist/cli-replacement/dev-startup-git-before-dbfs-order.test.mjs.map +1 -1
  6. package/dist/cli-replacement/dev.d.mts +0 -6
  7. package/dist/cli-replacement/dev.d.mts.map +1 -1
  8. package/dist/cli-replacement/dev.mjs +6 -77
  9. package/dist/cli-replacement/dev.mjs.map +1 -1
  10. package/dist/client.d.ts +6 -67
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +0 -94
  13. package/dist/client.js.map +1 -1
  14. package/dist/dev-utils/dev-server-persist.test.mjs +17 -117
  15. package/dist/dev-utils/dev-server-persist.test.mjs.map +1 -1
  16. package/dist/dev-utils/dev-server.d.mts +1 -19
  17. package/dist/dev-utils/dev-server.d.mts.map +1 -1
  18. package/dist/dev-utils/dev-server.mjs +28 -296
  19. package/dist/dev-utils/dev-server.mjs.map +1 -1
  20. package/dist/flag.d.ts +1 -1
  21. package/dist/flag.d.ts.map +1 -1
  22. package/dist/flag.js +3 -3
  23. package/dist/flag.js.map +1 -1
  24. package/dist/index.d.ts +3 -4
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -3
  27. package/dist/index.js.map +1 -1
  28. package/dist/sdk.d.ts +1 -8
  29. package/dist/sdk.d.ts.map +1 -1
  30. package/dist/sdk.js +1 -24
  31. package/dist/sdk.js.map +1 -1
  32. package/dist/sdk.test.js +1 -102
  33. package/dist/sdk.test.js.map +1 -1
  34. package/dist/telemetry/index.d.ts +1 -2
  35. package/dist/telemetry/index.d.ts.map +1 -1
  36. package/dist/telemetry/index.js +1 -8
  37. package/dist/telemetry/index.js.map +1 -1
  38. package/dist/telemetry/logging.d.ts +2 -1
  39. package/dist/telemetry/logging.d.ts.map +1 -1
  40. package/dist/telemetry/logging.js +1 -1
  41. package/dist/telemetry/logging.js.map +1 -1
  42. package/dist/types/common.d.ts +1 -1
  43. package/dist/types/common.d.ts.map +1 -1
  44. package/dist/version-control.d.mts.map +1 -1
  45. package/dist/version-control.mjs +19 -14
  46. package/dist/version-control.mjs.map +1 -1
  47. package/eslint.config.js +0 -6
  48. package/package.json +8 -8
  49. package/src/cli-replacement/dev-s3-restore.test.mts +0 -156
  50. package/src/cli-replacement/dev-startup-git-before-dbfs-order.test.mts +0 -1
  51. package/src/cli-replacement/dev.mts +14 -104
  52. package/src/client.ts +6 -189
  53. package/src/dev-utils/dev-server-persist.test.mts +19 -170
  54. package/src/dev-utils/dev-server.mts +32 -366
  55. package/src/flag.ts +4 -4
  56. package/src/index.ts +1 -19
  57. package/src/sdk.test.ts +6 -145
  58. package/src/sdk.ts +0 -36
  59. package/src/telemetry/index.ts +1 -9
  60. package/src/telemetry/logging.ts +2 -2
  61. package/src/types/common.ts +1 -1
  62. package/src/version-control.mts +30 -11
  63. package/test/version-control.test.mts +2 -0
  64. package/tsconfig.tsbuildinfo +1 -1
  65. package/turbo.json +0 -1
  66. package/dist/dev-utils/dedupe-async.d.ts +0 -16
  67. package/dist/dev-utils/dedupe-async.d.ts.map +0 -1
  68. package/dist/dev-utils/dedupe-async.js +0 -27
  69. package/dist/dev-utils/dedupe-async.js.map +0 -1
  70. package/dist/dev-utils/dedupe-async.test.d.ts +0 -2
  71. package/dist/dev-utils/dedupe-async.test.d.ts.map +0 -1
  72. package/dist/dev-utils/dedupe-async.test.js +0 -120
  73. package/dist/dev-utils/dedupe-async.test.js.map +0 -1
  74. package/dist/dev-utils/dev-server-metrics.d.mts +0 -95
  75. package/dist/dev-utils/dev-server-metrics.d.mts.map +0 -1
  76. package/dist/dev-utils/dev-server-metrics.mjs +0 -193
  77. package/dist/dev-utils/dev-server-metrics.mjs.map +0 -1
  78. package/dist/telemetry/memory-metrics.d.ts +0 -3
  79. package/dist/telemetry/memory-metrics.d.ts.map +0 -1
  80. package/dist/telemetry/memory-metrics.js +0 -59
  81. package/dist/telemetry/memory-metrics.js.map +0 -1
  82. package/src/dev-utils/dedupe-async.test.ts +0 -151
  83. package/src/dev-utils/dedupe-async.ts +0 -45
  84. package/src/dev-utils/dev-server-metrics.mts +0 -252
  85. package/src/telemetry/memory-metrics.ts +0 -90
@@ -1,5 +1,5 @@
1
1
  import * as child_process from "node:child_process";
2
- import { existsSync, readdirSync } from "node:fs";
2
+ import { existsSync } from "node:fs";
3
3
  import net from "node:net";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
@@ -15,68 +15,15 @@ import { fileSyncVitePlugin, } from "@superblocksteam/vite-plugin-file-sync";
15
15
  import pkg from "../../package.json" with { type: "json" };
16
16
  import { getTracer } from "../telemetry/index.js";
17
17
  import { getErrorMeta, getLogger } from "../telemetry/logging.js";
18
- import { startMemoryMetrics, stopMemoryMetrics, } from "../telemetry/memory-metrics.js";
19
18
  import { EDIT_APPLICATION_SCOPE, } from "../types/scoped-jwt-token-payload.js";
20
19
  import { getCurrentGitBranchIfGit } from "../version-control.mjs";
21
20
  import createLucideReactImportOptimizer from "../vite-plugin-optimize-lucide-imports.js";
22
21
  import { sdkApiEntryPointPlugin } from "../vite-plugin-sdk-api-entry-point.mjs";
23
22
  import { customComponentsPlugin, isCustomComponentsEnabled, } from "./custom-build.mjs";
24
- import { dedupeAsync } from "./dedupe-async.js";
25
- import { devServerMetrics, } from "./dev-server-metrics.mjs";
26
23
  import { formatViteDevServerStartedLog, logViteBuildError, } from "./vite-dev-server-diagnostics.mjs";
27
24
  import { buildManifestStubPlugin } from "./vite-plugin-build-manifest-stub.mjs";
28
25
  import { ddRumPlugin } from "./vite-plugin-dd-rum.mjs";
29
26
  const tracer = getTracer();
30
- const logger = getLogger();
31
- /**
32
- * Maps a dev-server request URL onto a low-cardinality endpoint label for
33
- * metrics. Returns undefined for non-`/_sb_*` URLs (Vite-proxied traffic).
34
- */
35
- function endpointForUrl(url) {
36
- if (!url)
37
- return undefined;
38
- const path = url.split("?", 1)[0];
39
- switch (path) {
40
- case "/_sb_health":
41
- return "_sb_health";
42
- case "/_sb_connect":
43
- return "_sb_connect";
44
- case "/_sb_activate":
45
- return "_sb_activate";
46
- case "/_sb_disconnect":
47
- return "_sb_disconnect";
48
- case "/_sb_status":
49
- return "_sb_status";
50
- case "/_sb_activity":
51
- return "_sb_activity";
52
- case "/_sb_persist":
53
- return "_sb_persist";
54
- case "/_sb_ready":
55
- return "_sb_ready";
56
- default:
57
- return undefined;
58
- }
59
- }
60
- /**
61
- * Extracts a coarse failure-type label from `res.locals.sbFailureType`,
62
- * which endpoints set just before they error out. Stays server-side
63
- * rather than leaking through response headers.
64
- */
65
- function failureTypeFromLocals(locals) {
66
- const value = locals?.sbFailureType;
67
- if (typeof value !== "string")
68
- return "none";
69
- switch (value) {
70
- case "auth":
71
- case "validation":
72
- case "branch_mismatch":
73
- case "vite_init":
74
- case "internal":
75
- return value;
76
- default:
77
- return "none";
78
- }
79
- }
80
27
  function reactPlugin() {
81
28
  return react({
82
29
  babel: {
@@ -127,28 +74,6 @@ function vitePlugins(root, opts) {
127
74
  }),
128
75
  ];
129
76
  }
130
- // .superblocks subdirectories that should survive pod recycles.
131
- // Everything else under .superblocks/ is excluded automatically.
132
- const PERSIST_SUPERBLOCKS_SAFELIST = new Set(["context", "drafts"]);
133
- /**
134
- * Build tar --exclude flags for .superblocks/ subdirectories that are NOT
135
- * in the safelist. If .superblocks/ doesn't exist we exclude it entirely.
136
- */
137
- export function getSuperblocksTarExcludes(root) {
138
- const dotSuperblocks = path.join(root, ".superblocks");
139
- let entries;
140
- try {
141
- entries = readdirSync(dotSuperblocks, { withFileTypes: true })
142
- .filter((d) => d.isDirectory())
143
- .map((d) => d.name);
144
- }
145
- catch {
146
- return ["--exclude", ".superblocks"];
147
- }
148
- return entries
149
- .filter((name) => !PERSIST_SUPERBLOCKS_SAFELIST.has(name))
150
- .flatMap((name) => ["--exclude", `.superblocks/${name}`]);
151
- }
152
77
  export async function createWorkspacePersistArchive(root) {
153
78
  // Warm pods already have template dependencies installed, so persist only
154
79
  // user workspace files and let startup reconcile package drift if needed.
@@ -160,7 +85,8 @@ export async function createWorkspacePersistArchive(root) {
160
85
  ".git",
161
86
  "--exclude",
162
87
  "node_modules",
163
- ...getSuperblocksTarExcludes(root),
88
+ "--exclude",
89
+ ".superblocks",
164
90
  "-C",
165
91
  root,
166
92
  ".",
@@ -222,55 +148,10 @@ export async function createWorkspacePersistArchive(root) {
222
148
  zstdProc.on("error", rejectOnce);
223
149
  });
224
150
  }
225
- export function createWorkspacePersistUploadHeaders(archiveLength, uploadHeaders = {}) {
226
- const headers = new Headers(uploadHeaders);
227
- if (!headers.has("Content-Type")) {
228
- headers.set("Content-Type", "application/zstd");
229
- }
230
- headers.set("Content-Length", String(archiveLength));
231
- return Object.fromEntries(headers.entries());
232
- }
233
- export function isWorkspacePersistUploadHeaders(uploadHeaders) {
234
- if (uploadHeaders === undefined) {
235
- return true;
236
- }
237
- if (uploadHeaders === null ||
238
- typeof uploadHeaders !== "object" ||
239
- Array.isArray(uploadHeaders)) {
240
- return false;
241
- }
242
- const seen = new Set();
243
- for (const [key, value] of Object.entries(uploadHeaders)) {
244
- if (typeof key !== "string" || typeof value !== "string") {
245
- return false;
246
- }
247
- // Header names are case-insensitive. Two keys that differ only in casing
248
- // (e.g. `Content-Type` + `content-type`) would be silently combined by
249
- // `new Headers()` into a comma-joined value, which breaks S3 presigned
250
- // PUTs that signed a single canonical value. Reject up front so the
251
- // caller fixes the duplicate rather than getting a confusing S3 4xx.
252
- const lower = key.toLowerCase();
253
- if (seen.has(lower)) {
254
- return false;
255
- }
256
- seen.add(lower);
257
- }
258
- // Validate header name/value syntax by attempting to construct a Headers
259
- // instance. Doing this in the validator (rather than letting it throw
260
- // later inside `createWorkspacePersistUploadHeaders`) keeps the failure
261
- // mode as a 400 before any archive work runs.
262
- try {
263
- new Headers(uploadHeaders);
264
- }
265
- catch {
266
- return false;
267
- }
268
- return true;
269
- }
270
151
  export const RESTART_EXIT_CODE = 98;
271
152
  function getJwksUriWithBaseUrl(superblocksBaseUrl) {
272
153
  if (process.env.SUPERBLOCKS_JWKS_URI) {
273
- logger.debug(`[JWKS] Using override SUPERBLOCKS_JWKS_URI=${process.env.SUPERBLOCKS_JWKS_URI}`);
154
+ console.debug(`[JWKS] Using override SUPERBLOCKS_JWKS_URI=${process.env.SUPERBLOCKS_JWKS_URI}`);
274
155
  return process.env.SUPERBLOCKS_JWKS_URI;
275
156
  }
276
157
  const baseUrl = superblocksBaseUrl || process.env.SUPERBLOCKS_BASE_URL || "";
@@ -300,50 +181,12 @@ function getJwksUriWithBaseUrl(superblocksBaseUrl) {
300
181
  catch {
301
182
  jwksUri = "https://staging-cdn.superblocks.com/.well-known/jwks.json";
302
183
  }
303
- logger.debug(`[JWKS] Derived jwksUri=${jwksUri} from baseUrl=${baseUrl}`);
184
+ console.debug(`[JWKS] Derived jwksUri=${jwksUri} from baseUrl=${baseUrl}`);
304
185
  return jwksUri;
305
186
  }
306
187
  let httpServer;
307
- /**
308
- * Attaches a passive metrics-only listener for WebSocket upgrade attempts on
309
- * the dev-server's HTTP socket.
310
- *
311
- * The outcome is a heuristic, not a direct accept/reject signal:
312
- * - `accepted` = the socket closed cleanly (no `hadError`) or stayed open
313
- * past the 30s defensive timer. A long-lived HMR connection
314
- * is the typical success case.
315
- * - `rejected` = the socket emitted `error` or closed with `hadError=true`.
316
- * A clean rejection by the upstream WS layer (write 401 + end) can therefore
317
- * bucket as `accepted` if the close event has no `hadError` flag — the WS
318
- * handling layer does not surface a direct accept signal we can observe here.
319
- *
320
- * MUST be called only after Vite (or another component) has registered its own
321
- * `'upgrade'` listener on the same server. Registering this listener first
322
- * suppresses Node's default close-on-unhandled behavior, which would leave
323
- * editor upgrade attempts hanging until client timeout in the pre-Vite window.
324
- */
325
- function attachUpgradeMetricsListener(server) {
326
- server.on("upgrade", (req, socket) => {
327
- let recorded = false;
328
- const recordOnce = (outcome) => {
329
- if (recorded)
330
- return;
331
- recorded = true;
332
- devServerMetrics.recordSocketUpgrade(outcome);
333
- };
334
- socket.once("close", (hadError) => {
335
- recordOnce(hadError ? "rejected" : "accepted");
336
- });
337
- socket.once("error", () => recordOnce("rejected"));
338
- // Defensive: if neither close nor error fires within 30s, count as accepted
339
- // — a long-lived HMR connection is the success case for upgrades.
340
- setTimeout(() => recordOnce("accepted"), 30_000).unref();
341
- // Avoid lint warning for unused param without changing the listener shape.
342
- void req;
343
- });
344
- }
345
188
  // The "Dev Server" is a long-running HTTP server that manages the Vite server
346
- export async function createDevServer({ root, mode, fsOperationQueue, syncService, lockService, aiService, gitService, gitBootstrapFailed, activateGitService, snapshotManager, logger: loggerOverride, port, sdk, superblocksBaseUrl: explicitBaseUrl, existingServer, warmActivationStart, }) {
189
+ export async function createDevServer({ root, mode, fsOperationQueue, syncService, lockService, aiService, gitService, gitBootstrapFailed, activateGitService, snapshotManager, logger: loggerOverride, port, sdk, superblocksBaseUrl: explicitBaseUrl, existingServer, }) {
347
190
  const logger = getLogger(loggerOverride);
348
191
  if (httpServer) {
349
192
  logger.debug("Dev server already running");
@@ -377,30 +220,8 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
377
220
  // The actual error is still logged via the .then(_, onRejected) handler
378
221
  // attached at the viteStartPromise call site.
379
222
  vitePromise.catch(() => { });
380
- // Dedupe re-entry. Multiple signals (SIGINT, SIGTERM, SIGABRT,
381
- // uncaughtException) can fire in rapid succession during shutdown —
382
- // particularly when a parent process kills the dev-server and the OS or
383
- // test harness then sends a follow-up SIGINT. Without a dedupe, every
384
- // signal handler re-runs lockService shutdown / vite close / httpServer
385
- // close on already-freed native state, which surfaces as
386
- // `double free or corruption (fasttop)` from glibc and SIGABRT killing
387
- // the process before it can exit cleanly (hq-o55a).
388
- //
389
- // First-caller-wins on args: the second+ caller's `switchingTo` /
390
- // `initiatedByEmail` are intentionally dropped (the first caller's run is
391
- // already in flight; we don't restart cleanup with new args). The
392
- // `/_sb_disconnect` HTTP handler that awaits `gracefulShutdown` therefore
393
- // returns "ok" without applying its `switchingTo` if a signal beat it to
394
- // the punch — the process exits regardless, so the dropped arg cannot
395
- // drive downstream state in this process.
396
- const gracefulShutdown = dedupeAsync(runGracefulShutdown, {
397
- onDuplicate: (args) => {
398
- logger.info(`Shutdown already in progress; ignoring duplicate signal (source=${args.source ?? "unknown"})`);
399
- },
400
- });
401
- async function runGracefulShutdown({ logger, serverInitiated, switchingTo, initiatedByEmail, }) {
223
+ async function gracefulShutdown({ logger, serverInitiated, switchingTo, initiatedByEmail, }) {
402
224
  try {
403
- stopMemoryMetrics();
404
225
  await lockService?.shutdown({
405
226
  serverInitiated,
406
227
  switchingTo,
@@ -439,22 +260,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
439
260
  app.use(express.json({
440
261
  strict: true,
441
262
  }));
442
- // Per-request metrics for dev-server endpoints. Identify the endpoint by URL
443
- // pattern, time the request, record duration + status + coarse failure type
444
- // when the response finishes. Non-`/_sb_*` traffic (Vite proxied requests)
445
- // is not instrumented here — Vite's own middleware handles those.
446
- app.use((req, res, next) => {
447
- const endpoint = endpointForUrl(req.url);
448
- if (!endpoint) {
449
- return next();
450
- }
451
- const startedAt = Date.now();
452
- res.on("finish", () => {
453
- const failureType = failureTypeFromLocals(res.locals);
454
- devServerMetrics.recordEndpoint(endpoint, req.method, res.statusCode, Date.now() - startedAt, failureType);
455
- });
456
- next();
457
- });
458
263
  app.use((req, res, next) => {
459
264
  res.setHeader("Cache-Control", "no-store, max-age=0");
460
265
  res.setHeader("x-csb-no-sw-proxy", "1");
@@ -551,7 +356,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
551
356
  return next();
552
357
  }
553
358
  else {
554
- res.locals.sbFailureType = "auth";
555
359
  res.status(result.status).send(JSON.stringify({ error: result.error }));
556
360
  }
557
361
  };
@@ -567,7 +371,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
567
371
  if (req.headers["x-superblocks-application-id"] !== resourceConfig.id) {
568
372
  logger.error(`Application ID header mismatch, expected ${resourceConfig.id}, received ${req.headers["x-superblocks-application-id"]}`);
569
373
  logger.info(`[dev-server-runtime] _sb_connect application mismatch: expected ${resourceConfig.id}, got ${req.headers["x-superblocks-application-id"]}`);
570
- res.locals.sbFailureType = "validation";
571
374
  res.status(401).send(JSON.stringify({
572
375
  error: `Application ID header mismatch. Expected ${resourceConfig.id}, received ${req.headers["x-superblocks-application-id"]}`,
573
376
  }));
@@ -579,7 +382,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
579
382
  incomingBranch !== SUPERBLOCKS_LIVE_GIT_BRANCH) {
580
383
  logger.error(`Dev server expects branch ${currentBranch}, but received ${incomingBranch}. Check your current branch with 'git branch' and try again.`);
581
384
  logger.info(`[dev-server-runtime] _sb_connect branch mismatch: expected ${currentBranch}, got ${incomingBranch}`);
582
- res.locals.sbFailureType = "branch_mismatch";
583
385
  res.status(401).send(JSON.stringify({
584
386
  error: `Dev server expects branch ${currentBranch}, but received ${incomingBranch}. Check your current branch with 'git branch' and try again.`,
585
387
  }));
@@ -595,7 +397,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
595
397
  }
596
398
  catch (e) {
597
399
  logger.error("Vite server failed to initialize", getErrorMeta(e));
598
- res.locals.sbFailureType = "vite_init";
599
400
  res
600
401
  .status(500)
601
402
  .send(JSON.stringify({ error: "Dev server failed to initialize" }));
@@ -639,7 +440,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
639
440
  serverInitiated: true,
640
441
  switchingTo,
641
442
  initiatedByEmail: initiatedByEmail,
642
- source: "/_sb_disconnect",
643
443
  });
644
444
  res.send("ok");
645
445
  }
@@ -696,17 +496,11 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
696
496
  persistInProgress = true;
697
497
  const persistStart = Date.now();
698
498
  try {
699
- const { uploadURL, uploadHeaders } = req.body;
499
+ const { uploadURL } = req.body;
700
500
  if (!uploadURL) {
701
501
  res.status(400).json({ error: "uploadURL required" });
702
502
  return;
703
503
  }
704
- if (!isWorkspacePersistUploadHeaders(uploadHeaders)) {
705
- res.status(400).json({
706
- error: "uploadHeaders must be a string map with valid HTTP header names and values and no case-insensitive duplicate keys",
707
- });
708
- return;
709
- }
710
504
  logger.info("/_sb_persist: archiving and uploading workspace to S3...");
711
505
  const archive = await createWorkspacePersistArchive(process.cwd());
712
506
  logger.info(`/_sb_persist: archive created (${(archive.length / 1024 / 1024).toFixed(1)}MB) in ${Date.now() - persistStart}ms, uploading...`);
@@ -714,7 +508,10 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
714
508
  const uploadResp = await fetch(uploadURL, {
715
509
  method: "PUT",
716
510
  body: archive,
717
- headers: createWorkspacePersistUploadHeaders(archive.length, uploadHeaders),
511
+ headers: {
512
+ "Content-Type": "application/zstd",
513
+ "Content-Length": String(archive.length),
514
+ },
718
515
  signal: AbortSignal.timeout(30_000),
719
516
  });
720
517
  if (!uploadResp.ok) {
@@ -731,51 +528,24 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
731
528
  persistInProgress = false;
732
529
  }
733
530
  });
734
- // Signal handlers attach `.catch` so a synchronous throw in
735
- // `runGracefulShutdown` (e.g. logger init or lockService shutdown throwing
736
- // before the first `await`) is logged rather than surfacing as an
737
- // unhandled rejection across N handlers (one per fired signal). Symmetric
738
- // with the `uncaughtException` handler below.
739
- process.on("SIGINT", () => {
531
+ process.on("SIGINT", async () => {
740
532
  logger.info("SIGINT received");
741
- gracefulShutdown({
742
- logger,
743
- serverInitiated: false,
744
- source: "SIGINT",
745
- }).catch((err) => logger.error("Error during SIGINT shutdown", getErrorMeta(err)));
533
+ await gracefulShutdown({ logger, serverInitiated: false });
746
534
  });
747
- process.on("SIGTERM", () => {
535
+ process.on("SIGTERM", async () => {
748
536
  logger.info("SIGTERM received");
749
- gracefulShutdown({
750
- logger,
751
- serverInitiated: false,
752
- source: "SIGTERM",
753
- }).catch((err) => logger.error("Error during SIGTERM shutdown", getErrorMeta(err)));
537
+ await gracefulShutdown({ logger, serverInitiated: false });
754
538
  });
755
- process.on("SIGABRT", () => {
539
+ process.on("SIGABRT", async () => {
756
540
  logger.info("SIGABRT received");
757
- gracefulShutdown({
758
- logger,
759
- serverInitiated: false,
760
- source: "SIGABRT",
761
- }).catch((err) => logger.error("Error during SIGABRT shutdown", getErrorMeta(err)));
541
+ await gracefulShutdown({ logger, serverInitiated: false });
762
542
  });
763
- // `uncaughtException` always force-exits in `.finally`, even when the
764
- // underlying shutdown promise was already resolved by a prior signal. With
765
- // the dedupe in place, awaiting the cached resolved promise short-circuits
766
- // through `.then` without firing `.catch`; without the `.finally` the
767
- // process would linger in event-loop limbo until the OS killed it.
768
543
  process.on("uncaughtException", (error) => {
769
544
  logger.error(`Uncaught exception: ${error.message}`, getErrorMeta(error));
770
- gracefulShutdown({
771
- logger,
772
- serverInitiated: false,
773
- source: "uncaughtException",
774
- })
775
- .catch((shutdownError) => {
545
+ gracefulShutdown({ logger, serverInitiated: false }).catch((shutdownError) => {
776
546
  logger.error("Error during shutdown after uncaught exception:", shutdownError);
777
- })
778
- .finally(() => process.exit(1));
547
+ process.exit(1);
548
+ });
779
549
  });
780
550
  if (existingServer) {
781
551
  // Warm standby mode: reuse the pre-existing HTTP server to avoid a port gap.
@@ -783,18 +553,11 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
783
553
  existingServer.removeAllListeners("request");
784
554
  existingServer.on("request", app);
785
555
  httpServer = existingServer;
786
- if (warmActivationStart) {
787
- devServerMetrics.recordWarmHandoff(Date.now() - warmActivationStart);
788
- }
789
556
  logger.info(`Attached full dev server to existing HTTP server on port ${port}`);
790
557
  }
791
558
  else {
792
559
  logger.info(`Starting HTTP server on port ${port}`);
793
- // `app.listen()` returns `http.Server` synchronously — the previous
794
- // `await` was a no-op on a non-Promise. The server isn't actually bound
795
- // until it emits `listening`; if downstream code ever depends on the
796
- // socket being bound, switch to `new Promise(r => httpServer.once("listening", r))`.
797
- httpServer = app.listen(port);
560
+ httpServer = await app.listen(port);
798
561
  logger.info(`HTTP server started successfully on port ${port}`);
799
562
  }
800
563
  // Start vite eagerly so it's ready (or nearly ready) by the time the editor
@@ -809,7 +572,6 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
809
572
  logger.warn(`Failed to fetch feature flags, using defaults: ${err}`);
810
573
  return undefined;
811
574
  });
812
- const viteEagerInitStart = Date.now();
813
575
  const viteStartPromise = startVite({
814
576
  port,
815
577
  app,
@@ -836,25 +598,10 @@ export async function createDevServer({ root, mode, fsOperationQueue, syncServic
836
598
  // fails before any request awaits vitePromise. The actual error is logged
837
599
  // below via the rejection branch of .then().
838
600
  viteStartPromise.then((result) => {
839
- devServerMetrics.recordViteEagerInit(Date.now() - viteEagerInitStart, "success");
840
601
  logger.info("Vite server initialized eagerly");
841
602
  viteResolve();
842
603
  viteCreationResults = result;
843
- // Start memory metrics only for claimed pods (after Vite init, not warm standby).
844
- // Gated by either the LD flag (cloud) or the SABS-injected env var (cloud-prem/local).
845
- if (featureFlags?.devServerMemoryMetricsEnabled() ||
846
- process.env.SUPERBLOCKS_DEV_SERVER_MEMORY_METRICS_ENABLED === "true") {
847
- startMemoryMetrics();
848
- }
849
- // Attach the WebSocket upgrade-tracking listener AFTER Vite has
850
- // installed its own HMR upgrade handler. Registering an `upgrade`
851
- // listener pre-Vite would suppress Node's default close-on-unhandled
852
- // behavior, leaving editor upgrade attempts to hang until client
853
- // timeout. By deferring until Vite is up, our listener coexists with
854
- // the real handler instead of replacing the default close.
855
- attachUpgradeMetricsListener(httpServer);
856
604
  }, (e) => {
857
- devServerMetrics.recordViteEagerInit(Date.now() - viteEagerInitStart, "error");
858
605
  logger.error("Error initializing vite server", getErrorMeta(e));
859
606
  viteReject(e);
860
607
  });
@@ -1013,7 +760,7 @@ async function startVite({ app, httpServer, root, mode, port, fsOperationQueue,
1013
760
  const PRE_WARM_TIMEOUT_MS = 60_000;
1014
761
  export async function preWarmViteCache(root) {
1015
762
  const start = Date.now();
1016
- logger.info("[warm] Pre-warming Vite dependency cache...");
763
+ console.log("[warm] Pre-warming Vite dependency cache...");
1017
764
  try {
1018
765
  const server = await createServer({
1019
766
  root,
@@ -1033,25 +780,10 @@ export async function preWarmViteCache(root) {
1033
780
  await new Promise((r) => setTimeout(r, pollMs));
1034
781
  }
1035
782
  await server.close();
1036
- devServerMetrics.recordWarmPrewarm(Date.now() - start, "success");
1037
- logger.info(`[warm] Vite cache warmed in ${Date.now() - start}ms`);
783
+ console.log(`[warm] Vite cache warmed in ${Date.now() - start}ms`);
1038
784
  }
1039
785
  catch (error) {
1040
- const durationMs = Date.now() - start;
1041
- // Buffer the metric in case `flush()` is somehow drained later; in practice
1042
- // we exit before activation, so this observation is also surfaced through
1043
- // the structured log line below — telemetry isn't initialized yet in
1044
- // warm-standby (no auth token until /_sb_activate), so `configureTelemetry`
1045
- // can't run here, and synchronously POSTing an OTLP payload before exit
1046
- // would block pod recycle on a network call that may itself be hung.
1047
- devServerMetrics.recordWarmPrewarm(durationMs, "error");
1048
- // Stable inline `key=value` marker so a log-based metric (Datadog
1049
- // "Generate Metrics from Logs", Loki regex) can recover pre-warm failures
1050
- // the OTel pipeline misses. The Logger.error signature accepts only
1051
- // ErrorMeta (no arbitrary attributes) and must stay structurally
1052
- // compatible with the sister Logger in vite-plugin-file-sync, so the
1053
- // markers are embedded in the message body instead of passed as fields.
1054
- logger.error(`[warm] Vite cache pre-warm failed — exiting for fast pod recycle metric=dev_server_warm_prewarm outcome=error duration_ms=${durationMs}`, getErrorMeta(error));
786
+ console.error(`[warm] Vite cache pre-warm failed (${Date.now() - start}ms) — exiting for fast pod recycle:`, error);
1055
787
  process.exit(1);
1056
788
  }
1057
789
  }
@@ -1062,17 +794,17 @@ function getFreePort() {
1062
794
  server.listen(0, () => {
1063
795
  const address = server.address();
1064
796
  if (typeof address === "string") {
1065
- logger.debug(`Port resolution: falling back to default HMR port ${DEFAULT_HMR_PORT}`);
797
+ console.debug(`Port resolution: falling back to default HMR port ${DEFAULT_HMR_PORT}`);
1066
798
  resolve(DEFAULT_HMR_PORT);
1067
799
  return;
1068
800
  }
1069
801
  const port = address?.port;
1070
802
  if (!port) {
1071
- logger.debug(`Port resolution: no port available, using default HMR port ${DEFAULT_HMR_PORT}`);
803
+ console.debug(`Port resolution: no port available, using default HMR port ${DEFAULT_HMR_PORT}`);
1072
804
  resolve(DEFAULT_HMR_PORT);
1073
805
  return;
1074
806
  }
1075
- logger.debug(`Port resolution: successfully allocated port ${port}`);
807
+ console.debug(`Port resolution: successfully allocated port ${port}`);
1076
808
  server.close(() => resolve(port));
1077
809
  });
1078
810
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.mjs","sourceRoot":"","sources":["../../src/dev-utils/dev-server.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server.mjs","sourceRoot":"","sources":["../../src/dev-utils/dev-server.mts"],"names":[],"mappings":"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"}