Real-time progress updates via callbacks.
onUpdate Callback
typescript
1const result = await client.run(2 { app: 'infsh/flux', input: { prompt: 'A sunset' } },3 {4 onUpdate: (update) => {5 console.log('Status:', update.status);6 if (update.logs) {7 console.log('Logs:', update.logs);8 }9 }10 }11);1213console.log('Final output:', result.output);onPartialUpdate Callback
Track which fields changed:
typescript
1const result = await client.run(2 { app: 'app', input: {...} },3 {4 onPartialUpdate: (update, fields) => {5 console.log('Changed fields:', fields);6 console.log('Update:', update);7 }8 }9);Combined Callbacks
typescript
1await client.run(params, {2 onUpdate: (update) => {3 console.log(`Status: ${update.status}`);4 },5 onPartialUpdate: (update, fields) => {6 if (fields.includes('logs')) {7 console.log('New logs:', update.logs);8 }9 }10});Reconnection Options
Handle connection drops:
typescript
1await client.run(params, {2 autoReconnect: true,3 maxReconnects: 5,4 reconnectDelayMs: 1000,5 onUpdate: (update) => console.log(update)6});Status Constants
typescript
1import {2 TaskStatusReceived, // 13 TaskStatusQueued, // 24 TaskStatusScheduled, // 35 TaskStatusPreparing, // 46 TaskStatusServing, // 57 TaskStatusSettingUp, // 68 TaskStatusRunning, // 79 TaskStatusUploading, // 810 TaskStatusCompleted, // 911 TaskStatusFailed, // 1012 TaskStatusCancelled // 1113} from '@inferencesh/sdk';