demobites 1.23.0 → 1.24.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.
Files changed (2) hide show
  1. package/launcher/index.mjs +15 -0
  2. package/package.json +1 -1
@@ -670,9 +670,24 @@ if (arg === "listen") {
670
670
  if (SERVICE) removeService(); // bootout ends this process; the handlers below clear the lock
671
671
  bye("OFF");
672
672
  };
673
+ // FORGET FROM THE APP (1.24.0, founder 2026-10-17: "we can and should forget from here as well"): the
674
+ // app's order drops one site's folder from this machine's bindings; the planner works from the live app there.
675
+ const runForget = async (job) => {
676
+ noteState({ busy: true, job: job.id });
677
+ await event(job.id, "started", { machine: name });
678
+ let site = "";
679
+ try { site = siteOf(new URL(job.url).hostname); } catch { /* below */ }
680
+ const file = reposFile(process.cwd());
681
+ const repos = readJson(file) ?? {};
682
+ if (site && repos[site]) { delete repos[site]; writeJson(file, repos); }
683
+ console.log(` ○ ${site || "that site"} no longer has code on this machine, on your word from the app.`);
684
+ await event(job.id, "ready", { forgot: site, machine: name });
685
+ noteState({ busy: false, job: null, last_error: null });
686
+ };
673
687
  const runJob = async (job) => {
674
688
  waitOff();
675
689
  if (job.kind === "off") return runOff(job);
690
+ if (job.kind === "forget") return runForget(job);
676
691
  if (job.kind === "look" || job.kind === "signin" || job.kind === "signout") return runLookOrSignin(job);
677
692
  const model = typeof job.model === "string" && job.model ? job.model : JOB_MODEL;
678
693
  // Alive while filming (1.13.1): a heartbeat every 5 s so the rail never shows this machine
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "demobites",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
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
  "demobites": "launcher/index.mjs"