  Encoding a qubit in a high quality superconducting microwave cavity offers
the opportunity to perform the first layer of error correction in a single
device, but presents a challenge: how can quantum oscillators be controlled
while introducing a minimal number of additional error channels? We focus on
the two-qubit portion of this control problem by using a 3-wave mixing coupling
element to engineer a programmable beamsplitter interaction between two bosonic
modes separated by more than an octave in frequency, without introducing major
additional sources of decoherence. Combining this with single-oscillator
control provided by a dispersively coupled transmon provides a framework for
quantum control of multiple encoded qubits. The beamsplitter interaction
$g_\text{bs}$ is fast relative to the timescale of oscillator decoherence,
enabling over $10^3$ beamsplitter operations per coherence time, and
approaching the typical rate of the dispersive coupling $\chi$ used for
individual oscillator control. Further, the programmable coupling is engineered
without adding unwanted interactions between the oscillators, as evidenced by
the high on-off ratio of the operations, which can exceed $10^5$. We then
introduce a new protocol to realize a hybrid controlled-SWAP operation in the
regime $g_{bs}\approx\chi$, in which a transmon provides the control bit for
the SWAP of two bosonic modes. Finally, we use this gate in a SWAP test to
project a pair of bosonic qubits into a Bell state with measurement-corrected
fidelity of $95.5\% \pm 0.2\%$.
