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
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
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
- execute
- getAnalytics
- getExecutionStats
- getStatus
- clearAnalytics
- getAnalyticsData
- getPluginStatuses
- getDelegationHistory
- getTeamExecutionAnalysis
- clearDelegationHistory
- getStats
- getTeamStats
- resetTeamStats
- getTemplates
- getTemplate
Constructors
constructor
• new TeamContainer(options
): TeamContainer
Parameters
Name | Type |
---|---|
options | TeamContainerOptions |
Returns
Defined in
Methods
execute
▸ execute(userPrompt
): Promise
<string
>
Execute a task using the team approach
Parameters
Name | Type | Description |
---|---|---|
userPrompt | string | The task to execute |
Returns
Promise
<string
>
Promise<string> - The result of the task execution
Defined in
getAnalytics
▸ getAnalytics(): any
Get team analytics from ExecutionAnalyticsPlugin
Returns
any
Defined in
getExecutionStats
▸ getExecutionStats(operation?
): any
Get execution statistics by operation type
Parameters
Name | Type |
---|---|
operation? | string |
Returns
any
Defined in
getStatus
▸ getStatus(): any
Get detailed plugin status and memory usage
Returns
any
Defined in
clearAnalytics
▸ clearAnalytics(): void
Clear analytics data
Returns
void
Defined in
getAnalyticsData
▸ getAnalyticsData(): any
Get raw analytics data
Returns
any
Defined in
getPluginStatuses
▸ getPluginStatuses(): any
Get all plugin statuses
Returns
any
Defined in
getDelegationHistory
▸ getDelegationHistory(): TaskDelegationRecord
[]
Get delegation history
Returns raw delegation records for detailed analysis
Returns
TaskDelegationRecord
[]
Defined in
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
clearDelegationHistory
▸ clearDelegationHistory(): void
Clear delegation history
Returns
void
Defined in
getStats
▸ getStats(): Object
Get statistics for team performance (alias for getTeamStats)
Returns
Object
Object containing team performance statistics
Name | Type |
---|---|
tasksCompleted | number |
totalAgentsCreated | number |
totalExecutionTime | number |
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
getTeamStats
▸ getTeamStats(): Object
Returns
Object
Name | Type |
---|---|
activeAgentsCount | number |
totalAgentsCreated | number |
maxMembers | string | number |
delegationHistoryLength | number |
successfulTasks | number |
failedTasks | number |
tasksCompleted | number |
totalExecutionTime | number |
Defined in
resetTeamStats
▸ resetTeamStats(): void
Reset team statistics
Returns
void
Defined in
getTemplates
▸ getTemplates(): AgentTemplate
[]
Get available templates
Returns
AgentTemplate
[]
Defined in
getTemplate
▸ getTemplate(templateId
): undefined
| AgentTemplate
Get template by ID
Parameters
Name | Type |
---|---|
templateId | string |
Returns
undefined
| AgentTemplate