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.
@@ -254,6 +254,16 @@ function resolveBrowserRsBin(envValue) {
254
254
  return;
255
255
  }
256
256
  }
257
+ function resolveBashRsBin(envValue) {
258
+ const override = envValue?.trim();
259
+ const candidate = override ? resolve2(override) : resolve2(BINARIES_DIR, "bash-rs", BASH_RS_VERSION, "bash-rs");
260
+ try {
261
+ accessSync(candidate, constants.X_OK);
262
+ return candidate;
263
+ } catch {
264
+ return;
265
+ }
266
+ }
257
267
  function resolveBrowserMcpBin(envValue) {
258
268
  const override = envValue?.trim();
259
269
  if (override)
@@ -331,7 +341,7 @@ function resolveDefaultModel(agent, registryDefaultModel) {
331
341
  function codexAuthFilePath() {
332
342
  return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
333
343
  }
334
- 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;
344
+ 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;
335
345
  var init_config = __esm(() => {
336
346
  init_config_helpers();
337
347
  init_logger();
@@ -354,6 +364,7 @@ var init_config = __esm(() => {
354
364
  CLAUDE_EXECUTABLE = CLAUDE_EXECUTABLE_ENV ? resolve2(CLAUDE_EXECUTABLE_ENV) : undefined;
355
365
  SNIPPETS_API_URL = (envText("NEGOTIUM_SNIPPETS_API_URL") ?? envText("SNIPPETS_API_URL") ?? "").replace(/\/+$/, "");
356
366
  BROWSER_RS_BIN = resolveBrowserRsBin(envText("NEGOTIUM_BROWSER_RS_BIN"));
367
+ BASH_RS_BIN = resolveBashRsBin(envText("NEGOTIUM_BASH_RS_BIN"));
357
368
  PLAYWRIGHT_MCP_BIN = resolveBrowserMcpBin(envText("NEGOTIUM_BROWSER_MCP_BIN"));
358
369
  TSX_BIN = resolveDependencyBin("tsx");
359
370
  TSX_LOADER = createRequire(import.meta.url).resolve("tsx");
@@ -390,6 +401,7 @@ var init_config = __esm(() => {
390
401
  DM_RESP_DIR = resolve2(RUN_DIR, "dm-responses");
391
402
  SESSION_INBOX_DIR = resolve2(RUN_DIR, "session-inbox");
392
403
  SESSION_ASKS_DIR = resolve2(RUN_DIR, "session-asks");
404
+ BASHRS_SPILL_ROOT = resolve2(RUN_DIR, "bashrs");
393
405
  PLAYWRIGHT_BASE_PORT = parsePortEnv(process.env.PLAYWRIGHT_BASE_PORT, 9100);
394
406
  PLAYWRIGHT_MAX_PORT = parsePortEnv(process.env.PLAYWRIGHT_MAX_PORT, 9499);
395
407
  PLAYWRIGHT_PORTS_DIR = resolve2(RUN_DIR, "playwright-ports");
@@ -597,7 +609,16 @@ function createBackgroundBashManager(options = {}) {
597
609
  const response = await fetchImpl(`http://127.0.0.1:${port}/health`, {
598
610
  signal: AbortSignal.timeout(2000)
599
611
  });
600
- return response.ok && await response.text() === runtimeServerId;
612
+ if (!response.ok)
613
+ return false;
614
+ const body = await response.text();
615
+ try {
616
+ const parsed = JSON.parse(body);
617
+ if (parsed && typeof parsed === "object" && "instance_id" in parsed) {
618
+ return parsed.instance_id === runtimeServerId;
619
+ }
620
+ } catch {}
621
+ return body === runtimeServerId;
601
622
  } catch {
602
623
  return false;
603
624
  }
@@ -616,13 +637,17 @@ function createBackgroundBashManager(options = {}) {
616
637
  }
617
638
  async function spawnServer(key, reservedPort, excludedPorts = new Set) {
618
639
  const port = reservedPort ?? await allocatePort(excludedPorts);
619
- const process2 = spawnImpl("bun", ["run", serverFile, `--port=${port}`], {
640
+ const [command, args] = BASH_RS_BIN ? [BASH_RS_BIN, [String(port)]] : ["bun", ["run", serverFile, `--port=${port}`]];
641
+ const process2 = spawnImpl(command, args, {
620
642
  stdio: "ignore",
621
643
  detached: false,
622
644
  env: {
623
645
  ...options.env ?? globalThis.process.env,
624
646
  NEGOTIUM_BG_BASH_CAPABILITY: runtimeCapability,
625
- NEGOTIUM_BG_BASH_SERVER_ID: runtimeServerId
647
+ NEGOTIUM_BG_BASH_SERVER_ID: runtimeServerId,
648
+ BASHRS_HTTP_CAPABILITY: runtimeCapability,
649
+ BASHRS_INSTANCE_ID: runtimeServerId,
650
+ BASHRS_SPILL_ROOT
626
651
  }
627
652
  });
628
653
  process2.once("error", (error) => {
@@ -2148,7 +2173,7 @@ var init_claude_registry = __esm(() => {
2148
2173
  });
2149
2174
 
2150
2175
  // ../../packages/core/src/version.ts
2151
- var NEGOTIUM_VERSION = "0.2.12";
2176
+ var NEGOTIUM_VERSION = "0.2.13";
2152
2177
 
2153
2178
  // ../../packages/core/src/agents/codex-native-multi-agent.ts
2154
2179
  import { spawn as spawn2 } from "child_process";
@@ -18553,4 +18578,4 @@ export {
18553
18578
  DEFAULT_SELF_CONFIG_PRODUCT
18554
18579
  };
18555
18580
 
18556
- //# debugId=A750A8503E5A9A9064756E2164756E21
18581
+ //# debugId=A8E944CDAD243E8C64756E2164756E21