demobite 1.18.3 → 1.18.4

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.
@@ -89,11 +89,11 @@ const printStatus = () => {
89
89
  const cfgThere = lock?.cwd ? readJson(path.join(lock.cwd, ".recorder", "config.json")) : null;
90
90
  const st = { base: cfgThere?.base ?? null, workspace: cfgThere?.workspace?.name ?? null, ...(readJson(STATE) ?? {}) };
91
91
  if (live) {
92
- console.log(` ● Listening as "${st?.name ?? os.hostname().replace(/\.local$/, "")}" since ${new Date(lock.since).toLocaleTimeString(undefined, { hour: "2-digit", minute: "2-digit" })} · for ${st?.workspace ?? "your workspace"} on ${(st?.base ?? "").replace(/^https?:\/\//, "") || "app.demobites.com"} (pid ${lock.pid}${lock.service ? ", login service" : ", a Terminal window"})`);
92
+ console.log(` ● Connected as "${st?.name ?? os.hostname().replace(/\.local$/, "")}" since ${new Date(lock.since).toLocaleTimeString(undefined, { hour: "2-digit", minute: "2-digit" })} · for ${st?.workspace ?? "your workspace"} on ${(st?.base ?? "").replace(/^https?:\/\//, "") || "app.demobites.com"} (pid ${lock.pid}${lock.service ? ", login service" : ", a Terminal window"})`);
93
93
  if (st?.at) console.log(` last check-in ${ago(st.at)} · ${st.busy ? `recording: ${st.job ?? ""}` : "idle"}${st.last_error ? ` · last error: ${st.last_error}` : ""}`);
94
94
  console.log(` working in ${lock.cwd.replace(os.homedir(), "~")}${lock.repo ? ` · code: ${lock.repo}` : ""}`);
95
95
  } else {
96
- console.log(` ○ Not listening.${st?.at ? ` Last check-in ${ago(st.at)}.` : ""}`);
96
+ console.log(` ○ Not connected.${st?.at ? ` Last check-in ${ago(st.at)}.` : ""}`);
97
97
  }
98
98
  console.log(` login service: ${serviceInstalled() ? "installed (starts at login, restarts if it dies)" : "not installed"} · run: demobite ${live ? "off" : "on"}`);
99
99
  console.log(` log: ${LOG.replace(os.homedir(), "~")}`);
@@ -340,7 +340,7 @@ if (arg === "on") {
340
340
  console.log(`
341
341
  ┌──────────────────────────────────────────────────────────┐
342
342
  │ │
343
- │ ✓ Done. DemoBites is listening on this ${process.platform === "darwin" ? "Mac" : "machine"}.${process.platform === "darwin" ? " " : " "}│
343
+ │ ✓ Done. DemoBites is connected on this ${process.platform === "darwin" ? "Mac" : "machine"}.${process.platform === "darwin" ? " " : " "}│
344
344
  │ │
345
345
  │ You can close this window. The recorder keeps │
346
346
  │ running quietly in the background, and starts │
@@ -349,7 +349,7 @@ if (arg === "on") {
349
349
  │ Back in the app, the Recorder box says Connected. │
350
350
  │ │
351
351
  │ Any time, in a Terminal: │
352
- │ demobite status is it listening │
352
+ │ demobite status is it connected │
353
353
  │ demobite off stop it and remove it │
354
354
  │ demobite on bring it back │
355
355
  │ │
@@ -385,7 +385,7 @@ if (arg === "listen") {
385
385
  {
386
386
  const cur = readJson(LOCK);
387
387
  if (cur?.pid && cur.pid !== process.pid && pidAlive(cur.pid)) {
388
- console.log(` ● Already listening (pid ${cur.pid}, since ${new Date(cur.since).toLocaleTimeString()}${cur.service ? ", the login service" : ""}). Nothing to do.\n demobite status · demobite off`);
388
+ console.log(` ● Already connected (pid ${cur.pid}, since ${new Date(cur.since).toLocaleTimeString()}${cur.service ? ", the login service" : ""}). Nothing to do.\n demobite status · demobite off`);
389
389
  process.exit(0);
390
390
  }
391
391
  // the browsers of a listener that died hard
@@ -457,11 +457,11 @@ if (arg === "listen") {
457
457
  const event = (job_id, kind, payload) => api({ action: "event", job_id, kind, payload });
458
458
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
459
459
 
460
- console.log(`\n Listening as "${name}" for ${cfg.workspace?.name ?? "your workspace"} on ${base.replace(/^https?:\/\//, "")}.`);
460
+ console.log(`\n Connected as "${name}" for ${cfg.workspace?.name ?? "your workspace"} on ${base.replace(/^https?:\/\//, "")}.`);
461
461
  console.log(` Ask for a demo in the app (Create → Agentic Capture). ${engine === "claude" ? (agentBin ? `Claude Code${agentInfo.agent_version ? " " + agentInfo.agent_version : ""} plans the demos, on your own plan; they film on ${JOB_MODEL} unless you pick another model in the app.` : "! --engine=claude, but Claude Code was not found on this machine.") : `Demos are planned by the DemoBites agent on ${JOB_MODEL} (pick another model in the app)${process.env.DEMOBITES_NO_CODE ? "; code sharing is off" : repo ? "; the files it reads from this project are logged in each take" : ""}.`}`);
462
462
  // The one thing the person must know, boxed (founder 2026-10-15): this
463
463
  // window is the machine's side of every recording. The login service has no window: one line instead.
464
- if (SERVICE) console.log(` ${new Date().toISOString()} listening (login service, pid ${process.pid})`);
464
+ if (SERVICE) console.log(` ${new Date().toISOString()} connected (login service, pid ${process.pid})`);
465
465
  else console.log(`
466
466
  ┌──────────────────────────────────────────────────────────┐
467
467
  │ │
@@ -482,7 +482,7 @@ if (arg === "listen") {
482
482
  const s = Math.floor((Date.now() - startedAt) / 1000);
483
483
  const clock = `${Math.floor(s / 60)}:${String(s % 60).padStart(2, "0")}`;
484
484
  const dot = s % 2 ? "●" : "○";
485
- process.stdout.write(`\r\x1b[2K ${dot} Listening · ${clock} · waiting for a demo from the app`);
485
+ process.stdout.write(`\r\x1b[2K ${dot} Connected · ${clock} · waiting for a demo from the app`);
486
486
  };
487
487
  const waitOn = () => { if (tty && !ticker) { tick(); ticker = setInterval(tick, 1000); } };
488
488
  const waitOff = () => { if (ticker) { clearInterval(ticker); ticker = null; process.stdout.write("\r\x1b[2K"); } };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "demobite",
3
- "version": "1.18.3",
3
+ "version": "1.18.4",
4
4
  "description": "The DemoBites agentic recorder — you prompt, it films a real browser, and DemoBites turns the take into an editable demo bite.",
5
5
  "bin": {
6
6
  "demobite": "launcher/index.mjs"