jeeves-watcher
    Preparing search index...

    Where a change source delivers events and signals. Implemented by FileSystemWatcher, which owns classification, stability waits, pairing, renewals and every reconcile trigger (D120).

    interface ChangeSink {
        event: (type: ClassifiedEventType, path: string, stats?: Stats) => void;
        initialScanDone: (root: string) => void;
        rawEvents: (root: string, events: RawChangeEvent[]) => void;
        resubscribed: (root: string) => void;
        rootAvailable: (root: string) => void;
        rootUnavailable: (
            root: string,
            code: string,
            options?: RootUnavailableOptions,
        ) => void;
    }

    Implemented by

    Index
    event: (type: ClassifiedEventType, path: string, stats?: Stats) => void

    A classified event (chokidar).

    initialScanDone: (root: string) => void

    The source finished its initial set for root.

    rawEvents: (root: string, events: RawChangeEvent[]) => void

    One whole parcel batch for a root, sorted by path (D149).

    resubscribed: (root: string) => void

    The source re-created root's subscription after an error (D131).

    rootAvailable: (root: string) => void

    root is reachable again (D109).

    rootUnavailable: (
        root: string,
        code: string,
        options?: RootUnavailableOptions,
    ) => void

    root became unreachable (D109), or is reachable but cannot be watched (reachable, D156: it is still reconciled); code is the error code.