Add error handling for session bootstrap failures: Implement a client-safe error response payload in session_bootstrap.py and update Streamlit routes to use this new error handling.
Refactor session bootstrap handling and Streamlit app startup: Update start.sh to launch the app using uvicorn, enhance session bootstrap logic in session_bootstrap.py with retry mechanisms for transient errors, and modify streamlit_app.py to conditionally use a new route for session initialization. Add tests for retry behavior and error handling in session bootstrap payload generation.
Refactor Streamlit app and UI for session management: Replace token generation with session bootstrap URL, update client rendering logic, and enhance error handling for session initialization. Improve metrics logging in agent and metrics collector for better tracking of session metadata.