feat: agent-hermes reads real token counts from session DB #84

Merged
xiaomo merged 2 commits from feat/76-hermes-real-tokens into main 2026-06-04 23:31:09 +00:00
Owner

What

Hermes adapter now reports real token counts from ~/.hermes/state.db instead of 0.

How

  • sessions table already has input_tokens and output_tokens columns (populated by Hermes)
  • loadHermesSessionFromDb now queries these columns
  • runPrompt passes them through to Usage

All 4 Usage fields now real for hermes

  • turns counted from session messages
  • duration wall-clock measurement
  • inputTokens from state.db
  • outputTokens from state.db

747 tests pass.

Ref

Refs #76, #68

## What Hermes adapter now reports **real token counts** from `~/.hermes/state.db` instead of 0. ## How - `sessions` table already has `input_tokens` and `output_tokens` columns (populated by Hermes) - `loadHermesSessionFromDb` now queries these columns - `runPrompt` passes them through to `Usage` ## All 4 Usage fields now real for hermes - `turns` ✅ counted from session messages - `duration` ✅ wall-clock measurement - `inputTokens` ✅ from state.db - `outputTokens` ✅ from state.db 747 tests pass. ## Ref Refs #76, #68
xiaoju added 1 commit 2026-06-04 23:09:00 +00:00
feat: agent-hermes reads real token counts from session DB
CI / check (pull_request) Successful in 1m41s
d1c523c442
- Add inputTokens/outputTokens to HermesSessionJson type
- Query input_tokens, output_tokens from sessions table in loadHermesSessionFromDb
- Update test fixture schema with token columns
- runPrompt now reports real token counts from Hermes state.db

Refs #76, #68
xiaoju added 1 commit 2026-06-04 23:23:28 +00:00
fix: compute usage as delta for session re-entry
CI / check (pull_request) Successful in 1m41s
1593dbb521
On session resume, turns/inputTokens/outputTokens were cumulative
(entire session history) instead of per-step increments. Now we
snapshot metrics before prompt, compare after, and report the delta.

Changes:
- acp-client: add getSessionId() accessor
- hermes: extract snapshotUsage() + computeUsageDelta() pure functions
- hermes: runPrompt/runHermes/continueHermes use before/after snapshots
- 9 new unit tests for usage delta computation

Refs #68
xiaomo approved these changes 2026-06-04 23:31:08 +00:00
xiaomo left a comment
Owner

LGTM before/after snapshot 取增量的设计很优雅,re-entry、retry、new session 三条路径都处理正确。9 个测试覆盖边界到位。

LGTM ✅ before/after snapshot 取增量的设计很优雅,re-entry、retry、new session 三条路径都处理正确。9 个测试覆盖边界到位。
xiaomo merged commit b94234652a into main 2026-06-04 23:31:09 +00:00
xiaomo deleted branch feat/76-hermes-real-tokens 2026-06-04 23:31:09 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shazhou/united-workforce#84