Mountain/IPC/WindServiceHandlers/Extensions.rs
1
2//! # Extension management handlers
3//!
4//! Wind queries the scanner's registry through these. Each
5//! delegates to `MountainEnvironment::GetExtensions` /
6//! `GetExtension`; the work has already happened in
7//! `ExtensionPopulate` / `Scanner::ScanDirectoryForExtensions`.
8//!
9//! Layout (one export per file, file name = identity):
10//! - `ExtensionsGetInstalled::ExtensionsGetInstalled` -
11//! `ILocalExtension`-shaped list with optional `0`/`1` type filter; carries
12//! the boot-race poll (≤5 s wait for `ExtensionPopulate`) and the manifest
13//! skeleton fix that keeps the trusted-publishers migration from crashing the
14//! webview on `manifest.publisher.toLowerCase()`.
15//! - `ExtensionsGetAll::ExtensionsGetAll` - raw manifests, no reshape. Tooling
16//! / debug surfaces only.
17//! - `ExtensionsGet::ExtensionsGet` - single extension by `<publisher>.<name>`.
18//! - `ExtensionsIsActive::ExtensionsIsActive` - currently a "scanned & present"
19//! predicate; TODO: consult Cocoon's activation table for a real answer.
20
21pub mod ExtensionsGet;
22
23pub mod ExtensionsGetAll;
24
25pub mod ExtensionsGetInstalled;
26
27pub mod ExtensionsIsActive;