import type { TypedResponse } from "@remix-run/server-runtime"; import { json } from "@remix-run/server-runtime"; import type { WorkerApiRunLatestSnapshotResponseBody } from "@trigger.dev/core/v3/workers"; import { z } from "zod"; import { createLoaderWorkerApiRoute } from "~/services/routeBuilders/apiBuilder.server"; export const loader = createLoaderWorkerApiRoute( { params: z.object({ runFriendlyId: z.string(), }), }, async ({ authenticatedWorker, params, }): Promise> => { const { runFriendlyId } = params; const executionData = await authenticatedWorker.getLatestSnapshot({ runFriendlyId, }); if (!executionData) { throw new Error("Failed to retrieve latest snapshot"); } return json({ execution: executionData }); } );