Interface AiAgentLogFormat

All Known Implementing Classes:
AcpLogFormat, AntigravityLogFormat, ClaudeCodeLogFormat, CodexLogFormat, CursorLogFormat, GrokBuildLogFormat, OpenCodeLogFormat

public interface AiAgentLogFormat
Strategy interface for classifying a JSON log line emitted by an AI agent into a AiAgentLogParser.ParsedLine.

Each AiAgentTypeHandler returns its own AiAgentLogFormat via AiAgentTypeHandler.getLogFormat(), allowing third-party agent handlers to supply custom log parsing without modifying the core parser.

Implementations should return null for any JSON structure they do not recognise; the parser will then fall through to the shared format and generic fallback.

  • Method Summary

    Modifier and Type
    Method
    Description
    classify(long lineNumber, net.sf.json.JSONObject json)
    Attempt to classify a single JSON object into a parsed event.
    classifyAll(long lineNumber, net.sf.json.JSONObject json)
    Attempt to classify a JSON object that may contain multiple displayable events.
  • Method Details

    • classify

      AiAgentLogParser.ParsedLine classify(long lineNumber, net.sf.json.JSONObject json)
      Attempt to classify a single JSON object into a parsed event.
      Parameters:
      lineNumber - 1-based line number in the raw log file
      json - the parsed JSON object for this line
      Returns:
      a classified AiAgentLogParser.ParsedLine, or null if this format does not handle the given JSON structure
    • classifyAll

      default List<AiAgentLogParser.ParsedLine> classifyAll(long lineNumber, net.sf.json.JSONObject json)
      Attempt to classify a JSON object that may contain multiple displayable events.

      Implementations that emit at most one event can rely on this default. Returning null still means the format did not recognize the input; an empty list means it recognized the input but intentionally produced no visible events.