Capability first · transport second

CommunicationProviderRegistry.js

Registers and queries validated provider definitions, channels, and required methods.

SDK 0.5.18Runtime 0.8.12Protocol arcane/1
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

JavaScript
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

BindingFormDeclaration or signatureParameter syntax
defaultdefault · classclass CommunicationProviderRegistry
CallableKindExact public signatureParameter syntax
CommunicationProviderRegistry.registerpublic-memberregister(provider)provider
CommunicationProviderRegistry.getpublic-memberget(id)id
CommunicationProviderRegistry.haspublic-memberhas(id)id
CommunicationProviderRegistry.listpublic-memberlist()
MemberKindExact public declarationParameter syntax
CommunicationProviderRegistry.constructorconstructorconstructor(providers=[])providers=[]
CommunicationProviderRegistry.registermethodregister(provider)provider
CommunicationProviderRegistry.getmethodget(id)id
CommunicationProviderRegistry.hasmethodhas(id)id
CommunicationProviderRegistry.listmethodlist()

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

JavaScript
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());

No direct Core call is claimed for this artifact. Any injected provider or consuming module retains its own documented authority.