]> git.giacomolli.uk - onechat/blob - main.go
Make gpt-6.1-sol the default compactor model
[onechat] / main.go
1 package main
2
3 import (
4         "context"
5         "fmt"
6         "os"
7         "os/signal"
8         "strings"
9         "syscall"
10 )
11
12 func main() {
13         err := run()
14         if err != nil {
15                 fmt.Fprintln(os.Stderr, "onechat:", err)
16                 os.Exit(1)
17         }
18 }
19
20 func run() error {
21         ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
22         defer cancel()
23
24         args := os.Args[1:]
25         switch {
26         case len(args) == 0:
27                 _, err := fmt.Println("onechat")
28                 if err != nil {
29                         return err
30                 }
31         case len(args) == 1 && args[0] == "login":
32                 err := login(ctx, os.Stdout)
33                 if err != nil {
34                         return err
35                 }
36         case len(args) > 0 && args[0] == "probe":
37                 err := probe(ctx, args[1:], os.Stdout)
38                 if err != nil {
39                         return err
40                 }
41         default:
42                 return fmt.Errorf("unknown command %q", strings.Join(args, " "))
43         }
44
45         return ctx.Err()
46 }