diff --git a/apps/stage-tamagotchi/src/main/services/airi/plugins/index.ts b/apps/stage-tamagotchi/src/main/services/airi/plugins/index.ts index 39b37fd5d..8b8bc7399 100644 --- a/apps/stage-tamagotchi/src/main/services/airi/plugins/index.ts +++ b/apps/stage-tamagotchi/src/main/services/airi/plugins/index.ts @@ -39,13 +39,13 @@ interface CapabilityAwarePluginHost extends PluginHost { setProvidersListResolver: (resolver: () => Promise> | Array<{ name: string }>) => void announceCapability: (key: string, metadata?: Record) => { key: string - state: 'announced' | 'ready' + state: 'announced' | 'ready' | 'degraded' | 'withdrawn' metadata?: Record updatedAt: number } markCapabilityReady: (key: string, metadata?: Record) => { key: string - state: 'announced' | 'ready' + state: 'announced' | 'ready' | 'degraded' | 'withdrawn' metadata?: Record updatedAt: number } diff --git a/apps/stage-tamagotchi/src/shared/eventa.ts b/apps/stage-tamagotchi/src/shared/eventa.ts index 84f7c8daa..c3787602a 100644 --- a/apps/stage-tamagotchi/src/shared/eventa.ts +++ b/apps/stage-tamagotchi/src/shared/eventa.ts @@ -96,15 +96,18 @@ export interface PluginRegistrySnapshot { plugins: PluginManifestSummary[] } +// TODO: Replace these manually duplicated IPC types with re-exports from +// @proj-airi/plugin-sdk (CapabilityDescriptor) once stage-ui and the shared +// eventa layer can depend on the SDK without introducing unwanted coupling. export interface PluginCapabilityPayload { key: string - state: 'announced' | 'ready' + state: 'announced' | 'ready' | 'degraded' | 'withdrawn' metadata?: Record } export interface PluginCapabilityState { key: string - state: 'announced' | 'ready' + state: 'announced' | 'ready' | 'degraded' | 'withdrawn' metadata?: Record updatedAt: number } diff --git a/packages/stage-ui/src/stores/devtools/plugin-host-debug.ts b/packages/stage-ui/src/stores/devtools/plugin-host-debug.ts index b6d353e81..603f84b95 100644 --- a/packages/stage-ui/src/stores/devtools/plugin-host-debug.ts +++ b/packages/stage-ui/src/stores/devtools/plugin-host-debug.ts @@ -15,9 +15,11 @@ export interface PluginRegistrySnapshot { plugins: PluginManifestSummary[] } +// TODO: Replace with re-export of CapabilityDescriptor from +// @proj-airi/plugin-sdk once stage-ui can depend on the SDK. export interface PluginCapabilityState { key: string - state: 'announced' | 'ready' + state: 'announced' | 'ready' | 'degraded' | 'withdrawn' metadata?: Record updatedAt: number }