plexus.cli.procedure.tactus_adapters.chat module
Plexus Chat Adapter for Tactus.
Thin wrapper around ProcedureChatRecorder that implements the Tactus ChatRecorder protocol by converting Pydantic models to kwargs.
- class plexus.cli.procedure.tactus_adapters.chat.PlexusChatAdapter(chat_recorder)
Bases:
objectImplements Tactus ChatRecorder protocol by wrapping ProcedureChatRecorder.
This is a thin adapter that converts Pydantic ChatMessage models to the kwargs format expected by ProcedureChatRecorder.
Initialize Plexus chat adapter.
- Args:
chat_recorder: ProcedureChatRecorder instance
- __init__(chat_recorder)
Initialize Plexus chat adapter.
- Args:
chat_recorder: ProcedureChatRecorder instance
- async end_session(session_id: str, status: str = 'COMPLETED') None
End the chat session.
- Args:
session_id: Session ID to end status: Final status (COMPLETED, FAILED, CANCELLED)
- async get_session_history(session_id: str) list[ChatMessage]
Get the message history for a session.
- Args:
session_id: Session ID
- Returns:
List of ChatMessage objects
- async record_message(message: ChatMessage) str
Record a message in the chat session.
- Args:
message: ChatMessage to record
- Returns:
Message ID
- async start_session(context: Dict[str, Any] | None = None) str
Start a new chat session.
Note: This signature matches how TactusRuntime actually calls it (runtime.py:214), which only passes context. The Tactus ChatRecorder protocol definition incorrectly specifies procedure_id as the first parameter, but this is not how it’s used.
- Args:
context: Optional context data
- Returns:
Session ID