On this page
Overview
Registers and queries validated provider definitions, channels, and required methods.
- Artifact
CommunicationProviderRegistry.js· esm - Classification
public first party - Availability
Cross-host - Normalization
Strict normalized registry.
Import and lifecycle
import communicationProviderRegistry from '/arcane/modules/CommunicationProviderRegistry.js';
Maintains only an in-memory Map and binds validated provider methods.
Application-facing behavior: default registry with register(), get(), has(), list().
Protocol and host implementation
In-process only This detail does not widen the application-facing API or grant authority.
Exports, signatures, parameters, and results
| Binding | Form | Declaration or signature | Parameter syntax |
|---|---|---|---|
default | default · class | class CommunicationProviderRegistry | — |
| Callable | Kind | Exact public signature | Parameter syntax |
|---|---|---|---|
CommunicationProviderRegistry.register | public-member | register(provider) | provider |
CommunicationProviderRegistry.get | public-member | get(id) | id |
CommunicationProviderRegistry.has | public-member | has(id) | id |
CommunicationProviderRegistry.list | public-member | list() | — |
| Member | Kind | Exact public declaration | Parameter syntax |
|---|---|---|---|
CommunicationProviderRegistry.constructor | constructor | constructor(providers=[]) | providers=[] |
CommunicationProviderRegistry.register | method | register(provider) | provider |
CommunicationProviderRegistry.get | method | get(id) | id |
CommunicationProviderRegistry.has | method | has(id) | id |
CommunicationProviderRegistry.list | method | list() | — |
Parameter meanings and results
constructor(providers), register(provider), get(id), has(id), and list() require lowercase 2–64 character IDs and listThreads, getMessages, and send functions. register returns the normalized stored provider.
Events, side effects, and errors
Source-literal CustomEvent dispatches
No source-literal CustomEvent dispatch is part of this artifact.
Lifecycle and event flow
This artifact has no additional documented lifecycle event flow.
Direct coded failures
This artifact directly assigns no stable coded failure.
Exported Error subclasses
This artifact exports no Error subclass.
Documented failure behavior
- TypeError for an invalid provider, id, or methods
- RangeError for a duplicate or unknown provider
Availability and capabilities
Cross-host. Strict normalized registry.
Cross-host provider contract registry with no Core dependency.
Contract example
import CommunicationProviderRegistry from '/arcane/modules/CommunicationProviderRegistry.js';
const registry=new CommunicationProviderRegistry();
registry.register({
id:'demo',
listThreads:async()=>[],
getMessages:async()=>[],
send:async value=>value
});
console.log(registry.has('demo'),registry.list());
Related reference
No direct Core call is claimed for this artifact. Any injected provider or consuming module retains its own documented authority.