the source id
the adapter exposing input (its adapterId becomes the patch's)
the enumerated input this source draws from — its *Capable flags are captured
optional name / icon / head-amp VALUE overrides (capability comes from input)
a fresh source whose headAmp mirrors the input's declared capability
Build a Source patched to a specific AdapterInput, stamping the input's DECLARED head-amp capability (headAmpCapabilityOf) onto Source.headAmp — the honest, capability-driven way to register a source, so the channel it feeds advertises phantom/pad/GAIN iff the backing input (a REAC box, a reac-pw proxy/master/virtual-stagebox port) actually carries them. A genuinely non-REAC input (NO_HEAD_AMP) yields a source that advertises no head-amp controls. Head-amp VALUE defaults follow makeSource; pass
initto override name/icon/gain/pad/phantom.