@elysiumoss/ui-capture - v0.3.0
    Preparing search index...

    Interface ScriptedStateRunner

    interface ScriptedStateRunner {
        runStateScript: (
            page: Page,
            stateName: string,
            steps: readonly (
                | WaitForStep
                | WaitStep
                | ClickStep
                | FillStep
                | SelectStep
                | PressStep
                | RequestStep
                | ReloadStep
            )[],
            progress: Ref<StepProgress>,
        ) => Effect<void, StateCaptureError>;
        checkPrecondition: (
            page: Page,
            stateName: string,
            selector: string,
            timeoutMs?: number,
        ) => Effect<boolean, StateCaptureError>;
    }
    Index
    runStateScript: (
        page: Page,
        stateName: string,
        steps: readonly (
            | WaitForStep
            | WaitStep
            | ClickStep
            | FillStep
            | SelectStep
            | PressStep
            | RequestStep
            | ReloadStep
        )[],
        progress: Ref<StepProgress>,
    ) => Effect<void, StateCaptureError>
    checkPrecondition: (
        page: Page,
        stateName: string,
        selector: string,
        timeoutMs?: number,
    ) => Effect<boolean, StateCaptureError>

    Probes a state's precondition on the freshly loaded page.

    Succeeds with true when the selector became visible and false when it legitimately did not — that second answer is what makes a state skipped rather than failed. It fails when the precondition could not be evaluated at all: a malformed selector, a page that went away. Collapsing those two into false is what let a typo'd selector produce a green run with no capture, so they are different outcomes here.