feat: Add actor-based session control server - #4
Merged
Merged
Conversation
zazabe
commented
Aug 16, 2026
Owner
- Add actor-based session lifecycle and profile management.
- Expose HTTP APIs and a client for recording, replay, debugging, and traffic subscriptions.
- Extend protocol configuration and causal event metadata across HTTP, WebSocket, and WASM.
- Add session integration tests and update documentation.
- Introduced a new `session` module containing session management functionality. - Implemented `SessionManager` and `SessionActor` for handling session lifecycle, including creation, retrieval, and termination. - Added necessary types and error handling for session operations. - Updated `Cargo.toml` and `Cargo.lock` to include new dependencies for session management. - Refactored existing code to integrate the new session management features.
- Added a new HTTP control server for managing sessions via RESTful API. - Implemented routes for session creation, listing, retrieval, and deletion. - Introduced session readiness and shutdown handling in the `SessionManager`. - Updated `Cargo.toml` and `Cargo.lock` to include new dependencies for HTTP server functionality. - Refactored session-related types and error handling to support the new API. - Improved session endpoint management with structured response models.
- Introduced `ProfileId` and `ProfileSnapshot` types for managing profiles. - Added functionality for creating, retrieving, listing, and removing profiles in `SessionManager`. - Updated session creation to associate sessions with profiles. - Enhanced API routes to support profile operations, including new endpoints for profile management. - Refactored session-related types and error handling to accommodate profile integration. - Implemented loading of profiles from TOML files at startup.
- Introduced `SubscribeTraffic` functionality in the `SessionManager` and `SessionActor` to allow clients to subscribe to session traffic events. - Added a new `Client` module for managing sessions and profiles via an HTTP control server, including commands for creating, listing, and stopping sessions. - Implemented streaming of traffic events as Server-Sent Events (SSE) for real-time monitoring of session activity. - Updated API routes to support traffic event subscriptions and enhanced session response models to include session names. - Refactored session-related types and error handling to accommodate new features and improve overall structure. - Updated `Cargo.toml` and `Cargo.lock` to include new dependencies for HTTP client functionality.
- Removed deprecated `config` and `debug` modules, consolidating functionality into the main application structure. - Introduced `StartSession` and `GetSessionByName` commands in the `SessionManager` for improved session control. - Enhanced `SubscribeTraffic` to include an `after` parameter for better traffic event management. - Updated session handling to support traffic history and sequencing, allowing clients to retrieve past events. - Refactored session-related types and error handling for improved clarity and maintainability. - Updated `Cargo.toml` and `Cargo.lock` to reflect changes in dependencies and features.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.