/**
 * # cli/heavy — the single lazy barrel over the bun/chdb-bound runtime (Kestrel CLI v1 §4)
 *
 * All HEAVY dependencies (`session/sim`, `session/day`, `registry` — each pulling
 * `bun:sqlite`/`Bun.CryptoHasher`, and transitively the chdb-bound lake behind its own lazy edge)
 * are re-exported from THIS one module. HEAVY command handlers dynamic-import ONLY this barrel
 * (`await import("../heavy.ts")`), so the bundler emits a **single** heavy chunk — no cross-chunk
 * symbol duplication — that node loads only when a heavy verb runs. Under bun-less node the
 * `import("./heavy.ts")` faults on `bun:sqlite`; {@link ./commands/_heavy.ts loadHeavy} maps that to
 * a clean exit-4 error.
 *
 * This file must NEVER be imported statically from the light graph (`index.ts` top level). It is the
 * one deliberately-heavy edge.
 */

export { runSimSession, type FillModelName, type EpisodeReport } from "../session/sim.ts";
export { runDaySession, parseWakeTimes, type TimeOfDay } from "../session/day.ts";
// The PAPER session driver (kestrel-7o2.12). Its static graph carries NO socket — every
// `@stoqey/ib`-bound module sits behind a lazy `import()` inside the driver's venue composition — so
// re-exporting it here does not put the IB client on the heavy chunk's load-time graph.
export { runPaperSession, PaperSessionRefused, type RunPaperOptions, type PaperSessionResult } from "../session/paper.ts";
export {
  getRun,
  leaderboard,
  lineage,
  listRuns,
  openLedger as openRegistry,
  record,
  type LeaderboardRow,
  type LineageInstance,
  type PlanInstanceRow,
  type RunRow,
  type RunWithPlans,
} from "../ledger/index.ts";
