nooa-channels
Installation
SKILL.md
Channels: Reactive Agent Input
Channel + QueueManager (nooa.runtime.channels) are the producer side of agent input: outside events flow in through named channels; the agent's dispatch loop races them and reacts. Peer of EventManager/ContextManager, but NOT auto-created — you construct it.
from nooa.runtime.channels import QueueManager
from nooa.runtime.producers import monitor, cron
class Watcher(Agent, llm=llm):
def __init__(self, **kw):
super().__init__(**kw)
qm = QueueManager(agent=self, event_manager=self.event_manager)
self.qm = qm
self.user_messages_in = qm.queue("user_messages") # producer side (put)
self.user_messages = self.user_messages_in.reader # LLM-facing side (get/snapshot only)
self.notifications = qm.event("notifications") # fire-and-forget → prompt