# Variable StrictWorkflowDefinitionSchema`Const`

StrictWorkflowDefinitionSchema: ZodObject<
{
name: ZodString;
version: ZodString;
description: ZodOptional<ZodString>;
inputs: ZodDefault<
ZodArray<
ZodObject<
{
name: ZodString;
type: ZodEnum<
{
string: "string";
number: "number";
boolean: "boolean";
object: "object";
array: "array";
},
>;
description: ZodOptional<ZodString>;
required: ZodDefault<ZodBoolean>;
default: ZodOptional<ZodUnknown>;
},
$strict,
>,
>,
>;
steps: ZodArray<
ZodObject<
{
id: ZodString;
agent: 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";
infrastructure_expert: "infrastructure_expert";
},
>;
action: ZodString;
inputs: ZodDefault<ZodRecord<ZodString, ZodUnknown>>;
dependsOn: ZodOptional<ZodArray<ZodString>>;
parallel: ZodOptional<ZodBoolean>;
retries: ZodOptional<ZodNumber>;
timeout: ZodOptional<ZodNumber>;
condition: ZodOptional<ZodString>;
contextBudget: ZodOptional<
ZodObject<
{
system: ZodOptional<ZodNumber>;
task: ZodOptional<ZodNumber>;
active: ZodOptional<ZodNumber>;
reserved: ZodOptional<ZodNumber>;
},
$strip,
>,
>;
},
$strict,
>,
>;
timeout: ZodOptional<ZodNumber>;
defaultBudget: ZodOptional<
ZodObject<
{
system: ZodNumber;
task: ZodNumber;
active: ZodNumber;
reserved: ZodNumber;
},
$strip,
>,
>;
},
$strict,
> = ...

Schema for a complete workflow definition. This is the top-level structure of a workflow template file.

- Defined in packages/nexus-agents/src/workflows/workflow-types.ts:147