@superblocksteam/sdk 2.0.119-next.0 → 2.0.119
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cli-replacement/dev-s3-restore.test.mjs +0 -116
- package/dist/cli-replacement/dev-s3-restore.test.mjs.map +1 -1
- package/dist/cli-replacement/dev-startup-git-before-dbfs-order.test.mjs +0 -1
- package/dist/cli-replacement/dev-startup-git-before-dbfs-order.test.mjs.map +1 -1
- package/dist/cli-replacement/dev.d.mts +0 -6
- package/dist/cli-replacement/dev.d.mts.map +1 -1
- package/dist/cli-replacement/dev.mjs +6 -77
- package/dist/cli-replacement/dev.mjs.map +1 -1
- package/dist/client.d.ts +6 -67
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +0 -94
- package/dist/client.js.map +1 -1
- package/dist/dev-utils/dev-server-persist.test.mjs +17 -117
- package/dist/dev-utils/dev-server-persist.test.mjs.map +1 -1
- package/dist/dev-utils/dev-server.d.mts +1 -19
- package/dist/dev-utils/dev-server.d.mts.map +1 -1
- package/dist/dev-utils/dev-server.mjs +28 -296
- package/dist/dev-utils/dev-server.mjs.map +1 -1
- package/dist/flag.d.ts +1 -1
- package/dist/flag.d.ts.map +1 -1
- package/dist/flag.js +3 -3
- package/dist/flag.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/sdk.d.ts +1 -8
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +1 -24
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.test.js +1 -102
- package/dist/sdk.test.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -2
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +1 -8
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/logging.d.ts +2 -1
- package/dist/telemetry/logging.d.ts.map +1 -1
- package/dist/telemetry/logging.js +1 -1
- package/dist/telemetry/logging.js.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/version-control.d.mts.map +1 -1
- package/dist/version-control.mjs +19 -14
- package/dist/version-control.mjs.map +1 -1
- package/eslint.config.js +0 -6
- package/package.json +8 -8
- package/src/cli-replacement/dev-s3-restore.test.mts +0 -156
- package/src/cli-replacement/dev-startup-git-before-dbfs-order.test.mts +0 -1
- package/src/cli-replacement/dev.mts +14 -104
- package/src/client.ts +6 -189
- package/src/dev-utils/dev-server-persist.test.mts +19 -170
- package/src/dev-utils/dev-server.mts +32 -366
- package/src/flag.ts +4 -4
- package/src/index.ts +1 -19
- package/src/sdk.test.ts +6 -145
- package/src/sdk.ts +0 -36
- package/src/telemetry/index.ts +1 -9
- package/src/telemetry/logging.ts +2 -2
- package/src/types/common.ts +1 -1
- package/src/version-control.mts +30 -11
- package/test/version-control.test.mts +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/turbo.json +0 -1
- package/dist/dev-utils/dedupe-async.d.ts +0 -16
- package/dist/dev-utils/dedupe-async.d.ts.map +0 -1
- package/dist/dev-utils/dedupe-async.js +0 -27
- package/dist/dev-utils/dedupe-async.js.map +0 -1
- package/dist/dev-utils/dedupe-async.test.d.ts +0 -2
- package/dist/dev-utils/dedupe-async.test.d.ts.map +0 -1
- package/dist/dev-utils/dedupe-async.test.js +0 -120
- package/dist/dev-utils/dedupe-async.test.js.map +0 -1
- package/dist/dev-utils/dev-server-metrics.d.mts +0 -95
- package/dist/dev-utils/dev-server-metrics.d.mts.map +0 -1
- package/dist/dev-utils/dev-server-metrics.mjs +0 -193
- package/dist/dev-utils/dev-server-metrics.mjs.map +0 -1
- package/dist/telemetry/memory-metrics.d.ts +0 -3
- package/dist/telemetry/memory-metrics.d.ts.map +0 -1
- package/dist/telemetry/memory-metrics.js +0 -59
- package/dist/telemetry/memory-metrics.js.map +0 -1
- package/src/dev-utils/dedupe-async.test.ts +0 -151
- package/src/dev-utils/dedupe-async.ts +0 -45
- package/src/dev-utils/dev-server-metrics.mts +0 -252
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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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"}
|