negotium 0.2.12 → 0.2.13

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.
@@ -163,6 +163,16 @@ function resolveBrowserRsBin(envValue) {
163
163
  return;
164
164
  }
165
165
  }
166
+ function resolveBashRsBin(envValue) {
167
+ const override = envValue?.trim();
168
+ const candidate = override ? resolve(override) : resolve(BINARIES_DIR, "bash-rs", BASH_RS_VERSION, "bash-rs");
169
+ try {
170
+ accessSync(candidate, constants.X_OK);
171
+ return candidate;
172
+ } catch {
173
+ return;
174
+ }
175
+ }
166
176
  function resolveBrowserMcpBin(envValue) {
167
177
  const override = envValue?.trim();
168
178
  if (override)
@@ -240,7 +250,7 @@ function resolveDefaultModel(agent, registryDefaultModel) {
240
250
  function codexAuthFilePath() {
241
251
  return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
242
252
  }
243
- var HOME, PROJECT_ROOT, STATE_DIR_ENV, STATE_DIR, WORKSPACE_DIR, TOPIC_WORKSPACE_DIR, SHARED_WIKI_DIR, CRON_WORKSPACE_DIR, BROWSER_DIR, BROWSER_PROFILES_DIR, BINARIES_DIR, SECRETS_DIR, DM_WORKSPACE_DIR, SESSION_WORKSPACE_DIR, CLAUDE_EXECUTABLE_ENV, CLAUDE_EXECUTABLE, DEFAULT_OUTPUT_LANGUAGE = "English", BROWSER_RS_VERSION = "v0.1.19", BROWSER_RS_MIN_SECURE_VERSION = "0.1.15", SNIPPETS_API_URL, BROWSER_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, BROWSER_MCP_SSE_PROXY_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, BACKGROUND_BASH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, VAULT_MASTER_KEY, NEGOTIUM_PORT, hostname, DATA_DIR, LOG_DIR, UPLOADS_DIR, VAULT_DIR, SESSIONS_DB, DEBUG_FILE, USERS_LOG_DIR, RUN_DIR, PROGRESS_DIR, DM_CMD_DIR, DM_RESP_DIR, SESSION_INBOX_DIR, SESSION_ASKS_DIR, PLAYWRIGHT_BASE_PORT, PLAYWRIGHT_MAX_PORT, PLAYWRIGHT_PORTS_DIR, ACTIVE_QUERY_STALE_MS, AGENTS_PROMPTS_DIR, RESOURCES_DIR, FILE_TAG_REGEX, MODEL_SONNET = "claude-sonnet-5", MODEL_OPUS = "claude-opus-5", MODEL_FABLE = "claude-fable-5", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, _envMaxTellDepth, MAX_TELL_DEPTH;
253
+ var HOME, PROJECT_ROOT, STATE_DIR_ENV, STATE_DIR, WORKSPACE_DIR, TOPIC_WORKSPACE_DIR, SHARED_WIKI_DIR, CRON_WORKSPACE_DIR, BROWSER_DIR, BROWSER_PROFILES_DIR, BINARIES_DIR, SECRETS_DIR, DM_WORKSPACE_DIR, SESSION_WORKSPACE_DIR, CLAUDE_EXECUTABLE_ENV, CLAUDE_EXECUTABLE, DEFAULT_OUTPUT_LANGUAGE = "English", BROWSER_RS_VERSION = "v0.1.19", BROWSER_RS_MIN_SECURE_VERSION = "0.1.15", SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.2", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, BROWSER_MCP_SSE_PROXY_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, BACKGROUND_BASH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, VAULT_MASTER_KEY, NEGOTIUM_PORT, hostname, DATA_DIR, LOG_DIR, UPLOADS_DIR, VAULT_DIR, SESSIONS_DB, DEBUG_FILE, USERS_LOG_DIR, RUN_DIR, PROGRESS_DIR, DM_CMD_DIR, DM_RESP_DIR, SESSION_INBOX_DIR, SESSION_ASKS_DIR, BASHRS_SPILL_ROOT, PLAYWRIGHT_BASE_PORT, PLAYWRIGHT_MAX_PORT, PLAYWRIGHT_PORTS_DIR, ACTIVE_QUERY_STALE_MS, AGENTS_PROMPTS_DIR, RESOURCES_DIR, FILE_TAG_REGEX, MODEL_SONNET = "claude-sonnet-5", MODEL_OPUS = "claude-opus-5", MODEL_FABLE = "claude-fable-5", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, _envMaxTellDepth, MAX_TELL_DEPTH;
244
254
  var init_config = __esm(() => {
245
255
  init_config_helpers();
246
256
  init_logger();
@@ -263,6 +273,7 @@ var init_config = __esm(() => {
263
273
  CLAUDE_EXECUTABLE = CLAUDE_EXECUTABLE_ENV ? resolve(CLAUDE_EXECUTABLE_ENV) : undefined;
264
274
  SNIPPETS_API_URL = (envText("NEGOTIUM_SNIPPETS_API_URL") ?? envText("SNIPPETS_API_URL") ?? "").replace(/\/+$/, "");
265
275
  BROWSER_RS_BIN = resolveBrowserRsBin(envText("NEGOTIUM_BROWSER_RS_BIN"));
276
+ BASH_RS_BIN = resolveBashRsBin(envText("NEGOTIUM_BASH_RS_BIN"));
266
277
  PLAYWRIGHT_MCP_BIN = resolveBrowserMcpBin(envText("NEGOTIUM_BROWSER_MCP_BIN"));
267
278
  TSX_BIN = resolveDependencyBin("tsx");
268
279
  TSX_LOADER = createRequire(import.meta.url).resolve("tsx");
@@ -299,6 +310,7 @@ var init_config = __esm(() => {
299
310
  DM_RESP_DIR = resolve(RUN_DIR, "dm-responses");
300
311
  SESSION_INBOX_DIR = resolve(RUN_DIR, "session-inbox");
301
312
  SESSION_ASKS_DIR = resolve(RUN_DIR, "session-asks");
313
+ BASHRS_SPILL_ROOT = resolve(RUN_DIR, "bashrs");
302
314
  PLAYWRIGHT_BASE_PORT = parsePortEnv(process.env.PLAYWRIGHT_BASE_PORT, 9100);
303
315
  PLAYWRIGHT_MAX_PORT = parsePortEnv(process.env.PLAYWRIGHT_MAX_PORT, 9499);
304
316
  PLAYWRIGHT_PORTS_DIR = resolve(RUN_DIR, "playwright-ports");
@@ -941,7 +953,7 @@ var init_claude_registry = __esm(() => {
941
953
  });
942
954
 
943
955
  // ../../packages/core/src/version.ts
944
- var NEGOTIUM_VERSION = "0.2.12";
956
+ var NEGOTIUM_VERSION = "0.2.13";
945
957
 
946
958
  // ../../packages/core/src/agents/codex-native-multi-agent.ts
947
959
  import { spawn as spawn2 } from "child_process";
@@ -1415,7 +1427,16 @@ function createBackgroundBashManager(options = {}) {
1415
1427
  const response = await fetchImpl(`http://127.0.0.1:${port}/health`, {
1416
1428
  signal: AbortSignal.timeout(2000)
1417
1429
  });
1418
- return response.ok && await response.text() === runtimeServerId;
1430
+ if (!response.ok)
1431
+ return false;
1432
+ const body = await response.text();
1433
+ try {
1434
+ const parsed = JSON.parse(body);
1435
+ if (parsed && typeof parsed === "object" && "instance_id" in parsed) {
1436
+ return parsed.instance_id === runtimeServerId;
1437
+ }
1438
+ } catch {}
1439
+ return body === runtimeServerId;
1419
1440
  } catch {
1420
1441
  return false;
1421
1442
  }
@@ -1434,13 +1455,17 @@ function createBackgroundBashManager(options = {}) {
1434
1455
  }
1435
1456
  async function spawnServer(key, reservedPort, excludedPorts = new Set) {
1436
1457
  const port = reservedPort ?? await allocatePort(excludedPorts);
1437
- const process2 = spawnImpl("bun", ["run", serverFile, `--port=${port}`], {
1458
+ const [command, args] = BASH_RS_BIN ? [BASH_RS_BIN, [String(port)]] : ["bun", ["run", serverFile, `--port=${port}`]];
1459
+ const process2 = spawnImpl(command, args, {
1438
1460
  stdio: "ignore",
1439
1461
  detached: false,
1440
1462
  env: {
1441
1463
  ...options.env ?? globalThis.process.env,
1442
1464
  NEGOTIUM_BG_BASH_CAPABILITY: runtimeCapability,
1443
- NEGOTIUM_BG_BASH_SERVER_ID: runtimeServerId
1465
+ NEGOTIUM_BG_BASH_SERVER_ID: runtimeServerId,
1466
+ BASHRS_HTTP_CAPABILITY: runtimeCapability,
1467
+ BASHRS_INSTANCE_ID: runtimeServerId,
1468
+ BASHRS_SPILL_ROOT
1444
1469
  }
1445
1470
  });
1446
1471
  process2.once("error", (error) => {
@@ -19670,4 +19695,4 @@ export {
19670
19695
  createAgentHealthMcpServer
19671
19696
  };
19672
19697
 
19673
- //# debugId=68AEE1F03C0C172264756E2164756E21
19698
+ //# debugId=5DDC8694573427EB64756E2164756E21