in src/frontends/streamlit/frontend/streamlit_app.py [0:0]
def handle_user_input(side_bar: SideBar) -> None:
"""Process user input, generate AI response, and update chat history."""
prompt = st.chat_input() or st.session_state.modified_prompt
if prompt:
st.session_state.modified_prompt = None
parts = get_parts_from_files(
upload_gcs_checkbox=st.session_state.checkbox_state,
uploaded_files=side_bar.uploaded_files,
gcs_uris=side_bar.gcs_uris,
)
st.session_state["gcs_uris_to_be_sent"] = ""
parts.append({"type": "text", "text": prompt})
st.session_state.user_chats[st.session_state["session_id"]]["messages"].append(
HumanMessage(content=parts).model_dump()
)
display_user_input(parts)
generate_ai_response(
remote_agent_engine_id=side_bar.remote_agent_engine_id,
agent_callable_path=side_bar.agent_callable_path,
url=side_bar.url_input_field,
authenticate_request=side_bar.should_authenticate_request,
)
update_chat_title()
if len(parts) > 1:
st.session_state.uploader_key += 1
st.rerun()