replicas-engine 0.1.406 → 0.1.408

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 +30 -13
  2. package/package.json +1 -1
package/dist/src/index.js CHANGED
@@ -3,11 +3,6 @@
3
3
  // src/index.ts
4
4
  import { serve } from "@hono/node-server";
5
5
  import { Hono as Hono2 } from "hono";
6
- import { randomUUID as randomUUID6 } from "crypto";
7
-
8
- // src/utils/exec.ts
9
- import { exec, execFile } from "child_process";
10
- import { promisify } from "util";
11
6
 
12
7
  // ../shared/src/type-guards.ts
13
8
  function isRecord(value) {
@@ -484,7 +479,7 @@ var WORKSPACE_SIZES = ["small", "large"];
484
479
  var INVALID_WORKSPACE_SIZE_ERROR = `Invalid size: must be one of ${WORKSPACE_SIZES.join(", ")}`;
485
480
 
486
481
  // ../shared/src/e2b.ts
487
- var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-07-08-v1";
482
+ var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-07-08-v3";
488
483
 
489
484
  // ../shared/src/runtime-env.ts
490
485
  function parsePosixEnvFile(content) {
@@ -3075,7 +3070,13 @@ var MEDIA_KINDS = [MEDIA_KIND.IMAGE, MEDIA_KIND.VIDEO, MEDIA_KIND.AUDIO];
3075
3070
  // ../shared/src/skill-registry.ts
3076
3071
  var SKILL_REGISTRY_MANIFEST_VERSION = 1;
3077
3072
 
3073
+ // src/index.ts
3074
+ import { randomUUID as randomUUID6 } from "crypto";
3075
+ import { connect } from "net";
3076
+
3078
3077
  // src/utils/exec.ts
3078
+ import { exec, execFile } from "child_process";
3079
+ import { promisify } from "util";
3079
3080
  var execAsync = promisify(exec);
3080
3081
  var execFileAsync = promisify(execFile);
3081
3082
  var SUBPROCESS_MAX_BUFFER = HOOK_EXEC_MAX_BUFFER_BYTES;
@@ -8017,7 +8018,7 @@ var AspClient = class {
8017
8018
  // src/managers/codex-asp/app-server-process.ts
8018
8019
  var DEFAULT_CODEX_BINARY = "codex";
8019
8020
  var DEFAULT_CODEX_ARGS = ["app-server", "--listen", "stdio://"];
8020
- var ENGINE_PACKAGE_VERSION = "0.1.406";
8021
+ var ENGINE_PACKAGE_VERSION = "0.1.408";
8021
8022
  var INITIALIZE_METHOD = "initialize";
8022
8023
  var INITIALIZED_NOTIFICATION = "initialized";
8023
8024
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
@@ -14021,6 +14022,18 @@ async function checkActiveSSHSessions() {
14021
14022
  return false;
14022
14023
  }
14023
14024
  }
14025
+ function checkDesktopReady() {
14026
+ return new Promise((resolve4) => {
14027
+ const socket = connect({ host: "127.0.0.1", port: DESKTOP_NOVNC_PORT });
14028
+ const done = (ready) => {
14029
+ socket.destroy();
14030
+ resolve4(ready);
14031
+ };
14032
+ socket.once("connect", () => done(true));
14033
+ socket.once("error", () => done(false));
14034
+ socket.setTimeout(1e3, () => done(false));
14035
+ });
14036
+ }
14024
14037
  var app = new Hono2();
14025
14038
  var bootTimeMs = Date.now();
14026
14039
  var engineReady = false;
@@ -14048,9 +14061,10 @@ app.get("/health", (c) => {
14048
14061
  app.use("*", authMiddleware);
14049
14062
  app.get("/status", async (c) => {
14050
14063
  try {
14051
- const [repos, hasActiveSSHSessions] = await Promise.all([
14064
+ const [repos, hasActiveSSHSessions, desktopReady] = await Promise.all([
14052
14065
  gitService.listRepos(),
14053
- checkActiveSSHSessions()
14066
+ checkActiveSSHSessions(),
14067
+ checkDesktopReady()
14054
14068
  ]);
14055
14069
  const status = {
14056
14070
  uptimeSeconds: Math.floor((Date.now() - bootTimeMs) / 1e3),
@@ -14059,7 +14073,8 @@ app.get("/status", async (c) => {
14059
14073
  chatsTotal: chatService.listChats().length,
14060
14074
  chatsProcessing: chatService.getProcessingCount(),
14061
14075
  reposTotal: repos.length,
14062
- hooksRunning: replicasConfigService.areHooksRunning()
14076
+ hooksRunning: replicasConfigService.areHooksRunning(),
14077
+ desktopReady
14063
14078
  };
14064
14079
  return c.json(status);
14065
14080
  } catch (error) {
@@ -14091,9 +14106,10 @@ function startStatusBroadcaster() {
14091
14106
  };
14092
14107
  const tick = async () => {
14093
14108
  try {
14094
- const [repos, hasActiveSSHSessions] = await Promise.all([
14109
+ const [repos, hasActiveSSHSessions, desktopReady] = await Promise.all([
14095
14110
  gitService.listRepos(),
14096
- checkActiveSSHSessions()
14111
+ checkActiveSSHSessions(),
14112
+ checkDesktopReady()
14097
14113
  ]);
14098
14114
  const serialized = JSON.stringify(repos);
14099
14115
  if (serialized !== previousRepoStatus) {
@@ -14113,7 +14129,8 @@ function startStatusBroadcaster() {
14113
14129
  chatsTotal: chatService.listChats().length,
14114
14130
  chatsProcessing: chatService.getProcessingCount(),
14115
14131
  reposTotal: repos.length,
14116
- hooksRunning: replicasConfigService.areHooksRunning()
14132
+ hooksRunning: replicasConfigService.areHooksRunning(),
14133
+ desktopReady
14117
14134
  };
14118
14135
  const engineStatusJson = JSON.stringify(engineStatus);
14119
14136
  if (engineStatusJson !== previousEngineStatus) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.406",
3
+ "version": "0.1.408",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",