feat: add vmux setup and vmux hook for Claude Code integration
- vmux setup: idempotently adds hooks to ~/.claude/settings.json - vmux hook: receives Claude Code hook events via env vars and forwards to daemon - Daemon handles "hook" action on Unix socket (no HTTP server needed) - Hooks provide instant state detection (permission/question/idle)
This commit is contained in:
@@ -452,6 +452,15 @@ func (d *Daemon) handleConnection(conn net.Conn) {
|
||||
d.focus.Set(time.Duration(args.Minutes) * time.Minute)
|
||||
writeResponse(conn, Response{OK: true, FocusRemaining: d.focus.Remaining().Minutes()})
|
||||
|
||||
case "hook":
|
||||
var event HookEvent
|
||||
if err := json.Unmarshal(req.Args, &event); err != nil {
|
||||
writeResponse(conn, Response{Error: "invalid hook args: " + err.Error()})
|
||||
return
|
||||
}
|
||||
d.processHookEvent(event)
|
||||
writeResponse(conn, Response{OK: true})
|
||||
|
||||
case "stop":
|
||||
writeResponse(conn, Response{OK: true})
|
||||
d.Stop()
|
||||
|
||||
Reference in New Issue
Block a user