# Interface BaseAgentOptions

Options for creating a BaseAgent.

interface BaseAgentOptions {
id: string;
role: AgentRole;
capabilities: readonly AgentCapability[];
adapter?: IModelAdapter;
logger?: ILogger;
systemPrompt?: string;
temperature?: number;
maxTokens?: number;
eventBus?: IEventBus;
emitMessageEvents?: boolean;
stateMachineOptions?: StateMachineOptions;
tokenBudget?: TokenBudgetConfig;
contextPruning?: ContextPrunerAgentConfig;
memory?: AgentMemoryConfig;
}

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:17

##### Index

### Properties

id
role
capabilities
adapter?
logger?
systemPrompt?
temperature?
maxTokens?
eventBus?
emitMessageEvents?
stateMachineOptions?
tokenBudget?
contextPruning?
memory?

## Properties

### id

id: string

Unique agent identifier

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:19

### role

role: AgentRole

Agent role

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:21

### capabilities

capabilities: readonly AgentCapability[]

Agent capabilities

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:23

### `Optional` adapter

adapter?: IModelAdapter

Model adapter for LLM interactions

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:25

### `Optional` logger

logger?: ILogger

Custom logger instance

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:27

### `Optional` systemPrompt

systemPrompt?: string

System prompt for the agent

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:29

### `Optional` temperature

temperature?: number

Default temperature for completions

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:31

### `Optional` maxTokens

maxTokens?: number

Maximum tokens for responses

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:33

### `Optional` eventBus

eventBus?: IEventBus

Event bus for message observability (uses global bus if not provided)

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:35

### `Optional` emitMessageEvents

emitMessageEvents?: boolean

Whether to emit events for message handling (default: true)

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:37

### `Optional` stateMachineOptions

stateMachineOptions?: StateMachineOptions

State machine options for validated state transitions

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:39

### `Optional` tokenBudget

tokenBudget?: TokenBudgetConfig

Token budget configuration for EMA-based tracking (Issue #304)

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:41

### `Optional` contextPruning

contextPruning?: ContextPrunerAgentConfig

Configuration for automatic context pruning (Issue #306)

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:43

### `Optional` memory

memory?: AgentMemoryConfig

Configuration for memory backend integration (Issue #348)

- Defined in packages/nexus-agents/src/agents/base-agent-types.ts:45