from typing import TypedDict


class TrajectoryConfig(TypedDict, total=False):
    """Configuration options for trajectory recording and formatting.

    Attributes:
        raw_content: If True, dump raw LLM responses into trajectory without
            parsing into tool_calls. Useful for SFT data export. (default: False)
        linear_history: If True, split trajectory into separate files when context
            summarization occurs, ensuring each trajectory represents a continuous linear
            history sent to the LLM. When False, keep all steps from the main agent
            in a single trajectory file despite chat history resets. (default: False)
    """

    raw_content: bool
    linear_history: bool
