@sailorbridge/client 0.2.1 → 0.2.2

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.
package/dist/src/cli.js CHANGED
@@ -2,10 +2,10 @@
2
2
  import { createRequire } from "node:module";
3
3
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
4
4
 
5
- // .dist-releases/1784860966076-1188772/src/cli.js
5
+ // .dist-releases/1784862378006-1249051/src/cli.js
6
6
  import { hostname as hostname3 } from "node:os";
7
7
  import { writeSync } from "node:fs";
8
- // .dist-releases/1784860966076-1188772/src/auth/host-pairing.js
8
+ // .dist-releases/1784862378006-1249051/src/auth/host-pairing.js
9
9
  import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
10
10
  import { homedir, hostname, platform } from "node:os";
11
11
  import path from "node:path";
@@ -220,7 +220,7 @@ function _assertObject(value) {
220
220
  throw new Error("host pairing response must be an object");
221
221
  return value;
222
222
  }
223
- // .dist-releases/1784860966076-1188772/src/host/repo-tip-reporter.js
223
+ // .dist-releases/1784862378006-1249051/src/host/repo-tip-reporter.js
224
224
  import { createHash } from "node:crypto";
225
225
  import { existsSync, mkdirSync } from "node:fs";
226
226
  import { homedir as homedir2 } from "node:os";
@@ -402,10 +402,10 @@ ${error.message}`));
402
402
  proc.on("close", (code) => finish(code ?? 1));
403
403
  });
404
404
  }
405
- // .dist-releases/1784860966076-1188772/src/host/request-consumer.js
405
+ // .dist-releases/1784862378006-1249051/src/host/request-consumer.js
406
406
  import { hostname as hostname2 } from "node:os";
407
407
 
408
- // .dist-releases/1784860966076-1188772/src/driver/secrets.js
408
+ // .dist-releases/1784862378006-1249051/src/driver/secrets.js
409
409
  function redactSensitiveText(text, env = {}, explicitSecrets = []) {
410
410
  let redacted = text;
411
411
  for (const [key, value] of Object.entries(env)) {
@@ -424,16 +424,16 @@ function isSensitiveEnvKey(key) {
424
424
  return /(TOKEN|KEY|SECRET|AUTHORIZATION|PASSWORD)/i.test(key);
425
425
  }
426
426
 
427
- // .dist-releases/1784860966076-1188772/src/version.js
428
- var CLIENT_VERSION = "0.2.1";
429
- var CLIENT_GIT_SHA = "89604f060de5-dirty";
427
+ // .dist-releases/1784862378006-1249051/src/version.js
428
+ var CLIENT_VERSION = "0.2.2";
429
+ var CLIENT_GIT_SHA = "f943ffe8e731-dirty";
430
430
  var CLIENT_BUILD_DIRTY = true;
431
431
  var CLIENT_VERSION_LABEL = formatClientVersion(CLIENT_VERSION, CLIENT_GIT_SHA);
432
432
  function formatClientVersion(version, gitSha) {
433
433
  return `${version}+git.${gitSha}`;
434
434
  }
435
435
 
436
- // .dist-releases/1784860966076-1188772/src/host/request-consumer.js
436
+ // .dist-releases/1784862378006-1249051/src/host/request-consumer.js
437
437
  var MAX_ERROR_LENGTH = 500;
438
438
  function defaultHostIdentity(config) {
439
439
  const captainId = config.captainId?.trim();
@@ -488,7 +488,7 @@ function limitErrorMessage(error, explicitSecrets) {
488
488
  const trimmed = redactSensitiveText(message, process.env, explicitSecrets).trim() || "host request starter failed";
489
489
  return trimmed.length <= MAX_ERROR_LENGTH ? trimmed : `${trimmed.slice(0, MAX_ERROR_LENGTH - 3)}...`;
490
490
  }
491
- // .dist-releases/1784860966076-1188772/src/product/start-request.js
491
+ // .dist-releases/1784862378006-1249051/src/product/start-request.js
492
492
  async function createAgentStartRequest(options) {
493
493
  const apiUrl = _required(options.apiUrl, "product API URL").replace(/\/+$/u, "");
494
494
  const accessToken = _required(options.accessToken, "product API bearer token");
@@ -548,7 +548,7 @@ function _string(value, label) {
548
548
  throw new Error(`${label} must be a non-empty string`);
549
549
  return value;
550
550
  }
551
- // .dist-releases/1784860966076-1188772/src/product/pair.js
551
+ // .dist-releases/1784862378006-1249051/src/product/pair.js
552
552
  async function createPair(options) {
553
553
  const apiUrl = _required2(options.apiUrl, "product API URL").replace(/\/+$/u, "");
554
554
  const accessToken = _required2(options.accessToken, "product API bearer token");
@@ -625,7 +625,7 @@ function _string2(value, label) {
625
625
  throw new Error(`${label} must be a non-empty string`);
626
626
  return value;
627
627
  }
628
- // .dist-releases/1784860966076-1188772/src/product/worker.js
628
+ // .dist-releases/1784862378006-1249051/src/product/worker.js
629
629
  async function createWorker(options) {
630
630
  const apiUrl = _required3(options.apiUrl, "product API URL").replace(/\/+$/u, "");
631
631
  const accessToken = _required3(options.accessToken, "product API bearer token");
@@ -689,7 +689,7 @@ function _string3(value, label) {
689
689
  throw new Error(`${label} must be a non-empty string`);
690
690
  return value;
691
691
  }
692
- // .dist-releases/1784860966076-1188772/src/driver/events.js
692
+ // .dist-releases/1784862378006-1249051/src/driver/events.js
693
693
  class DriverEventEmitter {
694
694
  callbacks = new Map;
695
695
  on(type, callback) {
@@ -704,7 +704,7 @@ class DriverEventEmitter {
704
704
  }
705
705
  }
706
706
  }
707
- // .dist-releases/1784860966076-1188772/src/driver/async-queue.js
707
+ // .dist-releases/1784862378006-1249051/src/driver/async-queue.js
708
708
  class AsyncQueue {
709
709
  values = [];
710
710
  waiters = [];
@@ -743,7 +743,7 @@ class AsyncQueue {
743
743
  }
744
744
  }
745
745
 
746
- // .dist-releases/1784860966076-1188772/src/driver/types.js
746
+ // .dist-releases/1784862378006-1249051/src/driver/types.js
747
747
  class DriverUnsupportedError extends Error {
748
748
  constructor(message) {
749
749
  super(message);
@@ -758,7 +758,7 @@ class DriverTargetNotReadyError extends Error {
758
758
  }
759
759
  }
760
760
 
761
- // .dist-releases/1784860966076-1188772/src/driver/sdk-loader.js
761
+ // .dist-releases/1784862378006-1249051/src/driver/sdk-loader.js
762
762
  async function loadSdk(loader, packageName, env = {}, installHint = `Install the optional SDK dependency ${packageName} and its peers for this transport.`) {
763
763
  try {
764
764
  return await loader();
@@ -768,7 +768,7 @@ async function loadSdk(loader, packageName, env = {}, installHint = `Install the
768
768
  }
769
769
  }
770
770
 
771
- // .dist-releases/1784860966076-1188772/src/driver/claude/driver.js
771
+ // .dist-releases/1784862378006-1249051/src/driver/claude/driver.js
772
772
  class ClaudeAgentSdkDriver {
773
773
  options;
774
774
  capabilities = { structured: true, resume: true, attach: false };
@@ -944,7 +944,7 @@ function asRecord(value) {
944
944
  function stringValue(value) {
945
945
  return typeof value === "string" ? value : undefined;
946
946
  }
947
- // .dist-releases/1784860966076-1188772/src/driver/codex/driver.js
947
+ // .dist-releases/1784862378006-1249051/src/driver/codex/driver.js
948
948
  class CodexSdkDriver {
949
949
  options;
950
950
  capabilities = { structured: true, resume: true, attach: false };
@@ -1125,7 +1125,7 @@ function asRecord2(value) {
1125
1125
  function stringValue2(value) {
1126
1126
  return typeof value === "string" ? value : undefined;
1127
1127
  }
1128
- // .dist-releases/1784860966076-1188772/src/driver/liveness-heuristics.js
1128
+ // .dist-releases/1784862378006-1249051/src/driver/liveness-heuristics.js
1129
1129
  var BUSY_MARKERS = ["Working (", "Waiting for background", "Pasted Content", "tab to queue"];
1130
1130
  var ANSI_PATTERN = /\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\)|[PX^_][\s\S]*?\x1B\\)/g;
1131
1131
  function stripAnsi(text) {
@@ -1152,7 +1152,7 @@ function classifyInteractiveOutput(input) {
1152
1152
  function isOutputStable(now, lastOutputAt, idleStableMs) {
1153
1153
  return Boolean(lastOutputAt && now.getTime() - lastOutputAt.getTime() >= idleStableMs);
1154
1154
  }
1155
- // .dist-releases/1784860966076-1188772/src/driver/pty/loader.js
1155
+ // .dist-releases/1784862378006-1249051/src/driver/pty/loader.js
1156
1156
  async function loadNodePty(loader = defaultNodePtyLoader) {
1157
1157
  try {
1158
1158
  return await loader();
@@ -1178,7 +1178,7 @@ async function defaultNodePtyLoader() {
1178
1178
  return loaded;
1179
1179
  }
1180
1180
 
1181
- // .dist-releases/1784860966076-1188772/src/driver/pty/driver.js
1181
+ // .dist-releases/1784862378006-1249051/src/driver/pty/driver.js
1182
1182
  class PtyDriver {
1183
1183
  options;
1184
1184
  capabilities = { structured: false, resume: false, attach: false };
@@ -1330,12 +1330,12 @@ function tail(text, lines) {
1330
1330
  function sleep(ms) {
1331
1331
  return new Promise((resolve) => setTimeout(resolve, ms));
1332
1332
  }
1333
- // .dist-releases/1784860966076-1188772/src/driver/tmux/driver.js
1333
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/driver.js
1334
1334
  import { mkdtemp, rm, writeFile as writeFile2 } from "node:fs/promises";
1335
1335
  import { tmpdir } from "node:os";
1336
1336
  import { join } from "node:path";
1337
1337
 
1338
- // .dist-releases/1784860966076-1188772/src/driver/tmux/launch.js
1338
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/launch.js
1339
1339
  var ENV_KEY_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
1340
1340
  var PANE_BOOTSTRAP_COMMAND = 'tmux set-option -t "$TMUX_PANE" remain-on-exit on >/dev/null 2>&1 || true; tmux wait-for -S "$1"; shift; exec "$@"';
1341
1341
  function buildTmuxNewSessionArgs(input) {
@@ -1358,7 +1358,7 @@ function validateEnv(env) {
1358
1358
  }
1359
1359
  }
1360
1360
 
1361
- // .dist-releases/1784860966076-1188772/src/driver/tmux/paste.js
1361
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/paste.js
1362
1362
  function buildDispatchPlan(text, useTyping) {
1363
1363
  return {
1364
1364
  mode: useTyping ? "type-literal" : "paste-buffer",
@@ -1382,7 +1382,7 @@ function arraysEqual(left, right) {
1382
1382
  return left.length === right.length && left.every((item, index) => item === right[index]);
1383
1383
  }
1384
1384
 
1385
- // .dist-releases/1784860966076-1188772/src/driver/tmux/liveness.js
1385
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/liveness.js
1386
1386
  var SHELL_COMMANDS = new Set(["", "bash", "zsh", "sh", "fish", "pwsh", "powershell"]);
1387
1387
  function classifyTmuxLiveness(input) {
1388
1388
  if (!input.hasSession) {
@@ -1402,7 +1402,7 @@ function isTmuxProcessAlive(command, runningCommands) {
1402
1402
  return !SHELL_COMMANDS.has(command);
1403
1403
  }
1404
1404
 
1405
- // .dist-releases/1784860966076-1188772/src/driver/tmux/runner.js
1405
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/runner.js
1406
1406
  import { spawn as spawn2 } from "node:child_process";
1407
1407
  var DEFAULT_TIMEOUT_MS = 15000;
1408
1408
 
@@ -1527,7 +1527,7 @@ class TmuxClient {
1527
1527
  }
1528
1528
  }
1529
1529
 
1530
- // .dist-releases/1784860966076-1188772/src/driver/tmux/driver.js
1530
+ // .dist-releases/1784862378006-1249051/src/driver/tmux/driver.js
1531
1531
  var ATTACHED_STOP_GRACE_MS = 1e4;
1532
1532
  var DEFAULT_STOP_TIMEOUT_MS = 15000;
1533
1533
  var DEFAULT_READY_TIMEOUT_MS = 90000;
@@ -1922,12 +1922,12 @@ function isMissingTmuxSessionError(error) {
1922
1922
  ${error.result.stderr}`.toLowerCase();
1923
1923
  return text.includes("can't find session") || text.includes("cannot find session") || text.includes("no such session") || text.includes("session not found");
1924
1924
  }
1925
- // .dist-releases/1784860966076-1188772/src/relay/client.js
1925
+ // .dist-releases/1784862378006-1249051/src/relay/client.js
1926
1926
  import { Buffer as Buffer2 } from "node:buffer";
1927
1927
  import http from "node:http";
1928
1928
  import https from "node:https";
1929
1929
 
1930
- // .dist-releases/1784860966076-1188772/src/relay/errors.js
1930
+ // .dist-releases/1784862378006-1249051/src/relay/errors.js
1931
1931
  class RelayError extends Error {
1932
1932
  method;
1933
1933
  path;
@@ -1964,7 +1964,7 @@ class RelayProtocolError extends RelayError {
1964
1964
  }
1965
1965
  }
1966
1966
 
1967
- // .dist-releases/1784860966076-1188772/src/worker/protocol.js
1967
+ // .dist-releases/1784862378006-1249051/src/worker/protocol.js
1968
1968
  var DEFAULT_RELAY_URL = DEFAULT_PRODUCT_API_URL;
1969
1969
  var DEFAULT_WORKER = "host";
1970
1970
  var DEFAULT_WORKDIR = "~/sailorbridge-workdir";
@@ -1994,7 +1994,7 @@ function effectiveJobKind(kind, spec) {
1994
1994
  return kind === "stream" || spec.stream === true ? "stream" : kind;
1995
1995
  }
1996
1996
 
1997
- // .dist-releases/1784860966076-1188772/src/relay/client.js
1997
+ // .dist-releases/1784862378006-1249051/src/relay/client.js
1998
1998
  var JSON_CONTENT_TYPE = "application/json";
1999
1999
  var MAX_MAILBOX_LIMIT = 16;
2000
2000
  var MAX_WAIT_TIMEOUT_SEC = 120;
@@ -4047,7 +4047,7 @@ function redact(value, token) {
4047
4047
  function bytesToBase64(bytes) {
4048
4048
  return Buffer2.from(bytes).toString("base64");
4049
4049
  }
4050
- // .dist-releases/1784860966076-1188772/src/relay/config.js
4050
+ // .dist-releases/1784862378006-1249051/src/relay/config.js
4051
4051
  import { existsSync as existsSync2, readFileSync } from "node:fs";
4052
4052
  import { homedir as homedir3 } from "node:os";
4053
4053
  import path3 from "node:path";
@@ -4122,7 +4122,7 @@ function storedCaptainId(value) {
4122
4122
  }
4123
4123
  return;
4124
4124
  }
4125
- // .dist-releases/1784860966076-1188772/src/supervisor/retirement.js
4125
+ // .dist-releases/1784862378006-1249051/src/supervisor/retirement.js
4126
4126
  var DEFAULT_THRESHOLD = 3;
4127
4127
  var DEFAULT_WINDOW_MS = 30000;
4128
4128
  var DEFAULT_COOLDOWN_MS = 1000;
@@ -4197,7 +4197,7 @@ function isAuthoritativeRetirementReason(reason) {
4197
4197
  return reason === "monitor_fetch" || reason === "agent_session_patch";
4198
4198
  }
4199
4199
 
4200
- // .dist-releases/1784860966076-1188772/src/supervisor/wait.js
4200
+ // .dist-releases/1784862378006-1249051/src/supervisor/wait.js
4201
4201
  async function waitForWakeableTimeout(ms, setWake, sleep3) {
4202
4202
  if (sleep3) {
4203
4203
  await Promise.race([
@@ -4228,7 +4228,7 @@ async function waitForWakeableTimeout(ms, setWake, sleep3) {
4228
4228
  setWake(null);
4229
4229
  }
4230
4230
 
4231
- // .dist-releases/1784860966076-1188772/src/supervisor/mailbox.js
4231
+ // .dist-releases/1784862378006-1249051/src/supervisor/mailbox.js
4232
4232
  var CLEAR_TAG = "CLEAR";
4233
4233
  var REFRESH_TAG = "WORKFLOW-REFRESH";
4234
4234
  var SYNC_TAG = "SYNC";
@@ -4764,19 +4764,19 @@ function ordinaryDeliveryAttempt(error) {
4764
4764
  function _isMissingModerator(error) {
4765
4765
  return error instanceof RelayHttpError && error.status === 400 && error.body.includes("no agents match");
4766
4766
  }
4767
- // .dist-releases/1784860966076-1188772/src/supervisor/runtime.js
4767
+ // .dist-releases/1784862378006-1249051/src/supervisor/runtime.js
4768
4768
  import path9 from "node:path";
4769
4769
  import { execFile } from "node:child_process";
4770
4770
  import { promisify } from "node:util";
4771
4771
 
4772
- // .dist-releases/1784860966076-1188772/src/host/managed-materialization.js
4772
+ // .dist-releases/1784862378006-1249051/src/host/managed-materialization.js
4773
4773
  import { createHash as createHash2, randomBytes } from "node:crypto";
4774
4774
  import { constants as fsConstants } from "node:fs";
4775
4775
  import { lstat, mkdir as mkdir3, open, readdir, rename, rm as rm2 } from "node:fs/promises";
4776
4776
  import { homedir as homedir5 } from "node:os";
4777
4777
  import path5 from "node:path";
4778
4778
 
4779
- // .dist-releases/1784860966076-1188772/src/host/memory-stub.js
4779
+ // .dist-releases/1784862378006-1249051/src/host/memory-stub.js
4780
4780
  import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile3 } from "node:fs/promises";
4781
4781
  import { homedir as homedir4 } from "node:os";
4782
4782
  import path4 from "node:path";
@@ -4923,7 +4923,7 @@ function _safePathLabel(value, field) {
4923
4923
  return trimmed;
4924
4924
  }
4925
4925
 
4926
- // .dist-releases/1784860966076-1188772/src/host/managed-materialization.js
4926
+ // .dist-releases/1784862378006-1249051/src/host/managed-materialization.js
4927
4927
  var MANIFEST_FILE = ".sailorbridge-managed-manifest.json";
4928
4928
  var BANNER_PREFIX = "# SailorBridge managed file";
4929
4929
  var HASH_RE = /^sha256:[a-f0-9]{64}$/u;
@@ -5449,7 +5449,7 @@ function _expandHome2(value) {
5449
5449
  return value;
5450
5450
  }
5451
5451
 
5452
- // .dist-releases/1784860966076-1188772/src/host/credential-guardian.js
5452
+ // .dist-releases/1784862378006-1249051/src/host/credential-guardian.js
5453
5453
  import { lstat as lstat2, readFile as readFile3, rename as rename2, symlink, unlink, writeFile as writeFile4 } from "node:fs/promises";
5454
5454
  import path6 from "node:path";
5455
5455
  var DEFAULT_CREDENTIAL_SWEEP_INTERVAL_MS = 60000;
@@ -5595,7 +5595,7 @@ function _tmpSibling(filePath) {
5595
5595
  return path6.join(path6.dirname(filePath), `.${path6.basename(filePath)}.sb-guardian.${process.pid}.${tmpSequence}.tmp`);
5596
5596
  }
5597
5597
 
5598
- // .dist-releases/1784860966076-1188772/src/supervisor/resolve.js
5598
+ // .dist-releases/1784862378006-1249051/src/supervisor/resolve.js
5599
5599
  var DEFAULT_CAPTURE_LINES = 200;
5600
5600
  var MAX_CAPTURE_LINES = 1000;
5601
5601
 
@@ -5801,7 +5801,7 @@ function defaultSleep(ms) {
5801
5801
  return new Promise((resolve) => setTimeout(resolve, ms));
5802
5802
  }
5803
5803
 
5804
- // .dist-releases/1784860966076-1188772/src/supervisor/transcript-backfill.js
5804
+ // .dist-releases/1784862378006-1249051/src/supervisor/transcript-backfill.js
5805
5805
  import { createHash as createHash3 } from "node:crypto";
5806
5806
  import {
5807
5807
  closeSync,
@@ -6458,7 +6458,7 @@ function errorMessage4(error) {
6458
6458
  return error instanceof Error ? error.message : String(error);
6459
6459
  }
6460
6460
 
6461
- // .dist-releases/1784860966076-1188772/src/supervisor/usage-collector.js
6461
+ // .dist-releases/1784862378006-1249051/src/supervisor/usage-collector.js
6462
6462
  import { statSync as statSync2 } from "node:fs";
6463
6463
  import path8 from "node:path";
6464
6464
  var SUPPORTED_USAGE_ENGINES = new Set(["claude", "codex"]);
@@ -6867,7 +6867,7 @@ function sourceUnreadableReason(source) {
6867
6867
  }
6868
6868
  }
6869
6869
 
6870
- // .dist-releases/1784860966076-1188772/src/supervisor/runtime.js
6870
+ // .dist-releases/1784862378006-1249051/src/supervisor/runtime.js
6871
6871
  var RESOLVE_CAPTURE_LINES = 200;
6872
6872
  var SHORT_LIVED_EXIT_MS = 5000;
6873
6873
  var STARTUP_OBSERVATION_MS = 1e4;
@@ -7537,7 +7537,7 @@ function errorMessage5(error) {
7537
7537
  function formatRestartCommand(command) {
7538
7538
  return command.map((part) => /^[A-Za-z0-9_./:=@%+-]+$/.test(part) ? part : `'${part.replaceAll("'", "'\\''")}'`).join(" ");
7539
7539
  }
7540
- // .dist-releases/1784860966076-1188772/src/supervisor/transport.js
7540
+ // .dist-releases/1784862378006-1249051/src/supervisor/transport.js
7541
7541
  var SUPPORTED_PHASE1_CLI_KINDS = ["claude", "codex"];
7542
7542
  var PHASE1_ENGINE_GATE_MESSAGE = "Only claude and codex engines are available in this release; opencode and custom CLI engines will open in the next release.";
7543
7543
  var PHASE1_TRANSPORT_GATE_MESSAGE = "Only tmux transport is available in this release; sdk, headless, and pty transports will open in the next release.";
@@ -7745,7 +7745,7 @@ function hasCodexSafetyDriverOptions(options) {
7745
7745
  return options?.codex?.sandboxMode !== undefined || options?.codex?.approvalPolicy !== undefined || options?.codex?.yolo !== undefined;
7746
7746
  }
7747
7747
 
7748
- // .dist-releases/1784860966076-1188772/src/supervisor/cli-options.js
7748
+ // .dist-releases/1784862378006-1249051/src/supervisor/cli-options.js
7749
7749
  function parseSuperviseArgs(argv) {
7750
7750
  const split = argv.indexOf("--");
7751
7751
  const flagArgs = split >= 0 ? argv.slice(0, split) : argv;
@@ -7897,7 +7897,7 @@ function optionalBoolean(value, label) {
7897
7897
  return false;
7898
7898
  throw new Error(`${label} must be true or false`);
7899
7899
  }
7900
- // .dist-releases/1784860966076-1188772/src/supervisor/tmux-availability.js
7900
+ // .dist-releases/1784862378006-1249051/src/supervisor/tmux-availability.js
7901
7901
  import { spawn as spawn3 } from "node:child_process";
7902
7902
  import { createInterface } from "node:readline";
7903
7903
  function isTmuxAvailable(spawnFn = spawn3) {
@@ -8014,7 +8014,7 @@ function _tmuxMissingMessage(platform2) {
8014
8014
  const how = platform2 === "darwin" ? "brew install tmux" : platform2 === "linux" ? "install tmux via your package manager (e.g. sudo apt-get install -y tmux)" : "install tmux";
8015
8015
  return `tmux is required in this release but was not found. Install tmux (${how}) and re-run.`;
8016
8016
  }
8017
- // .dist-releases/1784860966076-1188772/src/output-format.js
8017
+ // .dist-releases/1784862378006-1249051/src/output-format.js
8018
8018
  function parseOutputArgs(argv) {
8019
8019
  const separator = argv.indexOf("--");
8020
8020
  const localArgv = separator < 0 ? argv : argv.slice(0, separator);
@@ -8107,7 +8107,7 @@ ${normalized.split(`
8107
8107
  `)}`;
8108
8108
  }
8109
8109
 
8110
- // .dist-releases/1784860966076-1188772/src/plain-output-fields.js
8110
+ // .dist-releases/1784862378006-1249051/src/plain-output-fields.js
8111
8111
  var PREVIEW_LIMIT = 20;
8112
8112
  var UNSAFE_DISPLAY_CODE_POINT = /[\u007f-\u009f\u2028-\u202e\u2066-\u2069]/gu;
8113
8113
  function renderTaskPlain(command, value) {
@@ -8515,7 +8515,7 @@ function _omissionLine(total) {
8515
8515
  return total > PREVIEW_LIMIT ? `Omitted ${total - PREVIEW_LIMIT}; rerun with --format json for the complete response.` : undefined;
8516
8516
  }
8517
8517
 
8518
- // .dist-releases/1784860966076-1188772/src/host/cli.js
8518
+ // .dist-releases/1784862378006-1249051/src/host/cli.js
8519
8519
  var HOST_RELAY_SUBCOMMANDS = new Set(["consume", "heartbeat", "list", "register"]);
8520
8520
  async function runHostCommandFromCli(client, argv, config, io) {
8521
8521
  const sub = argv[0] ?? "list";
@@ -8753,7 +8753,7 @@ function optionalDisplayName(value) {
8753
8753
  const trimmed = value?.trim();
8754
8754
  return trimmed || undefined;
8755
8755
  }
8756
- // .dist-releases/1784860966076-1188772/src/host/service.js
8756
+ // .dist-releases/1784862378006-1249051/src/host/service.js
8757
8757
  import { execFile as execFileCb } from "node:child_process";
8758
8758
  import { createHash as createHash4 } from "node:crypto";
8759
8759
  import { constants as fsConstants2 } from "node:fs";
@@ -9236,7 +9236,7 @@ function writeServiceLog(io, event, fields) {
9236
9236
  io.stderr.write(`${JSON.stringify({ ts: new Date().toISOString(), event, ...fields ?? {} })}
9237
9237
  `);
9238
9238
  }
9239
- // .dist-releases/1784860966076-1188772/src/host/git-remote.js
9239
+ // .dist-releases/1784862378006-1249051/src/host/git-remote.js
9240
9240
  var GIT_SECRET_PATH_MARKERS = [
9241
9241
  "token",
9242
9242
  "credential",
@@ -9328,7 +9328,7 @@ function looksLikeCredential(segment2) {
9328
9328
  return value.length >= 32 && /^[A-Za-z0-9_-]+$/u.test(value);
9329
9329
  }
9330
9330
 
9331
- // .dist-releases/1784860966076-1188772/src/host/start-spec.js
9331
+ // .dist-releases/1784862378006-1249051/src/host/start-spec.js
9332
9332
  var TRANSPORTS = ["auto", "sdk", "pty", "tmux", "headless"];
9333
9333
  var SUPPORTED_PHASE1_ENGINES = ["claude", "codex"];
9334
9334
  var ENGINE_PATTERN = /^[a-z][a-z0-9._-]{0,63}$/u;
@@ -9578,7 +9578,7 @@ function _trimmed(value, label) {
9578
9578
  throw new Error(`${label} must not be empty`);
9579
9579
  return trimmed;
9580
9580
  }
9581
- // .dist-releases/1784860966076-1188772/src/host/workspace.js
9581
+ // .dist-releases/1784862378006-1249051/src/host/workspace.js
9582
9582
  import { spawn as spawn4 } from "node:child_process";
9583
9583
  import { existsSync as existsSync4 } from "node:fs";
9584
9584
  import { mkdir as mkdir5, readdir as readdir2, rename as rename4, stat } from "node:fs/promises";
@@ -9809,7 +9809,7 @@ function _safeSegment(value) {
9809
9809
  throw new Error("workspace path segment is empty after sanitizing");
9810
9810
  return segment2;
9811
9811
  }
9812
- // .dist-releases/1784860966076-1188772/src/host/workspace-inventory.js
9812
+ // .dist-releases/1784862378006-1249051/src/host/workspace-inventory.js
9813
9813
  import { access as access2 } from "node:fs/promises";
9814
9814
  import { constants } from "node:fs";
9815
9815
  import { execFile as execFile2 } from "node:child_process";
@@ -9901,7 +9901,7 @@ async function canAccess(path12, mode, deps) {
9901
9901
  return false;
9902
9902
  }
9903
9903
  }
9904
- // .dist-releases/1784860966076-1188772/src/host/host-config.js
9904
+ // .dist-releases/1784862378006-1249051/src/host/host-config.js
9905
9905
  import { chmod as chmod3, mkdir as mkdir6, readFile as readFile5, writeFile as writeFile6 } from "node:fs/promises";
9906
9906
  import { homedir as homedir10 } from "node:os";
9907
9907
  import path12 from "node:path";
@@ -9986,7 +9986,7 @@ function _parseHostConfig(text, configPath) {
9986
9986
  });
9987
9987
  return { kind: HOST_CONFIG_KIND, workspaces };
9988
9988
  }
9989
- // .dist-releases/1784860966076-1188772/src/host/host-workspace-cli.js
9989
+ // .dist-releases/1784862378006-1249051/src/host/host-workspace-cli.js
9990
9990
  async function runHostWorkspaceCommandFromCli(argv, io, deps = {}) {
9991
9991
  const configPath = deps.configPath ?? defaultHostConfigPath();
9992
9992
  const sub = argv[0] ?? "list";
@@ -10030,7 +10030,7 @@ function _renderAddPlain(result) {
10030
10030
  return result.note ? `${status} ${result.path}
10031
10031
  ${result.note}` : `${status} ${result.path}`;
10032
10032
  }
10033
- // .dist-releases/1784860966076-1188772/src/host/agent-env.js
10033
+ // .dist-releases/1784862378006-1249051/src/host/agent-env.js
10034
10034
  var RUNTIME_NATIVE_HOME_ENV = new Set(["CLAUDE_CONFIG_DIR", "CODEX_HOME"]);
10035
10035
  function buildAgentEnv(options) {
10036
10036
  const env = {};
@@ -10059,15 +10059,15 @@ function buildAgentEnv(options) {
10059
10059
  }
10060
10060
  return env;
10061
10061
  }
10062
- // .dist-releases/1784860966076-1188772/src/host/runtime-env.js
10062
+ // .dist-releases/1784862378006-1249051/src/host/runtime-env.js
10063
10063
  import path16 from "node:path";
10064
10064
 
10065
- // .dist-releases/1784860966076-1188772/src/host/agent-defaults.js
10065
+ // .dist-releases/1784862378006-1249051/src/host/agent-defaults.js
10066
10066
  import { chmod as chmod4, mkdir as mkdir7, readFile as readFile7, stat as stat2, writeFile as writeFile7 } from "node:fs/promises";
10067
10067
  import { homedir as homedir11 } from "node:os";
10068
10068
  import path14 from "node:path";
10069
10069
 
10070
- // .dist-releases/1784860966076-1188772/src/host/claude-settings.js
10070
+ // .dist-releases/1784862378006-1249051/src/host/claude-settings.js
10071
10071
  import { readFile as readFile6 } from "node:fs/promises";
10072
10072
  import path13 from "node:path";
10073
10073
  async function readHostClaudeSettings(claudeConfigDir) {
@@ -10108,7 +10108,7 @@ function _nonEmptyString(value) {
10108
10108
  return typeof value === "string" && value.trim() ? value : null;
10109
10109
  }
10110
10110
 
10111
- // .dist-releases/1784860966076-1188772/src/host/agent-defaults.js
10111
+ // .dist-releases/1784862378006-1249051/src/host/agent-defaults.js
10112
10112
  var CODEX_BLOCK_BEGIN = "# sailorbridge-terse-defaults:begin";
10113
10113
  var CODEX_BLOCK_END = "# sailorbridge-terse-defaults:end";
10114
10114
  var CODEX_MODEL_BLOCK_BEGIN = "# sailorbridge-host-model-settings:begin";
@@ -11238,7 +11238,7 @@ function _escapeRegExp(value) {
11238
11238
  return value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
11239
11239
  }
11240
11240
 
11241
- // .dist-releases/1784860966076-1188772/src/host/engine-auth.js
11241
+ // .dist-releases/1784862378006-1249051/src/host/engine-auth.js
11242
11242
  import { lstat as lstat4, mkdir as mkdir8, readlink, realpath, stat as stat3, symlink as symlink2, unlink as unlink2 } from "node:fs/promises";
11243
11243
  import { homedir as homedir12 } from "node:os";
11244
11244
  import path15 from "node:path";
@@ -11328,7 +11328,7 @@ async function _ensureSymlink(linkPath, targetPath, sharedTargetPath) {
11328
11328
  await symlink2(targetPath, linkPath);
11329
11329
  }
11330
11330
 
11331
- // .dist-releases/1784860966076-1188772/src/host/runtime-env.js
11331
+ // .dist-releases/1784862378006-1249051/src/host/runtime-env.js
11332
11332
  async function materializeAgentRuntimeEnv(options) {
11333
11333
  const env = buildAgentEnv({
11334
11334
  hostEnv: options.hostEnv,
@@ -11368,7 +11368,7 @@ function _ensureRootSandboxEscape(env, engine, uid) {
11368
11368
  function _currentUid() {
11369
11369
  return typeof process.getuid === "function" ? process.getuid() : null;
11370
11370
  }
11371
- // .dist-releases/1784860966076-1188772/src/host/context-statusline.js
11371
+ // .dist-releases/1784862378006-1249051/src/host/context-statusline.js
11372
11372
  function renderClaudeContextStatusLine(payload) {
11373
11373
  const percent = _usedPercentage(payload);
11374
11374
  if (percent === null)
@@ -11406,7 +11406,7 @@ function _bar(percent) {
11406
11406
  const filled = Math.min(10, Math.max(0, Math.trunc(percent / 10)));
11407
11407
  return "█".repeat(filled) + "░".repeat(10 - filled);
11408
11408
  }
11409
- // .dist-releases/1784860966076-1188772/src/host/scratch-sweeper.js
11409
+ // .dist-releases/1784862378006-1249051/src/host/scratch-sweeper.js
11410
11410
  import { execFile as execFile3 } from "node:child_process";
11411
11411
  import { lstat as lstat5, readdir as readdir3, realpath as realpath2, unlink as unlink3 } from "node:fs/promises";
11412
11412
  import path17 from "node:path";
@@ -11549,7 +11549,7 @@ function _errno(error) {
11549
11549
  return String(error.code);
11550
11550
  return error instanceof Error ? error.message : String(error);
11551
11551
  }
11552
- // .dist-releases/1784860966076-1188772/src/host/launcher.js
11552
+ // .dist-releases/1784862378006-1249051/src/host/launcher.js
11553
11553
  var MAX_TMUX_SESSION_SUFFIX = 100;
11554
11554
  async function launchSupervisedAgent(input, deps = {}) {
11555
11555
  const spec = parseAgentStartSpec(input.spec);
@@ -11700,7 +11700,7 @@ async function _tmuxSessionExists(session) {
11700
11700
  throw error;
11701
11701
  }
11702
11702
  }
11703
- // .dist-releases/1784860966076-1188772/src/worker/capability.js
11703
+ // .dist-releases/1784862378006-1249051/src/worker/capability.js
11704
11704
  import { accessSync, constants as constants2, mkdirSync as mkdirSync3, mkdtempSync, readFileSync as readFileSync3, rmSync, writeFileSync as writeFileSync2 } from "node:fs";
11705
11705
  import os from "node:os";
11706
11706
  import path18 from "node:path";
@@ -11843,7 +11843,7 @@ function commandPath(command) {
11843
11843
  return null;
11844
11844
  }
11845
11845
 
11846
- // .dist-releases/1784860966076-1188772/src/host/worker-start-spec.js
11846
+ // .dist-releases/1784862378006-1249051/src/host/worker-start-spec.js
11847
11847
  var MAX_TAGS = 32;
11848
11848
  var TAG_PATTERN = /^[a-z0-9][a-z0-9=._:/-]{0,63}$/iu;
11849
11849
  var RESERVED_TAG_KEYS = new Set(["os", "kernel", "arch", "gpu", "mode", "role", "tool"]);
@@ -11903,16 +11903,16 @@ function _trimmed2(value, label) {
11903
11903
  return trimmed;
11904
11904
  }
11905
11905
 
11906
- // .dist-releases/1784860966076-1188772/src/host/worker-launcher.js
11906
+ // .dist-releases/1784862378006-1249051/src/host/worker-launcher.js
11907
11907
  import { statSync as statSync3 } from "node:fs";
11908
11908
  import os4 from "node:os";
11909
11909
  import path21 from "node:path";
11910
- // .dist-releases/1784860966076-1188772/src/worker/client.js
11910
+ // .dist-releases/1784862378006-1249051/src/worker/client.js
11911
11911
  import { readFileSync as readFileSync5 } from "node:fs";
11912
11912
  import os3 from "node:os";
11913
11913
  import path20 from "node:path";
11914
11914
 
11915
- // .dist-releases/1784860966076-1188772/src/worker/errors.js
11915
+ // .dist-releases/1784862378006-1249051/src/worker/errors.js
11916
11916
  class LeaseFencingRejected extends Error {
11917
11917
  status;
11918
11918
  constructor(status, message) {
@@ -11976,7 +11976,7 @@ function countsTowardWorkerSessionRebuild(path19) {
11976
11976
  return true;
11977
11977
  }
11978
11978
 
11979
- // .dist-releases/1784860966076-1188772/src/worker/executor.js
11979
+ // .dist-releases/1784862378006-1249051/src/worker/executor.js
11980
11980
  import { spawn as spawn5 } from "node:child_process";
11981
11981
  import { mkdirSync as mkdirSync4, mkdtempSync as mkdtempSync2, readFileSync as readFileSync4, realpathSync, rmSync as rmSync2, statfsSync, writeFileSync as writeFileSync3 } from "node:fs";
11982
11982
  import { tmpdir as tmpdir2, loadavg } from "node:os";
@@ -11984,7 +11984,7 @@ import os2 from "node:os";
11984
11984
  import path19 from "node:path";
11985
11985
  import { TextDecoder } from "node:util";
11986
11986
 
11987
- // .dist-releases/1784860966076-1188772/src/worker/async-queue.js
11987
+ // .dist-releases/1784862378006-1249051/src/worker/async-queue.js
11988
11988
  class AsyncByteQueue {
11989
11989
  maxSize;
11990
11990
  values = [];
@@ -12044,7 +12044,7 @@ class AsyncByteQueue {
12044
12044
  }
12045
12045
  }
12046
12046
 
12047
- // .dist-releases/1784860966076-1188772/src/worker/http.js
12047
+ // .dist-releases/1784862378006-1249051/src/worker/http.js
12048
12048
  import { request as httpRequest } from "node:http";
12049
12049
  import { request as httpsRequest } from "node:https";
12050
12050
  import { URLSearchParams as URLSearchParams2 } from "node:url";
@@ -12238,7 +12238,7 @@ function pathOnly(path19) {
12238
12238
  return path19.split("?", 1)[0] || path19;
12239
12239
  }
12240
12240
 
12241
- // .dist-releases/1784860966076-1188772/src/worker/stream-upload.js
12241
+ // .dist-releases/1784862378006-1249051/src/worker/stream-upload.js
12242
12242
  async function uploadStream(session, jobId, stream, leaseToken, chunks, workerId) {
12243
12243
  if (!leaseToken.trim())
12244
12244
  throw new Error("lease_token is required");
@@ -12248,7 +12248,7 @@ async function uploadStream(session, jobId, stream, leaseToken, chunks, workerId
12248
12248
  await session.http.postBytes(`/api/v1/jobs/${encodeURIComponent(jobId)}/stream-upload?${query.toString()}`, chunks, { "X-Lease-Token": leaseToken }, UPLOAD_TIMEOUTS);
12249
12249
  }
12250
12250
 
12251
- // .dist-releases/1784860966076-1188772/src/worker/executor.js
12251
+ // .dist-releases/1784862378006-1249051/src/worker/executor.js
12252
12252
  class StreamingProcessFailure extends Error {
12253
12253
  exitCode;
12254
12254
  stdout;
@@ -12780,7 +12780,7 @@ function errorMessage6(error) {
12780
12780
  return error instanceof Error ? error.message : String(error);
12781
12781
  }
12782
12782
 
12783
- // .dist-releases/1784860966076-1188772/src/worker/client.js
12783
+ // .dist-releases/1784862378006-1249051/src/worker/client.js
12784
12784
  var TOKEN_FILES = [
12785
12785
  "~/.config/sailorbridge/token",
12786
12786
  "/etc/sailorbridge/token"
@@ -13177,7 +13177,7 @@ function errorName2(error) {
13177
13177
  function errorMessage7(error) {
13178
13178
  return error instanceof Error ? error.message : String(error);
13179
13179
  }
13180
- // .dist-releases/1784860966076-1188772/src/host/worker-launcher.js
13180
+ // .dist-releases/1784862378006-1249051/src/host/worker-launcher.js
13181
13181
  var DEFAULT_WORKER_READY_TIMEOUT_MS = 60000;
13182
13182
  async function launchSupervisedWorker(input, deps = {}) {
13183
13183
  const logger = input.logger ?? (() => {});
@@ -13274,7 +13274,7 @@ function _assertWorkdir(workdir) {
13274
13274
  return workdir;
13275
13275
  }
13276
13276
 
13277
- // .dist-releases/1784860966076-1188772/src/host/daemon.js
13277
+ // .dist-releases/1784862378006-1249051/src/host/daemon.js
13278
13278
  async function runHostDaemon(options) {
13279
13279
  const logger = options.logger ?? (() => {});
13280
13280
  const sleep3 = options.sleep ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
@@ -13623,7 +13623,7 @@ async function _drainOnce(options, identity, starter, logger, redactSecrets) {
13623
13623
  return false;
13624
13624
  }
13625
13625
  }
13626
- // .dist-releases/1784860966076-1188772/src/host/enrollment-redeem.js
13626
+ // .dist-releases/1784862378006-1249051/src/host/enrollment-redeem.js
13627
13627
  var DEFAULT_NOT_FOUND_RETRIES = 3;
13628
13628
  var NOT_FOUND_RETRY_DELAY_MS = 500;
13629
13629
  function createEnrollmentRedeemer(options) {
@@ -13760,7 +13760,7 @@ function _role2(enrollment) {
13760
13760
  }
13761
13761
  return _string4(enrollment.roles[0], "roles[0]").trim();
13762
13762
  }
13763
- // .dist-releases/1784860966076-1188772/src/host/tutorial.js
13763
+ // .dist-releases/1784862378006-1249051/src/host/tutorial.js
13764
13764
  function buildTutorialSteps(state) {
13765
13765
  const paired = state.hasCredential;
13766
13766
  return [
@@ -13831,7 +13831,7 @@ async function runTutorial(options) {
13831
13831
  }
13832
13832
  return steps;
13833
13833
  }
13834
- // .dist-releases/1784860966076-1188772/src/events.js
13834
+ // .dist-releases/1784862378006-1249051/src/events.js
13835
13835
  var EVENT_COMMANDS = new Set(["add", "list", "enable", "disable", "rm"]);
13836
13836
  var EVENT_FLAGS = new Set(["at", "days", "message", "run-date", "session", "tag", "tz"]);
13837
13837
  var PRODUCT_DAYS_MODES = new Set(["once", "daily", "weekday"]);
@@ -13921,7 +13921,7 @@ function _assertListArgs(args) {
13921
13921
  }
13922
13922
  }
13923
13923
 
13924
- // .dist-releases/1784860966076-1188772/src/text-input.js
13924
+ // .dist-releases/1784862378006-1249051/src/text-input.js
13925
13925
  import { readFile as readFile8 } from "node:fs/promises";
13926
13926
  var _readUtf8File = async (file) => await readFile8(file, "utf8");
13927
13927
  async function readTextInput(input) {
@@ -13965,7 +13965,7 @@ async function readTextFileOrStdin(path22, input, unusedInputMessage, readUtf8Fi
13965
13965
  return await readTextFile(path22, readUtf8File2);
13966
13966
  }
13967
13967
 
13968
- // .dist-releases/1784860966076-1188772/src/ask.js
13968
+ // .dist-releases/1784862378006-1249051/src/ask.js
13969
13969
  var ASK_FLAGS = new Set(["body-file", "option", "reason", "recommend", "session", "title"]);
13970
13970
  async function runAskFromCli(client2, argv, config, input) {
13971
13971
  const args = _parseAskArgs(argv);
@@ -14080,7 +14080,7 @@ function _singleAskValue(values, name) {
14080
14080
  return entries[0];
14081
14081
  }
14082
14082
 
14083
- // .dist-releases/1784860966076-1188772/src/task.js
14083
+ // .dist-releases/1784862378006-1249051/src/task.js
14084
14084
  import { readFile as readFile9 } from "node:fs/promises";
14085
14085
  import { basename } from "node:path";
14086
14086
  var TASK_FLAGS = new Set(["after", "all", "artifact-id", "before", "body-file", "commit", "depends", "description", "description-file", "draft", "findings", "image", "level", "limit", "owner-of-resume", "pair", "priority", "query", "reason", "resume-condition", "resume-dependency", "session", "status", "type", "version"]);
@@ -14570,7 +14570,7 @@ function _taskListFooter(shown, returned, total, hasMore, cursor) {
14570
14570
  return `Shown ${shown} of ${total}${local}${next}`;
14571
14571
  }
14572
14572
 
14573
- // .dist-releases/1784860966076-1188772/src/team.js
14573
+ // .dist-releases/1784862378006-1249051/src/team.js
14574
14574
  var TEAM_BOOTSTRAP_ENGINES = new Set(["claude", "codex"]);
14575
14575
  var SLOT_SPEC_RE = /^([^=\s]+)=([^:@\s]+):([^:@\s]+)$/;
14576
14576
  var TEAM_PLAIN_LIMIT = 20;
@@ -14725,7 +14725,7 @@ function _slotTable(slots) {
14725
14725
  Shown ${shown.length} of ${slots.length}${omitted ? `; ${omitted} omitted (use --format json)` : ""}`;
14726
14726
  }
14727
14727
 
14728
- // .dist-releases/1784860966076-1188772/src/memory.js
14728
+ // .dist-releases/1784862378006-1249051/src/memory.js
14729
14729
  var VALUE_FLAGS = new Set(["file", "source"]);
14730
14730
  var MEMORY_SEARCH_PLAIN_LIMIT = 20;
14731
14731
  async function runMemoryFromCli(client2, argv, config, input, format) {
@@ -14860,7 +14860,7 @@ function _summary(value) {
14860
14860
  return value.replace(/\s+/gu, " ").trim().slice(0, 180);
14861
14861
  }
14862
14862
 
14863
- // .dist-releases/1784860966076-1188772/src/mailbox-send.js
14863
+ // .dist-releases/1784862378006-1249051/src/mailbox-send.js
14864
14864
  var SEND_FLAGS = new Set(["body-file", "commit", "session", "tag", "task-id", "task-version", "to-agents", "to-roles", "to-host"]);
14865
14865
  function parseMailboxSendArgs(argv) {
14866
14866
  const parsed = argsFromValues(parseFlagValues(argv));
@@ -14959,7 +14959,7 @@ function splitList(value) {
14959
14959
  return list?.length ? list : undefined;
14960
14960
  }
14961
14961
 
14962
- // .dist-releases/1784860966076-1188772/src/reply.js
14962
+ // .dist-releases/1784862378006-1249051/src/reply.js
14963
14963
  var REPLY_FLAGS = new Set(["agent", "body-file", "in-reply-to", "session"]);
14964
14964
  async function sendReplyFromCli(client2, argv, config, io) {
14965
14965
  const args = _parseReplyArgs(argv);
@@ -15016,7 +15016,7 @@ function _requiredReplyValue(values, name) {
15016
15016
  return value;
15017
15017
  }
15018
15018
 
15019
- // .dist-releases/1784860966076-1188772/src/worker-command.js
15019
+ // .dist-releases/1784862378006-1249051/src/worker-command.js
15020
15020
  async function runWorkerCommandFromCli(client2, argv, config, io, format = "plain") {
15021
15021
  const captainId = config.captainId;
15022
15022
  if (!captainId)
@@ -15197,7 +15197,7 @@ function _writeSignalStatus(remoteCode, localStatus, remoteStderr, io) {
15197
15197
  `);
15198
15198
  }
15199
15199
 
15200
- // .dist-releases/1784860966076-1188772/src/create.js
15200
+ // .dist-releases/1784862378006-1249051/src/create.js
15201
15201
  var CREATE_ENGINES = new Set(["claude", "codex"]);
15202
15202
  var DEFAULT_ENGINE = "claude";
15203
15203
  var WORKSPACE_PLAIN_LIMIT = 20;
@@ -15587,7 +15587,7 @@ function _workerPlain(hostId, workdir, result) {
15587
15587
  `);
15588
15588
  }
15589
15589
 
15590
- // .dist-releases/1784860966076-1188772/src/cli.js
15590
+ // .dist-releases/1784862378006-1249051/src/cli.js
15591
15591
  var FORMATTED_COMMANDS = new Set([
15592
15592
  "ask",
15593
15593
  "create",
@@ -16337,5 +16337,5 @@ function _looksLikeNetworkFailure(message) {
16337
16337
  return /fetch failed|network|ECONN(?:REFUSED|RESET)|ENOTFOUND|ETIMEDOUT/iu.test(message);
16338
16338
  }
16339
16339
 
16340
- //# debugId=9889EE8093CEB27064756E2164756E21
16340
+ //# debugId=3B810968682A4A6F64756E2164756E21
16341
16341
  //# sourceMappingURL=cli.js.map