## MODIFIED Requirements ### Requirement: WebSocket Terminal The system SHALL provide terminal sessions via WebSocket. #### Scenario: Open terminal with startup command - GIVEN a running tool instance with a tool type that has `startup_command` set - WHEN the user opens the terminal - THEN a WebSocket connection is established - AND the startup command is executed before the interactive shell - AND the shell is spawned in the container via `docker exec` #### Scenario: Open terminal without startup command - GIVEN a running tool instance with a tool type that has no `startup_command` - WHEN the user opens the terminal - THEN a WebSocket connection is established - AND the shell spawns directly without any startup execution ### Requirement: Session Management The system SHALL manage terminal sessions. #### Scenario: Reset terminal session runs startup command - GIVEN an active terminal session - WHEN the user resets the session - THEN a new shell is spawned - AND the startup command executes before the new interactive shell