Class: ChannelRouter
Defined in: packages/agentos/src/io/channels/ChannelRouter.ts:88
Central routing hub for all external messaging channels.
Example
const router = new ChannelRouter();
// Register adapters
router.registerAdapter(telegramAdapter);
router.registerAdapter(discordAdapter);
// Add bindings
router.addBinding({
bindingId: 'b1',
seedId: 'cipher-001',
ownerUserId: 'user-1',
platform: 'telegram',
channelId: '123456789',
conversationType: 'direct',
isActive: true,
autoBroadcast: false,
});
// Handle inbound messages
router.onMessage(async (message, binding, session) => {
// Route to StimulusRouter or agent runtime
await stimulusRouter.ingestChannelMessage(message, binding.seedId);
});
// Send outbound message
await router.sendMessage('cipher-001', 'telegram', '123456789', {
blocks: [{ type: 'text', text: 'Hello from Cipher!' }],
});
Constructors
Constructor
new ChannelRouter():
ChannelRouter
Returns
ChannelRouter
Methods
addBinding()
addBinding(
binding):void
Defined in: packages/agentos/src/io/channels/ChannelRouter.ts:179
Add or update a channel binding.
Parameters
binding
Returns
void
broadcast()
broadcast(
seedId,content):Promise<ChannelSendResult[]>
Defined in: packages/agentos/src/io/channels/ChannelRouter.ts:254
Broadcast a message from an agent to all auto-broadcast bindings.
Parameters
seedId
string
content
Returns
Promise<ChannelSendResult[]>