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

Coordinates

Journal

RunBuilder

There is no config(Map) overload in 1.10.1. The task(String) and repository(String) setters are present, but the 1.10.1 run implementation does not consume either 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.10.1.

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 the live Iterator<ParsedMessage> returned by the SDK; the parser does not read a session log file. The maxTurns overload records the turn ceiling the caller launched the run with, because Claude Code does not report it back; pass SessionLogParser.UNKNOWN_MAX_TURNS (-1) when no ceiling was set. The shorter overloads pass -1. 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.

Junie CLI

eventsFile is a Path to Junie’s session events.jsonl and reader is a BufferedReader over the same content; both throw IOException. JunieRunRecorder.recordPhase(JuniePhaseCapture) records the core and derived projections.

Storage cautions

  • JsonFileStorage does not validate path containment for caller-supplied identifiers or artifact names in 1.10.1.
  • 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.