baro-ai 0.64.0 → 0.65.0

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/runner.mjs CHANGED
@@ -3734,7 +3734,7 @@ var url = process.env.CONTROL_URL ?? "wss://api.baro.jigjoy.ai";
3734
3734
  var token = process.env.RUNNER_TOKEN;
3735
3735
  var httpBase = url.replace(/^ws/, "http").replace(/\/+$/, "");
3736
3736
  var credsPath = join(homedir(), ".baro", "credentials.json");
3737
- var VERSION = "0.64.0";
3737
+ var VERSION = "0.65.0";
3738
3738
  var updateCachePath = join(homedir(), ".baro", "update-check.json");
3739
3739
  function semverLt(a, b) {
3740
3740
  const pa = a.split(".").map(Number);
@@ -3938,14 +3938,16 @@ async function runGoal(d, emit, signal) {
3938
3938
  child.on("close", (code) => {
3939
3939
  const ok = doneSuccess ?? (code === 0 && failed === 0 && passed > 0);
3940
3940
  const goalLines = new Set(d.goal.split("\n").map((s) => s.trim()).filter(Boolean));
3941
- const errTail = stderrTail.trim().split("\n").map((s) => s.trim()).filter((l) => l && l !== "User goal:" && !l.startsWith("User goal:") && !goalLines.has(l)).slice(-3).join(" \xB7 ").slice(-500);
3941
+ const isNoise = (l) => /no stdin data received|redirect stdin explicitly|proceeding without it/i.test(l);
3942
+ const errTail = stderrTail.trim().split("\n").map((s) => s.trim()).filter((l) => l && l !== "User goal:" && !l.startsWith("User goal:") && !goalLines.has(l) && !isNoise(l)).slice(-3).join(" \xB7 ").slice(-500);
3943
+ const cliHint = `the agent CLI on this runner produced no output \u2014 make sure \`claude\` (or \`codex\`) is installed and signed in here (run it once), or run on baro's cloud instead (no setup)`;
3942
3944
  resolve({
3943
3945
  success: ok,
3944
3946
  durationSecs: secs(),
3945
3947
  storiesPassed: passed,
3946
3948
  storiesTotal: stories.size || passed + failed,
3947
3949
  // Prefer the real reason from the stream, then cleaned stderr, then a fallback.
3948
- error: ok ? null : lastErr || errTail || (doneSuccess === false ? "run reported failure" : `exit ${code} \u2014 the run ended without a result (is the claude/codex CLI signed in on this runner?)`)
3950
+ error: ok ? null : lastErr || errTail || (doneSuccess === false ? "run reported failure" : cliHint)
3949
3951
  });
3950
3952
  });
3951
3953
  child.on("error", (e) => resolve({ success: false, durationSecs: secs(), error: e.message }));