Versions in this module Expand all Collapse all v0 v0.1.1 Oct 13, 2026 Changes in this version + var ErrDenied = errors.New("the device login was denied") + var ErrExpired = errors.New("the device login expired") + var ErrSessionGone = errors.New("the device login is no longer available") + type DeviceLoginClient interface + CreateDeviceLogin func(context.Context, *connect.Request[v1pb.CreateDeviceLoginRequest]) (*connect.Response[v1pb.CreateDeviceLoginResponse], error) + ExchangeDeviceLogin func(context.Context, *connect.Request[v1pb.ExchangeDeviceLoginRequest]) (*connect.Response[v1pb.ExchangeDeviceLoginResponse], error) + type Options struct + BareURL bool + ClientName string + ClientVersion string + NoBrowser bool + Now func() time.Time + OpenBrowser func(url string) error + ServerURL string + Sleep func(time.Duration) + Timeout time.Duration + type Progress func(format string, args ...any) + type Result struct + ExpiresIn int64 + Token string + User *v1pb.User + func Run(ctx context.Context, api DeviceLoginClient, progress Progress, opts Options) (*Result, error) v0.1.0 Oct 10, 2026