sercrod

*wake-lock

*wake-lock delegates screen wake lock work to the sercrod.wake_lock adapter. It keeps the screen awake during an explicit user workflow where platform support exists.

<button type="button" *wake-lock.request *response="'wake'">Keep awake</button>
<button type="button" *wake-lock.status *response="'wake'">Status</button>
<button type="button" *wake-lock.release *response="'wake'">Allow sleep</button>

When a lower auto-starting wake lock element remains active in the same host, a user-triggered release can still run and report its result. The application decides whether another active request should immediately reacquire a wake lock.

*wake-lock.request and *wake-lock.status run on user activation for clickable elements and auto-start once on non-clickable elements. *wake-lock.release is always an explicit action. Results are written to $wake_lock. The runtime also updates $wake_lock_active. Use *response for application data placement.

The adapter owns screen-awake intent, release, status, and diagnostics only. It does not control media playback, timers, notifications, app lifecycle, background execution, or operating-system battery policy.