Services, workflows and tests
Define service agents, connect real and simulated APIs in a workflow graph, bind outputs, and run isolated test cases in your browser or local runner.
Open /services and sign in. Start with the example graph or create your own workflow.
- Define each service's behavior, operations, input/output contracts and initial state. Attach documentation, source files or fixtures that explain the service.
- Add service-operation nodes to the graph. Choose real or simulated execution explicitly. Connect dependencies and bind upstream output fields into downstream inputs.
- Add test cases with workflow inputs, service scenarios or initial state, and assertions. Each case gets its own session.
- Run in your browser for browser-accessible APIs. Export and use the local runner for localhost/private endpoints or secret headers.
- Inspect each node's actual input/output, assertions, duration and error. Cancel a run if it is no longer needed.
The graph is a DAG: no cycles or conditional routing. Branches can run in parallel and join. Bindings use JSON Pointer, including nested objects and arrays. A test may select terminal nodes and their required ancestors to test an early exit.
Eve simulates requests using service context, rather than replaying canned expected answers. A service's working state exists only inside one workflow run. Referencing the same instance ID shares state; a separate instance is independent. Real services retain their own state and are not reset automatically.
Browser calls obey CORS and cannot reach private networks merely because xEntropy is hosted. A secret-header reference requires the local runner. API credentials remain outside exported workflows. Long-running simulated calls are polled until completed; closing a network connection does not create another charged request.
The UI and local runner do not provision workflow sandboxes or require a shell launch command. The API reference describes automation.