@@ -9,7 +9,7 @@ import { route as getOutputRoute } from '../routes/v1/tasks/taskId/getOutput.js'
9
9
import { route as putTaskRoute } from '../routes/v1/tasks/putTaskId.js' ;
10
10
import { route as postHeartbeatRoute } from '../routes/v1/tasks/taskId/postHeartbeat.js' ;
11
11
import type { Result , Route } from '@nangohq/utils' ;
12
- import { Ok , Err , routeFetch , stringifyError , getLogger } from '@nangohq/utils' ;
12
+ import { Ok , Err , routeFetch , getLogger } from '@nangohq/utils' ;
13
13
import type { Endpoint } from '@nangohq/types' ;
14
14
import type {
15
15
ClientError ,
@@ -54,8 +54,8 @@ export class OrchestratorClient {
54
54
if ( 'error' in res ) {
55
55
return Err ( {
56
56
name : res . error . code ,
57
- message : res . error . message || `Error scheduling immediate task` ,
58
- payload : props
57
+ message : res . error . message || `Error scheduling immediate task` ,
58
+ payload : { ... props , response : res . error . payload as any }
59
59
} ) ;
60
60
} else {
61
61
return Ok ( res ) ;
@@ -80,7 +80,7 @@ export class OrchestratorClient {
80
80
return Err ( {
81
81
name : res . error . code ,
82
82
message : res . error . message || `Error creating recurring schedule` ,
83
- payload : { ...props , startsAt }
83
+ payload : { ...props , startsAt, response : res . error . payload as any }
84
84
} ) ;
85
85
} else {
86
86
return Ok ( res ) ;
@@ -107,7 +107,7 @@ export class OrchestratorClient {
107
107
return Err ( {
108
108
name : res . error . code ,
109
109
message : res . error . message || `Error setting schedule state` ,
110
- payload : { scheduleName, state }
110
+ payload : { scheduleName, state, response : res . error . payload as any }
111
111
} ) ;
112
112
} else {
113
113
return Ok ( undefined ) ;
@@ -122,7 +122,7 @@ export class OrchestratorClient {
122
122
return Err ( {
123
123
name : res . error . code ,
124
124
message : res . error . message || `Error updating schedule frequency` ,
125
- payload : { scheduleName, frequencyMs }
125
+ payload : { scheduleName, frequencyMs, response : res . error . payload as any }
126
126
} ) ;
127
127
} else {
128
128
return Ok ( undefined ) ;
@@ -139,7 +139,7 @@ export class OrchestratorClient {
139
139
return Err ( {
140
140
name : res . error . code ,
141
141
message : res . error . message || `Error creating recurring schedule` ,
142
- payload : props
142
+ payload : { ... props , response : res . error . payload as any }
143
143
} ) ;
144
144
} else {
145
145
return Ok ( undefined ) ;
@@ -162,7 +162,7 @@ export class OrchestratorClient {
162
162
return Err ( {
163
163
name : getOutput . error . code ,
164
164
message : getOutput . error . message || `Error fetching task '${ taskId } ' output` ,
165
- payload : { }
165
+ payload : { response : getOutput . error . payload as any }
166
166
} ) ;
167
167
} else {
168
168
switch ( getOutput . state ) {
@@ -261,7 +261,7 @@ export class OrchestratorClient {
261
261
return Err ( {
262
262
name : res . error . code ,
263
263
message : res . error . message || `Error listing tasks` ,
264
- payload : body
264
+ payload : { ... body , response : res . error . payload as any }
265
265
} ) ;
266
266
} else {
267
267
const tasks = res . flatMap ( ( task ) => {
@@ -284,7 +284,7 @@ export class OrchestratorClient {
284
284
return Err ( {
285
285
name : res . error . code ,
286
286
message : res . error . message || `Error listing schedules` ,
287
- payload : { scheduleNames }
287
+ payload : { scheduleNames, response : res . error . payload as any }
288
288
} ) ;
289
289
} else {
290
290
const schedules = res . flatMap ( ( schedule ) => {
@@ -319,7 +319,7 @@ export class OrchestratorClient {
319
319
return Err ( {
320
320
name : res . error . code ,
321
321
message : res . error . message || `Error dequeueing tasks` ,
322
- payload : { groupKey, limit }
322
+ payload : { groupKey, limit, response : res . error . payload as any }
323
323
} ) ;
324
324
} else {
325
325
const dequeuedTasks = res . flatMap ( ( task ) => {
@@ -342,7 +342,7 @@ export class OrchestratorClient {
342
342
return Err ( {
343
343
name : res . error . code ,
344
344
message : res . error . message || `Error heartbeating task '${ taskId } '` ,
345
- payload : { taskId }
345
+ payload : { taskId, response : res . error . payload as any }
346
346
} ) ;
347
347
} else {
348
348
return Ok ( undefined ) ;
@@ -358,21 +358,21 @@ export class OrchestratorClient {
358
358
return Err ( {
359
359
name : res . error . code ,
360
360
message : res . error . message || `Error succeeding task '${ taskId } '` ,
361
- payload : { taskId, output }
361
+ payload : { taskId, output, response : res . error . payload as any }
362
362
} ) ;
363
363
} else {
364
364
return validateTask ( res ) . mapError ( ( err ) => ( {
365
365
name : 'succeed_failed' ,
366
- message : `Failed to mark task ${ taskId } as succeeded: ${ stringifyError ( err ) } ` ,
367
- payload : { taskId, output }
366
+ message : `Failed to mark task ${ taskId } as succeeded` ,
367
+ payload : { taskId, output, err : err as any }
368
368
} ) ) ;
369
369
}
370
370
}
371
371
372
372
public async failed ( { taskId, error } : { taskId : string ; error : Error } ) : Promise < Result < OrchestratorTask , ClientError > > {
373
373
const output = {
374
374
name : error . name ,
375
- type : 'type' in error ? ( error . type as string ) : null ,
375
+ type : 'type' in error ? ( error . type as string ) : 'unknown_error' ,
376
376
message : error . message ,
377
377
payload : 'payload' in error ? ( error . payload as any ) : null
378
378
} ;
@@ -384,13 +384,13 @@ export class OrchestratorClient {
384
384
return Err ( {
385
385
name : res . error . code ,
386
386
message : res . error . message || `Error failing task '${ taskId } '` ,
387
- payload : { taskId, error : output }
387
+ payload : { taskId, error : output , response : res . error . payload as any }
388
388
} ) ;
389
389
} else {
390
390
return validateTask ( res ) . mapError ( ( err ) => ( {
391
391
name : 'failed_failed' ,
392
- message : `Failed to mark task ${ taskId } as failed: ${ stringifyError ( err ) } ` ,
393
- payload : { taskId, error : output }
392
+ message : `Failed to mark task ${ taskId } as failed` ,
393
+ payload : { taskId, error : output , err : err as any }
394
394
} ) ) ;
395
395
}
396
396
}
@@ -404,13 +404,13 @@ export class OrchestratorClient {
404
404
return Err ( {
405
405
name : res . error . code ,
406
406
message : res . error . message || `Error cancelling task '${ taskId } '` ,
407
- payload : { taskId, error : reason }
407
+ payload : { taskId, error : reason , response : res . error . payload as any }
408
408
} ) ;
409
409
} else {
410
410
return validateTask ( res ) . mapError ( ( err ) => ( {
411
- name : 'cacel_failed ' ,
412
- message : `Failed to mark task ${ taskId } as cancelled: ${ stringifyError ( err ) } ` ,
413
- payload : { taskId, error : reason }
411
+ name : 'cancel_failed ' ,
412
+ message : `Failed to mark task ${ taskId } as cancelled` ,
413
+ payload : { taskId, error : reason , err : err as any }
414
414
} ) ) ;
415
415
}
416
416
}
0 commit comments