@superblocksteam/sdk 2.0.83 → 2.0.84-next.0

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 (46) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cli-replacement/automatic-upgrades.d.ts +0 -6
  3. package/dist/cli-replacement/automatic-upgrades.d.ts.map +1 -1
  4. package/dist/cli-replacement/automatic-upgrades.js +5 -27
  5. package/dist/cli-replacement/automatic-upgrades.js.map +1 -1
  6. package/dist/cli-replacement/dev.d.mts.map +1 -1
  7. package/dist/cli-replacement/dev.mjs +260 -217
  8. package/dist/cli-replacement/dev.mjs.map +1 -1
  9. package/dist/cli-replacement/version-detection.d.ts +71 -0
  10. package/dist/cli-replacement/version-detection.d.ts.map +1 -0
  11. package/dist/cli-replacement/version-detection.js +186 -0
  12. package/dist/cli-replacement/version-detection.js.map +1 -0
  13. package/dist/cli-replacement/version-detection.test.d.ts +5 -0
  14. package/dist/cli-replacement/version-detection.test.d.ts.map +1 -0
  15. package/dist/cli-replacement/version-detection.test.js +257 -0
  16. package/dist/cli-replacement/version-detection.test.js.map +1 -0
  17. package/dist/dev-utils/dev-server.mjs +133 -115
  18. package/dist/dev-utils/dev-server.mjs.map +1 -1
  19. package/dist/telemetry/index.d.ts +4 -4
  20. package/dist/telemetry/index.d.ts.map +1 -1
  21. package/dist/telemetry/index.js +92 -64
  22. package/dist/telemetry/index.js.map +1 -1
  23. package/dist/telemetry/index.test.d.ts +2 -0
  24. package/dist/telemetry/index.test.d.ts.map +1 -0
  25. package/dist/telemetry/index.test.js +93 -0
  26. package/dist/telemetry/index.test.js.map +1 -0
  27. package/dist/telemetry/local-obs.d.ts +73 -0
  28. package/dist/telemetry/local-obs.d.ts.map +1 -0
  29. package/dist/telemetry/local-obs.js +107 -0
  30. package/dist/telemetry/local-obs.js.map +1 -0
  31. package/dist/telemetry/util.d.ts +1 -2
  32. package/dist/telemetry/util.d.ts.map +1 -1
  33. package/dist/telemetry/util.js +26 -4
  34. package/dist/telemetry/util.js.map +1 -1
  35. package/package.json +6 -5
  36. package/src/cli-replacement/automatic-upgrades.ts +10 -42
  37. package/src/cli-replacement/dev.mts +336 -281
  38. package/src/cli-replacement/version-detection.test.ts +336 -0
  39. package/src/cli-replacement/version-detection.ts +220 -0
  40. package/src/dev-utils/dev-server.mts +149 -127
  41. package/src/telemetry/index.test.ts +130 -0
  42. package/src/telemetry/index.ts +105 -83
  43. package/src/telemetry/local-obs.ts +138 -0
  44. package/src/telemetry/util.ts +27 -4
  45. package/tsconfig.tsbuildinfo +1 -1
  46. package/turbo.json +20 -2
@@ -18,7 +18,8 @@ import { detect } from "package-manager-detector/detect";
18
18
  import { AUTO_UPGRADE_EXIT_CODE, createDevServer } from "../index.js";
19
19
  import { getTracer } from "../telemetry/index.js";
20
20
  import { getErrorMeta, getLogger } from "../telemetry/logging.js";
21
- import { checkVersionsAndWritePackageJson, getCurrentCliVersion, } from "./automatic-upgrades.js";
21
+ import { checkVersionsAndWritePackageJson } from "./automatic-upgrades.js";
22
+ import { getCurrentCliVersion } from "./version-detection.js";
22
23
  const exec = promisify(child_process.exec);
23
24
  const passErrorToVSCode = (message, logger) => {
24
25
  if (message && process.env.SUPERBLOCKS_VSCODE === "true") {
@@ -168,248 +169,290 @@ export async function dev(options) {
168
169
  const tracer = getTracer();
169
170
  const logger = getLogger(options.logger);
170
171
  const skipAutoUpgrade = autoUpgradeMode === DevServerAutoUpgradeMode.SKIP;
171
- // Add check for node_modules
172
- if (!fs.existsSync(path.join(cwd, "node_modules"))) {
173
- throw new Error('node_modules folder is missing. Please run "npm install" first.');
174
- }
175
- const cliVersion = await getCurrentCliVersion();
176
- logger.info(`Running command: ${options.superblocksPath} dev${options.uploadFirst ? " --upload-first" : ""}${options.downloadFirst ? " --download-first" : ""} with baseUrl: ${tokenConfig.superblocksBaseUrl}, cliVersion: ${cliVersion?.version}${cliVersion?.alias ? ` (${cliVersion.alias})` : ""}`);
177
- const port = devServerPort ?? 5173;
178
- const fsOperationQueue = new OperationQueue();
179
- if (applicationConfig && !skipSync) {
180
- const rpcClient = new AutoConnectingRpcClient(tokenConfig.superblocksBaseUrl, tokenConfig.token, tracer, tokenManager, logger);
181
- // Get feature flags for inactivity timeout
182
- const featureFlags = await sdk.getFeatureFlagsForCurrentUser();
183
- const lockType = process.env.SUPERBLOCKS_IS_CSB === "true" ? LockType.CSB : LockType.LOCAL;
184
- const inactivityTimeoutMs = lockType === LockType.CSB
185
- ? featureFlags.devServerCloudInactivityTimeoutMinutes() * 60 * 1000
186
- : featureFlags.devServerLocalInactivityTimeoutMinutes() * 60 * 1000;
187
- lockService = new LockService({
188
- superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
189
- applicationId: applicationConfig.id,
190
- branchName: applicationConfig.branchName,
191
- lockType: lockType,
192
- tracer,
193
- logger,
194
- rpcClient,
195
- inactivityThresholdMs: inactivityTimeoutMs,
196
- });
197
- syncService = new SyncService({
198
- appRootDirPath: cwd,
199
- applicationId: applicationConfig.id,
200
- branchName: applicationConfig.branchName,
201
- fsOperationQueue,
202
- lockService: lockService,
203
- tracer,
204
- superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
205
- rpcClient,
206
- logger,
207
- });
208
- logger.info("Checking if local files are synced with the server");
172
+ await tracer.startActiveSpan("devServerStartup", async (startupSpan) => {
209
173
  try {
210
- await maskUnixSignals(async () => {
211
- if (lockService) {
212
- const lockSvc = lockService;
213
- await tracer.startActiveSpan("acquiringInitialLock", async (span) => {
214
- try {
215
- // If --force-takeover flag is set, immediately force takeover instead of acquiring
216
- if (options.forceTakeover) {
217
- logger.info("Force takeover requested, taking over lock...");
218
- await lockSvc.forceTakeover();
219
- logger.info("Lock acquired successfully via force takeover.");
220
- }
221
- else {
222
- await lockSvc.acquireLock();
223
- }
224
- }
225
- catch (error) {
226
- // If we got a conflict error (409), inspect the lock for more information
227
- if (error instanceof ConflictError) {
228
- await handleLockConflict(error, lockSvc, span, logger);
229
- return;
230
- }
231
- logger.error("Failed to acquire lock on application", getErrorMeta(error));
232
- span.setStatus({
233
- code: SpanStatusCode.ERROR,
234
- message: JSON.stringify(error),
235
- });
236
- passErrorToVSCode(error.context?.message, logger);
237
- throw new Error(`Failed to acquire lock on application: ${error}`);
238
- }
239
- finally {
240
- span.end();
241
- }
242
- });
174
+ // Add check for node_modules
175
+ if (!fs.existsSync(path.join(cwd, "node_modules"))) {
176
+ throw new Error('node_modules folder is missing. Please run "npm install" first.');
177
+ }
178
+ const cliVersion = await tracer.startActiveSpan("getCurrentCliVersion", async (span) => {
179
+ try {
180
+ return await getCurrentCliVersion();
243
181
  }
244
- const [localContents, serverHash, currentUser] = await tracer.startActiveSpan("fetchInitInfo", async (span) => {
245
- const results = await Promise.all([
246
- sdk.hashLocalDirectory(cwd),
247
- getDraftOrLiveEditHash(sdk, applicationConfig, logger),
248
- sdk.fetchCurrentUser(),
249
- ]);
182
+ finally {
250
183
  span.end();
251
- return results;
184
+ }
185
+ });
186
+ logger.info(`Running command: ${options.superblocksPath} dev${options.uploadFirst ? " --upload-first" : ""}${options.downloadFirst ? " --download-first" : ""} with baseUrl: ${tokenConfig.superblocksBaseUrl}, cliVersion: ${cliVersion?.version}${cliVersion?.alias ? ` (${cliVersion.alias})` : ""}`);
187
+ const port = devServerPort ?? 5173;
188
+ const fsOperationQueue = new OperationQueue();
189
+ if (applicationConfig && !skipSync) {
190
+ const rpcClient = new AutoConnectingRpcClient(tokenConfig.superblocksBaseUrl, tokenConfig.token, tracer, tokenManager, logger);
191
+ // Get feature flags for inactivity timeout
192
+ const featureFlags = await tracer.startActiveSpan("getFeatureFlags", async (span) => {
193
+ try {
194
+ return await sdk.getFeatureFlagsForCurrentUser();
195
+ }
196
+ finally {
197
+ span.end();
198
+ }
252
199
  });
253
- aiService = new AiService({
200
+ const lockType = process.env.SUPERBLOCKS_IS_CSB === "true"
201
+ ? LockType.CSB
202
+ : LockType.LOCAL;
203
+ const inactivityTimeoutMs = lockType === LockType.CSB
204
+ ? featureFlags.devServerCloudInactivityTimeoutMinutes() * 60 * 1000
205
+ : featureFlags.devServerLocalInactivityTimeoutMinutes() * 60 * 1000;
206
+ lockService = new LockService({
254
207
  superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
255
- appRootDirPath: options.cwd,
256
208
  applicationId: applicationConfig.id,
257
- organizationId: currentUser.organizations[0].id,
258
- fsOperationQueue,
259
- draftInterface: syncService,
209
+ branchName: applicationConfig.branchName,
210
+ lockType: lockType,
211
+ tracer,
212
+ logger,
260
213
  rpcClient,
214
+ inactivityThresholdMs: inactivityTimeoutMs,
215
+ });
216
+ syncService = new SyncService({
217
+ appRootDirPath: cwd,
218
+ applicationId: applicationConfig.id,
219
+ branchName: applicationConfig.branchName,
220
+ fsOperationQueue,
221
+ lockService: lockService,
261
222
  tracer,
223
+ superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
224
+ rpcClient,
262
225
  logger,
263
- tokenManager,
264
- features: AiServiceFeatureFlags.create(currentUser.flagBootstrap),
265
- pluginExecutionVersions: currentUser.organizations[0].pluginExecutionVersions,
266
226
  });
267
- await aiService.initialize();
268
- const isSynced = localContents.hash === serverHash;
269
- if (isSynced) {
270
- logger.info(`Local files are in sync with the server on branch '${applicationConfig.branchName}', local hash: ${localContents.hash}, server hash: ${serverHash}`);
271
- }
272
- else {
273
- logger.info(`Local files are out of sync with the server on branch '${applicationConfig.branchName}', local hash: ${localContents.hash}, server hash: ${serverHash}`);
274
- }
275
- if (!(downloadFirst || uploadFirst)) {
276
- throw new Error("You must choose --download-first or --upload-first to use the dev command");
277
- }
278
- if (downloadFirst && uploadFirst) {
279
- throw new Error("Choose either --download-first or --upload-first");
280
- }
281
- let hasPackageChanged = false;
282
- const packageJsonBefore = await readPkgJson(cwd);
283
- if (downloadFirst && !isSynced) {
284
- await tracer.startActiveSpan("downloadFirst", async (span) => {
285
- logger.info(`Starting download of branch '${applicationConfig.branchName}'`);
286
- await syncService.downloadDirectory();
287
- span.end();
288
- });
289
- }
290
- let hasCliUpdated = false;
291
- let upgradePromises = [];
292
- const forceUpgrade = options.autoUpgradeMode === DevServerAutoUpgradeMode.FORCE;
293
- // Determine whether we must try to auto-upgrade the CLI
294
- if (!skipAutoUpgrade || forceUpgrade) {
295
- await tracer.startActiveSpan("versionCheckAndUpgrade", async (span) => {
227
+ logger.info("Checking if local files are synced with the server");
228
+ try {
229
+ await maskUnixSignals(async () => {
296
230
  if (lockService) {
297
- const applicationConfigWithTokenConfigAndUserInfo = {
298
- ...applicationConfig,
299
- superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
300
- token: tokenConfig.token,
301
- userId: currentUser.user.id,
302
- userEmail: currentUser.user.email,
303
- organizationId: currentUser.user.currentOrganizationId,
304
- featureFlags: sdk.getFeatureFlagsForUser(currentUser),
305
- };
306
- const result = await checkVersionsAndWritePackageJson(lockService, applicationConfigWithTokenConfigAndUserInfo, forceUpgrade);
307
- hasCliUpdated = result.cliUpdated;
308
- upgradePromises = result.upgradePromises;
231
+ const lockSvc = lockService;
232
+ await tracer.startActiveSpan("acquiringInitialLock", async (span) => {
233
+ try {
234
+ // If --force-takeover flag is set, immediately force takeover instead of acquiring
235
+ if (options.forceTakeover) {
236
+ logger.info("Force takeover requested, taking over lock...");
237
+ await lockSvc.forceTakeover();
238
+ logger.info("Lock acquired successfully via force takeover.");
239
+ }
240
+ else {
241
+ await lockSvc.acquireLock();
242
+ }
243
+ }
244
+ catch (error) {
245
+ // If we got a conflict error (409), inspect the lock for more information
246
+ if (error instanceof ConflictError) {
247
+ await handleLockConflict(error, lockSvc, span, logger);
248
+ return;
249
+ }
250
+ logger.error("Failed to acquire lock on application", getErrorMeta(error));
251
+ span.setStatus({
252
+ code: SpanStatusCode.ERROR,
253
+ message: JSON.stringify(error),
254
+ });
255
+ passErrorToVSCode(error.context
256
+ ?.message, logger);
257
+ throw new Error(`Failed to acquire lock on application: ${error}`);
258
+ }
259
+ finally {
260
+ span.end();
261
+ }
262
+ });
263
+ }
264
+ const [localContents, serverHash, currentUser] = await tracer.startActiveSpan("fetchInitInfo", async (span) => {
265
+ try {
266
+ const results = await Promise.all([
267
+ sdk.hashLocalDirectory(cwd),
268
+ getDraftOrLiveEditHash(sdk, applicationConfig, logger),
269
+ sdk.fetchCurrentUser(),
270
+ ]);
271
+ return results;
272
+ }
273
+ finally {
274
+ span.end();
275
+ }
276
+ });
277
+ aiService = new AiService({
278
+ superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
279
+ appRootDirPath: options.cwd,
280
+ applicationId: applicationConfig.id,
281
+ organizationId: currentUser.organizations[0].id,
282
+ fsOperationQueue,
283
+ draftInterface: syncService,
284
+ rpcClient,
285
+ tracer,
286
+ logger,
287
+ tokenManager,
288
+ features: AiServiceFeatureFlags.create(currentUser.flagBootstrap),
289
+ pluginExecutionVersions: currentUser.organizations[0].pluginExecutionVersions,
290
+ });
291
+ await tracer.startActiveSpan("aiServiceInitialize", async (span) => {
292
+ try {
293
+ await aiService.initialize();
294
+ }
295
+ finally {
296
+ span.end();
297
+ }
298
+ });
299
+ const isSynced = localContents.hash === serverHash;
300
+ if (isSynced) {
301
+ logger.info(`Local files are in sync with the server on branch '${applicationConfig.branchName}', local hash: ${localContents.hash}, server hash: ${serverHash}`);
309
302
  }
310
303
  else {
311
- logger.warn("Lock service is not available, skipping version check and upgrade");
304
+ logger.info(`Local files are out of sync with the server on branch '${applicationConfig.branchName}', local hash: ${localContents.hash}, server hash: ${serverHash}`);
305
+ }
306
+ if (!(downloadFirst || uploadFirst)) {
307
+ throw new Error("You must choose --download-first or --upload-first to use the dev command");
308
+ }
309
+ if (downloadFirst && uploadFirst) {
310
+ throw new Error("Choose either --download-first or --upload-first");
311
+ }
312
+ let hasPackageChanged = false;
313
+ const packageJsonBefore = await readPkgJson(cwd);
314
+ if (downloadFirst && !isSynced) {
315
+ await tracer.startActiveSpan("downloadFirst", async (span) => {
316
+ logger.info(`Starting download of branch '${applicationConfig.branchName}'`);
317
+ await syncService.downloadDirectory();
318
+ span.end();
319
+ });
320
+ }
321
+ let hasCliUpdated = false;
322
+ let upgradePromises = [];
323
+ const forceUpgrade = options.autoUpgradeMode === DevServerAutoUpgradeMode.FORCE;
324
+ // Determine whether we must try to auto-upgrade the CLI
325
+ if (!skipAutoUpgrade || forceUpgrade) {
326
+ await tracer.startActiveSpan("versionCheckAndUpgrade", async (span) => {
327
+ if (lockService) {
328
+ const applicationConfigWithTokenConfigAndUserInfo = {
329
+ ...applicationConfig,
330
+ superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
331
+ token: tokenConfig.token,
332
+ userId: currentUser.user.id,
333
+ userEmail: currentUser.user.email,
334
+ organizationId: currentUser.user.currentOrganizationId,
335
+ featureFlags: sdk.getFeatureFlagsForUser(currentUser),
336
+ };
337
+ const result = await checkVersionsAndWritePackageJson(lockService, applicationConfigWithTokenConfigAndUserInfo, forceUpgrade);
338
+ hasCliUpdated = result.cliUpdated;
339
+ upgradePromises = result.upgradePromises;
340
+ }
341
+ else {
342
+ logger.warn("Lock service is not available, skipping version check and upgrade");
343
+ }
344
+ span.end();
345
+ });
346
+ }
347
+ const packageJsonAfter = await readPkgJson(cwd);
348
+ if (packageJsonBefore && packageJsonAfter) {
349
+ hasPackageChanged =
350
+ JSON.stringify(packageJsonBefore, null, 2) !==
351
+ JSON.stringify(packageJsonAfter, null, 2);
352
+ }
353
+ else if (packageJsonAfter) {
354
+ hasPackageChanged = true;
355
+ logger.info("package.json was created, installing packages…");
356
+ }
357
+ if (hasPackageChanged || upgradePromises.length > 0) {
358
+ logger.info("Installing packages…");
359
+ await tracer.startActiveSpan("installPackages", async (span) => {
360
+ try {
361
+ // Upgrade global CLI and local packages in parallel - improves performance
362
+ await Promise.all([
363
+ ...upgradePromises,
364
+ installPackages(cwd, logger),
365
+ ]);
366
+ }
367
+ finally {
368
+ span.end();
369
+ }
370
+ });
371
+ }
372
+ else {
373
+ logger.info("package.json has not changed, skipping package installation");
374
+ }
375
+ if (hasPackageChanged || uploadFirst) {
376
+ logger.info(`Uploading local files to branch '${applicationConfig.branchName}' on server before starting`);
377
+ await tracer.startActiveSpan("uploadFirstOrPackageChanged", async (span) => {
378
+ await syncService.uploadDirectory("cli:sdk");
379
+ await syncService.uploadDirectoryNowIfNeeded("cli:sdk");
380
+ span.end();
381
+ });
382
+ }
383
+ if (hasCliUpdated) {
384
+ try {
385
+ logger.info("Releasing lock before restarting the dev server");
386
+ await aiService?.removeIntegrationCache();
387
+ await lockService?.shutdown({ serverInitiated: false });
388
+ }
389
+ catch (e) {
390
+ logger.error("Error releasing lock before restarting the dev server", getErrorMeta(e));
391
+ }
392
+ logger.info("CLI was updated, restarting the dev server…");
393
+ process.exit(AUTO_UPGRADE_EXIT_CODE);
312
394
  }
313
- span.end();
314
- });
315
- }
316
- const packageJsonAfter = await readPkgJson(cwd);
317
- if (packageJsonBefore && packageJsonAfter) {
318
- hasPackageChanged =
319
- JSON.stringify(packageJsonBefore, null, 2) !==
320
- JSON.stringify(packageJsonAfter, null, 2);
321
- }
322
- else if (packageJsonAfter) {
323
- hasPackageChanged = true;
324
- logger.info("package.json was created, installing packages…");
325
- }
326
- if (hasPackageChanged || upgradePromises.length > 0) {
327
- logger.info("Installing packages…");
328
- await tracer.startActiveSpan("installPackages", async (span) => {
329
- // Upgrade global CLI and local packages in parallel - improves performance
330
- await Promise.all([
331
- ...upgradePromises,
332
- installPackages(cwd, logger),
333
- ]);
334
- span.end();
335
- });
336
- }
337
- else {
338
- logger.info("package.json has not changed, skipping package installation");
339
- }
340
- if (hasPackageChanged || uploadFirst) {
341
- logger.info(`Uploading local files to branch '${applicationConfig.branchName}' on server before starting`);
342
- await tracer.startActiveSpan("uploadFirstOrPackageChanged", async (span) => {
343
- await syncService.uploadDirectory("cli:sdk");
344
- await syncService.uploadDirectoryNowIfNeeded("cli:sdk");
345
- span.end();
346
395
  });
347
396
  }
348
- if (hasCliUpdated) {
397
+ catch (error) {
398
+ logger.error(error.message);
349
399
  try {
350
- logger.info("Releasing lock before restarting the dev server");
351
400
  await aiService?.removeIntegrationCache();
352
- await lockService?.shutdown({ serverInitiated: false });
401
+ await lockService?.shutdownAndExit();
353
402
  }
354
- catch (e) {
355
- logger.error("Error releasing lock before restarting the dev server", getErrorMeta(e));
403
+ finally {
404
+ // this is redundant, but it's here to make sure the lock service is shutdown and the process exits
405
+ process.exit(1);
356
406
  }
357
- logger.info("CLI was updated, restarting the dev server…");
358
- process.exit(AUTO_UPGRADE_EXIT_CODE);
359
407
  }
360
- });
361
- }
362
- catch (error) {
363
- logger.error(error.message);
364
- try {
365
- await aiService?.removeIntegrationCache();
366
- await lockService?.shutdownAndExit();
367
408
  }
368
- finally {
369
- // this is redundant, but it's here to make sure the lock service is shutdown and the process exits
370
- process.exit(1);
409
+ else {
410
+ logger.info("Skipping directory sync");
371
411
  }
372
- }
373
- }
374
- else {
375
- logger.info("Skipping directory sync");
376
- }
377
- const httpServer = await tracer.startActiveSpan("createDevServer", async (span) => {
378
- const result = await createDevServer({
379
- root: options.cwd,
380
- mode: "development",
381
- port: port,
382
- fsOperationQueue,
383
- syncService: syncService,
384
- lockService: lockService,
385
- aiService: aiService,
386
- logger: options.logger,
387
- sdk,
388
- });
389
- span.end();
390
- return result;
391
- });
392
- options.signal?.addEventListener("abort", () => {
393
- logger.info("Server closed");
394
- httpServer.close();
395
- // Stop auth hot-reload server on abort
396
- if (authHotReloadServer) {
397
- authHotReloadServer.stop().catch((error) => {
398
- logger.warn(`Error stopping auth hot-reload server: ${error}`);
412
+ const httpServer = await tracer.startActiveSpan("createDevServer", async (span) => {
413
+ const result = await createDevServer({
414
+ root: options.cwd,
415
+ mode: "development",
416
+ port: port,
417
+ fsOperationQueue,
418
+ syncService: syncService,
419
+ lockService: lockService,
420
+ aiService: aiService,
421
+ logger: options.logger,
422
+ sdk,
423
+ });
424
+ span.end();
425
+ return result;
399
426
  });
427
+ options.signal?.addEventListener("abort", () => {
428
+ logger.info("Server closed");
429
+ httpServer.close();
430
+ // Stop auth hot-reload server on abort
431
+ if (authHotReloadServer) {
432
+ authHotReloadServer.stop().catch((error) => {
433
+ logger.warn(`Error stopping auth hot-reload server: ${error}`);
434
+ });
435
+ }
436
+ // Clean up AI service cache (must happen before app switches directories)
437
+ aiService?.removeIntegrationCache().catch((error) => {
438
+ logger.warn(`Error removing integration cache: ${error}`);
439
+ });
440
+ lockService?.shutdownAndExit().catch(() => {
441
+ // this is redundant, but it's here to make sure the lock service is shutdown and the process exits
442
+ process.exit(1);
443
+ });
444
+ });
445
+ logger.debug(green(`Local server started at port ${port}`));
446
+ logger.debug(green(`Visit your application at:`));
447
+ logger.debug(green(`http://localhost:${port}`));
448
+ startupSpan.end();
449
+ }
450
+ catch (error) {
451
+ startupSpan.setStatus({ code: SpanStatusCode.ERROR });
452
+ startupSpan.end();
453
+ throw error;
400
454
  }
401
- // Clean up AI service cache (must happen before app switches directories)
402
- aiService?.removeIntegrationCache().catch((error) => {
403
- logger.warn(`Error removing integration cache: ${error}`);
404
- });
405
- lockService?.shutdownAndExit().catch(() => {
406
- // this is redundant, but it's here to make sure the lock service is shutdown and the process exits
407
- process.exit(1);
408
- });
409
455
  });
410
- logger.debug(green(`Local server started at port ${port}`));
411
- logger.debug(green(`Visit your application at:`));
412
- logger.debug(green(`http://localhost:${port}`));
413
456
  }
414
457
  async function getDraftOrLiveEditHash(sdk, applicationConfig, logger) {
415
458
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"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"}