|
1 | | -import type { RepositoryConfig, TaskRun } from "@shared/types"; |
| 1 | +import type { LogEntry, RepositoryConfig, Task, TaskRun } from "@shared/types"; |
2 | 2 | import { buildApiFetcher } from "./fetcher"; |
3 | 3 | import { createApiClient, type Schemas } from "./generated"; |
4 | 4 |
|
@@ -126,7 +126,7 @@ export class PostHogAPIClient { |
126 | 126 | return data; |
127 | 127 | } |
128 | 128 |
|
129 | | - async listTaskRuns(taskId: string) { |
| 129 | + async listTaskRuns(taskId: string): Promise<TaskRun[]> { |
130 | 130 | const teamId = await this.getTeamId(); |
131 | 131 | const url = new URL( |
132 | 132 | `${this.api.baseUrl}/api/projects/${teamId}/tasks/${taskId}/runs/`, |
@@ -163,17 +163,13 @@ export class PostHogAPIClient { |
163 | 163 | return await response.json(); |
164 | 164 | } |
165 | 165 |
|
166 | | - async getTaskLogs(taskId: string): Promise<string> { |
| 166 | + async getTaskLogs(taskId: string): Promise<LogEntry[]> { |
167 | 167 | try { |
168 | | - const runs = await this.listTaskRuns(taskId); |
169 | | - const latestRun = runs?.sort( |
170 | | - (a: TaskRun, b: TaskRun) => |
171 | | - new Date(b.created_at).getTime() - new Date(a.created_at).getTime(), |
172 | | - )[0]; |
173 | | - return latestRun?.log ?? ""; |
| 168 | + const task = (await this.getTask(taskId)) as Task; |
| 169 | + return task?.latest_run?.log ?? []; |
174 | 170 | } catch (err) { |
175 | | - console.warn("Failed to fetch task logs from runs", err); |
176 | | - return ""; |
| 171 | + console.warn("Failed to fetch task logs from latest run", err); |
| 172 | + return []; |
177 | 173 | } |
178 | 174 | } |
179 | 175 |
|
|
0 commit comments