  A growing number of core collapse supernovae (SNe) which show evidence for
interaction with dense circumstellar material (CSM) are accompanied by
"precursor" optical emission rising weeks to months prior to the explosion. The
precursor luminosities greatly exceed the Eddington limit of the progenitor
star, implying they are accompanied by substantial mass-loss. Here, we present
a semi-analytic model for SN precursor light curves which we apply to constrain
the properties and mechanisms of the pre-explosion mass-loss. We explore two
limiting mass-loss scenarios: (1) an "eruption" arising from shock break-out
following impulsive energy deposition below the stellar surface; (2) a steady
"wind" due to sustained heating of the progenitor envelope. The eruption model,
which resembles a scaled-down version of Type IIP SNe, can explain the
luminosities and timescales of well-sampled precursors, for ejecta masses $\sim
0.1-1\,M_{\odot}$ and velocities $\sim 100-1000\,\rm km\,s^{-1}$. By contrast,
the steady-wind scenario cannot explain the highest precursor luminosities
$\gtrsim10^{41}\,\rm erg\,s^{-1}$, under the constraint that the total ejecta
mass not exceed the entire progenitor mass (though the less-luminous SN 2020tlf
precursor can be explained by a mass-loss rate $\sim1\,M_{\odot}\,\rm
yr^{-1}$). However, shock interaction between the wind and pre-existing
(earlier ejected) CSM may boost its radiative efficiency and mitigate this
constraint. In both eruption and wind scenarios the precursor ejecta forms
compact ($\lesssim10^{15}$ cm) optically-thick CSM at the time of core
collapse; though only directly observable via rapid post-explosion spectroscopy
($\lesssim$ few days before being overtaken by the SN ejecta), this material
can boost the SN luminosity via shock interaction.
