Skip to content

AIDK API Reference / aidk-kernel / Channel

Class: Channel ​

Defined in: packages/kernel/src/channel.ts:88

Core Channel primitive. Works standalone in any Node environment. Uses EventEmitter internally for pub/sub.

Constructors ​

Constructor ​

ts
new Channel(name: string): Channel;

Defined in: packages/kernel/src/channel.ts:101

Parameters ​

ParameterType
namestring

Returns ​

Channel

Properties ​

PropertyModifierTypeDefined in
namereadonlystringpackages/kernel/src/channel.ts:101

Methods ​

destroy() ​

ts
destroy(): void;

Defined in: packages/kernel/src/channel.ts:230

Cleanup: remove all subscribers and pending requests.

Returns ​

void


getSubscriberCount() ​

ts
getSubscriberCount(): number;

Defined in: packages/kernel/src/channel.ts:223

Get the number of active subscribers.

Returns ​

number


publish() ​

ts
publish(event: ChannelEvent): void;

Defined in: packages/kernel/src/channel.ts:106

Publish an event to the channel.

Parameters ​

ParameterType
eventChannelEvent

Returns ​

void


subscribe() ​

ts
subscribe(handler: (event: ChannelEvent) => void): () => void;

Defined in: packages/kernel/src/channel.ts:167

Subscribe to events on this channel.

Parameters ​

ParameterType
handler(event: ChannelEvent) => void

Returns ​

Unsubscribe function

ts
(): void;
Returns ​

void


waitForResponse() ​

ts
waitForResponse(requestId: string, timeoutMs: number): Promise<ChannelEvent>;

Defined in: packages/kernel/src/channel.ts:183

Wait for a response to a specific request. Used by tools/components for bidirectional communication.

Parameters ​

ParameterTypeDefault valueDescription
requestIdstringundefinedThe request ID to wait for
timeoutMsnumber30000Timeout in milliseconds (default: 30000)

Returns ​

Promise<ChannelEvent>

Promise that resolves when response is received

Released under the MIT License.