replicas-engine 0.1.452 → 0.1.453

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 (2) hide show
  1. package/dist/src/index.js +21 -3
  2. package/package.json +1 -1
package/dist/src/index.js CHANGED
@@ -528,7 +528,7 @@ var WORKSPACE_SIZES = ["small", "large"];
528
528
  var INVALID_WORKSPACE_SIZE_ERROR = `Invalid size: must be one of ${WORKSPACE_SIZES.join(", ")}`;
529
529
 
530
530
  // ../shared/src/e2b.ts
531
- var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-07-19-v4";
531
+ var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-07-19-v5";
532
532
 
533
533
  // ../shared/src/runtime-env.ts
534
534
  function shellQuotePosix(value) {
@@ -2742,6 +2742,9 @@ var DESKTOP_NOVNC_PORT = 6080;
2742
2742
 
2743
2743
  // ../shared/src/engine/v1.ts
2744
2744
  var MERGED_MESSAGE_SEPARATOR = "\n\n<!-- replicas:merged -->\n\n";
2745
+ var ENGINE_HEALTH_WAIT_HEADER = "X-Replicas-Health-Wait";
2746
+ var ENGINE_HEALTH_WAIT_QUERY_PARAM = "wait_ms";
2747
+ var ENGINE_HEALTH_MAX_WAIT_MS = 2e3;
2745
2748
  function normalizeCodexAspTranscriptStatus(status, failed = false) {
2746
2749
  if (failed || status === "failed" || status === "declined") return "failed";
2747
2750
  if (status === "completed") return "completed";
@@ -8586,7 +8589,7 @@ var DEFAULT_CODEX_ARGS = ["app-server", "--listen", "stdio://"];
8586
8589
  var MIN_CODEX_CLI_VERSION = "0.144.0";
8587
8590
  var CODEX_UPGRADE_TIMEOUT_MS = 12e4;
8588
8591
  var codexCliVersionEnsured = null;
8589
- var ENGINE_PACKAGE_VERSION = "0.1.452";
8592
+ var ENGINE_PACKAGE_VERSION = "0.1.453";
8590
8593
  var INITIALIZE_METHOD = "initialize";
8591
8594
  var INITIALIZED_NOTIFICATION = "initialized";
8592
8595
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
@@ -15411,6 +15414,11 @@ var heartbeatService = new HeartbeatService();
15411
15414
  // src/index.ts
15412
15415
  var startupStartedAt = performance.now();
15413
15416
  var startupTimings = {};
15417
+ var resolveEngineReady = () => {
15418
+ };
15419
+ var engineReadyPromise = new Promise((resolve4) => {
15420
+ resolveEngineReady = resolve4;
15421
+ });
15414
15422
  async function timeStartupStep(name, fn) {
15415
15423
  const startedAt = performance.now();
15416
15424
  try {
@@ -15480,7 +15488,16 @@ var authMiddleware = async (c, next) => {
15480
15488
  await next();
15481
15489
  };
15482
15490
  var chatService = new ChatService(gitService.getWorkspaceRoot());
15483
- app.get("/health", (c) => {
15491
+ app.get("/health", async (c) => {
15492
+ const requestedWaitMs = Number(c.req.query(ENGINE_HEALTH_WAIT_QUERY_PARAM));
15493
+ const waitMs = Number.isFinite(requestedWaitMs) ? Math.min(Math.max(requestedWaitMs, 0), ENGINE_HEALTH_MAX_WAIT_MS) : 0;
15494
+ if (!engineReady && waitMs > 0) {
15495
+ await Promise.race([
15496
+ engineReadyPromise,
15497
+ new Promise((resolve4) => setTimeout(resolve4, waitMs))
15498
+ ]);
15499
+ }
15500
+ c.header(ENGINE_HEALTH_WAIT_HEADER, "1");
15484
15501
  const response = {
15485
15502
  status: engineReady ? "active" : "initializing",
15486
15503
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -15669,6 +15686,7 @@ serve(
15669
15686
  await timeStartupStep("github_token_initialize", () => githubTokenManager.start());
15670
15687
  }
15671
15688
  engineReady = true;
15689
+ resolveEngineReady();
15672
15690
  void registerDesktopPreview();
15673
15691
  heartbeatService.start(bootTimeMs);
15674
15692
  if (!IS_WARMING_MODE) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.452",
3
+ "version": "0.1.453",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",