Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 2.25 KB

File metadata and controls

87 lines (63 loc) · 2.25 KB

List Stats (listStatsNode)

Category: Lists

Intended behavior

Aggregates a list of numbers: sum, average, min, max, or count.

Inputs

ID Label Type Unwired default
list List any []
enabled Enabled boolean true

Outputs

ID Label Type Default
out Result number undefined

Configuration defaults

{
  "op": "sum"
}

Observed frontend behavior

This calls the production passive computation with the declared input/config defaults. Cached state, trigger execution and project wiring are separate.

{
  "kind": "passive-default-probe",
  "outputs": {
    "out": 0
  }
}

Observed backend behavior

Offline production passive computation with the same declared defaults; no device or model service is invoked.

{
  "kind": "passive-default-probe",
  "outputs": {
    "out": 0
  }
}

Current frontend implementation

Extracted production branches; helper calls and project execution context are defined in the referenced modules.

src/lib/list-node-compute.ts:67

listStatsNode: (inputs, config) => {
    const list = toList(inputs.list);
    const op = config.op ?? "sum";
    if (op === "count") return { out: list.length };
    const nums = numbersOf(list);
    if (nums.length === 0) return { out: 0 };
    const sum = nums.reduce((acc, v) => acc + v, 0);
    if (op === "avg") return { out: sum / nums.length };
    if (op === "min") return { out: Math.min(...nums) };
    if (op === "max") return { out: Math.max(...nums) };
    return { out: sum };
  }

Implementation references

Verification limits

  • Default passive probe is an observation, not proof of all configurations, trigger behavior, or correctness. See ../NODE_RUNTIME_AUDIT.md and ../AUDIT_VALIDATION.md for test evidence.
  • Enabled=false uses the runtime bypass mapping; bypass output can differ from the normal declared output type.

Source fingerprint: 7e9d192bd3a559a7c50253919867601ef02c311d61e859f7afb4cadcfa508430. Rebuild with npm run docs:index.