# Variable ExpertFactory`Const`

ExpertFactory: {
create: (
config: ExpertConfig,
options?: CreateExpertOptions,
) => Result<Expert, FactoryError>;
createBuiltIn: (
type: BuiltInExpertType,
options?: CreateExpertOptions,
) => Result<Expert, FactoryError>;
createMany: (
configs: ExpertConfig[],
options?: CreateExpertOptions,
) => Result<Expert[], FactoryError>;
createAllBuiltIn: (
options?: CreateExpertOptions,
) => Result<Expert[], FactoryError>;
validate: (config: unknown) => Result<ExpertConfig, FactoryError>;
getBuiltInConfig: (
type: BuiltInExpertType,
) => Result<ExpertConfig, FactoryError>;
createFromICTM: (
ictm: ICTMConfig,
subtaskId: string,
options?: CreateExpertOptions,
) => Result<Expert, FactoryError>;
} = ...

Factory namespace for creating expert agents. Provides static methods for backward compatibility.

#### Type Declaration

- ##### `Readonly` create: (
  config: ExpertConfig,
  options?: CreateExpertOptions,
  ) => Result<Expert, FactoryError>

- ##### `Readonly` createBuiltIn: (
  type: BuiltInExpertType,
  options?: CreateExpertOptions,
  ) => Result<Expert, FactoryError>

- ##### `Readonly` createMany: (
  configs: ExpertConfig[],
  options?: CreateExpertOptions,
  ) => Result<Expert[], FactoryError>

- ##### `Readonly` createAllBuiltIn: (options?: CreateExpertOptions) => Result<Expert[], FactoryError>

- ##### `Readonly` validate: (config: unknown) => Result<ExpertConfig, FactoryError>

- ##### `Readonly` getBuiltInConfig: (type: BuiltInExpertType) => Result<ExpertConfig, FactoryError>

- ##### createFromICTM: (
  ictm: ICTMConfig,
  subtaskId: string,
  options?: CreateExpertOptions,
  ) => Result<Expert, FactoryError>

- Defined in packages/nexus-agents/src/agents/experts/expert-factory.ts:434