in databao/executors/lighthouse/history_cleaning.py [0:0]
def _truncate_block(dfs: dict[str, dict[str, str]], messages: list[BaseMessage]) -> AIMessage:
"""Returns one AIMessage with a summary of the block."""
assert isinstance(messages[-1], ToolMessage)
assert isinstance(messages[-2], AIMessage)
df = None
for d in dfs.values():
if d.get("query_id") == messages[-2].tool_calls[0]["args"].get("query_id"):
df = d
break
assert df is not None
tool_call: ToolCall = messages[-2].tool_calls[0]
text = f"""Message history was truncated. {len(messages) - 1} messages were deleted.
This SQL was generated:
```sql
{df["sql"]}
```
Here is an answer, which was shown to the user:
Dataframe:
{df["df"]}
Text:
{tool_call["args"]["result_description"]}
"""
if tool_call["args"].get("visualization_prompt"):
text += f"\n\nVisualization prompt: {tool_call['args']['visualization_prompt']}"
return AIMessage(content=text)