@superblocksteam/sdk 2.0.83-next.1 → 2.0.83

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 +6 -0
  3. package/dist/cli-replacement/automatic-upgrades.d.ts.map +1 -1
  4. package/dist/cli-replacement/automatic-upgrades.js +27 -5
  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 +217 -260
  8. package/dist/cli-replacement/dev.mjs.map +1 -1
  9. package/dist/dev-utils/dev-server.mjs +115 -133
  10. package/dist/dev-utils/dev-server.mjs.map +1 -1
  11. package/dist/telemetry/index.d.ts +4 -4
  12. package/dist/telemetry/index.d.ts.map +1 -1
  13. package/dist/telemetry/index.js +64 -92
  14. package/dist/telemetry/index.js.map +1 -1
  15. package/dist/telemetry/util.d.ts +2 -1
  16. package/dist/telemetry/util.d.ts.map +1 -1
  17. package/dist/telemetry/util.js +4 -26
  18. package/dist/telemetry/util.js.map +1 -1
  19. package/package.json +5 -6
  20. package/src/cli-replacement/automatic-upgrades.ts +42 -10
  21. package/src/cli-replacement/dev.mts +281 -336
  22. package/src/dev-utils/dev-server.mts +127 -149
  23. package/src/telemetry/index.ts +83 -105
  24. package/src/telemetry/util.ts +4 -27
  25. package/tsconfig.tsbuildinfo +1 -1
  26. package/turbo.json +2 -20
  27. package/dist/cli-replacement/version-detection.d.ts +0 -71
  28. package/dist/cli-replacement/version-detection.d.ts.map +0 -1
  29. package/dist/cli-replacement/version-detection.js +0 -186
  30. package/dist/cli-replacement/version-detection.js.map +0 -1
  31. package/dist/cli-replacement/version-detection.test.d.ts +0 -5
  32. package/dist/cli-replacement/version-detection.test.d.ts.map +0 -1
  33. package/dist/cli-replacement/version-detection.test.js +0 -257
  34. package/dist/cli-replacement/version-detection.test.js.map +0 -1
  35. package/dist/telemetry/index.test.d.ts +0 -2
  36. package/dist/telemetry/index.test.d.ts.map +0 -1
  37. package/dist/telemetry/index.test.js +0 -93
  38. package/dist/telemetry/index.test.js.map +0 -1
  39. package/dist/telemetry/local-obs.d.ts +0 -73
  40. package/dist/telemetry/local-obs.d.ts.map +0 -1
  41. package/dist/telemetry/local-obs.js +0 -107
  42. package/dist/telemetry/local-obs.js.map +0 -1
  43. package/src/cli-replacement/version-detection.test.ts +0 -336
  44. package/src/cli-replacement/version-detection.ts +0 -220
  45. package/src/telemetry/index.test.ts +0 -130
  46. package/src/telemetry/local-obs.ts +0 -138
@@ -18,8 +18,7 @@ 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 } from "./automatic-upgrades.js";
22
- import { getCurrentCliVersion } from "./version-detection.js";
21
+ import { checkVersionsAndWritePackageJson, getCurrentCliVersion, } from "./automatic-upgrades.js";
23
22
  const exec = promisify(child_process.exec);
24
23
  const passErrorToVSCode = (message, logger) => {
25
24
  if (message && process.env.SUPERBLOCKS_VSCODE === "true") {
@@ -169,290 +168,248 @@ export async function dev(options) {
169
168
  const tracer = getTracer();
170
169
  const logger = getLogger(options.logger);
171
170
  const skipAutoUpgrade = autoUpgradeMode === DevServerAutoUpgradeMode.SKIP;
172
- await tracer.startActiveSpan("devServerStartup", async (startupSpan) => {
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");
173
209
  try {
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();
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
+ });
181
243
  }
182
- finally {
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
+ ]);
183
250
  span.end();
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
- }
251
+ return results;
199
252
  });
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({
253
+ aiService = new AiService({
207
254
  superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
255
+ appRootDirPath: options.cwd,
208
256
  applicationId: applicationConfig.id,
209
- branchName: applicationConfig.branchName,
210
- lockType: lockType,
211
- tracer,
212
- logger,
213
- rpcClient,
214
- inactivityThresholdMs: inactivityTimeoutMs,
215
- });
216
- syncService = new SyncService({
217
- appRootDirPath: cwd,
218
- applicationId: applicationConfig.id,
219
- branchName: applicationConfig.branchName,
257
+ organizationId: currentUser.organizations[0].id,
220
258
  fsOperationQueue,
221
- lockService: lockService,
222
- tracer,
223
- superblocksBaseUrl: tokenConfig.superblocksBaseUrl,
259
+ draftInterface: syncService,
224
260
  rpcClient,
261
+ tracer,
225
262
  logger,
263
+ tokenManager,
264
+ features: AiServiceFeatureFlags.create(currentUser.flagBootstrap),
265
+ pluginExecutionVersions: currentUser.organizations[0].pluginExecutionVersions,
226
266
  });
227
- logger.info("Checking if local files are synced with the server");
228
- try {
229
- await maskUnixSignals(async () => {
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) => {
230
296
  if (lockService) {
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}`);
302
- }
303
- else {
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
- });
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;
371
309
  }
372
310
  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);
311
+ logger.warn("Lock service is not available, skipping version check and upgrade");
394
312
  }
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();
395
346
  });
396
347
  }
397
- catch (error) {
398
- logger.error(error.message);
348
+ if (hasCliUpdated) {
399
349
  try {
350
+ logger.info("Releasing lock before restarting the dev server");
400
351
  await aiService?.removeIntegrationCache();
401
- await lockService?.shutdownAndExit();
352
+ await lockService?.shutdown({ serverInitiated: false });
402
353
  }
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);
354
+ catch (e) {
355
+ logger.error("Error releasing lock before restarting the dev server", getErrorMeta(e));
406
356
  }
357
+ logger.info("CLI was updated, restarting the dev server…");
358
+ process.exit(AUTO_UPGRADE_EXIT_CODE);
407
359
  }
408
- }
409
- else {
410
- logger.info("Skipping directory sync");
411
- }
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;
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
360
  });
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
361
  }
450
362
  catch (error) {
451
- startupSpan.setStatus({ code: SpanStatusCode.ERROR });
452
- startupSpan.end();
453
- throw error;
363
+ logger.error(error.message);
364
+ try {
365
+ await aiService?.removeIntegrationCache();
366
+ await lockService?.shutdownAndExit();
367
+ }
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);
371
+ }
454
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}`);
399
+ });
400
+ }
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
+ });
455
409
  });
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}`));
456
413
  }
457
414
  async function getDraftOrLiveEditHash(sdk, applicationConfig, logger) {
458
415
  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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"}