TanStack

DefinedAgent

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:50

A named child agent. run is a chat() call (or any stream of AG-UI chunks). TTools and TSchema stay on the object so useChat({ subagents }) can type that child's parts.

Extends

  • SubagentInfo

Type Parameters

TName

TName extends string = string

TTools

TTools extends ReadonlyArray<SubagentTool> = ReadonlyArray<SubagentTool>

TSchema

TSchema extends SchemaInput | undefined = SchemaInput | undefined

TInterrupts

TInterrupts extends ReadonlyArray<InterruptDefinition<any, any, any, any>> = ReadonlyArray<InterruptDefinition<any, any, any, any>>

Properties

description

ts
description: string;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:59

Required here: the router and the synthetic tool both read it.

Overrides

ts
AGUISubagentInfo.description

interrupts?

ts
optional interrupts?: TInterrupts;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:64


name

ts
name: TName;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:57

Unique name or identifier of the subagent.

Overrides

ts
AGUISubagentInfo.name

outputSchema?

ts
optional outputSchema?: TSchema;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:65


run

ts
run: (ctx) => 
  | AsyncIterable<AGUIEvent, any, any>
| Promise<AsyncIterable<AGUIEvent, any, any>>;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:60

Parameters

ctx

SubagentRunContext

Returns

| AsyncIterable<AGUIEvent, any, any> | Promise<AsyncIterable<AGUIEvent, any, any>>


subagents?

ts
optional subagents?: unknown;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:66


tools?

ts
optional tools?: TTools;

Defined in: packages/ai/src/activities/chat/agents/define-agent.ts:63