Skip to content

AIDK API Reference / aidk-kernel / ChannelServiceInterface

Interface: ChannelServiceInterface ​

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

Kernel-level interface for channel service access. This allows KernelContext to reference channels without creating a circular dependency between kernel and engine packages.

Engine's ChannelService implements this interface.

Methods ​

getChannel() ​

ts
getChannel(ctx: KernelContext, channelName: string): Channel;

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

Get or create a channel within the current session. Session is determined from the provided context.

Parameters ​

ParameterType
ctxKernelContext
channelNamestring

Returns ​

Channel


publish() ​

ts
publish(
   ctx: KernelContext, 
   channelName: string, 
   event: Omit<ChannelEvent, "channel">): void;

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

Publish an event to a channel.

Parameters ​

ParameterType
ctxKernelContext
channelNamestring
eventOmit<ChannelEvent, "channel">

Returns ​

void


subscribe() ​

ts
subscribe(
   ctx: KernelContext, 
   channelName: string, 
   handler: (event: ChannelEvent) => void): () => void;

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

Subscribe to events on a channel.

Parameters ​

ParameterType
ctxKernelContext
channelNamestring
handler(event: ChannelEvent) => void

Returns ​

Unsubscribe function

ts
(): void;
Returns ​

void


waitForResponse() ​

ts
waitForResponse(
   ctx: KernelContext, 
   channelName: string, 
   requestId: string, 
   timeoutMs?: number): Promise<ChannelEvent>;

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

Wait for a response on a channel (for bidirectional communication).

Parameters ​

ParameterType
ctxKernelContext
channelNamestring
requestIdstring
timeoutMs?number

Returns ​

Promise<ChannelEvent>

Released under the MIT License.