Skip to content

ema / config / Config

Class: Config

Defined in: packages/ema/src/config.ts:305

This class contains definition of all the configuration for the EMA.

The default load paths is given by Config.findConfigFile.

Examples

js
// Loads configuration from the default load paths.
const config = Config.load();
js
// Loads configuration in YAML format from a specific file.
const config = Config.fromYaml("/path/to/config.yaml");

Constructors

Constructor

ts
new Config(
   llm, 
   agent, 
   tools, 
   mongo, 
   system): Config;

Defined in: packages/ema/src/config.ts:306

Parameters

llm

LLMConfig

LLM configuration

agent

AgentConfig

Agent configuration

tools

ToolsConfig

Tools configuration

mongo

MongoConfig

MongoDB configuration

system

SystemConfig

System configuration

Returns

Config

Properties

agent

ts
readonly agent: AgentConfig;

Defined in: packages/ema/src/config.ts:314

Agent configuration


llm

ts
readonly llm: LLMConfig;

Defined in: packages/ema/src/config.ts:310

LLM configuration


mongo

ts
readonly mongo: MongoConfig;

Defined in: packages/ema/src/config.ts:322

MongoDB configuration


system

ts
readonly system: SystemConfig;

Defined in: packages/ema/src/config.ts:326

System configuration


tools

ts
readonly tools: ToolsConfig;

Defined in: packages/ema/src/config.ts:318

Tools configuration

Accessors

baseTools

Get Signature

ts
get baseTools(): Tool[];

Defined in: packages/ema/src/config.ts:458

Returns

Tool[]


systemPrompt

Get Signature

ts
get systemPrompt(): string;

Defined in: packages/ema/src/config.ts:445

Gets the system prompt file path.

Returns

string

Methods

assignEnv()

ts
assignEnv(): this;

Defined in: packages/ema/src/config.ts:352

Assigns environment variables to the config.

Returns

this


findConfigFile()

ts
static findConfigFile(filename): string | null;

Defined in: packages/ema/src/config.ts:489

Find configuration file with priority order

Search for config file in the following order of priority:

  1. packages/ema/src/config/{filename} in current directory (development mode)
  2. {data}/ema/config/{filename} in user home directory
  3. {package}/config/{filename} in package installation directory

The table below shows the {data} directory for different platforms:

PlatformValueExample
Linux$XDG_DATA_HOME or $HOME/.local/share/home/alice/.local/share
macOS$HOME/Library/Application Support/Users/Alice/Library/Application Support
Windows{FOLDERID_LocalAppData}C:\Users\Alice\AppData\Local

Parameters

filename

string

Configuration file name (e.g., "config.yaml", "mcp.json", "system_prompt.md")

Returns

string | null

Path to found config file, or null if not found


fromYaml()

ts
static fromYaml(configPath): Config;

Defined in: packages/ema/src/config.ts:387

Loads configuration from YAML file

Parameters

configPath

string

Configuration file path

Returns

Config

Config instance


getDefaultConfigPath()

ts
static getDefaultConfigPath(): string;

Defined in: packages/ema/src/config.ts:511

Get the default config file path with priority search

Returns

string

Path to config.yaml (prioritizes: dev config/ > user config/ > package config/)


getPackageDir()

ts
static getPackageDir(): string;

Defined in: packages/ema/src/config.ts:467

Get the package installation directory

Returns

string

Path to the mini_agent package directory


load()

ts
static load(): Config;

Defined in: packages/ema/src/config.ts:332

Loads configuration from the default search path.

Returns

Config