LemonAgent.Loop.TranscriptValidator (lemon_agent v0.1.0)

View Source

Validates tool-call transcript invariants before provider calls.

Summary

Types

violation()

@type violation() :: %{
  :type => atom(),
  :index => non_neg_integer() | nil,
  optional(:tool_call_id) => String.t() | nil,
  optional(:tool_call_ids) => [String.t() | nil],
  optional(:result_ids) => [String.t() | nil]
}

Functions

validate(messages)

@spec validate([LemonAi.Types.message()]) ::
  :ok | {:error, {:invalid_tool_transcript, [violation()]}}