ProviderRegistry
Defined in: core/src/provider/provider.registry.ts:28
Holds the set of registered provider instances and re-emits their events as its
own event. Instances are set up lazily via promises resolved by ProviderRegistry.list.
Extends
Section titled “Extends”EventEmitter<ProviderInstanceEvents>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ProviderRegistry(services?): ProviderRegistry;Defined in: core/src/provider/provider.registry.ts:33
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
services |
Services |
Returns
Section titled “Returns”ProviderRegistry
Overrides
Section titled “Overrides”Methods
Section titled “Methods”[destroy]()
Section titled “[destroy]()”destroy: Promise<void>;Defined in: core/src/provider/provider.registry.ts:133
Returns
Section titled “Returns”Promise<void>
emit()
Section titled “emit()”emit<K>(event, ...args): void;Defined in: core/src/utils/utils.eventemitter.ts:62
Invokes all listeners for event synchronously, without awaiting async listeners.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
K extends "event" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
event |
K |
…args |
Parameters<ProviderInstanceEvents[K]> |
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”emitAsync()
Section titled “emitAsync()”emitAsync<K>(event, ...args): Promise<void>;Defined in: core/src/utils/utils.eventemitter.ts:73
Invokes all listeners for event and awaits them concurrently via Promise.all.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
K extends "event" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
event |
K |
…args |
Parameters<ProviderInstanceEvents[K]> |
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”get(id): Promise< | ProviderInstance| undefined>;Defined in: core/src/provider/provider.registry.ts:88
Resolves to the instance with the given id, or undefined if none matches.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
id |
string |
Returns
Section titled “Returns”Promise<
| ProviderInstance
| undefined>
getByType()
Section titled “getByType()”getByType(type): Promise<ProviderInstance[]>;Defined in: core/src/provider/provider.registry.ts:81
Resolves to all instances created from the given provider type.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type |
ProviderType |
Returns
Section titled “Returns”Promise<ProviderInstance[]>
list()
Section titled “list()”list(): Promise<ProviderInstance[]>;Defined in: core/src/provider/provider.registry.ts:71
Resolves to all registered instances, awaiting any still setting up.
Returns
Section titled “Returns”Promise<ProviderInstance[]>
on<K>( event, callback, options?): () => void;Defined in: core/src/utils/utils.eventemitter.ts:21
Registers callback for event. Returns an unsubscribe function; passing
options.abortSignal also removes the listener when that signal aborts.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
K extends "event" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
event |
K |
callback |
EventListener<Parameters<ProviderInstanceEvents[K]>> |
options |
OnOptions |
Returns
Section titled “Returns”() => void
Inherited from
Section titled “Inherited from”once()
Section titled “once()”once<K>( event, callback, options?): () => void;Defined in: core/src/utils/utils.eventemitter.ts:45
Like on, but the listener is removed after firing once.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
K extends "event" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
event |
K |
callback |
EventListener<Parameters<ProviderInstanceEvents[K]>> |
options |
OnOptions |
Returns
Section titled “Returns”() => void
Inherited from
Section titled “Inherited from”ready()
Section titled “ready()”ready(): Promise<void>;Defined in: core/src/provider/provider.registry.ts:76
Resolves once every registered instance has finished setting up.
Returns
Section titled “Returns”Promise<void>
register()
Section titled “register()”register<TConfig>(type, config): Promise<void>;Defined in: core/src/provider/provider.registry.ts:42
Validates config against the type’s schema, sets up the instance, and starts
re-emitting its events. Throws ProviderConfigValidationError if config is invalid.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
TConfig extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type |
ProviderType<TConfig> |
config |
output<TConfig> |
Returns
Section titled “Returns”Promise<void>
toActions()
Section titled “toActions()”toActions(): Promise<Record<string, Action>>;Defined in: core/src/provider/provider.registry.ts:102
Every provider’s actions keyed by the safe, deduped function name from allocateActionNames.
Returns
Section titled “Returns”Promise<Record<string, Action>>
toTools()
Section titled “toTools()”toTools(): Promise<Record<string, Tool>>;Defined in: core/src/provider/provider.registry.ts:121
Every callable thing the providers expose, bound into neutral Tools
over this registry’s services — ready to hand to a sandbox or agent that has
no Services of its own.
Wider than ProviderRegistry.toActions: it also carries a search and
a get tool per entity type. Actions are the verbs and entities the nouns,
and something driving a conversation needs both — an agent that can only call
actions has no way to find the record an action needs the id of.
toActions deliberately stays actions-only. It backs the HTTP action routes,
and entities already have their own routes there; widening it would publish
every entity twice.
Returns
Section titled “Returns”Promise<Record<string, Tool>>