Add Hermes Agent CLI provider#370
Open
ozymandiashh wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #368 by adding Hermes-agent CLI support through Hermes' current SQLite state store at
~/.hermes/state.db.Context
Hermes-agent now persists session metadata, messages, tool calls, token usage, and cost fields in
state.db. CodeBurn did not have a Hermes provider, so--provider hermescould not discover or report those CLI sessions.What changed
hermesprovider backed by shared SQLite helpers.~/.hermes/state.db, withHERMES_HOMEoverride support.\0json:content, assistanttool_calls, fallbackrole = 'tool'rows, Bash commands, web searches, and MCP tool names.Validation
I created a realistic Hermes
state.dbfixture with one CLI session:Running CodeBurn against that fixture with
--provider hermesproduced the expected model, tokens, cost, tools, and shell command:The same path is covered by
tests/cli-hermes-provider.test.ts, which builds a temporary~/.hermes/state.dband runs the real CLI with--provider hermes.Additional checks:
npm test -- --run tests/providers/hermes.test.ts tests/cli-hermes-provider.test.ts tests/provider-registry.test.ts- 25 tests passednpm test -- --run- 67 files / 909 tests passednpm run buildgit diff --checkNotes
state.dbschema.tool_callsand followingrole = 'tool'result rows are not double-counted.