// The wake signal for the apps' remote jobs (api/wake.mjs, Igneum Miner 0.3.6). The apps hold no token, so the // GET is public and rate limited; only the POST that sets the stamp is authenticated. Dependency-free, so // `node --test relay/test/wake.test.mjs` drives the whole handler with a fake database and a fake clock. // // GET wake?since=[&hold=45] holds up to 45 s; answers as soon as the stored stamp differs from `since`, // else the unchanged stamp at the deadline; without `since` the current stamp // at once. Reply: {ok, stamp, at, added, changed, held_ms}. // [&machine=&v=&job=] the ping (MF-11, 0.3.21): the app names itself on every request and the // relay keeps one row per machine (relay_wake_seen: last poll, version, last job); // the console shows "silent since