Skip to main content
An agent built on eve runs in Sphynx as a command harness. sphynx-sh/runner/eve starts the agent, sends it the case prompt, and turns what eve streams into the trial journal. You write no event mapping yourself.

The profile

Put the agent in the profile’s workspace, with a package.json that installs sphynx-sh and eve 0.58:
profile.json
sphynx-eve starts eve dev in the workspace, waits until it answers, and runs one session with the case prompt. When the agent lives in a subdirectory, pass it: node_modules/.bin/sphynx-eve apps/agent. Read the variant’s model in the agent, so each variant runs the model it names:
agent/agent.ts
The model key belongs in an env credential, never in the profile.

The suite

What is recorded

Other events are ignored.

A run that did not finish never passes

A failed or parked session records no answer, so a check that reads the answer fails. The reason is on the Finished line in the journal. A tool that needs approval parks the session, because nobody is there to approve it. Turn approval off for the tools a case uses. sphynx-eve exits 0 when the session completed, 1 when it failed, and 3 when it parked.

From code

The pieces are exported for a script of your own:
reduceEve is the mapping on its own. It takes the state and one eve event and returns the next state with the lines to print, so you can test it against a recorded stream.