let current = task;
while (!TERMINAL.has(current.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000));
current = await generationService.getTask(current.id, current.guest_result_token ?? undefined);
}
if (current.status !== "succeeded" || !current.outputs.length) {
throw new Error(current.error_code || "generation_finished_without_output");
}
return current.outputs;
} finally {
// The API owns the durable task; failed uploads are cleaned up by the
// service when the task was never accepted.
}
}
[/code]