mirror of
https://github.com/joelhooks/joelclaw.git
synced 2026-09-19 01:24:04 +08:00
ee80f1c8e7
444KB zero-dep Rust binary, 2366 lines across 7 modules: - worker.rs: bun process supervisor (port cleanup, signal forwarding, crash recovery) - probes.rs: 10 health probes (Colima, Docker, Talos, k8s, Redis, Inngest, Typesense, worker) - state.rs: persistent state machine (healthy → degraded → failed → investigating → critical → SOS) - escalation.rs: 4-tier recovery (heal script → cloud agent → Ollama local → iMessage SOS) - config.rs: hand-rolled TOML parser, zero deps - log.rs: structured JSON logging with rotation - main.rs: CLI (--check, --status, --worker-only, --dry-run) All 10 probes passing. Binary at ~/.local/bin/talon. Launchd plist ready but not yet loaded (worker still managed by existing plist).
32 lines
828 B
Plaintext
32 lines
828 B
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key>
|
|
<string>com.joel.talon</string>
|
|
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>/Users/joel/.local/bin/talon</string>
|
|
</array>
|
|
|
|
<key>RunAtLoad</key>
|
|
<true/>
|
|
|
|
<key>KeepAlive</key>
|
|
<true/>
|
|
|
|
<key>StandardErrorPath</key>
|
|
<string>/Users/joel/.local/log/talon.err</string>
|
|
|
|
<key>StandardOutPath</key>
|
|
<string>/Users/joel/.local/log/talon.log</string>
|
|
|
|
<key>EnvironmentVariables</key>
|
|
<dict>
|
|
<key>PATH</key>
|
|
<string>/opt/homebrew/bin:/Users/joel/.bun/bin:/Users/joel/.local/bin:/Users/joel/.local/share/fnm/aliases/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
|
|
</dict>
|
|
</dict>
|
|
</plist>
|