type alias SessionOptions

What openSession accepts: every run option, plus the one that chooses the shape.

watch lives here rather than on UserRunOptions on purpose — test must not be able to take it. A watching run never finishes, so test({ watch: true }) would be a Task that never settles, and a type that cannot express the mistake is better than a validation that catches it.

const options: SessionOptions = { inputs: ['test/'], watch: true };
options.watch; // true — the durable shape

Definition

UserRunOptions & { watch?: boolean; }

Usage

import { type SessionOptions } from "lib/api/index.ts";