mise API - v0.0.0
    Preparing search index...

    Interface SurfaceCapabilities

    What interaction an attached surface can provide.

    interface SurfaceCapabilities {
        color: boolean;
        engineFilesystem: boolean;
        fileDelivery: boolean;
        hiddenInput: boolean;
        localEdit: boolean;
        localFilesystem: boolean;
        pipeSegments: boolean;
        shellCommands: boolean;
        tasks?: boolean;
        tty: boolean;
    }
    Index
    color: boolean

    The surface renders ANSI colour. A colour terminal and a browser console both do; a bare pipe or a file does not. A command that can render richly with colour and plainly without it — an image thumbnail as ANSI half-blocks or an ASCII ramp — reads this to choose, and the plain rendering is always the floor.

    engineFilesystem: boolean

    The surface's operator sits at the same filesystem the engine runs on, so a path the engine resolves is a path they can open. True only for an in-process local shell. When false, a builtin that would write to disk must deliver through the surface instead, because the engine's disk is somebody else's machine.

    fileDelivery: boolean

    The surface can put a file where its operator can reach it. What that means is the surface's business — a path on the local CLI's disk, a path on a remote CLI's client machine, a saved file in a browser — but never the daemon host's disk.

    hiddenInput: boolean

    The surface can read a line without echoing it (password entry).

    localEdit: boolean

    The surface can open content in a local editor and return the edited result.

    localFilesystem: boolean

    The surface can put many files into a directory structure of its own. True for any shell, remote included; false for a browser, which has no directory to fill and can only accept files one at a time. It answers a different question from engineFilesystem: not whose disk, but whether there is one at all.

    pipeSegments: boolean

    The surface can run a pipeline's non-first segments (... | grep foo) through its own tools. Nothing ever spawns on a daemon host: the local CLI runs segments in-process, a remote CLI runs them on the client machine, and a browser surface lacks the capability and fails such pipelines with a clear message.

    shellCommands: boolean

    The surface can run a !-prefixed host-shell command on its own machine. A daemon delegates this capability to the command's originating surface and never launches the process itself.

    tasks?: boolean

    The engine may start long jobs that change things beyond its host (a cloud's resources, and its bill): the tasks tier, declared only by a daemon whose operator granted it at launch. Absent means no.

    tty: boolean

    The surface is an interactive terminal (as opposed to a pipe, a script, or a headless host).