Skip to content

AllNighter 1.1.0 — agent switch

Choose a tag to compare

@BlinkingSun BlinkingSun released this 22 Jul 22:07
· 4 commits to main since this release
2e631d0

Adds an API-only agent switch so local AI agents can hold the Mac awake (display + closed-lid) while they work, without touching your switches.

  • New routes: POST /agent/on?id=X, /agent/off?id=X, /agent/clear, GET /agent/status. Holders are a set of ids — several agents can hold at once; the switch releases when the set empties.
  • Override semantics: agent on overrides user off; agent off never overrides user on (release falls back to your switches).
  • While held, the pill pulses with a gold ring (1 s cycle — slow build, sharp fade, black contrast ring at the trough). The pill itself always shows your display switch.
  • Right-click menu: agent status line + Clear agent keep-awake escape hatch (the switch is sticky by design — no timeout).
  • /status extended (backward-compatible prefix) with agent, agentIds, effectiveDisplay, effectiveLid.
  • Hardening: caffeinate runs with -w <app pid> so a hard crash can never leave an orphan keeping the display awake; ALLNIGHTER_PORT env override for side-by-side testing.
  • Agent routes can never trigger an admin prompt.

Signed, notarized, and stapled. Turnkey agent integration (Claude Code hooks + a portable instruction set): https://github.com/BlinkingSun/agent-awake