Class: ExtensionManager
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:66
Coordinates discovery and lifecycle management for extension packs. Packs emit descriptors which are registered into kind-specific registries.
Constructors
Constructor
new ExtensionManager(
options?):ExtensionManager
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:85
Parameters
options?
ExtensionManagerOptions = {}
Returns
ExtensionManager
Methods
getRegistry()
getRegistry<
TPayload>(kind):ExtensionRegistry<TPayload>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:298
Provides the registry for a particular kind, creating it if necessary.
Type Parameters
TPayload
TPayload
Parameters
kind
string
Returns
ExtensionRegistry<TPayload>
listLoadedPacks()
listLoadedPacks():
object[]
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:283
List pack metadata for packs loaded during this process lifetime.
Returns
object[]
loadManifest()
loadManifest(
context?):Promise<void>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:103
Loads packs defined in the manifest, registering their descriptors in the
appropriate registries. Supports factory-based packs as well as resolving
packs from package and module manifest entries.
Parameters
context?
Returns
Promise<void>
loadPackEntry()
loadPackEntry(
entry,lifecycleContext?):Promise<{key:string;loaded:true;pack: {identifier?:string;name:string;version?:string; }; } | {key?:string;loaded:false;reason:"disabled"|"already_loaded"|"unresolved";skipped:true; } | {error:Error;key?:string;loaded:false;reason:"failed";skipped:false;sourceName:string; }>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:158
Load a single manifest entry at runtime, applying the same resolution, secret hydration, registration, and event emission logic as loadManifest.
This enables schema-on-demand / lazy-loading flows where an agent can enable an extension pack mid-session.
Parameters
entry
lifecycleContext?
Returns
Promise<{ key: string; loaded: true; pack: { identifier?: string; name: string; version?: string; }; } | { key?: string; loaded: false; reason: "disabled" | "already_loaded" | "unresolved"; skipped: true; } | { error: Error; key?: string; loaded: false; reason: "failed"; skipped: false; sourceName: string; }>
loadPackFromFactory()
loadPackFromFactory(
pack,identifier?,options?,lifecycleContext?):Promise<void>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:129
Directly loads a pack instance (typically produced by an inline factory) and registers all of its descriptors.
Parameters
pack
identifier?
string
options?
Record<string, unknown>
lifecycleContext?
Returns
Promise<void>
loadPackFromModule()
loadPackFromModule(
moduleSpecifier,options?,identifier?,lifecycleContext?):Promise<{key:string;loaded:true;pack: {identifier?:string;name:string;version?:string; }; } | {key?:string;loaded:false;reason:"disabled"|"already_loaded"|"unresolved";skipped:true; } | {error:Error;key?:string;loaded:false;reason:"failed";skipped:false;sourceName:string; }>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:262
Convenience: load an extension pack by local module specifier at runtime.
Parameters
moduleSpecifier
string
options?
Record<string, unknown>
identifier?
string
lifecycleContext?
Returns
Promise<{ key: string; loaded: true; pack: { identifier?: string; name: string; version?: string; }; } | { key?: string; loaded: false; reason: "disabled" | "already_loaded" | "unresolved"; skipped: true; } | { error: Error; key?: string; loaded: false; reason: "failed"; skipped: false; sourceName: string; }>
loadPackFromPackage()
loadPackFromPackage(
packageName,options?,identifier?,lifecycleContext?):Promise<{key:string;loaded:true;pack: {identifier?:string;name:string;version?:string; }; } | {key?:string;loaded:false;reason:"disabled"|"already_loaded"|"unresolved";skipped:true; } | {error:Error;key?:string;loaded:false;reason:"failed";skipped:false;sourceName:string; }>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:241
Convenience: load an extension pack by npm package name at runtime.
Parameters
packageName
string
options?
Record<string, unknown>
identifier?
string
lifecycleContext?
Returns
Promise<{ key: string; loaded: true; pack: { identifier?: string; name: string; version?: string; }; } | { key?: string; loaded: false; reason: "disabled" | "already_loaded" | "unresolved"; skipped: true; } | { error: Error; key?: string; loaded: false; reason: "failed"; skipped: false; sourceName: string; }>
off()
off(
listener):void
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:121
Parameters
listener
Returns
void
on()
on(
listener):void
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:117
Registers a listener for extension lifecycle events.
Parameters
listener
Returns
void
shutdown()
shutdown(
context?):Promise<void>
Defined in: packages/agentos/src/extensions/ExtensionManager.ts:313
Deactivates all loaded descriptors and extension packs.
This is intentionally best-effort: one failing deactivation should not prevent other packs/descriptors from shutting down.
Parameters
context?
Returns
Promise<void>