@dxos/app-framework - v0.9.0
    Preparing search index...

    Type Alias ManagerOptions

    type ManagerOptions = {
        activationTimeout?: Duration.DurationInput;
        enabled?: string[];
        loadTimeout?: Duration.DurationInput;
        onRemove?: (id: string) => Effect.Effect<void, unknown>;
        pluginLoader: (id: string) => Effect.Effect<LoadedPlugin, Error>;
        pluginRegistryProvider?: PluginProvider;
        plugins?: Plugin.Plugin[];
        registry?: Registry.Registry;
    }
    Index

    Properties

    activationTimeout?: Duration.DurationInput

    Maximum time allowed for a single module's activate() Effect to settle. Modules that exceed this fail with PluginTimeoutError; the owning plugin is recorded on failed and auto-disabled. Defaults to 30 seconds; pass Duration.infinity to disable.

    enabled?: string[]
    loadTimeout?: Duration.DurationInput

    Maximum time allowed for a lazy plugin's dynamic import() to resolve. Plugins that exceed this are flagged on the PluginManager.failed atom and auto-disabled so a stuck remote host can't stall app boot. Defaults to 30 seconds; pass Duration.infinity to disable.

    onRemove?: (id: string) => Effect.Effect<void, unknown>

    Hook called when a plugin is removed via PluginManager.remove. Used by the host app to clean up persisted state (e.g. evict offline-cached plugin assets). Failures are logged and swallowed; removal still succeeds even if the hook fails.

    pluginLoader: (id: string) => Effect.Effect<LoadedPlugin, Error>
    pluginRegistryProvider?: PluginProvider

    Backend for the plugin registry catalog. When omitted the manager exposes a no-op pluginRegistry (empty list, no versions endpoint). Implementations live in app-framework alongside the interface (e.g. EdgeRegistryPluginProvider); the host app instantiates one and passes it in.

    plugins?: Plugin.Plugin[]
    registry?: Registry.Registry