(label: string, body: () => Promise<void>)
| 385 | app = await launchPackaged(home); |
| 386 | const page = app.cdp; |
| 387 | const step = async (label: string, body: () => Promise<void>) => { |
| 388 | await body(); |
| 389 | stepIndex += 1; |
| 390 | const slug = label.toLowerCase().replace(/[^a-z0-9]+/g, "-"); |
| 391 | await page.screenshot(join(runDir, `${String(stepIndex).padStart(2, "0")}-${slug}.png`)); |
| 392 | }; |
| 393 | |
| 394 | // The console only renders once the app has a live connection AND the bearer |
| 395 | // it injects is accepted by the gated daemon — so reaching it proves both the |