async function pollTaskStatus(ticketId: string) {
const maxAttempts = 30;
const pollInterval = 2000;
for (let attempt = 0; attempt < maxAttempts; attempt++) {
const status = await client.getTaskStatus(ticketId);
if (status.status === 'Completed') {
return { success: true, data: status };
}
if (typeof status.status === 'object' && 'Failed' in status.status) {
return { success: false, error: status.status.Failed.error };
}
console.log(`Attempt ${attempt + 1}: ${status.status}`);
await new Promise(resolve => setTimeout(resolve, pollInterval));
}
return { success: false, error: 'Timeout waiting for task completion' };
}