SelectionStrategy Class 
Base strategy class for selecting the next agent in a chat.
Note: This class is marked as 'experimental' and may change in the future.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Constructor
SelectionStrategy(*, has_selected: bool = False, initial_agent: Agent | None = None)
		Keyword-Only Parameters
| Name | Description | 
|---|---|
| 
		 has_selected 
			
				Required
			 
	 | 
	
		 | 
| 
		 initial_agent 
			
				Required
			 
	 | 
	
		 | 
Methods
| next | 
					 Select the next agent to interact with.  | 
			
| select_agent | 
					 Determines which agent goes next. Override for custom logic. By default, this fallback returns the first agent in the list.  | 
			
next
Select the next agent to interact with.
async next(agents: list[Agent], history: list[ChatMessageContent]) -> Agent
		Parameters
| Name | Description | 
|---|---|
| 
		 agents 
			
				Required
			 
	 | 
	
		 The list of agents to select from.  | 
| 
		 history 
			
				Required
			 
	 | 
	
		 The history of messages in the conversation.  | 
Returns
| Type | Description | 
|---|---|
| 
					 The agent who takes the next turn.  | 
		
select_agent
Determines which agent goes next. Override for custom logic.
By default, this fallback returns the first agent in the list.
async select_agent(agents: list[Agent], history: list[ChatMessageContent]) -> Agent
		Parameters
| Name | Description | 
|---|---|
| 
		 agents 
			
				Required
			 
	 | 
	
		 | 
| 
		 history 
			
				Required
			 
	 | 
	
		 | 
Attributes
has_selected
has_selected: bool
initial_agent
initial_agent: Agent | None
is_experimental
is_experimental = True
stage_status
stage_status = 'experimental'