(cwd: string)
| 462 | try { const { botStatus } = await import('./bot-process.js'); return await botStatus(); } |
| 463 | catch { return { running: false }; } |
| 464 | })(); |
| 465 | const { computeHealth, tailLines } = await import('./dashboard-observability.js'); |
| 466 | const webKeys = await (async () => { |
| 467 | try { |
| 468 | const { webKeyStatus, WEB_SERVICE_KEYS } = await import('../setup/key-guidance.js'); |
| 469 | const s = webKeyStatus(process.env as Record<string, string | undefined>); |
| 470 | const first = s.missing[0]; |
| 471 | return { set: s.set.length, total: WEB_SERVICE_KEYS.length, suggest: first ? { service: first.service, env: first.env, url: first.url } : undefined }; |
| 472 | } catch { return undefined; } |
| 473 | })(); |
| 474 | const health = computeHealth({ |
| 475 | providers, schedulesEnabled: schedules.filter(s => s.enabled).length, botRunning: bot.running, |
| 476 | modelSet: !!defModel && defModel !== '(unset)', lastRunStatus: runs[0]?.status, webKeys, |
| 477 | }); |
| 478 | const logs = await (async () => { |
no test coverage detected