Skip to content

Class: CapabilityService

Makaio Framework


Makaio Framework / services-core / CapabilityService

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:17

Service managing capability provider registration and discovery.

Listens for capability.register events from extensions and maintains the registry of providers per capability. Handles generic capability operations (listProviders, validate).

  • BaseService

new CapabilityService(bus): CapabilityService

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:20

IMakaioBus

CapabilityService

BaseService.constructor

protected readonly bus: IMakaioBus

Defined in: ../../../packages/services/base/src/base-service.ts:39

Bus instance used for registering handlers

BaseService.bus

get initialized(): boolean

Defined in: ../../../packages/services/base/src/base-service.ts:47

Whether the service has been successfully initialized.

Returns true after init() completes and before destroy() is called.

boolean

true if initialized, false otherwise

BaseService.initialized

protected addCleanup(fn): void

Defined in: ../../../packages/services/base/src/base-service.ts:143

Enqueue an arbitrary cleanup function to be called on destroy().

Use for non-handler resources (timers, external subscriptions, etc.).

() => void | Promise<void>

Function to invoke during teardown

void

BaseService.addCleanup


clear(): void

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:122

void


destroy(): Promise<void>

Defined in: ../../../packages/services/base/src/base-service.ts:89

Destroy the service and unsubscribe all registered handlers.

Calls the optional onDestroy() hook before running cleanups, then resets the initialized flag. Safe to call multiple times (idempotent).

Promise<void>

Promise that resolves after teardown completes

BaseService.destroy


getCapabilities(): string[]

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:101

string[]


getProviders(capabilityId): ICapabilityProvider[]

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:92

string

ICapabilityProvider[]


hasProviders(capabilityId): boolean

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:96

string

boolean


init(): Promise<void>

Defined in: ../../../packages/services/base/src/base-service.ts:57

Initialize the service.

Delegates to onInit() once; subsequent calls are no-ops (idempotent).

Promise<void>

Promise that resolves when initialization is complete

BaseService.init


protected onDestroy(): void

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:118

Optional service teardown hook.

Called by destroy() before automatic handler unsubscription. Implement only when there are resources beyond bus handlers to clean up (e.g., stopping trackers, clearing maps, releasing external handles).

void

BaseService.onDestroy


protected onInit(): Promise<void>

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:24

Service initialization hook.

Called once by init(). Register bus handlers via registerHandler() and other cleanup resources via addCleanup() here.

Promise<void>

Promise or void — async is allowed

BaseService.onInit


protected registerHandler<S>(subject, handler): void

Defined in: ../../../packages/services/base/src/base-service.ts:129

Register a bus handler and enqueue its unsubscribe function for teardown.

Equivalent to this._cleanups.push(this.bus.on(subject, handler)).

S extends SubjectDefinition

S

The subject definition to listen on

HandlerForSubjectDefinition<S>

Handler function for the subject

void

BaseService.registerHandler


unregisterProvider(capabilityId, providerId): void

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:79

Remove a provider from a capability bucket.

string

Capability bucket to update

string

Provider identifier to remove

void


validateAll(capabilityId): Promise<object[]>

Defined in: ../../../packages/services/core/src/capability/capability-service.ts:105

string

Promise<object[]>