Commit Graph

11 Commits

Author SHA1 Message Date
William Valentin 27d40ce28f feat(hooks): add Hermes telemetry handler 2026-05-20 17:35:56 -07:00
William Valentin f8bec2d6d5 fix: ignore non-persistent claude startups 2026-04-30 17:07:19 -07:00
William Valentin fd17628e94 fix: ignore invalid claude hook starts 2026-04-29 09:41:07 -07:00
William Valentin d5154b8eec fix(codex): recover session lifecycle from hooks 2026-04-21 13:02:58 -07:00
William Valentin fdfcb50e80 feat(hooks): consolidate shared transport helpers 2026-03-26 11:22:27 -07:00
William Valentin 687a7aa79d Add live agent views and improve Codex monitoring 2026-03-20 13:59:51 -07:00
William Valentin a87bbc6983 fix(claude-hook): derive span durations from start timestamps 2026-03-20 11:17:40 -07:00
William Valentin d235e3c873 feat(hooks): add telemetry handlers for codex/copilot/gemini 2026-03-20 11:17:26 -07:00
William Valentin 2e277fb138 fix: preserve session state across turns in claude-code hook handler
handleNotification("Done") was incorrectly emitting session.end and
calling clearState at the end of each Claude turn. Since "Done" means
a turn finished (not the session), clearing state caused subsequent
tool calls to find no runId, storing spans without run_id and making
them invisible in run-level queries.

- handleNotification: remove session.end emission and clearState call;
  only emit run.end for the completed turn
- handleSessionEnd: load state file to get runId (in-memory activeRuns
  is always empty in a subprocess)
- handlePromptSubmit: load state file to get runId for ending previous
  run before starting a new one

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:42:22 -07:00
William Valentin e7be607db4 feat: extend agentmon hook with agent:bootstrap for embedded/cron runs
- Add agent:bootstrap handler to capture run.start events for cron and
  automation runs that bypass the message:received path
- Remove dead event subscriptions (tool_result_persist, session:compact:*)
  which are plugin hook events and never fire through triggerInternalHook
- Remove AGENTMON_INGEST_URL from requires.env since handler has a
  hardcoded fallback URL
- Drop activeCompactions map (no longer needed after removing compaction handlers)

Deployed to zap VM with hooks.internal.enabled=true in openclaw.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 17:32:32 -07:00
William Valentin 3434db3c59 feat: complete agent monitoring - hook, UI, and backend filter
- Add event_type and framework filters to events query endpoint
- Add /agents SPA route to web-ui server
- Add Agents nav link and route in frontend
- Add agents page CSS (timeline, VM pills, stats panel)
- Build VM status strip, activity timeline, and real-time stats
- Add agentmon hook for OpenClaw (HOOK.md + handler.ts)
- Add docker-compose, Dockerfile, and supporting infra files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 00:26:42 -07:00