agent-core / Exports
agent-core
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
Enumerations
Classes
- AbstractAgent
- AbstractAIProvider
- AbstractExecutor
- AbstractManager
- AbstractPlugin
- AbstractTool
- Robota
- LocalExecutor
- AgentFactory
- AgentTemplates
- ConversationHistory
- ConversationSession
- EventEmitterPlugin
- InMemoryEventEmitterMetrics
- EventHistoryModule
- RobotaError
- ConfigurationError
- ValidationError
- ProviderError
- AuthenticationError
- RateLimitError
- NetworkError
- ToolExecutionError
- ModelNotAvailableError
- CircuitBreakerOpenError
- PluginError
- StorageError
- CacheIntegrityError
- ErrorUtils
- ExecutionProxy
- ConsoleLogger
- MessageConverter
- Validator
Interfaces
- IProviderConfig
- IExecutorAwareProviderConfig
- IPluginExecutionContext
- IPluginExecutionResult
- IPluginErrorContext
- IPluginConfig
- IPluginOptions
- IPluginData
- IPluginContract
- IPluginStats
- IPlugin
- IPluginHooks
- IAbstractToolOptions
- IAbstractTool
- IToolContract
- IToolWithEventService
- IContextTokenUsage
- IContextWindowState
- IOwnerPathSegment
- IEventContext
- IBaseEventData
- IExecutionEventData
- IToolEventData
- IAgentEventData
- IEventService
- IEventServiceOwnerBinding
- IAIProviderInstance
- IHookDefinition
- IHookGroup
- IHookInput
- IHookResult
- IAgentConfig
- IAgentTemplate
- IRunOptions
- IAgent
- ICacheKey
- ICacheEntry
- ICacheStorage
- ICacheStats
- ICacheOptions
- IChatExecutionRequest
- IStreamExecutionRequest
- IExecutor
- ILocalExecutorConfig
- IRemoteExecutorConfig
- IEventHistoryRecord
- IEventHistorySnapshot
- IEventHistoryModule
- IConfigValidationResult
- IAIProviderManager
- IToolManager
- IAgentCreationOptions
- IAgentFactory
- IMediaOutputRef
- IProviderMediaError
- IInlineImageInputSource
- IUriImageInputSource
- IImageGenerationRequest
- IImageEditRequest
- IImageComposeRequest
- IImageGenerationResult
- IImageGenerationProvider
- IVideoGenerationRequest
- IVideoJobAccepted
- IVideoJobSnapshot
- IVideoGenerationProvider
- ITextMessagePart
- IInlineImageMessagePart
- IUriImageMessagePart
- 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
- ITool
- IFunctionTool
- IToolRegistry
- IToolFactory
- IUniversalObjectValue
- IPluginContext
- IWorkflowConfig
- IWorkflowMetadata
- IWorkflowData
- IWorkflowConversionOptions
- IWorkflowConversionResult
- IWorkflowConverter
- IValidationIssue
- IValidationOptions
- IValidationResult
- IWorkflowValidator
- IAgentFactoryOptions
- IAgentCreationStats
- IAgentLifecycleEvents
- ITemplateApplicationResult
- IPermissionLists
- IEventEmitterMetricsSnapshot
- IEventEmitterMetrics
- IEventEmitterHierarchicalEventData
- IEventEmitterPluginOptions
- IEventEmitterEventData
- IEventEmitterPlugin
- IUtilLogEntry
- ILogger
- ISimpleValidationResult
Type Aliases
- TProviderLoggingData
- TToolExecutionFunction
- TEventListener
- THookEvent
- THooksConfig
- TAgentCreationMetadata
- TManagerToolParameters
- TProviderMediaResult
- TImageInputSource
- TUniversalMessageRole
- TUniversalMessageMetadata
- TUniversalMessagePart
- TUniversalMessage
- TToolProgressCallback
- TProviderConfigValue
- TParameterDefaultValue
- TJSONSchemaKind
- TJSONSchemaEnum
- TTextDeltaCallback
- TProviderOptionValueBase
- TConversationContextMetadata
- TToolExecutionParameters
- TExecutionMetadata
- TResponseMetadata
- TToolMetadata
- TToolExecutor
- TPrimitiveValue
- TUniversalValue
- TUniversalArrayValue
- TMetadataValue
- TMetadata
- TContextData
- TLoggerData
- TComplexConfigValue
- TConfigValue
- TConfigData
- TToolParameters
- TToolArgs
- TKnownToolName
- TPermissionMode
- TTrustLevel
- TPermissionDecision
- TExecutionEventName
- TEventName
- TEventEmitterListener
- TErrorContextData
- TErrorExternalInput
- TTimerId
- TUtilLogLevel
Variables
- AGENT_EVENTS
- AGENT_EVENT_PREFIX
- TypeUtils
- MODE_POLICY
- UNKNOWN_TOOL_FALLBACK
- TRUST_TO_MODE
- EVENT_EMITTER_EVENTS
- EXECUTION_EVENTS
- EXECUTION_EVENT_PREFIX
- TOOL_EVENTS
- TOOL_EVENT_PREFIX
- SilentLogger
- logger
Functions
- runHooks
- isImageGenerationProvider
- isVideoGenerationProvider
- isUserMessage
- isAssistantMessage
- isSystemMessage
- isToolMessage
- isProgressReportingTool
- getToolEstimatedDuration
- getToolExecutionSteps
- setToolProgressCallback
- evaluatePermission
- createExecutionProxy
- withEventEmission
- createLogger
- setGlobalLogLevel
- getGlobalLogLevel
- startPeriodicTask
- stopPeriodicTask
- validateAgentConfig
- validateUserInput
- validateProviderName
- validateModelName
- validateApiKey
Type Aliases
TProviderLoggingData
Ƭ TProviderLoggingData: Record<string, string | number | boolean | Date | string[]>
Provider logging data type Used for storing logging information in provider operations
Defined in
packages/agent-core/src/abstracts/abstract-ai-provider.ts:26
TToolExecutionFunction
Ƭ TToolExecutionFunction<TParams, TResult>: (parameters: TParams) => Promise<TResult> | TResult
Tool execution function type with proper parameter constraints
Type parameters
| Name | Type |
|---|---|
TParams | TToolParameters |
TResult | IToolResult |
Type declaration
▸ (parameters): Promise<TResult> | TResult
Parameters
| Name | Type |
|---|---|
parameters | TParams |
Returns
Promise<TResult> | TResult
Defined in
packages/agent-core/src/abstracts/abstract-tool.ts:69
TEventListener
Ƭ TEventListener: (eventType: string, data: IBaseEventData, context?: IEventContext) => void
Type declaration
▸ (eventType, data, context?): void
Parameters
| Name | Type |
|---|---|
eventType | string |
data | IBaseEventData |
context? | IEventContext |
Returns
void
Defined in
packages/agent-core/src/event-service/interfaces.ts:106
THookEvent
Ƭ THookEvent: "PreToolUse" | "PostToolUse" | "SessionStart" | "Stop" | "PreCompact" | "PostCompact"
Hook lifecycle events
Defined in
packages/agent-core/src/hooks/types.ts:6
THooksConfig
Ƭ THooksConfig: Partial<Record<THookEvent, IHookGroup[]>>
Complete hooks configuration: event → array of hook groups
Defined in
packages/agent-core/src/hooks/types.ts:29
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/agent-core/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/agent-core/src/interfaces/manager.ts:20
TProviderMediaResult
Ƭ TProviderMediaResult<TValue>: { ok: true ; value: TValue } | { ok: false ; error: IProviderMediaError }
Type parameters
| Name |
|---|
TValue |
Defined in
packages/agent-core/src/interfaces/media-provider.ts:28
TImageInputSource
Ƭ TImageInputSource: IInlineImageInputSource | IUriImageInputSource
Defined in
packages/agent-core/src/interfaces/media-provider.ts:44
TUniversalMessageRole
Ƭ TUniversalMessageRole: "user" | "assistant" | "system" | "tool"
Universal message role type - provider-independent neutral role.
Defined in
packages/agent-core/src/interfaces/messages.ts:14
TUniversalMessageMetadata
Ƭ TUniversalMessageMetadata: Record<string, string | number | boolean | Date | string[] | number[] | Record<string, number>>
Message metadata used across conversation history and provider adapters.
Defined in
packages/agent-core/src/interfaces/messages.ts:19
TUniversalMessagePart
Ƭ TUniversalMessagePart: ITextMessagePart | IInlineImageMessagePart | IUriImageMessagePart
Defined in
packages/agent-core/src/interfaces/messages.ts:44
TUniversalMessage
Ƭ TUniversalMessage: IUserMessage | IAssistantMessage | ISystemMessage | IToolMessage
Universal message union used across the SDK as the canonical contract.
Defined in
packages/agent-core/src/interfaces/messages.ts:104
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/agent-core/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/agent-core/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/agent-core/src/interfaces/provider.ts:17
TJSONSchemaKind
Ƭ TJSONSchemaKind: "string" | "number" | "integer" | "boolean" | "array" | "object" | "null"
JSON Schema primitive types
Defined in
packages/agent-core/src/interfaces/provider.ts:22
TJSONSchemaEnum
Ƭ TJSONSchemaEnum: string[] | number[] | boolean[] | (string | number | boolean)[]
JSON Schema enum values
Defined in
packages/agent-core/src/interfaces/provider.ts:34
TTextDeltaCallback
Ƭ TTextDeltaCallback: (delta: string) => void
Callback for receiving text deltas during streaming. Called for each text chunk as the model generates output.
Type declaration
▸ (delta): void
Parameters
| Name | Type |
|---|---|
delta | string |
Returns
void
Defined in
packages/agent-core/src/interfaces/provider.ts:149
TProviderOptionValueBase
Ƭ TProviderOptionValueBase: string | number | boolean | undefined | null | TProviderOptionValueBase[] | { [key: string]: TProviderOptionValueBase; }
Base union for provider option values.
Purpose:
- Enable provider packages to compose their own option value unions without redefining the primitives.
- Keep the shared axis in @robota-sdk/agent-core (SSOT).
Note:
- Provider packages may extend this with provider-specific runtime objects (e.g., OpenAI/Anthropic clients).
Defined in
packages/agent-core/src/interfaces/provider.ts:261
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/agent-core/src/interfaces/service.ts:21
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/agent-core/src/interfaces/service.ts:27
TExecutionMetadata
Ƭ TExecutionMetadata: Record<string, string | number | boolean | Date>
Execution metadata type Used for storing metadata about execution processes and options
Defined in
packages/agent-core/src/interfaces/service.ts:36
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/agent-core/src/interfaces/service.ts:42
TToolMetadata
Ƭ TToolMetadata: Record<string, string | number | boolean | string[] | number[] | boolean[] | TToolParameters>
Tool metadata structure - specific type definition
Defined in
packages/agent-core/src/interfaces/tool.ts:23
TToolExecutor
Ƭ TToolExecutor<TParams, TResult>: (parameters: TParams, context?: IToolExecutionContext) => Promise<TResult>
Generic tool executor function
Type parameters
| Name | Type |
|---|---|
TParams | TToolParameters |
TResult | TUniversalValue |
Type declaration
▸ (parameters, context?): Promise<TResult>
Parameters
| Name | Type |
|---|---|
parameters | TParams |
context? | IToolExecutionContext |
Returns
Promise<TResult>
Defined in
packages/agent-core/src/interfaces/tool.ts:149
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/agent-core/src/interfaces/types.ts:12
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/agent-core/src/interfaces/types.ts:21
TUniversalArrayValue
Ƭ TUniversalArrayValue: TUniversalValue[]
Defined in
packages/agent-core/src/interfaces/types.ts:23
TMetadataValue
Ƭ TMetadataValue: TPrimitiveValue | TUniversalArrayValue | Date
Metadata type - consistent across agent components
Defined in
packages/agent-core/src/interfaces/types.ts:32
TMetadata
Ƭ TMetadata: Record<string, TMetadataValue>
Defined in
packages/agent-core/src/interfaces/types.ts:33
TContextData
Ƭ TContextData: Record<string, TUniversalValue>
Context data type - for execution contexts
Defined in
packages/agent-core/src/interfaces/types.ts:38
TLoggerData
Ƭ TLoggerData: Record<string, TUniversalValue | Date | Error>
Logger data type - for logging contexts
Defined in
packages/agent-core/src/interfaces/types.ts:43
TComplexConfigValue
Ƭ TComplexConfigValue: Record<string, TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue>
Configuration types - for agent configuration
Defined in
packages/agent-core/src/interfaces/types.ts:48
TConfigValue
Ƭ TConfigValue: TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue | TComplexConfigValue[] | Record<string, TPrimitiveValue | TUniversalArrayValue | IUniversalObjectValue>[] | TComplexConfigValue[] | TComplexConfigValue
Defined in
packages/agent-core/src/interfaces/types.ts:52
TConfigData
Ƭ TConfigData: Record<string, TConfigValue>
Defined in
packages/agent-core/src/interfaces/types.ts:60
TToolParameters
Ƭ TToolParameters: Record<string, TUniversalValue>
Tool parameter value type - specific for tool parameters
Defined in
packages/agent-core/src/interfaces/types.ts:65
TToolArgs
Ƭ TToolArgs: Record<string, string | number | boolean | object>
Tool arguments passed from the LLM invocation. The values relevant to permission matching are strings.
Defined in
packages/agent-core/src/permissions/permission-gate.ts:23
TKnownToolName
Ƭ TKnownToolName: "Bash" | "Read" | "Write" | "Edit" | "Glob" | "Grep"
Tool names known to the permission system
Defined in
packages/agent-core/src/permissions/permission-mode.ts:16
TPermissionMode
Ƭ TPermissionMode: "plan" | "default" | "acceptEdits" | "bypassPermissions"
Permission modes (Claude Code compatible)
- plan: read-only tools only
- default: reads auto, writes/bash need approval
- acceptEdits: reads + writes auto, bash needs approval
- bypassPermissions: all tools auto
Defined in
packages/agent-core/src/permissions/types.ts:12
TTrustLevel
Ƭ TTrustLevel: "safe" | "moderate" | "full"
Friendly trust level aliases
- safe → plan
- moderate → default
- full → acceptEdits
Defined in
packages/agent-core/src/permissions/types.ts:20
TPermissionDecision
Ƭ TPermissionDecision: "auto" | "approve" | "deny"
Outcome of a permission evaluation
- auto: proceed without prompting
- approve: prompt user for approval
- deny: block the action
Defined in
packages/agent-core/src/permissions/types.ts:34
TExecutionEventName
Ƭ TExecutionEventName: typeof EXECUTION_EVENT_NAMES[keyof typeof EXECUTION_EVENT_NAMES]
Defined in
packages/agent-core/src/plugins/event-emitter/types.ts:29
TEventName
Ƭ TEventName: TExecutionEventName | TToolEventName | TAgentEventName | "tool.beforeExecute" | "tool.afterExecute" | "tool.success" | "conversation.start" | "conversation.complete" | "conversation.error" | "agent.destroyed" | "plugin.loaded" | "plugin.unloaded" | "plugin.error" | "error.occurred" | "warning.occurred" | "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" | "execution.hierarchy" | "execution.realtime" | "tool.realtime" | "custom"
Defined in
packages/agent-core/src/plugins/event-emitter/types.ts:79
TEventEmitterListener
Ƭ TEventEmitterListener: (event: IEventEmitterEventData) => void | Promise<void>
Event listener function
Type declaration
▸ (event): void | Promise<void>
Parameters
| Name | Type |
|---|---|
event | IEventEmitterEventData |
Returns
void | Promise<void>
Defined in
packages/agent-core/src/plugins/event-emitter/types.ts:141
TErrorContextData
Ƭ TErrorContextData: Record<string, string | number | boolean | Date | Error | string[] | undefined>
Error context data type Used for storing contextual information in error instances
Defined in
packages/agent-core/src/utils/errors.ts:9
TErrorExternalInput
Ƭ TErrorExternalInput: Error | string | Record<string, string | number | boolean> | null | undefined
Error external input type Used for handling external errors from unknown sources
Defined in
packages/agent-core/src/utils/errors.ts:18
TTimerId
Ƭ TTimerId: ReturnType<typeof setTimeout>
Cross-platform timer identifier type Works in both Node.js and browser environments
Defined in
packages/agent-core/src/utils/index.ts:12
TUtilLogLevel
Ƭ TUtilLogLevel: "debug" | "info" | "warn" | "error" | "silent"
Log levels for the logger
Defined in
packages/agent-core/src/utils/logger.ts:10
Variables
AGENT_EVENTS
• Const AGENT_EVENTS: Object
Agent event constants
Events emitted by Agent instances themselves. Event names are local (no dots) and must be used via constants (no string literals).
Type declaration
| Name | Type | Description |
|---|---|---|
CREATED | "created" | Agent instance has been created and initialized |
EXECUTION_START | "execution_start" | Agent execution lifecycle - start |
EXECUTION_COMPLETE | "execution_complete" | Agent execution lifecycle - complete |
EXECUTION_ERROR | "execution_error" | Agent execution lifecycle - error |
AGGREGATION_COMPLETE | "aggregation_complete" | Agent aggregation process completed |
CONFIG_UPDATED | "config_updated" | Agent configuration (e.g., tools) has been updated by the agent |
Defined in
packages/agent-core/src/agents/constants.ts:7
AGENT_EVENT_PREFIX
• Const AGENT_EVENT_PREFIX: "agent"
Defined in
packages/agent-core/src/agents/constants.ts:22
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/agent-core/src/interfaces/types.ts:95
MODE_POLICY
• Const MODE_POLICY: Record<TPermissionMode, Record<TKnownToolName, TPermissionDecision>>
Permission mode → tool policy matrix Maps each mode to a decision for each known tool.
Defined in
packages/agent-core/src/permissions/permission-mode.ts:22
UNKNOWN_TOOL_FALLBACK
• Const UNKNOWN_TOOL_FALLBACK: Record<TPermissionMode, TPermissionDecision>
Fallback decision when a tool name is not in the policy matrix. Unknown tools are treated as requiring approval (fail-safe).
Defined in
packages/agent-core/src/permissions/permission-mode.ts:61
TRUST_TO_MODE
• Const TRUST_TO_MODE: Record<TTrustLevel, TPermissionMode>
Defined in
packages/agent-core/src/permissions/types.ts:22
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.call_error" |
CONVERSATION_START | "conversation.start" |
CONVERSATION_COMPLETE | "conversation.complete" |
CONVERSATION_ERROR | "conversation.error" |
AGENT_EXECUTION_START | "agent.execution_start" |
AGENT_EXECUTION_COMPLETE | "agent.execution_complete" |
AGENT_EXECUTION_ERROR | "agent.execution_error" |
AGENT_CREATED | "agent.created" |
AGENT_DESTROYED | "agent.destroyed" |
PLUGIN_LOADED | "plugin.loaded" |
PLUGIN_UNLOADED | "plugin.unloaded" |
PLUGIN_ERROR | "plugin.error" |
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" |
MODULE_REGISTERED | "module.registered" |
MODULE_UNREGISTERED | "module.unregistered" |
EXECUTION_HIERARCHY | "execution.hierarchy" |
EXECUTION_REALTIME | "execution.realtime" |
TOOL_REALTIME | "tool.realtime" |
CUSTOM | "custom" |
Defined in
packages/agent-core/src/plugins/event-emitter/types.ts:41
EXECUTION_EVENTS
• Const EXECUTION_EVENTS: Object
ExecutionService owned events. Local event names only (no dots). Full names are composed at emit time.
Type declaration
| Name | Type |
|---|---|
START | "start" |
COMPLETE | "complete" |
ERROR | "error" |
ASSISTANT_MESSAGE_START | "assistant_message_start" |
ASSISTANT_MESSAGE_COMPLETE | "assistant_message_complete" |
USER_MESSAGE | "user_message" |
TOOL_RESULTS_TO_LLM | "tool_results_to_llm" |
TOOL_RESULTS_READY | "tool_results_ready" |
Defined in
packages/agent-core/src/services/execution-constants.ts:5
EXECUTION_EVENT_PREFIX
• Const EXECUTION_EVENT_PREFIX: "execution"
Defined in
packages/agent-core/src/services/execution-constants.ts:16
TOOL_EVENTS
• Const TOOL_EVENTS: Object
ToolExecutionService owned events Local event names only (no dots). Full names are composed at emit time.
Type declaration
| Name | Type |
|---|---|
CALL_START | "call_start" |
CALL_COMPLETE | "call_complete" |
CALL_ERROR | "call_error" |
CALL_RESPONSE_READY | "call_response_ready" |
Defined in
packages/agent-core/src/services/tool-execution-service.ts:13
TOOL_EVENT_PREFIX
• Const TOOL_EVENT_PREFIX: "tool"
Defined in
packages/agent-core/src/services/tool-execution-service.ts:20
SilentLogger
• Const SilentLogger: ILogger
Silent logger that does nothing (Null Object Pattern)
IMPORTANT:
- This library must not write to stdio by default.
- Inject a real logger explicitly if you want output.
Defined in
packages/agent-core/src/utils/logger.ts:43
logger
• Const logger: ILogger
Default logger for the agents package
Defined in
packages/agent-core/src/utils/logger.ts:204
Functions
runHooks
▸ runHooks(config, event, input): Promise<{ blocked: boolean ; reason?: string }>
Run all hooks for a given event.
For PreToolUse: if any hook returns exit code 2, the tool call is blocked. Returns { blocked: true, reason: string } if blocked, { blocked: false } otherwise.
Parameters
| Name | Type |
|---|---|
config | undefined | Partial<Record<THookEvent, IHookGroup[]>> |
event | THookEvent |
input | IHookInput |
Returns
Promise<{ blocked: boolean ; reason?: string }>
Defined in
packages/agent-core/src/hooks/hook-runner.ts:80
isImageGenerationProvider
▸ isImageGenerationProvider(provider): provider is IImageGenerationProvider
Parameters
| Name | Type |
|---|---|
provider | object |
Returns
provider is IImageGenerationProvider
Defined in
packages/agent-core/src/interfaces/media-provider.ts:107
isVideoGenerationProvider
▸ isVideoGenerationProvider(provider): provider is IVideoGenerationProvider
Parameters
| Name | Type |
|---|---|
provider | object |
Returns
provider is IVideoGenerationProvider
Defined in
packages/agent-core/src/interfaces/media-provider.ts:118
isUserMessage
▸ isUserMessage(message): message is IUserMessage
Type guards for the canonical TUniversalMessage union.
NOTE:
- These guards are owned by the
interfaceslayer and must not depend on managers/services. - Call sites should use these guards instead of importing from manager layers.
Parameters
| Name | Type |
|---|---|
message | TUniversalMessage |
Returns
message is IUserMessage
Defined in
packages/agent-core/src/interfaces/messages.ts:113
isAssistantMessage
▸ isAssistantMessage(message): message is IAssistantMessage
Parameters
| Name | Type |
|---|---|
message | TUniversalMessage |
Returns
message is IAssistantMessage
Defined in
packages/agent-core/src/interfaces/messages.ts:117
isSystemMessage
▸ isSystemMessage(message): message is ISystemMessage
Parameters
| Name | Type |
|---|---|
message | TUniversalMessage |
Returns
message is ISystemMessage
Defined in
packages/agent-core/src/interfaces/messages.ts:121
isToolMessage
▸ isToolMessage(message): message is IToolMessage
Parameters
| Name | Type |
|---|---|
message | TUniversalMessage |
Returns
message is IToolMessage
Defined in
packages/agent-core/src/interfaces/messages.ts:125
isProgressReportingTool
▸ isProgressReportingTool(tool): tool is IProgressReportingTool
Type guard to check if a tool implements progress reporting
Parameters
| Name | Type |
|---|---|
tool | ITool |
Returns
tool is IProgressReportingTool
Defined in
packages/agent-core/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 | ITool |
parameters | TToolParameters |
Returns
number | undefined
Defined in
packages/agent-core/src/interfaces/progress-reporting.ts:91
getToolExecutionSteps
▸ getToolExecutionSteps(tool, parameters): IToolExecutionStep[] | undefined
Helper function to safely get execution steps from any tool
Parameters
| Name | Type |
|---|---|
tool | ITool |
parameters | TToolParameters |
Returns
IToolExecutionStep[] | undefined
Defined in
packages/agent-core/src/interfaces/progress-reporting.ts:104
setToolProgressCallback
▸ setToolProgressCallback(tool, callback): boolean
Helper function to safely set progress callback on any tool
Parameters
| Name | Type |
|---|---|
tool | ITool |
callback | TToolProgressCallback |
Returns
boolean
Defined in
packages/agent-core/src/interfaces/progress-reporting.ts:117
evaluatePermission
▸ evaluatePermission(toolName, toolArgs, mode, permissions?): TPermissionDecision
Evaluate whether a tool invocation should be auto-approved, require user approval, or be denied.
Parameters
| Name | Type | Description |
|---|---|---|
toolName | string | Name of the tool being invoked (e.g. "Bash", "Write") |
toolArgs | TToolArgs | Arguments provided by the LLM |
mode | TPermissionMode | Active permission mode |
permissions | IPermissionLists | Optional allow/deny lists from config |
Returns
Defined in
packages/agent-core/src/permissions/permission-gate.ts:123
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 | IExecutionProxyConfig |
Returns
T
Defined in
packages/agent-core/src/utils/execution-proxy.ts:303
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/agent-core/src/utils/execution-proxy.ts:316
createLogger
▸ createLogger(packageName, logger?): ILogger
Create a named logger instance for a package or module. Use this to create loggers with a specific name prefix for easy log filtering.
Parameters
| Name | Type |
|---|---|
packageName | string |
logger? | ILogger |
Returns
Defined in
packages/agent-core/src/utils/logger.ts:183
setGlobalLogLevel
▸ setGlobalLogLevel(level): void
Set global log level for all loggers
Parameters
| Name | Type |
|---|---|
level | TUtilLogLevel |
Returns
void
Defined in
packages/agent-core/src/utils/logger.ts:190
getGlobalLogLevel
▸ getGlobalLogLevel(): TUtilLogLevel
Get global log level
Returns
Defined in
packages/agent-core/src/utils/logger.ts:197
startPeriodicTask
▸ startPeriodicTask(logger, options, task): TTimerId
Start a periodic async task with consistent error logging. SSOT helper to avoid duplicating setInterval(async () => ...) patterns.
Parameters
| Name | Type |
|---|---|
logger | ILogger |
options | IPeriodicTaskOptions |
task | () => Promise<void> |
Returns
Defined in
packages/agent-core/src/utils/periodic-task.ts:13
stopPeriodicTask
▸ stopPeriodicTask(timer): void
Parameters
| Name | Type |
|---|---|
timer | undefined | Timeout |
Returns
void
Defined in
packages/agent-core/src/utils/periodic-task.ts:34
validateAgentConfig
▸ validateAgentConfig(config): ISimpleValidationResult
Validate agent configuration
Parameters
| Name | Type |
|---|---|
config | Partial<IAgentConfig> |
Returns
Defined in
packages/agent-core/src/utils/validation.ts:207
validateUserInput
▸ validateUserInput(input): ISimpleValidationResult
Validate user input string
Parameters
| Name | Type |
|---|---|
input | string |
Returns
Defined in
packages/agent-core/src/utils/validation.ts:208
validateProviderName
▸ validateProviderName(name): ISimpleValidationResult
Validate provider name
Parameters
| Name | Type |
|---|---|
name | string |
Returns
Defined in
packages/agent-core/src/utils/validation.ts:209
validateModelName
▸ validateModelName(name): ISimpleValidationResult
Validate model name
Parameters
| Name | Type |
|---|---|
name | string |
Returns
Defined in
packages/agent-core/src/utils/validation.ts:210
validateApiKey
▸ validateApiKey(apiKey, provider?): ISimpleValidationResult
Validate API key format (basic check)
Parameters
| Name | Type |
|---|---|
apiKey | string |
provider? | string |