feat: add agent-notify server command
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -41,6 +41,8 @@ func run(cmd string, args []string) error {
|
|||||||
return cmdLogs(args)
|
return cmdLogs(args)
|
||||||
case "inbox":
|
case "inbox":
|
||||||
return cmdInbox(args, os.Stdout, os.Stderr)
|
return cmdInbox(args, os.Stdout, os.Stderr)
|
||||||
|
case "server":
|
||||||
|
return cmdServer(args)
|
||||||
case "version", "-V":
|
case "version", "-V":
|
||||||
return cmdVersion()
|
return cmdVersion()
|
||||||
case "help", "-h", "--help":
|
case "help", "-h", "--help":
|
||||||
@@ -205,6 +207,7 @@ Commands:
|
|||||||
test claude [--apply]
|
test claude [--apply]
|
||||||
logs [--tail 30]
|
logs [--tail 30]
|
||||||
inbox <list|show|done|rm|clear|serve|ssh-config>
|
inbox <list|show|done|rm|clear|serve|ssh-config>
|
||||||
|
server [--listen ADDR] [--db PATH] [--token TOKEN]
|
||||||
version
|
version
|
||||||
doctor
|
doctor
|
||||||
`)
|
`)
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/longbin/agent-notify/internal/server"
|
||||||
|
)
|
||||||
|
|
||||||
|
func cmdServer(args []string) error {
|
||||||
|
fs := flag.NewFlagSet("server", flag.ExitOnError)
|
||||||
|
listen := fs.String("listen", ":8080", "listen address")
|
||||||
|
db := fs.String("db", "./agent-notify.db", "SQLite database path")
|
||||||
|
token := fs.String("token", "", "API bearer token")
|
||||||
|
_ = fs.Parse(args)
|
||||||
|
|
||||||
|
tok := *token
|
||||||
|
if tok == "" {
|
||||||
|
tok = os.Getenv("AGENT_NOTIFY_TOKEN")
|
||||||
|
}
|
||||||
|
if tok == "" {
|
||||||
|
return fmt.Errorf("--token or AGENT_NOTIFY_TOKEN is required")
|
||||||
|
}
|
||||||
|
|
||||||
|
store, err := server.Open(*db)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer store.Close()
|
||||||
|
|
||||||
|
handler := server.NewHandler(store, tok)
|
||||||
|
fmt.Fprintf(os.Stderr, "agent-notify server listening on %s\n", *listen)
|
||||||
|
return http.ListenAndServe(*listen, handler)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user