What if I create the initial workflow definition and run dynamic steps? Im trying to give each tenan
What if I create the initial workflow definition and run dynamic steps? Im trying to give each tenant its own instance with separate limits.
await instance.status() only gets me an array of the output from the individual steps. Not the final Worfklow return value.Output? Is it only available via the GraphQL API?
await instance.status() only gives me the output of the steps inside the workflow, not the workflow return value.await instance.status().outputstatus() not the output, so (await instance.status()).outputoutput property of the InstanceStatus does not contain the Workflow return value, even when the workflow is completed. I'm only seeing an array of the outputs from the individual steps called inside the workflow.Promise.all is fine.saveNotesStep after the Promise.all and reading the output of the step. In that case if the "save" step fails, the generateNotesStep will have cached the response. It might only be an issue if the serialized data exceeds the limits.Because Workflows can be long running, it is possible to have running instances that represent different versions of your Workflow code over time.Does it mean that if, for example, I update my code while the workflow is waiting a
sleep() step, when the sleep is over it will execute the old code and not the updated steps (considering that the step names are the same if it matters)?

body.record and they aren't null
Serialized RPC arguments or return values are limited to 1MiB errorconst generateTitleStep = step.do(
"Generate the project title",
async () => {
console.log("Generate the project title");
const anthropic = createAnthropic({
apiKey: this.env.ANTHROPIC_API_KEY,
});
return {};
},
);
const generateNotesStep = step.do(
"Generate the project notes",
async () => {
console.log("Generate the project notes");
return {};
},
);
// option A
await step.do("Await all project generation steps", async () => {
await generateTitleStep;
await generateNotesStep;
});
// option B
await Promise.all([generateTitleStep, generateNotesStep]);const generateNotesStep = step.do(
"Generate the project notes",
async () => {
console.log("Generate the project notes");
return "These are some notes returned after awaiting";
},
);
const saveNotesStep = step.do(
"Save the project notes",
async () => {
const notes = await generateNotesStep
// save the data to the DB here. notes have been generated and won't regenerate if this retries
return {};
},
);Promise.allPromise.allsaveNotesStepgenerateNotesStepsleep()body.recordSerialized RPC arguments or return values are limited to 1MiBconst workflowBody: WorkflowParams = {
coursework: {
id: body.record.id,
...
},
prompt_id: body.record.prompt_id,
};
await env.grading_workflow.create({
id: submissionId,
params: workflowBody,
});