A shell agent that run its sub-agents in a loop.

When sub-agent generates an event with escalate or max_iterations are reached, the loop agent will stop.

Hierarchy (view full)

Constructors

Properties

name: string

The agent's name. Agent name must be a valid identifier and unique within the agent tree. Agent name cannot be "user", since it's reserved for end-user's input.

description: string = ""

Description about the agent's capability. The model uses this to determine whether to delegate control to the agent. One-line description is enough and preferred.

parentAgent?: BaseAgent

The parent agent of this agent. Note that an agent can ONLY be added as sub-agent once. If you want to add one agent twice as sub-agent, consider to create two agent instances with identical config, but with different name and add them to the agent tree.

subAgents: BaseAgent[] = []

The sub-agents of this agent.

beforeAgentCallback?: BeforeAgentCallback

Callback or list of callbacks to be invoked before the agent run. When a list of callbacks is provided, the callbacks will be called in the order they are listed until a callback does not return undefined.

Args: callbackContext: The callback context.

Returns: Content | undefined: The content to return to the user. When the content is present, the agent run will be skipped and the provided content will be returned to user.

afterAgentCallback?: AfterAgentCallback

Callback or list of callbacks to be invoked after the agent run. When a list of callbacks is provided, the callbacks will be called in the order they are listed until a callback does not return undefined.

Args: callbackContext: The callback context.

Returns: Content | undefined: The content to return to the user. When the content is present, the provided content will be used as agent response and appended to event history as agent response.

maxIterations?: number

The maximum number of iterations to run the loop agent. If not set, the loop agent will run indefinitely until a sub-agent escalates.

Accessors

Methods