|
1 |
| -import { ListRunResponse, ListRunResponseItem, RunStatus } from "@trigger.dev/core/v3"; |
| 1 | +import { ListRunResponse, ListRunResponseItem, parsePacket, RunStatus } from "@trigger.dev/core/v3"; |
2 | 2 | import { Project, RuntimeEnvironment, TaskRunStatus } from "@trigger.dev/database";
|
3 | 3 | import assertNever from "assert-never";
|
4 | 4 | import { z } from "zod";
|
@@ -220,36 +220,46 @@ export class ApiRunListPresenter extends BasePresenter {
|
220 | 220 |
|
221 | 221 | const results = await presenter.call(options);
|
222 | 222 |
|
223 |
| - const data: ListRunResponseItem[] = results.runs.map((run) => { |
224 |
| - return { |
225 |
| - id: run.friendlyId, |
226 |
| - status: ApiRetrieveRunPresenter.apiStatusFromRunStatus(run.status), |
227 |
| - taskIdentifier: run.taskIdentifier, |
228 |
| - idempotencyKey: run.idempotencyKey, |
229 |
| - version: run.version ?? undefined, |
230 |
| - createdAt: new Date(run.createdAt), |
231 |
| - updatedAt: new Date(run.updatedAt), |
232 |
| - startedAt: run.startedAt ? new Date(run.startedAt) : undefined, |
233 |
| - finishedAt: run.finishedAt ? new Date(run.finishedAt) : undefined, |
234 |
| - delayedUntil: run.delayUntil ? new Date(run.delayUntil) : undefined, |
235 |
| - isTest: run.isTest, |
236 |
| - ttl: run.ttl ?? undefined, |
237 |
| - expiredAt: run.expiredAt ? new Date(run.expiredAt) : undefined, |
238 |
| - env: { |
239 |
| - id: run.environment.id, |
240 |
| - name: run.environment.slug, |
241 |
| - user: run.environment.userName, |
242 |
| - }, |
243 |
| - tags: run.tags, |
244 |
| - costInCents: run.costInCents, |
245 |
| - baseCostInCents: run.baseCostInCents, |
246 |
| - durationMs: run.usageDurationMs, |
247 |
| - depth: run.depth, |
248 |
| - ...ApiRetrieveRunPresenter.apiBooleanHelpersFromRunStatus( |
249 |
| - ApiRetrieveRunPresenter.apiStatusFromRunStatus(run.status) |
250 |
| - ), |
251 |
| - }; |
252 |
| - }); |
| 223 | + logger.debug("RunListPresenter results", { results }); |
| 224 | + |
| 225 | + const data: ListRunResponseItem[] = await Promise.all( |
| 226 | + results.runs.map(async (run) => { |
| 227 | + const metadata = await parsePacket({ |
| 228 | + data: run.metadata ?? undefined, |
| 229 | + dataType: run.metadataType, |
| 230 | + }); |
| 231 | + |
| 232 | + return { |
| 233 | + id: run.friendlyId, |
| 234 | + status: ApiRetrieveRunPresenter.apiStatusFromRunStatus(run.status), |
| 235 | + taskIdentifier: run.taskIdentifier, |
| 236 | + idempotencyKey: run.idempotencyKey, |
| 237 | + version: run.version ?? undefined, |
| 238 | + createdAt: new Date(run.createdAt), |
| 239 | + updatedAt: new Date(run.updatedAt), |
| 240 | + startedAt: run.startedAt ? new Date(run.startedAt) : undefined, |
| 241 | + finishedAt: run.finishedAt ? new Date(run.finishedAt) : undefined, |
| 242 | + delayedUntil: run.delayUntil ? new Date(run.delayUntil) : undefined, |
| 243 | + isTest: run.isTest, |
| 244 | + ttl: run.ttl ?? undefined, |
| 245 | + expiredAt: run.expiredAt ? new Date(run.expiredAt) : undefined, |
| 246 | + env: { |
| 247 | + id: run.environment.id, |
| 248 | + name: run.environment.slug, |
| 249 | + user: run.environment.userName, |
| 250 | + }, |
| 251 | + tags: run.tags, |
| 252 | + costInCents: run.costInCents, |
| 253 | + baseCostInCents: run.baseCostInCents, |
| 254 | + durationMs: run.usageDurationMs, |
| 255 | + depth: run.depth, |
| 256 | + metadata, |
| 257 | + ...ApiRetrieveRunPresenter.apiBooleanHelpersFromRunStatus( |
| 258 | + ApiRetrieveRunPresenter.apiStatusFromRunStatus(run.status) |
| 259 | + ), |
| 260 | + }; |
| 261 | + }) |
| 262 | + ); |
253 | 263 |
|
254 | 264 | return {
|
255 | 265 | data,
|
|
0 commit comments