# Variable ExpertConfigSchema`Const`

ExpertConfigSchema: ZodObject<
{
id: ZodString;
name: ZodString;
role: ZodEnum<
{
custom: "custom";
orchestrator: "orchestrator";
code_expert: "code_expert";
architecture_expert: "architecture_expert";
security_expert: "security_expert";
documentation_expert: "documentation_expert";
testing_expert: "testing_expert";
devops_expert: "devops_expert";
research_expert: "research_expert";
pm_expert: "pm_expert";
ux_expert: "ux_expert";
infrastructure_expert: "infrastructure_expert";
qa_expert: "qa_expert";
data_visualization_expert: "data_visualization_expert";
},
>;
systemPrompt: ZodString;
capabilities: ZodArray<
ZodEnum<
{
tool_use: "tool_use";
task_execution: "task_execution";
delegation: "delegation";
collaboration: "collaboration";
code_generation: "code_generation";
code_review: "code_review";
research: "research";
},
>,
>;
modelPreference: ZodOptional<
ZodObject<
{
provider: ZodOptional<ZodString>;
modelId: ZodOptional<ZodString>;
temperature: ZodOptional<ZodNumber>;
maxTokens: ZodOptional<ZodNumber>;
},
$strip,
>,
>;
toolRestrictions: ZodOptional<
ZodObject<
{
allowedTools: ZodOptional<ZodArray<ZodString>>;
deniedTools: ZodOptional<ZodArray<ZodString>>;
},
$strip,
>,
>;
metadata: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
},
$strip,
> = ...

Agents exports - Agent framework, Orchestrator, Experts Split from index.ts for file size compliance (Issue #285)

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