+ err := chatgptLogin(ctx, os.Stdout)
+ if err != nil {
+ return err
+ }
+
+ // A signal is the normal stop of the daemon and the client, so their
+ // result does not include ctx.Err().
+ case len(args) == 1 && args[0] == "daemon":
+ return daemon(ctx, os.Stdout)
+ case len(args) == 0 || len(args) == 1 && args[0] == "chat":
+ return terminal(ctx, os.Stdin, os.Stdout)
+ case len(args) > 0 && args[0] == "import":
+ return whatsappImport(ctx, args[1:], os.Stdout)
+ case len(args) > 0 && args[0] == "probe":
+ err := probe(ctx, args[1:], os.Stdout)