Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion openhands_cli/shared/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# Shared utilities for openhands_cli

from openhands_cli.shared.conversation_summary import extract_conversation_summary
from openhands_cli.shared.delegate_formatter import format_delegate_title
from openhands_cli.shared.slash_commands import parse_slash_command


__all__ = ["extract_conversation_summary", "parse_slash_command"]
__all__ = [
"extract_conversation_summary",
"format_delegate_title",
"parse_slash_command",
]
21 changes: 21 additions & 0 deletions openhands_cli/tui/core/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,27 @@
├── WorkingStatusLine
├── InputField
└── InfoStatusLine

State Transitions:
The key state variables and their transitions:

conversation_id:
None ──[create/switch]──> UUID ──[switch]──> None (briefly) ──> UUID

running:
False ──[user_message]──> True ──[finish/error]──> False
──[pause]──> False

pending_action_count:
0 ──[actions_pending]──> N ──[approve/reject]──> 0

Typical flow:
1. App starts: conversation_id=None, running=False
2. User sends message: running=True
3. Agent runs: pending_action_count may increase if policy requires confirmation
4. User approves/rejects: pending_action_count=0
5. Agent finishes: running=False
6. Switch conversation: conversation_id=None briefly, then new UUID
"""

import threading
Expand Down