Skip to main content
This page describes the public API shipped in Agent Journal 1.6.0.

Coordinates

Journal

RunBuilder

There is no config(Map) overload in 1.6.0. The repository(String) setter is present, but the 1.6.0 run implementation does not consume the stored builder value.

Run

Event factories

JournalEvent is extensible. Built-in event records include timestamps and expose their Java type() value; file serialization uses the registered @type name.

Token, cost, and timing values

The TokenUsage constructor order is input, output, thinking, cache creation, cache read, and tool-use tokens. There is no five-argument TokenUsage.of(...) overload in 1.6.0.

JournalStorage

JsonFileStorage implements every operation and reports durable derived-event persistence. InMemoryStorage implements every operation in memory and reports the default non-durable derived-event behavior.

Evaluation API

EvalSubjectSources.fromJournal(storage, experimentId, runId) reads a run and produces subjects. EvalSubjectSources.fromEvents(events, runId) adapts an existing event list. EvalSubjectQuery supports:

Capture parsers

Claude Code

response is an Iterator<ParsedMessage>. The default content mode for trace-writing overloads is TRUNCATED; the default raw mode is NONE. RunRecorder wraps an open Run, inherits recordPhase(PhaseCapture), exposes run() and lenient(), and owns finish()/close().

Gemini CLI

result is a Gemini SDK QueryResult. GeminiRunRecorder.recordPhase(GeminiPhaseCapture) records the core and derived projections.

Storage cautions

  • JsonFileStorage does not validate path containment for caller-supplied identifiers or artifact names in 1.6.0.
  • Use one writer per run and do not assume multi-process safety.
  • File-backed load methods read the requested JSONL file into memory.
  • Portable traces can contain sensitive content; see Capture SDK Sessions.