Activity probe
activity_probe.SessionActivityProbe
The session-activity verdict over one transcript.
Usage
activity_probe.SessionActivityProbe(
is_waiting, mid_tool, pending, last_event_epoch
)Attributes
is_waiting: bool-
Whether the session waits on ephemeral or pending async work.
mid_tool: bool-
Whether the current turn has an unanswered non-human-facing call.
pending: tuple[PendingItem, …]-
The contributing calls, in document order, deduped by tool-use id.
last_event_epoch: int | None- The latest envelope timestamp as epoch seconds, or None.
activity_probe.session_activity_probe()
Probes the transcript at path for session activity.
Usage
activity_probe.session_activity_probe(
path,
*,
waiting_tools=DEFAULT_WAITING_TOOLS,
human_facing_tools=DEFAULT_HUMAN_FACING_TOOLS
)The Rust extension reads and parses the file and runs the oracle in one pass, returning the session-activity verdict.
Parameters
path: Path-
The
.jsonltranscript to probe. waiting_tools: frozenset[str] = DEFAULT_WAITING_TOOLS-
Tool names whose calls in the current turn mark the session waiting.
human_facing_tools: frozenset[str] = DEFAULT_HUMAN_FACING_TOOLS- Tool names whose unanswered calls are the user’s move, never mid-tool.
Returns
SessionActivityProbe- The session-activity verdict.