Skip to content

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

typescript
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: Robota class 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

Interfaces

Type Aliases

Variables

Functions

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

NameType
TParamsTToolParameters
TResultIToolResult

Type declaration

▸ (parameters): Promise<TResult> | TResult

Parameters
NameType
parametersTParams
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
NameType
eventTypestring
dataIBaseEventData
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
NameType
stepstring
progressnumber
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
NameType
deltastring
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

NameType
TParamsTToolParameters
TResultTUniversalValue

Type declaration

▸ (parameters, context?): Promise<TResult>

Parameters
NameType
parametersTParams
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
NameType
eventIEventEmitterEventData
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

NameTypeDescription
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

NameType
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

NameType
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

NameType
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

NameType
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

NameType
configundefined | Partial<Record<THookEvent, IHookGroup[]>>
eventTHookEvent
inputIHookInput

Returns

Promise<{ blocked: boolean ; reason?: string }>

Defined in

packages/agent-core/src/hooks/hook-runner.ts:80


isImageGenerationProvider

isImageGenerationProvider(provider): provider is IImageGenerationProvider

Parameters

NameType
providerobject

Returns

provider is IImageGenerationProvider

Defined in

packages/agent-core/src/interfaces/media-provider.ts:107


isVideoGenerationProvider

isVideoGenerationProvider(provider): provider is IVideoGenerationProvider

Parameters

NameType
providerobject

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 interfaces layer and must not depend on managers/services.
  • Call sites should use these guards instead of importing from manager layers.

Parameters

NameType
messageTUniversalMessage

Returns

message is IUserMessage

Defined in

packages/agent-core/src/interfaces/messages.ts:113


isAssistantMessage

isAssistantMessage(message): message is IAssistantMessage

Parameters

NameType
messageTUniversalMessage

Returns

message is IAssistantMessage

Defined in

packages/agent-core/src/interfaces/messages.ts:117


isSystemMessage

isSystemMessage(message): message is ISystemMessage

Parameters

NameType
messageTUniversalMessage

Returns

message is ISystemMessage

Defined in

packages/agent-core/src/interfaces/messages.ts:121


isToolMessage

isToolMessage(message): message is IToolMessage

Parameters

NameType
messageTUniversalMessage

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

NameType
toolITool

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

NameType
toolITool
parametersTToolParameters

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

NameType
toolITool
parametersTToolParameters

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

NameType
toolITool
callbackTToolProgressCallback

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

NameTypeDescription
toolNamestringName of the tool being invoked (e.g. "Bash", "Write")
toolArgsTToolArgsArguments provided by the LLM
modeTPermissionModeActive permission mode
permissionsIPermissionListsOptional allow/deny lists from config

Returns

TPermissionDecision

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

NameType
Textends object

Parameters

NameType
targetT
configIExecutionProxyConfig

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

NameType
eventServiceIEventService
sourceType"tool" | "agent" | "team"
sourceIdstring

Returns

fn

▸ <T>(target): T

Type parameters
NameType
Textends object
Parameters
NameType
targetT
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

NameType
packageNamestring
logger?ILogger

Returns

ILogger

Defined in

packages/agent-core/src/utils/logger.ts:183


setGlobalLogLevel

setGlobalLogLevel(level): void

Set global log level for all loggers

Parameters

NameType
levelTUtilLogLevel

Returns

void

Defined in

packages/agent-core/src/utils/logger.ts:190


getGlobalLogLevel

getGlobalLogLevel(): TUtilLogLevel

Get global log level

Returns

TUtilLogLevel

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

NameType
loggerILogger
optionsIPeriodicTaskOptions
task() => Promise<void>

Returns

TTimerId

Defined in

packages/agent-core/src/utils/periodic-task.ts:13


stopPeriodicTask

stopPeriodicTask(timer): void

Parameters

NameType
timerundefined | Timeout

Returns

void

Defined in

packages/agent-core/src/utils/periodic-task.ts:34


validateAgentConfig

validateAgentConfig(config): ISimpleValidationResult

Validate agent configuration

Parameters

NameType
configPartial<IAgentConfig>

Returns

ISimpleValidationResult

Defined in

packages/agent-core/src/utils/validation.ts:207


validateUserInput

validateUserInput(input): ISimpleValidationResult

Validate user input string

Parameters

NameType
inputstring

Returns

ISimpleValidationResult

Defined in

packages/agent-core/src/utils/validation.ts:208


validateProviderName

validateProviderName(name): ISimpleValidationResult

Validate provider name

Parameters

NameType
namestring

Returns

ISimpleValidationResult

Defined in

packages/agent-core/src/utils/validation.ts:209


validateModelName

validateModelName(name): ISimpleValidationResult

Validate model name

Parameters

NameType
namestring

Returns

ISimpleValidationResult

Defined in

packages/agent-core/src/utils/validation.ts:210


validateApiKey

validateApiKey(apiKey, provider?): ISimpleValidationResult

Validate API key format (basic check)

Parameters

NameType
apiKeystring
provider?string

Returns

ISimpleValidationResult

Defined in

packages/agent-core/src/utils/validation.ts:211

Released under the MIT License.