1. store dict in additional_kwargs in messages

  2. custom message class -

  3. store artifacts out of messages per_message

class PrashnaState(TypedDict):
    # Standard messages for conversation flow
    messages: Annotated[List[BaseMessage], add_messages]
    
    # Your custom artifacts (what you wanted in messages)
    steps: List[Dict[str, str]]
    final_sql: Optional[str]
    visualization_data: Optional[Dict[str, Any]]
    result_sample: Optional[List[Dict[str, Any]]]
    result_uri: Optional[str]
    row_count: Optional[int]
  1. s