remora-monorepo / lib / workflowDefinitionSchema
Variable: workflowDefinitionSchema
constworkflowDefinitionSchema:Type<{initialStepId:string;inputSchema?:object;outputSchema?:object;steps: ({description:string;id:string;name:string;nextStepId?:string;params: {toolInput: {[key:string]: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };toolName:string; };type:"tool-call"; } | {description:string;id:string;name:string;nextStepId?:string;params: {outputFormat:object;prompt:string; };type:"llm-prompt"; } | {description:string;id:string;name:string;nextStepId?:string;params: {outputFormat:object;sourceData: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"extract-data"; } | {description:string;id:string;name:string;nextStepId?:string;params: {cases:object[];switchOn: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"switch-case"; } | {description:string;id:string;name:string;nextStepId?:string;params: {itemName:string;loopBodyStepId:string;target: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"for-each"; } | {description:string;id:string;name:string;nextStepId?:string;params: {durationMs: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"sleep"; } | {description:string;id:string;name:string;nextStepId?:string;params: {backoffMultiplier?: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; };condition: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; };conditionStepId:string;intervalMs?: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; };maxAttempts?: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; };timeoutMs?: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"wait-for-condition"; } | {description:string;id:string;name:string;nextStepId?:string;params: {instructions:string;maxSteps?: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; };outputFormat:object;tools:string[]; };type:"agent-loop"; } | {description:string;id:string;name:string;nextStepId?:string;type:"start"; } | {description:string;id:string;name:string;nextStepId?:string;params?: {output: {type:"literal";value:unknown; } | {expression:string;type:"jmespath"; } | {template:string;type:"template"; }; };type:"end"; })[]; }, { }>
Defined in: packages/core/src/types.ts:218
ArkType schema for validating workflow definitions. Use this to validate workflow JSON before passing it to compileWorkflow.