async fn install_bundle_widgets(
app: &AppState,
file_path: Option<String>,
zip_base64: Option<String>,
digest: &str,
include: &[String],
) -> Vec<BundleImportWidgetResult>Expand description
After a commit: copy in the chosen widgets and ask the user to approve
each, the way an agent’s WidgetInstall does. The archive is read again
and held to the digest the user previewed, so what installs is what they
saw (SPEC_WIDGET_SHARING_2026_10_10.md §3.3). A bundle never approves a
widget.