(
workspaceId: string,
runId: string
)
| 314 | } |
| 315 | |
| 316 | async getRunWithSteps( |
| 317 | workspaceId: string, |
| 318 | runId: string |
| 319 | ): Promise<{ run: DevToolsRunSummary; steps: DevToolsStep[] } | null> { |
| 320 | if (!this.enabled) { |
| 321 | return null; |
| 322 | } |
| 323 | |
| 324 | assert(workspaceId.trim().length > 0, "DevToolsService.getRunWithSteps requires a workspaceId"); |
| 325 | assert(runId.trim().length > 0, "DevToolsService.getRunWithSteps requires runId"); |
| 326 | |
| 327 | await this.ensureLoaded(workspaceId); |
| 328 | const data = this.getOrCreateWorkspaceData(workspaceId); |
| 329 | |
| 330 | if (!data.runs.has(runId)) { |
| 331 | return null; |
| 332 | } |
| 333 | |
| 334 | const summary = this.buildRunSummary(data, runId); |
| 335 | const steps = Array.from(data.steps.values()) |
| 336 | .filter((step) => step.runId === runId) |
| 337 | .sort((a, b) => getStepSortKey(a).localeCompare(getStepSortKey(b))); |
| 338 | |
| 339 | return { |
| 340 | run: summary, |
| 341 | steps, |
| 342 | }; |
| 343 | } |
| 344 | |
| 345 | async clear(workspaceId: string): Promise<void> { |
| 346 | assert(workspaceId.trim().length > 0, "DevToolsService.clear requires a workspaceId"); |
no test coverage detected