[v0.3.0] - 2026-06-29

Checkpoint Mechanism β€” ReActCore introduces three checkpoints during streaming: content_ended (after text content), before_tool_calls (before tool calls), and after_tool_calls (after tool calls), enabling precise interception and state synchronization of the execution flow.

Message Queue System β€” Added a new MessageQueue class in run.py, supporting async enqueue, drain, and remove operations. Users can now queue messages while the LLM is running; queued messages are sent automatically after the current task completes. The frontend introduces a QueueBar component to display queued messages, with CSS spinning animation, single-line ellipsis, and hover-to-delete functionality.

Queue Message Merging β€” MessageQueue.drain_all() now merges consecutive messages with the same name into a single message, preventing fragmented user input when multiple queue entries share the same sender.

Queue WebSocket Events β€” The execution event protocol introduces three new event types: message_queued, queue_drained, and queue_returned (useRunWebSocket.ts). The frontend processes queue state updates in real time.