Documentation
¶
Overview ¶
Package cli is the entrypoint for `ppz`. Each verb either talks to the daemon over IPC or IS the daemon (`ppz daemon start --foreground`).
Index ¶
Constants ¶
const HeartbeatIntervalSec = 60
HeartbeatIntervalSec is the canonical heartbeat cadence. The ticker runs every HeartbeatIntervalSec seconds, the payload's interval_sec field carries the same value so consumers (notably `ppz who`'s classifier) can scale online/stale/offline thresholds proportionally. Keep this as the single source of truth — three earlier copies of `60` (ticker, payload field, doc) drifted apart in review.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
Run dispatches argv[1:] to the appropriate verb. Returns a *cliproto.Error when there is one — main turns that into the standard exit code + stderr.
Verb hierarchy (Phase B):
ppz daemon {start|stop|login|logout}
(source verbs removed in Phase 1 — see ppz terminal/agent create
for replacements; current-handle state managed via ppz set/unset)
ppz terminal {wrap|watch|peek} (terminal verbs are reshaped in Phase D)
ppz {status|ls|read|send}
Old top-level verbs (`ppz create`, `ppz switch`, `ppz kill`, `ppz login`) are removed without aliases — fresh MVP, no users to migrate.
Types ¶
type HeartbeatPayload ¶ added in v0.33.0
type HeartbeatPayload struct {
TS string `json:"ts"`
Seq uint64 `json:"seq"`
Harness string `json:"harness"`
Model string `json:"model"`
Hostname string `json:"hostname"`
OS string `json:"os"`
Arch string `json:"arch"`
PID int `json:"pid"`
PPZVersion string `json:"ppz_version"`
StartedAt string `json:"started_at"`
IntervalSec int `json:"interval_sec"`
}
HeartbeatPayload is the wire shape published to <handle>.heartbeat. Every beat is fully self-describing — there is no "hello + delta" split — so consumers (notably `ppz who`) can read a single message and have everything needed to render an agent's identity + status.
Source Files
¶
- agent.go
- await.go
- command.go
- completion.go
- current.go
- daemon.go
- daemon_login.go
- daemon_stop.go
- device_flow.go
- diagnostics.go
- heartbeat.go
- ls.go
- pipe.go
- read.go
- reread.go
- root.go
- send.go
- session.go
- set.go
- source.go
- status.go
- terminal.go
- terminal_filter.go
- terminal_inbox_alert.go
- terminal_rawmode.go
- terminal_rawmode_test_helpers_unix.go
- terminal_termios_linux.go
- terminal_utf8.go
- update.go
- version.go
- who.go