@pond-ts/process API Reference
    Preparing search index...

    Interface OpDescriptor

    Op metadata as a picker or a tool catalog wants it.

    interface OpDescriptor {
        family: string;
        inputs: readonly InputDef[];
        kind: "op" | "fold";
        name: string;
        outputs: readonly { suffix: string; unit: string }[];
        params: Readonly<Record<string, ParamDef>>;
        summary: string;
    }
    Index

    Properties

    family: string
    inputs: readonly InputDef[]

    The declared inputs, not a count of them.

    A count is enough to check arity and nothing else. A consumer labelling a two-input op cannot say which side is which, and one showing why a plan was rejected cannot name the unit an input demands — both facts the registry holds and used to drop here. Found by building a UI that wanted to label a node's wiring and could only show how many wires there were.

    kind: "op" | "fold"

    'fold' for a terminal node — one that ends in a fact rather than a column, and so cannot be another node's input.

    A consumer needs this to know what surfacing the node will hand it back, and a picker needs it to know which entries can be wired onward. Absent would have meant every reader inferring it from an empty outputs, which is exactly the kind of thing the registry exists to state.

    name: string
    outputs: readonly { suffix: string; unit: string }[]

    Empty for a fold: a fact has no columns.

    params: Readonly<Record<string, ParamDef>>
    summary: string