Skip to main content

Class: ExtensionRegistry<TPayload>

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:22

Maintains layered stacks of descriptors for a particular extension kind. New registrations push onto the stack, allowing later descriptors to override earlier ones while maintaining history for fallbacks or debugging.

Type Parameters​

TPayload​

TPayload = unknown

Constructors​

Constructor​

new ExtensionRegistry<TPayload>(kind): ExtensionRegistry<TPayload>

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:28

Parameters​

kind​

string

Returns​

ExtensionRegistry<TPayload>

Methods​

clear()​

clear(context?): Promise<void>

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:165

Clears all stacks, calling deactivate hooks for active descriptors.

Parameters​

context?​

ExtensionLifecycleContext

Returns​

Promise<void>


getActive()​

getActive(id): ActiveExtensionDescriptor<TPayload> | undefined

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:130

Returns the active descriptor for the provided id.

Parameters​

id​

string

Returns​

ActiveExtensionDescriptor<TPayload> | undefined


listActive()​

listActive(): ActiveExtensionDescriptor<TPayload>[]

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:138

Lists all currently active descriptors for this registry.

Returns​

ActiveExtensionDescriptor<TPayload>[]


listHistory()​

listHistory(id): ActiveExtensionDescriptor<TPayload>[]

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:153

Returns the full stack history for a descriptor id.

Parameters​

id​

string

Returns​

ActiveExtensionDescriptor<TPayload>[]


onRegister()​

onRegister(listener): () => void

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:35

Calls listener after every successful register, whoever made it: a direct registration through ToolExecutor, or an extension pack registering a descriptor. Returns a function that removes the listener.

Parameters​

listener​

(descriptor) => void

Returns​

(): void

Returns​

void


register()​

register(descriptor, context?): Promise<void>

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:50

Registers a descriptor, making it the active entry for its id.

Parameters​

descriptor​

ExtensionDescriptor<TPayload>

context?​

ExtensionLifecycleContext

Returns​

Promise<void>


unregister()​

unregister(id, context?): Promise<boolean>

Defined in: packages/agentos/src/extensions/ExtensionRegistry.ts:93

Removes the active descriptor for an id. If older descriptors exist in the stack, they become active again.

Parameters​

id​

string

context?​

ExtensionLifecycleContext

Returns​

Promise<boolean>