Class: ModelRegistryService
Makaio Framework / services-core / ModelRegistryService
Class: ModelRegistryService
Section titled “Class: ModelRegistryService”Defined in: ../../../packages/services/core/src/model-registry/model-registry-service.ts:82
Service for managing model registry operations via bus handlers.
Responsibilities:
- Resolve model registry through the injected fetcher (chain)
- Hold in-memory cache, deduplicate concurrent requests
- Register bus handlers for getForProvider, getLabModels, getProviderModels, checkModelInProviders, and refresh
- Emit modelRegistry.changed after a committed refresh
- Follow init/destroy lifecycle pattern with idempotent guards
Schema validation (including superRefine cross-validation) is delegated to
the fetcher chain. The service trusts the registry returned by the fetcher.
Caching and fallback logic lives in the fetcher chain, not here. This service only manages in-memory state and bus wiring.
Example
Section titled “Example”const service = new ModelRegistryService({ bus: MakaioBus, fetcher: new UserOverlayFetcher( userModelsDir, new FallbackRegistryFetcher([ new CachedRegistryFetcher(new CdnRegistryFetcher(registryUrl), fileCache), new BundledSeedFetcher(seedPath), ]), ),});await service.init();Extends
Section titled “Extends”BaseService
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ModelRegistryService(
options):ModelRegistryService
Defined in: ../../../packages/services/core/src/model-registry/model-registry-service.ts:94
Creates a new ModelRegistryService instance.
Parameters
Section titled “Parameters”options
Section titled “options”Service configuration options
Returns
Section titled “Returns”ModelRegistryService
Overrides
Section titled “Overrides”BaseService.constructor
Properties
Section titled “Properties”
protectedreadonlybus:IMakaioBus
Defined in: ../../../packages/services/base/src/base-service.ts:39
Bus instance used for registering handlers
Inherited from
Section titled “Inherited from”BaseService.bus
Accessors
Section titled “Accessors”initialized
Section titled “initialized”Get Signature
Section titled “Get Signature”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.
Returns
Section titled “Returns”boolean
true if initialized, false otherwise
Inherited from
Section titled “Inherited from”BaseService.initialized
Methods
Section titled “Methods”addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(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.).
Parameters
Section titled “Parameters”() => void | Promise<void>
Function to invoke during teardown
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”BaseService.addCleanup
destroy()
Section titled “destroy()”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).
Returns
Section titled “Returns”Promise<void>
Promise that resolves after teardown completes
Inherited from
Section titled “Inherited from”BaseService.destroy
init()
Section titled “init()”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).
Returns
Section titled “Returns”Promise<void>
Promise that resolves when initialization is complete
Inherited from
Section titled “Inherited from”BaseService.init
onDestroy()
Section titled “onDestroy()”
protectedonDestroy():void
Defined in: ../../../packages/services/core/src/model-registry/model-registry-service.ts:153
Clear in-memory registry cache on destroy.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”BaseService.onDestroy
onInit()
Section titled “onInit()”
protectedonInit():void
Defined in: ../../../packages/services/core/src/model-registry/model-registry-service.ts:102
Register bus handlers for model registry operations.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”BaseService.onInit
registerHandler()
Section titled “registerHandler()”
protectedregisterHandler<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)).
Type Parameters
Section titled “Type Parameters”S extends SubjectDefinition
Parameters
Section titled “Parameters”subject
Section titled “subject”S
The subject definition to listen on
handler
Section titled “handler”HandlerForSubjectDefinition<S>
Handler function for the subject
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”BaseService.registerHandler