const cyclePhasesStep1 = createStep({
id: "phase-1",
description: "phase number 1",
inputSchema: z.object({
element: z.string(),
}),
resumeSchema: z.object({
element: z.string(),
}),
suspendSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
execute: async ({inputData}) => {
return {element:inputData.element}
},
});
const cyclePhasesStep2 = createStep({
id: "phase-2",
description: "phase number 2",
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
execute: async ({inputData}) => {
return {element:inputData.element}
},
});
const cyclePhasesStep3 = createStep({
id: "phase-3",
description: "phase number 3",
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
result: z.string(),
}),
execute: async ({inputData}) => {
return {result:inputData.element}
},
});
const dynamicWorkflowPhases = createWorkflow({
id: 'dynamicWorkflowPhases3',
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
})
.then(cyclePhasesStep1)
.then(cyclePhasesStep2)
.then(cyclePhasesStep3)
dynamicWorkflowPhases.commit();
const dynamicWorkflowPhasesStep = createStep(dynamicWorkflowPhases);
const dynamicWorkflowOrchestrator = createWorkflow({
id: 'dynamicWorkflowOrchestrator3',
inputSchema: z.object({
elements: z.array(z.string()),
}),
outputSchema: z.array(z.object({ result: z.string() })),
})
.map(async ({ inputData }) => {
return inputData.elements.map((element) => {
return { element: element }
})
})
.foreach(dynamicWorkflowPhasesStep)
dynamicWorkflowOrchestrator.commit();
const cyclePhasesStep1 = createStep({
id: "phase-1",
description: "phase number 1",
inputSchema: z.object({
element: z.string(),
}),
resumeSchema: z.object({
element: z.string(),
}),
suspendSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
execute: async ({inputData}) => {
return {element:inputData.element}
},
});
const cyclePhasesStep2 = createStep({
id: "phase-2",
description: "phase number 2",
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
execute: async ({inputData}) => {
return {element:inputData.element}
},
});
const cyclePhasesStep3 = createStep({
id: "phase-3",
description: "phase number 3",
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
result: z.string(),
}),
execute: async ({inputData}) => {
return {result:inputData.element}
},
});
const dynamicWorkflowPhases = createWorkflow({
id: 'dynamicWorkflowPhases3',
inputSchema: z.object({
element: z.string(),
}),
outputSchema: z.object({
element: z.string(),
}),
})
.then(cyclePhasesStep1)
.then(cyclePhasesStep2)
.then(cyclePhasesStep3)
dynamicWorkflowPhases.commit();
const dynamicWorkflowPhasesStep = createStep(dynamicWorkflowPhases);
const dynamicWorkflowOrchestrator = createWorkflow({
id: 'dynamicWorkflowOrchestrator3',
inputSchema: z.object({
elements: z.array(z.string()),
}),
outputSchema: z.array(z.object({ result: z.string() })),
})
.map(async ({ inputData }) => {
return inputData.elements.map((element) => {
return { element: element }
})
})
.foreach(dynamicWorkflowPhasesStep)
dynamicWorkflowOrchestrator.commit();