Share via


AgentThread Class

Base class for agent threads. An agent thread manages the lifecycle and contextual state of a conversation from the perspective of one or more participating agents. This includes creating the thread, deleting it, and notifying it of new messages from any participant.

Constructor

AgentThread()

Methods

create

Starts the thread and returns the thread ID. Raises RuntimeError if the thread has previously been deleted.

delete

Ends the current thread. No operation if the thread has already been deleted or never created.

on_new_message

Invoked when a new message has been contributed to the chat by any participant. If the thread is not created yet, create() is called first.

_create

(Abstract) Internal hook to start the thread and retrieve its ID from an external or underlying system.

_delete

(Abstract) Internal hook to end the thread in an external or underlying system.

_on_new_message

(Abstract) Internal hook invoked whenever a new message is submitted to the thread.

create

Starts the thread and returns the thread ID. Raises RuntimeError if the thread has previously been deleted.

async create() -> str | None

Returns

Type Description

The string thread ID if created successfully, otherwise None.

delete

Ends the current thread. No operation if the thread has already been deleted or never created.

async delete() -> None

on_new_message

Invoked when a new message has been contributed to the chat by any participant. If the thread is not created yet, create() is called first.

async on_new_message(new_message: ChatMessageContent) -> None

Parameters

Name Description
new_message
Required

The new message content contributed by a participant.

_create

(Abstract) Internal hook to start the thread and retrieve its ID from an external or underlying system.

abstract async _create() -> str

_delete

(Abstract) Internal hook to end the thread in an external or underlying system.

abstract async _delete() -> None

_on_new_message

(Abstract) Internal hook invoked whenever a new message is submitted to the thread.

abstract async _on_new_message(new_message: ChatMessageContent) -> None

Attributes

id

The ID of the current thread. Raises RuntimeError if accessed after the thread has been deleted.

id: str | None