Kizuki
    Preparing search index...

    Interface ReviewInput

    What the schedule needs to know. Sessions must already point at the concept they count for (after merges).

    interface ReviewInput {
        concepts: {
            conceptId: string;
            confirmedAt?: string;
            courseId: string;
            status: string;
        }[];
        examDates: Map<string, string | null>;
        links: { conceptId: string; needsConceptId: string }[];
        sessions: { clean: boolean; conceptId: string; endedAt: string }[];
        timeZone?: string;
        today: string;
    }
    Index
    concepts: {
        conceptId: string;
        confirmedAt?: string;
        courseId: string;
        status: string;
    }[]

    The concepts, with their course, status, and when they were confirmed (ISO time). Only confirmed ones get a plan.

    examDates: Map<string, string | null>

    Each course's exam date as YYYY-MM-DD, by course id, or null when none is set.

    links: { conceptId: string; needsConceptId: string }[]

    The prerequisite links to respect: conceptId needs needsConceptId first.

    sessions: { clean: boolean; conceptId: string; endedAt: string }[]

    The ended sessions: the concept each counts for, when it ended (ISO time), and whether it was clean.

    timeZone?: string

    The time zone used to turn times into days. undefined means the computer's.

    today: string

    Today's date as YYYY-MM-DD.