mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
fix(photon): persist sidecar runtime record so cron/standalone sends work
The sidecar auth token is generated at spawn (secrets.token_hex) and existed only in the gateway process memory + sidecar child env, so _standalone_send from cron subprocesses, hermes send, or the dashboard structurally could not authenticate (#69960). The adapter now writes <hermes-home>/runtime/photon-sidecar.json ({port, token, pid}, 0600, atomic tempfile+os.replace) once the sidecar passes its /healthz readiness check, and deletes it in _stop_sidecar, on every startup-failure path, and at disconnect so a stale record never outlives a dead sidecar. _standalone_send falls back to the record when PHOTON_SIDECAR_TOKEN is unset, validating the recorded pid is alive first; a stale record yields a clear 'gateway appears to be down' error. Docs note the gateway-must-be-running requirement and the Photon-side shared-line initiation policy (#51897).
This commit is contained in:
parent
4f65f56279
commit
e79d316a04
4 changed files with 489 additions and 7 deletions
|
|
@ -205,6 +205,19 @@ Common issues:
|
|||
- **Photon's free quotas:** 5,000 messages per server per day,
|
||||
50 new-conversation initiations per shared line per day. Increases
|
||||
available — email `help@photon.codes`.
|
||||
- **Cron and standalone sends need the gateway running.** Out-of-process
|
||||
senders (cron jobs, `hermes send`, the dashboard) reuse the sidecar the
|
||||
gateway spawned — they read its port/token from
|
||||
`<hermes-home>/runtime/photon-sidecar.json`, written once the sidecar
|
||||
passes its health check and removed when it stops. If a standalone send
|
||||
reports the gateway appears to be down, start (or restart) the gateway
|
||||
first.
|
||||
- **Shared/free-tier lines can't initiate conversations with new
|
||||
targets.** Photon-side policy: a shared line can only message a number
|
||||
after that number has texted the line first. A cron/standalone send to a
|
||||
brand-new recipient will be rejected by Photon even when Hermes is set
|
||||
up correctly — either have the recipient message the line once, or move
|
||||
to a dedicated line.
|
||||
|
||||
## Env vars
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue