@@ -94,8 +94,8 @@ export class WorkloadServer extends EventEmitter<WorkloadServerEvents> {
9494 this . websocketServer = this . createWebsocketServer ( ) ;
9595 }
9696
97- private runnerIdFromRequest ( req : IncomingMessage ) : string | undefined {
98- const value = req . headers [ WORKLOAD_HEADERS . RUNNER_ID ] ;
97+ private headerValueFromRequest ( req : IncomingMessage , headerName : string ) : string | undefined {
98+ const value = req . headers [ headerName ] ;
9999
100100 if ( Array . isArray ( value ) ) {
101101 return value [ 0 ] ;
@@ -104,6 +104,22 @@ export class WorkloadServer extends EventEmitter<WorkloadServerEvents> {
104104 return value ;
105105 }
106106
107+ private runnerIdFromRequest ( req : IncomingMessage ) : string | undefined {
108+ return this . headerValueFromRequest ( req , WORKLOAD_HEADERS . RUNNER_ID ) ;
109+ }
110+
111+ private deploymentIdFromRequest ( req : IncomingMessage ) : string | undefined {
112+ return this . headerValueFromRequest ( req , WORKLOAD_HEADERS . DEPLOYMENT_ID ) ;
113+ }
114+
115+ private deploymentVersionFromRequest ( req : IncomingMessage ) : string | undefined {
116+ return this . headerValueFromRequest ( req , WORKLOAD_HEADERS . DEPLOYMENT_VERSION ) ;
117+ }
118+
119+ private projectRefFromRequest ( req : IncomingMessage ) : string | undefined {
120+ return this . headerValueFromRequest ( req , WORKLOAD_HEADERS . PROJECT_REF ) ;
121+ }
122+
107123 private createHttpServer ( { host, port } : { host : string ; port : number } ) {
108124 return new HttpServer ( { port, host } )
109125 . route (
@@ -213,8 +229,10 @@ export class WorkloadServer extends EventEmitter<WorkloadServerEvents> {
213229 }
214230
215231 const runnerId = this . runnerIdFromRequest ( req ) ;
232+ const deploymentVersion = this . deploymentVersionFromRequest ( req ) ;
233+ const projectRef = this . projectRefFromRequest ( req ) ;
216234
217- if ( ! runnerId ) {
235+ if ( ! runnerId || ! deploymentVersion || ! projectRef ) {
218236 console . error ( "Invalid headers for suspend request" , {
219237 ...params ,
220238 headers : req . headers ,
@@ -241,8 +259,13 @@ export class WorkloadServer extends EventEmitter<WorkloadServerEvents> {
241259 const suspendResult = await this . checkpointClient . suspendRun ( {
242260 runFriendlyId : params . runFriendlyId ,
243261 snapshotFriendlyId : params . snapshotFriendlyId ,
244- containerId : runnerId ,
245- runnerId,
262+ body : {
263+ runnerId,
264+ runId : params . runFriendlyId ,
265+ snapshotId : params . snapshotFriendlyId ,
266+ projectRef,
267+ deploymentVersion,
268+ } ,
246269 } ) ;
247270
248271 if ( ! suspendResult ) {
0 commit comments