Skip to main content

Interface: TeamMemberSpec

Defined in: packages/orchestration/src/team/types.ts:20

A persistent named team member. Lives across many dispatches.

Distinct from CrewAgentConfig in that members are persisted personas — the caller is responsible for wiring the processable (or processableFactory) with whatever memory bank / shared tools / model overrides the member needs.

Exactly one of processable / processableFactory must be provided.

Properties

avatarEmoji?

optional avatarEmoji?: string

Defined in: packages/orchestration/src/team/types.ts:49

Single emoji shown next to this member in group-chat UIs. Passed through to GroupSession agent meta (avatarEmoji).


budgetPerTicket?

optional budgetPerTicket?: number

Defined in: packages/orchestration/src/team/types.ts:40

Per-member spend cap in USD per ticket.


budgetTotal?

optional budgetTotal?: number

Defined in: packages/orchestration/src/team/types.ts:42

Per-member total spend cap.


capabilities

capabilities: string[]

Defined in: packages/orchestration/src/team/types.ts:28

Capabilities (used by coordinator for auto-assignment).


displayName?

optional displayName?: string

Defined in: packages/orchestration/src/team/types.ts:24

Display name for UI, e.g. "Reyna, Systems Engineer".


maxConcurrent?

optional maxConcurrent?: number

Defined in: packages/orchestration/src/team/types.ts:44

Max concurrent runs for this member.


name

name: string

Defined in: packages/orchestration/src/team/types.ts:22

Stable handle, e.g. "rust-systems" — used as ticket assignee.


personality?

optional personality?: Personality

Defined in: packages/orchestration/src/team/types.ts:54

Optional personality wrapper applied in group-chat topology only. Ignored by coordinator / direct-dispatch paths.


processable?

optional processable?: Processable<unknown, unknown>

Defined in: packages/orchestration/src/team/types.ts:30

Pre-built processable. Provide exactly one of processable or processableFactory.


processableFactory?

optional processableFactory?: (ticket) => Processable<unknown, unknown> | Promise<Processable<unknown, unknown>>

Defined in: packages/orchestration/src/team/types.ts:38

Factory invoked per dispatch with the ticket being run. Use this when the processable needs ticket-scoped tools, per-dispatch persona/memory wiring, or any other context that isn't known at Team construction time.

Provide exactly one of processable or processableFactory.

Parameters

ticket

Ticket

Returns

Processable<unknown, unknown> | Promise<Processable<unknown, unknown>>


role

role: string

Defined in: packages/orchestration/src/team/types.ts:26

Human-readable role description.