Skip to content

team / Exports / TeamContainer

Class: TeamContainer

TeamContainer - Multi-Agent Team Collaboration System

Description

The TeamContainer class implements an intelligent multi-agent collaboration system where a primary team coordinator can dynamically delegate specialized tasks to temporary expert agents. This enables solving complex, multi-faceted problems through coordinated teamwork.

Features

  • Intelligent Task Delegation: Automatically breaks down complex requests into specialized components
  • Dynamic Agent Creation: Creates temporary expert agents tailored for specific tasks
  • Collaborative Workflows: Coordinates multiple agents to solve multi-faceted problems
  • Result Integration: Synthesizes outputs from multiple agents into cohesive responses
  • Resource Management: Automatic cleanup and resource management for temporary agents
  • Performance Monitoring: Comprehensive statistics and performance tracking via ExecutionAnalyticsPlugin

Example

typescript
import { createTeam } from '@robota-sdk/team';
import { OpenAIProvider } from '@robota-sdk/openai';

const team = createTeam({
  provider: new OpenAIProvider({
    apiKey: process.env.OPENAI_API_KEY,
    model: 'gpt-4'
  }),
  maxTokenLimit: 50000,
  logger: console
});

const response = await team.execute(`
  Create a comprehensive business plan including:
  1) Market analysis
  2) Financial projections  
  3) Marketing strategy
`);

Example

typescript
const team = new TeamContainer({
  baseRobotaOptions: {
    aiProviders: { openai: openaiProvider },
    currentProvider: 'openai',
    currentModel: 'gpt-4',
    maxTokenLimit: 50000
  },
  maxMembers: 10,
  debug: true
});

// The team intelligently delegates work
const result = await team.execute(
  'Design a complete mobile app including UI/UX design, backend architecture, and deployment strategy'
);

// View team performance statistics from ExecutionAnalyticsPlugin
const analyticsStats = team.getAnalytics();
console.log(`Success rate: ${(analyticsStats.successRate * 100).toFixed(1)}%`);
console.log(`Average execution time: ${analyticsStats.averageDuration.toFixed(0)}ms`);

See

  • createTeam - Convenience function for creating teams
  • AssignTaskParams - Parameters for task assignment

Table of contents

Constructors

Methods

Constructors

constructor

new TeamContainer(options): TeamContainer

Parameters

NameType
optionsTeamContainerOptions

Returns

TeamContainer

Defined in

team-container.ts:160

Methods

execute

execute(userPrompt): Promise<string>

Execute a task using the team approach

Parameters

NameTypeDescription
userPromptstringThe task to execute

Returns

Promise<string>

Promise<string> - The result of the task execution

Defined in

team-container.ts:223


getAnalytics

getAnalytics(): any

Get team analytics from ExecutionAnalyticsPlugin

Returns

any

Defined in

team-container.ts:489


getExecutionStats

getExecutionStats(operation?): any

Get execution statistics by operation type

Parameters

NameType
operation?string

Returns

any

Defined in

team-container.ts:500


getStatus

getStatus(): any

Get detailed plugin status and memory usage

Returns

any

Defined in

team-container.ts:511


clearAnalytics

clearAnalytics(): void

Clear analytics data

Returns

void

Defined in

team-container.ts:522


getAnalyticsData

getAnalyticsData(): any

Get raw analytics data

Returns

any

Defined in

team-container.ts:532


getPluginStatuses

getPluginStatuses(): any

Get all plugin statuses

Returns

any

Defined in

team-container.ts:543


getDelegationHistory

getDelegationHistory(): TaskDelegationRecord[]

Get delegation history

Returns raw delegation records for detailed analysis

Returns

TaskDelegationRecord[]

Defined in

team-container.ts:563


getTeamExecutionAnalysis

getTeamExecutionAnalysis(): TeamExecutionAnalysis

Get team execution analysis

Provides comprehensive analysis of how the team handled tasks, including delegation patterns and performance metrics

Returns

TeamExecutionAnalysis

Defined in

team-container.ts:573


clearDelegationHistory

clearDelegationHistory(): void

Clear delegation history

Returns

void

Defined in

team-container.ts:630


getStats

getStats(): Object

Get statistics for team performance (alias for getTeamStats)

Returns

Object

Object containing team performance statistics

NameType
tasksCompletednumber
totalAgentsCreatednumber
totalExecutionTimenumber

Description

Returns statistics about team performance including task completion, agent creation, and execution time. This method is used by examples to show team performance metrics.

Defined in

team-container.ts:648


getTeamStats

getTeamStats(): Object

Returns

Object

NameType
activeAgentsCountnumber
totalAgentsCreatednumber
maxMembersstring | number
delegationHistoryLengthnumber
successfulTasksnumber
failedTasksnumber
tasksCompletednumber
totalExecutionTimenumber

Defined in

team-container.ts:656


resetTeamStats

resetTeamStats(): void

Reset team statistics

Returns

void

Defined in

team-container.ts:672


getTemplates

getTemplates(): AgentTemplate[]

Get available templates

Returns

AgentTemplate[]

Defined in

team-container.ts:683


getTemplate

getTemplate(templateId): undefined | AgentTemplate

Get template by ID

Parameters

NameType
templateIdstring

Returns

undefined | AgentTemplate

Defined in

team-container.ts:690

Released under the MIT License.