@@ -17,6 +17,7 @@ import {
1717 WorkloadRunAttemptStartRequestBody ,
1818 type WorkloadRunAttemptStartResponseBody ,
1919 type WorkloadRunLatestSnapshotResponseBody ,
20+ WorkloadRunSnapshotsSinceResponseBody ,
2021 type WorkloadServerToClientEvents ,
2122 type WorkloadSuspendRunResponseBody ,
2223} from "@trigger.dev/core/v3/workers" ;
@@ -341,6 +342,31 @@ export class WorkloadServer extends EventEmitter<WorkloadServerEvents> {
341342 } satisfies WorkloadRunLatestSnapshotResponseBody ) ;
342343 } ,
343344 } )
345+ . route (
346+ "/api/v1/workload-actions/runs/:runFriendlyId/snapshots/since/:snapshotFriendlyId" ,
347+ "GET" ,
348+ {
349+ paramsSchema : WorkloadActionParams ,
350+ handler : async ( { req, reply, params } ) => {
351+ const sinceSnapshotResponse = await this . workerClient . getSnapshotsSince (
352+ params . runFriendlyId ,
353+ params . snapshotFriendlyId ,
354+ this . runnerIdFromRequest ( req )
355+ ) ;
356+
357+ if ( ! sinceSnapshotResponse . success ) {
358+ console . error ( "Failed to get snapshots since" , {
359+ runId : params . runFriendlyId ,
360+ error : sinceSnapshotResponse . error ,
361+ } ) ;
362+ reply . empty ( 500 ) ;
363+ return ;
364+ }
365+
366+ reply . json ( sinceSnapshotResponse . data satisfies WorkloadRunSnapshotsSinceResponseBody ) ;
367+ } ,
368+ }
369+ )
344370 . route ( "/api/v1/workload-actions/runs/:runFriendlyId/logs/debug" , "POST" , {
345371 paramsSchema : WorkloadActionParams . pick ( { runFriendlyId : true } ) ,
346372 bodySchema : WorkloadDebugLogRequestBody ,
0 commit comments