PtcRunner.SubAgent.Loop.StepAssembler (PtcRunner v0.10.1)

Copy Markdown View Source

Final step assembly for SubAgent execution.

Centralizes the common pattern of enriching a %Step{} with usage metrics, trace-filtered turns, collected messages, and prompt metadata. Used by both Loop and Loop.TextMode to construct the step returned from SubAgent.run/2.

Summary

Functions

Finalize a step with metrics, turns, messages, and prompt metadata from state.

Functions

finalize(step, state, opts)

@spec finalize(PtcRunner.Step.t(), map(), keyword()) :: PtcRunner.Step.t()

Finalize a step with metrics, turns, messages, and prompt metadata from state.

Options

  • :duration_ms — required, total execution duration
  • :memory_bytes — memory used in bytes (default 0)
  • :turn_offset — offset for turn count, e.g. -1 for pre-turn failures (default 0)
  • :is_error — whether this is an error step, affects trace filtering (default false)
  • :final_turn — a turn to prepend to state.turns before reversing (default nil)
  • :final_messages — override for messages (default state.messages)
  • :field_descriptions — set step.field_descriptions (default nil, not set)
  • :journal — override step.journal (default nil, not set)
  • :summaries — override step.summaries (default state.summaries)
  • :child_steps — override step.child_steps (default state.child_steps)
  • :extra_usage — map merged into usage (e.g. %{fallback_used: true})