# Interface ExpertConfig

Configuration for creating a dynamic expert agent.

interface ExpertConfig {
id: string;
name: string;
role: AgentRole;
systemPrompt: string;
capabilities: AgentCapability[];
modelPreference?: ModelPreference;
toolRestrictions?: { allowedTools?: string[]; deniedTools?: string[] };
metadata?: Record<string, unknown>;
}

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:46

##### Index

### Properties

id
name
role
systemPrompt
capabilities
modelPreference?
toolRestrictions?
metadata?

## Properties

### id

id: string

Unique identifier for this expert

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:48

### name

name: string

Human-readable name

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:50

### role

role: AgentRole

Role classification

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:52

### systemPrompt

systemPrompt: string

System prompt defining the expert's behavior

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:54

### capabilities

capabilities: AgentCapability[]

List of capabilities this expert has

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:56

### `Optional` modelPreference

modelPreference?: ModelPreference

Optional model preferences

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:58

### `Optional` toolRestrictions

toolRestrictions?: { allowedTools?: string[]; deniedTools?: string[] }

Optional tool restrictions (allowlist/denylist per role)

#### Type Declaration

- ##### `Optional` allowedTools?: string[]

  Tools the expert is allowed to use (allowlist — exclusive).

- ##### `Optional` deniedTools?: string[]

  Tools the expert is NOT allowed to use (denylist — additive).

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:60

### `Optional` metadata

metadata?: Record<string, unknown>

Optional metadata for extensions

- Defined in packages/nexus-agents/src/agents/experts/expert-config.ts:62