Overview
The runtime types define the core runtime environment for an agent, including methods for database interaction, plugin management, event handling, state composition, model usage, and task management.IAgentRuntime
Represents the core runtime environment for an agent. Defines methods for database interaction, plugin management, event handling, state composition, model usage, and task management.Properties
agentId- Unique identifier for this agent instancecharacter- The character configuration for this agentenableAutonomy- Whether autonomous behavior is enabledinitPromise- Promise that resolves when initialization completesmessageService- Service for handling messagesproviders- Registered context providersactions- Registered actionsevaluators- Registered evaluatorsplugins- Loaded pluginsservices- Map of registered services by typeevents- Event handler storagefetch?- Fetch API implementationroutes- Registered HTTP routeslogger- Logger instancestateCache- Cache for state objectslogLevelOverrides- Per-component log level overridessandboxMode?- Whether runtime is in sandbox mode (default: false)sandboxTokenManager?- Token manager for secret obfuscation in sandbox mode
Plugin Management
registerPlugin()- Register a plugin with the runtimeinitialize()- Initialize the runtime, optionally skipping database migrations
Service Management
getService()- Get a service instance by typegetServicesByType()- Get all services of a specific typegetAllServices()- Get all registered servicesregisterService()- Register a new service classgetServiceLoadPromise()- Get a promise that resolves when service loadsgetRegisteredServiceTypes()- Get list of registered service typeshasService()- Check if a service type is registered
Settings Management
setSetting()- Set a configuration valuegetSetting()- Get a configuration value
Configuration Methods
getConversationLength()- Get the maximum conversation lengthisActionPlanningEnabled()- Check if multi-action planning is enabled (default: true)getLLMMode()- Get LLM mode:DEFAULT,SMALL, orLARGEisCheckShouldRespondEnabled()- Check if shouldRespond evaluation is enabled (default: true)
Action Processing
processActions()- Process actions from a messagegetActionResults()- Get results from processed actionsregisterAction()- Register a new actiongetAllActions()- Get all registered actionsgetFilteredActions()- Get actions filtered by tool policyisActionAllowed()- Check if a specific action is allowed
Evaluation
evaluate()- Run post-response evaluatorsevaluatePre()- Run pre-evaluation security gates that can block or rewrite messagesregisterEvaluator()- Register a new evaluator
Provider Management
registerProvider()- Register a context provider
State Composition
composeState()- Compose state object from message and context
Model Inference
useModel()- Use a model for inference with type-safe parametersgenerateText()- Generate text using default modelregisterModel()- Register a model handlergetModel()- Get registered model handlergetModelConfiguration()- Get model handler configuration
Event Management
registerEvent()- Register an event handlergetEvent()- Get registered handlers for an eventemitEvent()- Emit an event to all handlers
Task Management
registerTaskWorker()- Register a task worker definitiongetTaskWorker()- Get a task worker by name
Dynamic Prompt Execution
- Level 0 (Trusted): No codes. Maximum speed.
- Level 1 (Progressive): Per-field codes. Balance of safety + speed.
- Level 2 (First Checkpoint): Codes at start. Default. Catches ignored prompts.
- Level 3 (Full): Codes at start AND end. Maximum correctness.
Memory Management
addEmbeddingToMemory()- Add embedding vector to a memoryqueueEmbeddingGeneration()- Queue async embedding generationgetAllMemories()- Get all memories for the agentclearAllAgentMemories()- Clear all agent memoriesupdateMemory()- Update an existing memory
Environment Management
Run Tracking
createRunId()- Create a new run IDstartRun()- Start a new run sessionendRun()- End the current rungetCurrentRunId()- Get the current run ID
Messaging
registerSendHandler()- Register a message send handlersendMessageToTarget()- Send a message to a target
Security
redactSecrets()- Redact secrets from text
Lifecycle
stop()- Stop the runtime and cleanupgetConnection()- Get underlying database connectionregisterDatabaseAdapter()- Register a custom database adapter