Refactor Session class methods for better maintainability #4670
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I used OpenHands to write this PR - It is actually depenendent on 2 other PRs which I would like to merge first:
Also, I have not tested this properly yet nor reviewed the code myself, so probably a good idea to get that out of the way before review...
This PR refactors two complex methods in the Session class to improve code maintainability and readability:
Changes
Split
_initialize_agent
into smaller focused methods:_set_loading_state
: Handles setting the initial loading state_extract_config_args
: Extracts and processes configuration arguments_configure_llm
: Configures LLM settings_start_agent_session
: Handles starting the agent sessionSplit
on_event
into smaller focused methods:_should_skip_event
: Checks if an event should be skipped_is_environment_feedback_event
: Checks if an event is environment feedback_send_as_agent_event
: Handles sending events to the UIBenefits
The functionality remains exactly the same, but the code is now more organized and easier to understand.
To run this PR locally, use the following command: