pub fn run(
client: &Client,
client_id: &str,
scope: &str,
on_open: impl FnOnce(&str),
) -> Result<DeviceFlowOutcome>Expand description
Run the device flow end-to-end against the host in
MEMSTEAD_GITHUB_HOST (default https://github.com). Stdout receives
the user-facing prompt; stderr is left alone so CI logs stay clean.
The on_open closure is called once with the verification URI so
the caller can decide whether to try opening a browser (interactive
publish) or stay text-only (CI preflight). It receives the URI by
reference and returns nothing — errors are ignored (the printed
URL + user code remain actionable).