agents / Exports
agents
Fileoverview
Robota SDK Agents Package - Comprehensive AI Agent Framework
🎯 Centralized node type management: domain-neutral workflow node type system
The @robota-sdk/agent-core package provides a complete AI agent framework with support for multiple AI providers, tool calling, plugin systems, and streaming responses. This package provides a modern, modular architecture for building powerful AI applications.
Key Features
- Multi-Provider Support: OpenAI, Anthropic, Google, and custom AI providers
- Tool Calling: Zod-based schema validation for function calls
- Plugin System: Extensible lifecycle hooks for logging, analytics, error handling
- Streaming Responses: Real-time response streaming from all providers
- Conversation Management: Centralized history and session management
- Type Safety: Full TypeScript support with strict type checking
- Modular Architecture: Independent packages with clear separation of concerns
Quick Start
import { Robota } from '@robota-sdk/agent-core';
import { OpenAIProvider } from '@robota-sdk/agent-provider-openai';
const robota = new Robota({
name: 'MyAgent',
aiProviders: {
openai: new OpenAIProvider({ apiKey: 'sk-...' }),
},
currentProvider: 'openai',
currentModel: 'gpt-4',
});
const response = await robota.run('Hello, world!');
console.log(response);Package Structure
- Core Agent:
Robotaclass for AI conversations - Abstracts: Base classes for extending functionality
- Interfaces: TypeScript definitions for all components
- Plugins: Extensible functionality (8+ built-in plugins)
- Tools: Function calling and tool management
- Managers: Resource and state management
- Utils: Logging, error handling, validation utilities
Table of contents
References
Enumerations
Classes
- AbstractAgent
- AbstractAIProvider
- AbstractExecutor
- AbstractManager
- AbstractPlugin
- Robota
- LocalExecutor
- AgentFactory
- AgentTemplates
- ConversationSession
- ConversationHistory
- ConversationHistoryPlugin
- ErrorHandlingPlugin
- EventEmitterPlugin
- ExecutionAnalyticsPlugin
- LimitsPlugin
- LoggingPlugin
- NodeSystemMetricsCollector
- PerformancePlugin
- MemoryPerformanceStorage
- FileUsageStorage
- MemoryUsageStorage
- RemoteUsageStorage
- SilentUsageStorage
- UsagePlugin
- WebhookPlugin
- AbstractEventService
- DefaultEventService
- StructuredEventService
- FunctionTool
- RelayMcpTool
- ToolRegistry
- RobotaError
- ConfigurationError
- ValidationError
- ProviderError
- AuthenticationError
- RateLimitError
- NetworkError
- ToolExecutionError
- ModelNotAvailableError
- CircuitBreakerOpenError
- PluginError
- StorageError
- ErrorUtils
- ExecutionProxy
- ConsoleLogger
- MessageConverter
- Validator
Interfaces
- TypeSafeAIProvider
- ProviderConfig
- ExecutorAwareProviderConfig
- IPluginExecutionContext
- IPluginExecutionResult
- IPluginErrorContext
- IPluginConfig
- IPluginOptions
- IPluginData
- ITypeSafePlugin
- IPluginStats
- IPlugin
- IPluginHooks
- AIProviderInstance
- IAgentConfig
- IAgentTemplate
- IRunOptions
- IOwnerPathSegment
- IEventContext
- IBaseEventData
- IExecutionEventData
- IToolEventData
- IAgentEventData
- IEventService
- IEventServiceOwnerBinding
- IChatExecutionRequest
- IStreamExecutionRequest
- IExecutor
- ILocalExecutorConfig
- IRemoteExecutorConfig
- IConfigValidationResult
- IAIProviderManager
- IToolManager
- IAgentCreationOptions
- IAgentFactory
- IToolCall
- IBaseMessage
- IUserMessage
- IAssistantMessage
- ISystemMessage
- IToolMessage
- IToolExecutionStep
- IProgressReportingTool
- IToolSchema
- IParameterSchema
- ITokenUsage
- IRawProviderResponse
- IProviderRequest
- IProviderSpecificOptions
- IChatOptions
- IAIProvider
- IProviderOptions
- IToolExecutionRequest
- IConversationContext
- IConversationResponse
- IStreamingChunk
- IConversationServiceOptions
- IContextOptions
- IExecutionServiceOptions
- IConversationService
- IToolExecutionService
- IExecutionService
- IToolResult
- IToolExecutionResult
- IToolExecutionContext
- IParameterValidationResult
- IOpenAPIToolConfig
- IMCPToolConfig
- IToolInterface
- IFunctionTool
- IToolRegistry
- IToolFactory
- IUniversalObjectValue
- IPluginContext
- IWorkflowConfig
- IWorkflowMetadata
- IWorkflowData
- IWorkflowConversionOptions
- IWorkflowConversionResult
- IWorkflowConverter
- IValidationIssue
- IValidationOptions
- IValidationResult
- IWorkflowValidator
- IAgentFactoryOptions
- IAgentCreationStats
- IAgentLifecycleEvents
- ITemplateApplicationResult
- ConversationHistoryPluginOptions
- ConversationHistoryEntry
- HistoryStorage
- ErrorHandlingPluginOptions
- EventData
- HierarchicalEventData
- EventEmitterPluginOptions
- AnalyticsContextData
- ExecutionStats
- AggregatedExecutionStats
- ExecutionAnalyticsOptions
- ExecutionAnalyticsPluginStats
- LimitsPluginOptions
- LogEntry
- LoggingPluginOptions
- LogFormatter
- PerformanceMetrics
- AggregatedPerformanceStats
- PerformancePluginOptions
- PerformanceStorage
- SystemMetricsCollector
- UsageStats
- AggregatedUsageStats
- UsagePluginOptions
- UsageStorage
- WebhookPayload
- WebhookEndpoint
- WebhookPluginOptions
- IRelayMcpContext
- IRelayMcpOptions
- AbstractLogger
- IUtilLogEntry
- ILogger
Type Aliases
- ProviderLoggingData
- TWorkflowNodeType
- TAgentCreationMetadata
- TManagerToolParameters
- TUniversalMessageRole
- TUniversalMessageMetadata
- TUniversalMessage
- TToolProgressCallback
- TProviderConfigValue
- TParameterDefaultValue
- TJSONSchemaType
- TJSONSchemaEnum
- TConversationContextMetadata
- TToolExecutionParameters
- TExecutionMetadata
- TResponseMetadata
- TToolMetadata
- TToolExecutor
- TPrimitiveValue
- TUniversalValue
- TUniversalArrayValue
- TMetadataValue
- TMetadata
- TContextData
- TLoggerData
- TComplexConfigValue
- TConfigValue
- TConfigData
- TToolParameterValue
- TToolParameters
- TToolResultData
- HistoryStorageStrategy
- ErrorHandlingStrategy
- EventType
- EventListener
- LimitsStrategy
- LoggingStrategy
- LogLevel
- PerformanceMonitoringStrategy
- UsageTrackingStrategy
- WebhookEventType
- ErrorContextData
- ErrorExternalInput
- TimerId
- TUtilLogLevel
- SimpleLogger
Variables
- AGENT_EVENTS
- WORKFLOW_NODE_TYPES
- WORKFLOW_NODE_TYPE_DESCRIPTIONS
- TypeUtils
- EVENT_EMITTER_EVENTS
- DEFAULT_ABSTRACT_EVENT_SERVICE
- EXECUTION_EVENTS
- TOOL_EVENTS
- logger
- SilentLogger
- DefaultConsoleLogger
- StderrLogger
Functions
- isValidWorkflowNodeType
- isProgressReportingTool
- getToolEstimatedDuration
- getToolExecutionSteps
- setToolProgressCallback
- isUserMessage
- isAssistantMessage
- isSystemMessage
- isToolMessage
- isDefaultEventService
- bindWithOwnerPath
- bindEventServiceOwner
- createFunctionTool
- createZodFunctionTool
- createExecutionProxy
- withEventEmission
- createLogger
- setGlobalLogLevel
- getGlobalLogLevel
- validateAgentConfig
- validateUserInput
- validateProviderName
- validateModelName
- validateApiKey
References
IFunctionSchema
Renames and re-exports IToolSchema
Type Aliases
ProviderLoggingData
Ƭ ProviderLoggingData: Record<string, string | number | boolean | Date | string[]>
Provider logging data type Used for storing logging information in provider operations
Defined in
packages/agents/src/abstracts/abstract-ai-provider.ts:20
TWorkflowNodeType
Ƭ TWorkflowNodeType: typeof WORKFLOW_NODE_TYPES[keyof typeof WORKFLOW_NODE_TYPES]
Workflow node type union.
Prevents using node types outside of WORKFLOW_NODE_TYPES.
Defined in
packages/agents/src/constants/workflow-node-types.ts:70
TAgentCreationMetadata
Ƭ TAgentCreationMetadata: Record<string, string | number | boolean | Date>
Agent creation metadata type Used for storing additional information about agent creation and configuration
Defined in
packages/agents/src/interfaces/manager.ts:14
TManagerToolParameters
Ƭ TManagerToolParameters: Record<string, string | number | boolean | string[] | number[] | boolean[]>
Tool execution parameters for manager operations Used for tool parameter validation and execution in manager context
Defined in
packages/agents/src/interfaces/manager.ts:20
TUniversalMessageRole
Ƭ TUniversalMessageRole: "user" | "assistant" | "system" | "tool"
Universal message role type - provider-independent neutral role.
Defined in
packages/agents/src/interfaces/messages.ts:14
TUniversalMessageMetadata
Ƭ TUniversalMessageMetadata: Record<string, string | number | boolean | Date | string[] | number[]>
Message metadata used across conversation history and provider adapters.
Defined in
packages/agents/src/interfaces/messages.ts:19
TUniversalMessage
Ƭ TUniversalMessage: IUserMessage | IAssistantMessage | ISystemMessage | IToolMessage
Universal message union used across the SDK as the canonical contract.
Defined in
packages/agents/src/interfaces/messages.ts:72
TToolProgressCallback
Ƭ TToolProgressCallback: (step: string, progress: number) => void
Progress callback function type for real-time progress updates
Type declaration
▸ (step, progress): void
Parameters
| Name | Type |
|---|---|
step | string |
progress | number |
Returns
void
Defined in
packages/agents/src/interfaces/progress-reporting.ts:23
TProviderConfigValue
Ƭ TProviderConfigValue: string | number | boolean
Provider configuration value type Used for storing provider-specific configuration values
Defined in
packages/agents/src/interfaces/provider.ts:11
TParameterDefaultValue
Ƭ TParameterDefaultValue: string | number | boolean | null
JSON Schema parameter default value type Used for default values in parameter schemas
Defined in
packages/agents/src/interfaces/provider.ts:17
TJSONSchemaType
Ƭ TJSONSchemaType: "string" | "number" | "integer" | "boolean" | "array" | "object" | "null"
JSON Schema primitive types
Defined in
packages/agents/src/interfaces/provider.ts:22
TJSONSchemaEnum
Ƭ TJSONSchemaEnum: string[] | number[] | boolean[] | (string | number | boolean)[]
JSON Schema enum values
Defined in
packages/agents/src/interfaces/provider.ts:27
TConversationContextMetadata
Ƭ TConversationContextMetadata: Record<string, string | number | boolean | Date>
Metadata type for conversation and execution context Used for storing additional information about conversations, responses, and execution
Defined in
packages/agents/src/interfaces/service.ts:19
TToolExecutionParameters
Ƭ TToolExecutionParameters: Record<string, string | number | boolean | string[] | number[] | boolean[]>
Tool execution parameters type Used for passing parameters to tool execution methods
Defined in
packages/agents/src/interfaces/service.ts:25
TExecutionMetadata
Ƭ TExecutionMetadata: Record<string, string | number | boolean | Date>
Execution metadata type Used for storing metadata about execution processes and options
Defined in
packages/agents/src/interfaces/service.ts:31
TResponseMetadata
Ƭ TResponseMetadata: Record<string, string | number | boolean | Date>
Response metadata type
Used for storing metadata about AI provider responses and streaming chunks
Defined in
packages/agents/src/interfaces/service.ts:37
TToolMetadata
Ƭ TToolMetadata: Record<string, string | number | boolean | string[] | number[] | boolean[] | TToolParameters>
Tool metadata structure - specific type definition
Defined in
packages/agents/src/interfaces/tool.ts:21
TToolExecutor
Ƭ TToolExecutor<TParams, TResult>: (parameters: TParams, context?: IToolExecutionContext) => Promise<TResult>
Generic tool executor function
Type parameters
| Name | Type |
|---|---|
TParams | TToolParameters |
TResult | TToolResultData |
Type declaration
▸ (parameters, context?): Promise<TResult>
Parameters
| Name | Type |
|---|---|
parameters | TParams |
context? | IToolExecutionContext |
Returns
Promise<TResult>
Defined in
packages/agents/src/interfaces/tool.ts:146
TPrimitiveValue
Ƭ TPrimitiveValue: string | number | boolean | null | undefined
Primitive value types - foundation for all other types Extended to include null/undefined for agent contexts
Defined in
packages/agents/src/interfaces/types.ts:10
TUniversalValue
Ƭ TUniversalValue: TPrimitiveValue | Date | TUniversalArrayValue | IUniversalObjectValue
Universal value type axis (recursive, JSON-like + Date).
IMPORTANT:
- This axis is the single source of truth for payload/context/result values.
- It must support nested objects/arrays without
any/unknown.
Defined in
packages/agents/src/interfaces/types.ts:19
TUniversalArrayValue
Ƭ TUniversalArrayValue: TUniversalValue[]
Defined in
packages/agents/src/interfaces/types.ts:25
TMetadataValue
Ƭ TMetadataValue: TPrimitiveValue | TUniversalArrayValue | Date
Metadata type - consistent across agent components
Defined in
packages/agents/src/interfaces/types.ts:34
TMetadata
Ƭ TMetadata: Record<string, TMetadataValue>
Defined in
packages/agents/src/interfaces/types.ts:35
TContextData
Ƭ TContextData: Record<string, TUniversalValue>
Context data type - for execution contexts
Defined in
packages/agents/src/interfaces/types.ts:40
TLoggerData
Ƭ TLoggerData: Record<string, TUniversalValue | Date | Error>
Logger data type - for logging contexts
Defined in
packages/agents/src/interfaces/types.ts:45
TComplexConfigValue
Ƭ TComplexConfigValue: Record<string, TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue>
Configuration types - for agent configuration
Defined in
packages/agents/src/interfaces/types.ts:50
TConfigValue
Ƭ TConfigValue: TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue | TComplexConfigValue[] | Record<string, TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue>[] | TComplexConfigValue[] | TComplexConfigValue
Defined in
packages/agents/src/interfaces/types.ts:51
TConfigData
Ƭ TConfigData: Record<string, TConfigValue>
Defined in
packages/agents/src/interfaces/types.ts:52
TToolParameterValue
Ƭ TToolParameterValue: TUniversalValue
Tool parameter value type - specific for tool parameters
Defined in
packages/agents/src/interfaces/types.ts:57
TToolParameters
Ƭ TToolParameters: Record<string, TToolParameterValue>
Defined in
packages/agents/src/interfaces/types.ts:58
TToolResultData
Ƭ TToolResultData: TUniversalValue
Tool result data type - for tool execution results
Defined in
packages/agents/src/interfaces/types.ts:63
HistoryStorageStrategy
Ƭ HistoryStorageStrategy: "memory" | "file" | "database"
Storage strategy for conversation history
Defined in
packages/agents/src/plugins/conversation-history/types.ts:7
ErrorHandlingStrategy
Ƭ ErrorHandlingStrategy: "simple" | "circuit-breaker" | "exponential-backoff" | "silent"
Error handling strategy types
Defined in
packages/agents/src/plugins/error-handling/types.ts:17
EventType
Ƭ EventType: "agent.execution_start" | "agent.execution_complete" | "agent.execution_error" | "execution.start" | "execution.complete" | "execution.error" | "conversation.start" | "conversation.complete" | "conversation.error" | "tool.beforeExecute" | "tool.afterExecute" | "tool.success" | "tool.error" | "plugin.error" | "module.initialize.start" | "module.initialize.complete" | "module.initialize.error" | "module.execution.start" | "module.execution.complete" | "module.execution.error" | "module.dispose.start" | "module.dispose.complete" | "module.dispose.error" | "module.registered" | "module.unregistered" | "custom" | "execution.hierarchy" | "execution.realtime" | "tool.realtime"
Event types that can be emitted Enhanced with hierarchical execution tracking events
Defined in
packages/agents/src/plugins/event-emitter-plugin.ts:62
EventListener
Ƭ EventListener: (event: EventData) => void | Promise<void>
Event listener function
Type declaration
▸ (event): void | Promise<void>
Parameters
| Name | Type |
|---|---|
event | EventData |
Returns
void | Promise<void>
Defined in
packages/agents/src/plugins/event-emitter-plugin.ts:203
LimitsStrategy
Ƭ LimitsStrategy: "token-bucket" | "sliding-window" | "fixed-window" | "none"
Rate limiting strategies
Defined in
packages/agents/src/plugins/limits/types.ts:6
LoggingStrategy
Ƭ LoggingStrategy: "console" | "file" | "remote" | "silent"
Logging strategy types
Defined in
packages/agents/src/plugins/logging/types.ts:4
LogLevel
Ƭ LogLevel: "debug" | "info" | "warn" | "error"
Log levels
Defined in
packages/agents/src/plugins/logging/types.ts:9
PerformanceMonitoringStrategy
Ƭ PerformanceMonitoringStrategy: "memory" | "file" | "prometheus" | "remote" | "silent"
Performance monitoring strategy types
Defined in
packages/agents/src/plugins/performance/types.ts:4
UsageTrackingStrategy
Ƭ UsageTrackingStrategy: "memory" | "file" | "remote" | "silent"
Usage tracking strategy types
Defined in
packages/agents/src/plugins/usage/types.ts:4
WebhookEventType
Ƭ WebhookEventType: "execution.start" | "execution.complete" | "execution.error" | "conversation.complete" | "tool.executed" | "error.occurred" | "custom"
Webhook event types for different lifecycle events
Defined in
packages/agents/src/plugins/webhook/types.ts:9
ErrorContextData
Ƭ ErrorContextData: Record<string, string | number | boolean | Date | Error | string[] | undefined>
Error context data type Used for storing contextual information in error instances
Defined in
packages/agents/src/utils/errors.ts:9
ErrorExternalInput
Ƭ ErrorExternalInput: Error | string | Record<string, string | number | boolean> | null | undefined
Error external input type Used for handling external errors from unknown sources
Defined in
packages/agents/src/utils/errors.ts:15
TimerId
Ƭ TimerId: ReturnType<typeof setTimeout>
Cross-platform timer identifier type Works in both Node.js and browser environments
Defined in
packages/agents/src/utils/index.ts:12
TUtilLogLevel
Ƭ TUtilLogLevel: "debug" | "info" | "warn" | "error" | "silent"
Log levels for the logger
Defined in
packages/agents/src/utils/logger.ts:12
SimpleLogger
Ƭ SimpleLogger: AbstractLogger
Simple logger type - convenience alias for AbstractLogger
This is a type alias that extends AbstractLogger for backward compatibility and convenience. It provides the same interface as AbstractLogger.
TYPE HIERARCHY: AbstractLogger (interface) ← Base type ↓ SimpleLogger (alias) ← This type ↓ SilentLogger, ConsoleLogger (implementations)
Defined in
packages/agents/src/utils/simple-logger.ts:16
Variables
AGENT_EVENTS
• Const AGENT_EVENTS: Object
Agent event constants
Events emitted by Agent instances themselves. Event names are fully prefixed and must be used via constants (no string literals).
Type declaration
| Name | Type | Description |
|---|---|---|
CREATED | "agent.created" | Agent instance has been created and initialized |
EXECUTION_START | "agent.execution_start" | Agent execution lifecycle - start |
EXECUTION_COMPLETE | "agent.execution_complete" | Agent execution lifecycle - complete |
EXECUTION_ERROR | "agent.execution_error" | Agent execution lifecycle - error |
AGGREGATION_COMPLETE | "agent.aggregation_complete" | Agent aggregation process completed |
CONFIG_UPDATED | "agent.config_updated" | Agent configuration (e.g., tools) has been updated by the agent |
Defined in
packages/agents/src/agents/constants.ts:7
WORKFLOW_NODE_TYPES
• Const WORKFLOW_NODE_TYPES: Object
Entry/Exit Points - workflow start and end.
Type declaration
| Name | Type | Description |
|---|---|---|
USER_INPUT | "user_input" | - |
USER_MESSAGE | "user_message" | - |
OUTPUT | "output" | - |
AGENT | "agent" | Agent core: - All agents share the same 'agent' node type. - Agent number/label is represented in node data (e.g., data.agentNumber, data.label). |
TOOLS_CONTAINER | "tools_container" | - |
TOOL_DEFINITION | "tool_definition" | - |
AGENT_THINKING | "agent_thinking" | Execution flow |
TOOL_CALL | "tool_call" | - |
TOOL_CALL_RESPONSE | "tool_call_response" | - |
RESPONSE | "response" | Response types: - No "final" concept; responses may continue. |
TOOL_RESULT | "tool_result" | - |
Defined in
packages/agents/src/constants/workflow-node-types.ts:19
WORKFLOW_NODE_TYPE_DESCRIPTIONS
• Const WORKFLOW_NODE_TYPE_DESCRIPTIONS: Object
Node type descriptions (debugging/logging).
Type declaration
| Name | Type |
|---|---|
user_input | "User input (workflow entry)" |
user_message | "User message" |
output | "Output to user" |
agent | "Agent" |
tools_container | "Tools container" |
tool_definition | "Tool definition" |
agent_thinking | "Agent thinking" |
tool_call | "Tool call" |
tool_call_response | "Tool call response" |
response | "Agent response" |
tool_result | "Tool result join" |
Defined in
packages/agents/src/constants/workflow-node-types.ts:82
TypeUtils
• Const TypeUtils: Object
Type utility functions for safe type checking and validation
Type declaration
| Name | Type |
|---|---|
isPrimitive | (value: TUniversalValue) => value is TPrimitiveValue |
isArray | (value: TUniversalValue) => value is TUniversalArrayValue |
isObject | (value: TUniversalValue) => value is IUniversalObjectValue |
isUniversalValue | (value: TUniversalValue) => value is TUniversalValue |
Defined in
packages/agents/src/interfaces/types.ts:88
EVENT_EMITTER_EVENTS
• Const EVENT_EMITTER_EVENTS: Object
Event types that can be emitted.
IMPORTANT:
- Do not use string literals for event names outside this module.
- Import and use EVENT_EMITTER_EVENTS instead.
Type declaration
| Name | Type |
|---|---|
EXECUTION_START | "execution.start" |
EXECUTION_COMPLETE | "execution.complete" |
EXECUTION_ERROR | "execution.error" |
TOOL_BEFORE_EXECUTE | "tool.beforeExecute" |
TOOL_AFTER_EXECUTE | "tool.afterExecute" |
TOOL_SUCCESS | "tool.success" |
TOOL_ERROR | "tool.error" |
CONVERSATION_START | "conversation.start" |
CONVERSATION_COMPLETE | "conversation.complete" |
AGENT_CREATED | "agent.created" |
AGENT_DESTROYED | "agent.destroyed" |
PLUGIN_LOADED | "plugin.loaded" |
PLUGIN_UNLOADED | "plugin.unloaded" |
ERROR_OCCURRED | "error.occurred" |
WARNING_OCCURRED | "warning.occurred" |
MODULE_INITIALIZE_START | "module.initialize.start" |
MODULE_INITIALIZE_COMPLETE | "module.initialize.complete" |
MODULE_INITIALIZE_ERROR | "module.initialize.error" |
MODULE_EXECUTION_START | "module.execution.start" |
MODULE_EXECUTION_COMPLETE | "module.execution.complete" |
MODULE_EXECUTION_ERROR | "module.execution.error" |
MODULE_DISPOSE_START | "module.dispose.start" |
MODULE_DISPOSE_COMPLETE | "module.dispose.complete" |
MODULE_DISPOSE_ERROR | "module.dispose.error" |
EXECUTION_HIERARCHY | "execution.hierarchy" |
EXECUTION_REALTIME | "execution.realtime" |
TOOL_REALTIME | "tool.realtime" |
Defined in
packages/agents/src/plugins/event-emitter/types.ts:10
DEFAULT_ABSTRACT_EVENT_SERVICE
• Const DEFAULT_ABSTRACT_EVENT_SERVICE: IEventService
Singleton default event service instance.
Defined in
packages/agents/src/services/event-service.ts:44
EXECUTION_EVENTS
• Const EXECUTION_EVENTS: Object
ExecutionService owned events All events emitted by ExecutionService must use these constants (no string literals).
Type declaration
| Name | Type |
|---|---|
START | "execution.start" |
COMPLETE | "execution.complete" |
ERROR | "execution.error" |
ASSISTANT_MESSAGE_START | "execution.assistant_message_start" |
ASSISTANT_MESSAGE_COMPLETE | "execution.assistant_message_complete" |
USER_MESSAGE | "execution.user_message" |
TOOL_RESULTS_TO_LLM | "execution.tool_results_to_llm" |
TOOL_RESULTS_READY | "execution.tool_results_ready" |
Defined in
packages/agents/src/services/execution-service.ts:30
TOOL_EVENTS
• Const TOOL_EVENTS: Object
ToolExecutionService owned events All tool lifecycle events must use these constants (no string literals).
Type declaration
| Name | Type |
|---|---|
CALL_START | "tool.call_start" |
CALL_COMPLETE | "tool.call_complete" |
CALL_ERROR | "tool.call_error" |
CALL_RESPONSE_READY | "tool.call_response_ready" |
Defined in
packages/agents/src/services/tool-execution-service.ts:12
logger
• Const logger: ILogger
Default logger for the agents package
Defined in
packages/agents/src/utils/logger.ts:169
SilentLogger
• Const SilentLogger: SimpleLogger
Silent logger that does nothing (concrete implementation)
This is the default Null Object Pattern implementation. Use this in concrete classes when no specific logger is provided.
Example
// ✅ CORRECT: Use in concrete classes
class MyService {
constructor(private logger: SimpleLogger = SilentLogger) {}
}Defined in
packages/agents/src/utils/simple-logger.ts:32
DefaultConsoleLogger
• Const DefaultConsoleLogger: SimpleLogger
Default console logger that wraps console methods
Defined in
packages/agents/src/utils/simple-logger.ts:45
StderrLogger
• Const StderrLogger: SimpleLogger
Stderr-only logger for special environments Only error and warn go to stderr, others are silent
Defined in
packages/agents/src/utils/simple-logger.ts:66
Functions
isValidWorkflowNodeType
▸ isValidWorkflowNodeType(nodeType): nodeType is TWorkflowNodeType
Validate a node type string.
Parameters
| Name | Type |
|---|---|
nodeType | string |
Returns
nodeType is TWorkflowNodeType
Defined in
packages/agents/src/constants/workflow-node-types.ts:75
isProgressReportingTool
▸ isProgressReportingTool(tool): tool is IProgressReportingTool
Type guard to check if a tool implements progress reporting
Parameters
| Name | Type |
|---|---|
tool | IToolInterface |
Returns
tool is IProgressReportingTool
Defined in
packages/agents/src/interfaces/progress-reporting.ts:82
getToolEstimatedDuration
▸ getToolEstimatedDuration(tool, parameters): number | undefined
Helper function to safely get estimated duration from any tool
Parameters
| Name | Type |
|---|---|
tool | IToolInterface |
parameters | TToolParameters |
Returns
number | undefined
Defined in
packages/agents/src/interfaces/progress-reporting.ts:93
getToolExecutionSteps
▸ getToolExecutionSteps(tool, parameters): IToolExecutionStep[] | undefined
Helper function to safely get execution steps from any tool
Parameters
| Name | Type |
|---|---|
tool | IToolInterface |
parameters | TToolParameters |
Returns
IToolExecutionStep[] | undefined
Defined in
packages/agents/src/interfaces/progress-reporting.ts:103
setToolProgressCallback
▸ setToolProgressCallback(tool, callback): boolean
Helper function to safely set progress callback on any tool
Parameters
| Name | Type |
|---|---|
tool | IToolInterface |
callback | TToolProgressCallback |
Returns
boolean
Defined in
packages/agents/src/interfaces/progress-reporting.ts:113
isUserMessage
▸ isUserMessage(message): message is IUserMessage
Check if a message is a user message
Parameters
| Name | Type | Description |
|---|---|---|
message | TUniversalMessage | Message to check |
Returns
message is IUserMessage
True if the message is a user message
Defined in
packages/agents/src/managers/conversation-history-manager.ts:36
isAssistantMessage
▸ isAssistantMessage(message): message is IAssistantMessage
Check if a message is an assistant message
Parameters
| Name | Type | Description |
|---|---|---|
message | TUniversalMessage | Message to check |
Returns
message is IAssistantMessage
True if the message is an assistant message
Defined in
packages/agents/src/managers/conversation-history-manager.ts:46
isSystemMessage
▸ isSystemMessage(message): message is ISystemMessage
Check if a message is a system message
Parameters
| Name | Type | Description |
|---|---|---|
message | TUniversalMessage | Message to check |
Returns
message is ISystemMessage
True if the message is a system message
Defined in
packages/agents/src/managers/conversation-history-manager.ts:56
isToolMessage
▸ isToolMessage(message): message is IToolMessage
Check if a message is a tool message
Parameters
| Name | Type | Description |
|---|---|---|
message | TUniversalMessage | Message to check |
Returns
message is IToolMessage
True if the message is a tool message
Defined in
packages/agents/src/managers/conversation-history-manager.ts:66
isDefaultEventService
▸ isDefaultEventService(service): boolean
Check if a given service is the default no-op implementation.
Parameters
| Name | Type |
|---|---|
service | IEventService |
Returns
boolean
Defined in
packages/agents/src/services/event-service.ts:49
bindWithOwnerPath
▸ bindWithOwnerPath(base, binding): IEventService
Bind an EventService to an explicit owner path and source identity. This is the standard entry point for scoped emission (path-only architecture).
Parameters
| Name | Type |
|---|---|
base | IEventService |
binding | IEventServiceOwnerBinding |
Returns
Defined in
packages/agents/src/services/event-service.ts:81
bindEventServiceOwner
▸ bindEventServiceOwner(base, binding): IEventService
Alias for bindWithOwnerPath for historical call sites. Intentionally forwards to the single authoritative implementation.
Parameters
| Name | Type |
|---|---|
base | IEventService |
binding | IEventServiceOwnerBinding |
Returns
Defined in
packages/agents/src/services/event-service.ts:89
createFunctionTool
▸ createFunctionTool(name, description, parameters, fn): FunctionTool
Helper function to create a function tool from a simple function
Parameters
| Name | Type |
|---|---|
name | string |
description | string |
parameters | Object |
parameters.type | "object" |
parameters.properties | Record<string, IParameterSchema> |
parameters.required? | string[] |
fn | TToolExecutor |
Returns
Defined in
packages/agents/src/tools/implementations/function-tool.ts:233
createZodFunctionTool
▸ createZodFunctionTool(name, description, zodSchema, fn, options?): FunctionTool
Helper function to create a function tool from Zod schema
Parameters
| Name | Type |
|---|---|
name | string |
description | string |
zodSchema | IZodSchema |
fn | TToolExecutor |
options? | IAbstractToolOptions |
Returns
Defined in
packages/agents/src/tools/implementations/function-tool.ts:251
createExecutionProxy
▸ createExecutionProxy<T>(target, config): T
Factory function to create execution proxy with standard configuration
Type parameters
| Name | Type |
|---|---|
T | extends object |
Parameters
| Name | Type |
|---|---|
target | T |
config | ExecutionProxyConfig |
Returns
T
Defined in
packages/agents/src/utils/execution-proxy.ts:272
withEventEmission
▸ withEventEmission(eventService, sourceType, sourceId): <T>(target: T) => T
Decorator function for automatic event emission Usage: @withEventEmission(eventService, 'agent', 'agent-id')
Parameters
| Name | Type |
|---|---|
eventService | IEventService |
sourceType | "tool" | "agent" | "team" |
sourceId | string |
Returns
fn
▸ <T>(target): T
Type parameters
| Name | Type |
|---|---|
T | extends object |
Parameters
| Name | Type |
|---|---|
target | T |
Returns
T
Defined in
packages/agents/src/utils/execution-proxy.ts:285
createLogger
▸ createLogger(packageName, logger?): ILogger
Create a logger instance for a package
Parameters
| Name | Type |
|---|---|
packageName | string |
logger? | AbstractLogger |
Returns
Defined in
packages/agents/src/utils/logger.ts:148
setGlobalLogLevel
▸ setGlobalLogLevel(level): void
Set global log level for all loggers
Parameters
| Name | Type |
|---|---|
level | TUtilLogLevel |
Returns
void
Defined in
packages/agents/src/utils/logger.ts:155
getGlobalLogLevel
▸ getGlobalLogLevel(): TUtilLogLevel
Get global log level
Returns
Defined in
packages/agents/src/utils/logger.ts:162
validateAgentConfig
▸ validateAgentConfig(config): IValidationResult
Validate agent configuration
Parameters
| Name | Type |
|---|---|
config | Partial<IAgentConfig> |
Returns
IValidationResult
Defined in
packages/agents/src/utils/validation.ts:190
validateUserInput
▸ validateUserInput(input): IValidationResult
Validate user input string
Parameters
| Name | Type |
|---|---|
input | string |
Returns
IValidationResult
Defined in
packages/agents/src/utils/validation.ts:191
validateProviderName
▸ validateProviderName(name): IValidationResult
Validate provider name
Parameters
| Name | Type |
|---|---|
name | string |
Returns
IValidationResult
Defined in
packages/agents/src/utils/validation.ts:192
validateModelName
▸ validateModelName(name): IValidationResult
Validate model name
Parameters
| Name | Type |
|---|---|
name | string |
Returns
IValidationResult
Defined in
packages/agents/src/utils/validation.ts:193
validateApiKey
▸ validateApiKey(apiKey, provider?): IValidationResult
Validate API key format (basic check)
Parameters
| Name | Type |
|---|---|
apiKey | string |
provider? | string |
Returns
IValidationResult