negotium 0.14.0 → 0.14.1

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 (42) hide show
  1. package/dist/agent-helpers.js +27 -4
  2. package/dist/agent-helpers.js.map +7 -7
  3. package/dist/background-bash.js +2 -2
  4. package/dist/background-bash.js.map +2 -2
  5. package/dist/browser-runtime.js +27 -4
  6. package/dist/browser-runtime.js.map +6 -6
  7. package/dist/{chunk-rhzs133d.js → chunk-5m3kd08d.js} +3 -3
  8. package/dist/{chunk-rhzs133d.js.map → chunk-5m3kd08d.js.map} +2 -2
  9. package/dist/{chunk-fhz6y2tn.js → chunk-m6aw1tb3.js} +1 -1
  10. package/dist/{chunk-8qx32snm.js → chunk-z1nb140t.js} +2 -2
  11. package/dist/{chunk-8qx32snm.js.map → chunk-z1nb140t.js.map} +4 -4
  12. package/dist/hosted-agent.js +3 -3
  13. package/dist/hosted-agent.js.map +5 -5
  14. package/dist/main.js +73 -5
  15. package/dist/main.js.map +7 -7
  16. package/dist/mcp-factories.js +27 -4
  17. package/dist/mcp-factories.js.map +7 -7
  18. package/dist/media.js +2 -2
  19. package/dist/media.js.map +2 -2
  20. package/dist/prompts.js +2 -2
  21. package/dist/prompts.js.map +2 -2
  22. package/dist/query-runtime.js +2 -2
  23. package/dist/query-runtime.js.map +2 -2
  24. package/dist/registry.js +3 -3
  25. package/dist/rollout.js +2 -2
  26. package/dist/runtime/src/platform/config.ts +1 -1
  27. package/dist/runtime/src/platform/playwright/manager-utils.ts +20 -0
  28. package/dist/runtime/src/platform/playwright/manager.ts +33 -2
  29. package/dist/runtime/src/storage/vault.ts +63 -2
  30. package/dist/runtime/src/version.ts +1 -1
  31. package/dist/runtime-helpers.js +2 -2
  32. package/dist/runtime-helpers.js.map +2 -2
  33. package/dist/types/packages/core/src/platform/config.d.ts +1 -1
  34. package/dist/types/packages/core/src/platform/playwright/manager-utils.d.ts +13 -0
  35. package/dist/types/packages/core/src/platform/playwright/manager.d.ts +1 -1
  36. package/dist/types/packages/core/src/storage/vault.d.ts +2 -0
  37. package/dist/types/packages/core/src/version.d.ts +1 -1
  38. package/dist/vault.js +48 -3
  39. package/dist/vault.js.map +4 -4
  40. package/install-browser-rs.mjs +3 -3
  41. package/package.json +1 -1
  42. /package/dist/{chunk-fhz6y2tn.js.map → chunk-m6aw1tb3.js.map} +0 -0
@@ -343,7 +343,7 @@ function resolveWhisperBackend() {
343
343
  function codexAuthFilePath() {
344
344
  return process.env.NEGOTIUM_CODEX_AUTH_FILE || join(process.env.CODEX_HOME || join(homedir(), ".codex"), "auth.json");
345
345
  }
346
- var HOME, PROJECT_ROOT, 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.3.1", BROWSER_RS_MIN_SECURE_VERSION = "0.2.1", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.7", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, DECISION_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, NODE_ID, 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-1", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, DEFAULT_TOPIC_EFFORT, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, WHISPER_BACKEND, MLX_WHISPER_BIN, WHISPER_MODEL_MLX, _envMaxTellDepth, MAX_TELL_DEPTH;
346
+ var HOME, PROJECT_ROOT, 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.3.2", BROWSER_RS_MIN_SECURE_VERSION = "0.2.1", BROWSER_RS_VERSION_PROBE_TIMEOUT_MS = 15000, SNIPPETS_API_URL, BROWSER_RS_BIN, BASH_RS_VERSION = "v0.1.7", BASH_RS_BIN, PLAYWRIGHT_MCP_BIN, TSX_BIN, TSX_LOADER, TSCONFIG_PATH, SESSION_COMM_SERVER, TASK_SERVER, DECISION_SERVER, CANONICAL_MCP_PROXY_SERVER, WIKI_SERVER, TOKEN_STATS_SERVER, COMPACTION_LOG_SERVER, SYSTEM_HEALTH_SERVER, AGENT_HEALTH_SERVER, VAULT_SERVER, BG_BASH_BASE_PORT, BG_BASH_MAX_PORT, RUNTIME_MCP_SECRET, NODE_CONTROL_TOKEN, NODE_ID, 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-1", FALLBACK_AGENT, SESSION_AGENT, GATEWAY_AGENT, FALLBACK_MODEL, SESSION_MODEL, GATEWAY_MODEL, DEFAULT_TOPIC_EFFORT, FFMPEG_BIN, FFPROBE_BIN, PYTHON_BIN, FASTER_WHISPER_WRAPPER, WHISPER_MODEL, TESSERACT_BIN, PDFTOTEXT_BIN, WHISPER_BACKEND, MLX_WHISPER_BIN, WHISPER_MODEL_MLX, _envMaxTellDepth, MAX_TELL_DEPTH;
347
347
  var init_config = __esm(() => {
348
348
  init_config_helpers();
349
349
  init_logger();
@@ -3072,7 +3072,7 @@ var init_codex = __esm(async () => {
3072
3072
  });
3073
3073
 
3074
3074
  // ../../packages/core/src/version.ts
3075
- var NEGOTIUM_VERSION = "0.14.0";
3075
+ var NEGOTIUM_VERSION = "0.14.1";
3076
3076
 
3077
3077
  // ../../packages/core/src/agents/codex-native-multi-agent.ts
3078
3078
  import { spawn as spawn2 } from "child_process";
@@ -10940,6 +10940,15 @@ function matchesSpawnedBrowserHealth(health, expectedSpawnNonce) {
10940
10940
  const candidate = health;
10941
10941
  return candidate.ok === true && candidate.name === "negotium-browser-gateway" && candidate.spawnNonce === expectedSpawnNonce;
10942
10942
  }
10943
+ function browserCdpIsLost(health) {
10944
+ if (!health || typeof health !== "object")
10945
+ return false;
10946
+ const browser = health.browser;
10947
+ if (!browser || typeof browser !== "object")
10948
+ return false;
10949
+ const candidate = browser;
10950
+ return candidate.launched === true && candidate.connected === false;
10951
+ }
10943
10952
  function selectIdleEvictionKey(candidates, pinnedKeys, busyKeys, now, maxIdleMs) {
10944
10953
  const pinned = new Set(pinnedKeys);
10945
10954
  const busy = new Set(busyKeys);
@@ -12017,7 +12026,7 @@ async function ensurePlaywright(userId, topic) {
12017
12026
  const existing = instances.get(instanceKey);
12018
12027
  assertInstanceOwner(instanceKey, ownerId);
12019
12028
  if (existing && !existing.process.killed && existing.process.exitCode === null) {
12020
- if (await probePlaywrightMcpTransports(existing.port, existing.capability)) {
12029
+ if (await probePlaywrightMcpTransports(existing.port, existing.capability) && !await browserTransportLost(existing.port)) {
12021
12030
  existing.lastUsedAt = Date.now();
12022
12031
  return existing.port;
12023
12032
  }
@@ -12073,6 +12082,20 @@ async function closeBrowserOwnerTabs(ownerId, rawProfile, owner) {
12073
12082
  const result = await response.json();
12074
12083
  return typeof result.closed === "number" ? result.closed : 0;
12075
12084
  }
12085
+ async function browserTransportLost(port) {
12086
+ try {
12087
+ const response = await fetch(`http://127.0.0.1:${port}/health`, {
12088
+ signal: AbortSignal.timeout(1000)
12089
+ });
12090
+ if (!response.ok) {
12091
+ await response.body?.cancel();
12092
+ return false;
12093
+ }
12094
+ return browserCdpIsLost(await response.json());
12095
+ } catch {
12096
+ return false;
12097
+ }
12098
+ }
12076
12099
  async function waitForServer(port, expectedSpawnNonce, timeoutMs) {
12077
12100
  const start = Date.now();
12078
12101
  while (Date.now() - start < timeoutMs) {
@@ -20515,4 +20538,4 @@ export {
20515
20538
  DEFAULT_SELF_CONFIG_PRODUCT
20516
20539
  };
20517
20540
 
20518
- //# debugId=B45278EF209D769B64756E2164756E21
20541
+ //# debugId=1CB223B725013DCF64756E2164756E21