Skip to main content

Addon Management

Package: com.mimik.mimoe.addons

Install, list, and remove runtime addons.

AddonClient

class AddonClient

Addon management sub-client.

Manages installation, download, and lifecycle of addon packages. Addons are .addon (tar) files that contain mim images and are automatically loaded by the mimOE runtime from the addons/ directory.

Access via client.addons.

Functions

download

suspend fun download(url: String, overwrite: Boolean = false): Result<InstalledAddon>

Download and install an addon from a URL.

installBundledAddon

suspend fun installBundledAddon(assetPath: String): Result<InstalledAddon>

Install a specific bundled addon from APK assets.

installBundledAddons

suspend fun installBundledAddons(): Result<List<InstalledAddon>>

Install all bundled addons from APK assets.

listInstalled

suspend fun listInstalled(): Result<List<InstalledAddon>>

List all installed addons.

remove

suspend fun remove(name: String): Result<Unit>

Remove an installed addon.


AddonSource

enum AddonSource : Enum<AddonSource>

How an addon was installed.

Entries

NameDescription
BUNDLEDBUNDLED
Bundled in the APK assets directory.
DOWNLOADEDDOWNLOADED
Downloaded at runtime from a URL.

Properties

NameSummary
entriesval entries: EnumEntries<AddonSource>
Returns a representation of an immutable list of all enum entries, in the order they're declared.
nameval name: String
ordinalval ordinal: Int

Functions

valueOf

fun valueOf(value: String): AddonSource

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

values

fun values(): Array<AddonSource>

Returns an array containing the constants of this enum type, in the order they're declared.


InstalledAddon

data class InstalledAddon(
val name: String,
val version: String,
val id: String,
val mims: List<String>,
val installedAt: Instant,
val source: AddonSource
)

Information about an installed addon.

Constructors

constructor(
name: String,
version: String,
id: String,
mims: List<String>,
installedAt: Instant,
source: AddonSource
)

Properties

NameSummary
idval id: String
Addon identifier (e.g., "mimik.ai").
installedAtval installedAt: Instant
When the addon was installed.
mimsval mims: List<String>
Mims deployed by this addon.
nameval name: String
Addon name (e.g., "ai-foundation").
sourceval source: AddonSource
How the addon was installed.
versionval version: String
Addon version (e.g., "1.6.1").