primus.console.chat_runtime module
- class primus.console.chat_runtime.ConsoleMessage(id: 'str', account_id: 'str', session_id: 'str', procedure_id: 'str', content: 'str', role: 'str', message_type: 'str', human_interaction: 'str', response_target: 'str', response_status: 'str', created_at: 'str', selected_model: 'Optional[str]' = None, tool_access_mode: 'Optional[str]' = None, private: 'bool' = False, privacy_owner_user_id: 'Optional[str]' = None, privacy_span_id: 'Optional[str]' = None, client_send_started_at: 'Optional[str]' = None, metadata: 'Optional[Dict[str, Any]]' = None, session_scope: 'Optional[Dict[str, Any]]' = None)
Bases:
object- __init__(id: str, account_id: str, session_id: str, procedure_id: str, content: str, role: str, message_type: str, human_interaction: str, response_target: str, response_status: str, created_at: str, selected_model: str | None = None, tool_access_mode: str | None = None, private: bool = False, privacy_owner_user_id: str | None = None, privacy_span_id: str | None = None, client_send_started_at: str | None = None, metadata: Dict[str, Any] | None = None, session_scope: Dict[str, Any] | None = None) None
- account_id: str
- client_send_started_at: str | None = None
- content: str
- created_at: str
- human_interaction: str
- id: str
- message_type: str
- metadata: Dict[str, Any] | None = None
- privacy_owner_user_id: str | None = None
- privacy_span_id: str | None = None
- private: bool = False
- procedure_id: str
- response_status: str
- response_target: str
- role: str
- selected_model: str | None = None
- session_id: str
- session_scope: Dict[str, Any] | None = None
- tool_access_mode: str | None = None
- primus.console.chat_runtime.build_response_owner(target: str, *, request_id: str | None = None) str
- primus.console.chat_runtime.claim_message(client: PrimusDashboardClient, message: ConsoleMessage, *, expected_target: str, owner: str, latency_trace: Dict[str, Any] | None = None) bool
- primus.console.chat_runtime.console_async_tasks_available() bool
Whether this Console worker can dispatch work to a durable async consumer.
A missing flag preserves the production behavior. Sandboxes without the TaskDispatcher/Celery stack set it to false so the agent can offer a synchronous alternative instead of creating a task that can never run.
- primus.console.chat_runtime.fetch_assistant_chat_messages_between(client: PrimusDashboardClient, *, session_id: str, start_created_at: str, end_created_at: str, limit: int = 3) List[str]
- primus.console.chat_runtime.fetch_chat_session(client: PrimusDashboardClient, session_id: str) Dict[str, Any] | None
- primus.console.chat_runtime.fetch_first_assistant_chunk_details(client: PrimusDashboardClient, session_id: str, *, after_iso: str | None, max_items: int = 300) Dict[str, Any] | None
- primus.console.chat_runtime.fetch_first_assistant_chunk_timestamp(client: PrimusDashboardClient, session_id: str, *, after_iso: str | None, max_items: int = 300) str | None
- primus.console.chat_runtime.fetch_latest_report_task(client: PrimusDashboardClient, session_id: str) Dict[str, str] | None
Read the durable report task captured on the most recent tool message.
- primus.console.chat_runtime.fetch_latest_score_edit_audit(client: PrimusDashboardClient, session_id: str, *, max_items: int = 200) Dict[str, Any] | None
Find the most recent persisted Console score-edit audit for this session.
This deliberately reads message metadata rather than chat prose: later model responses can be wrong, while the audit is written by the score-edit path.
- primus.console.chat_runtime.fetch_message(client: PrimusDashboardClient, message_id: str) ConsoleMessage | None
- primus.console.chat_runtime.fetch_recent_user_chat_turns(client: PrimusDashboardClient, session_id: str, *, max_turns: int = 3) List[Dict[str, str]]
- primus.console.chat_runtime.fetch_session_history(client: PrimusDashboardClient, session_id: str, *, limit: int = 6, include_private_for_owner_user_id: str | None = None) List[Dict[str, str]]
- primus.console.chat_runtime.mark_message_completed(client: PrimusDashboardClient, message_id: str, *, created_at: str | None, completed_at: str | None = None, metadata: Dict[str, Any] | None = None) None
- primus.console.chat_runtime.mark_message_failed(client: PrimusDashboardClient, message_id: str, error: Exception, *, created_at: str | None, completed_at: str | None = None, metadata: Dict[str, Any] | None = None) None
- primus.console.chat_runtime.maybe_auto_title_session(client: PrimusDashboardClient, *, message: ConsoleMessage) None
- primus.console.chat_runtime.normalize_response_target(value: str | None) str
- primus.console.chat_runtime.parse_chat_message(raw: Dict[str, Any]) ConsoleMessage | None
- primus.console.chat_runtime.process_console_message(client: PrimusDashboardClient, raw_message: Dict[str, Any], *, expected_target: str, owner: str, poll_context: Dict[str, Any] | None = None) bool
- primus.console.chat_runtime.process_pending_local_messages(client: PrimusDashboardClient, *, response_target: str, owner: str, limit: int = 5) int
- primus.console.chat_runtime.resolve_console_tool_access_mode(client: PrimusDashboardClient, message: ConsoleMessage, *, session_scope: Dict[str, Any] | None = None) str
- primus.console.chat_runtime.run_console_chat_response(client: PrimusDashboardClient, message: ConsoleMessage, *, owner: str, latency_trace: Dict[str, Any] | None = None) Dict[str, Any]
- async primus.console.chat_runtime.run_console_chat_response_async(client: PrimusDashboardClient, message: ConsoleMessage, *, owner: str, latency_trace: Dict[str, Any] | None = None) Dict[str, Any]
- primus.console.chat_runtime.should_handle_message(message: ConsoleMessage, expected_target: str) bool
- primus.console.chat_runtime.update_chat_session_title(client: PrimusDashboardClient, *, session_id: str, title: str, turn: int, trigger_message_id: str | None, existing_metadata: Dict[str, Any] | None) None
- primus.console.chat_runtime.utc_now() str
- primus.console.chat_runtime.warm_console_runtime(client: PrimusDashboardClient) None