Activity
Derive active / idle status from the core session (requires idleTimeout on the session for idle observation).
Previous: Intelligence overview · Next: Presence
Import path
ts
import { createBrowserLifecycle, createActivityApi } from "@jayoncode/browser-lifecycle";Main package only. Call dispose() on the underlying session when done.
Usage
ts
import { createBrowserLifecycle, createActivityApi } from "@jayoncode/browser-lifecycle";
const lifecycle = createBrowserLifecycle({ idleTimeout: 30_000 });
const activity = createActivityApi(lifecycle);
activity.isActive();
activity.isIdle();
activity.lastInteraction();
activity.idleTime(); // current idle streak (ms)
activity.dispose(); // does not dispose the session
lifecycle.dispose();Notes
- Does not attach pointer/keyboard listeners — Idle module owns that.
- Use
trackLastActiveAt: falsefor a pure snapshot projector with zero subscriptions.
