Skip to content

@camera.ui/sdk / plugin / PluginContract

Interface: PluginContract

Defined in: plugin/contract.ts:124

Manifest contract a plugin declares so the host knows what it does and what it needs at load time. Validated by helper.ts before the plugin is started.

Properties

capabilities?

optional capabilities?: PublishNotifications[]

Defined in: plugin/contract.ts:149

Permissions the plugin requests to call host system features (see PluginCapability). The host enforces these — calls without a matching capability are rejected.


consumes

consumes: SensorType[]

Defined in: plugin/contract.ts:141

Sensor types the plugin reads from other plugins (e.g. a face plugin consumes camera video frames).


dependencies?

optional dependencies?: string[]

Defined in: plugin/contract.ts:160

Extra package dependencies installed into the plugin's runtime (Go module paths for Go plugins; PyPI / npm names for Python and Node plugins).


interfaces

interfaces: PluginInterface[]

Defined in: plugin/contract.ts:143

Capability flags the plugin implements (see PluginInterface).


name

name: string

Defined in: plugin/contract.ts:129

Stable, unique identifier for the plugin instance — used as the registry key, log prefix and the storage namespace.


provides

provides: SensorType[]

Defined in: plugin/contract.ts:136

Sensor types the plugin produces. Empty for hubs and pure camera-controllers; required for sensor providers.


pythonVersion?

optional pythonVersion?: PythonVersion

Defined in: plugin/contract.ts:154

Required Python interpreter version for Python plugins. Ignored by Node / Go plugins.


role

role: PluginRole

Defined in: plugin/contract.ts:131

Role of the plugin (see PluginRole).