nudge: poke an idle chat session on a timer, never a working one
for an agent left running overnight. it is told to record blockers and carry on rather than wait for a human, and mostly it does — but a turn that ends leaves it idle until someone types, and at 3am nobody does. a script rather than a queue job, deliberately. the platform has no recurring scheduler and no way to put a prompt into a live session — `pushTurn` has exactly one caller, the chat websocket — so this would be real work in the queue engine AND the chat api, done tonight, in a repository another agent is currently working in. instead it talks to the same two doors a browser does and changes nothing in the platform. if the loop is worth keeping, it belongs in the queue with a real trigger, and this is what that would replace. the one rule is that it never interrupts work: `isGenerating` is checked immediately before speaking and a working session is skipped silently. the point is to restart a stopped agent, not to hurry a busy one. `?all=1` on the session list, because without it the list is scoped to the owner's home and an agent started in a project directory is simply absent — which this would have read as "the session is gone" and stopped the night. mints its own owner token: it runs on the box, as the owner, and a token pasted into a shell is a token in shell history. `--max` defaults to 12, so a loop nobody is watching ends on its own.
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
"preinstall": "node -e \"var v = +process.versions.node.split('.')[0]; if (v < 22) { console.error('Node 22 or newer required (got ' + process.versions.node + '). Run: nvm use 22'); process.exit(1); }\"",
|
||||
"gen:index": "bun run ./scripts/gen-index.ts",
|
||||
"fix:env": "bun run ./scripts/fix-env.ts",
|
||||
"nudge": "bun run --env-file=.env ./scripts/nudge-agent.ts",
|
||||
"doctor": "bun run --env-file=.env ./scripts/doctor.ts",
|
||||
"secret:set": "bun run --env-file=.env ./scripts/secret-set.ts",
|
||||
"notify:test": "bun run --env-file=.env ./scripts/notify-test.ts",
|
||||
|
||||
Reference in New Issue
Block a user