snapshot method

Transcript snapshot()

Current transcript snapshot. Safe to call multiple times.

Implementation

Transcript snapshot() {
  final ttft = _firstLLMReplyAt;
  final ttlt = _lastLLMReplyAt;
  return Transcript(
    messages: List.unmodifiable(_messages),
    toolCalls: List.unmodifiable(_toolCalls),
    reasoningSteps: List.unmodifiable(_reasoningSteps),
    events: List.unmodifiable(_events),
    metrics: TranscriptMetrics(
      nTurns: _nTurns,
      nToolCalls: _toolCalls.length,
      nTotalTokens: _totalTokens,
      timeToFirstToken: ttft?.difference(startedAt),
      timeToLastToken: ttlt?.difference(startedAt),
    ),
  );
}