Channels

1 min read
3 sections
Edit this page

Typed, structured message passing between agents. Each agent has its own FIFO queue with acknowledgment support.

Quick start

python
from shipit_agent.deep import Channel, AgentMessage

channel = Channel(name="pipeline")

# Send
channel.send(AgentMessage(
    from_agent="researcher",
    to_agent="writer",
    type="research_complete",
    data={"findings": ["Fact 1", "Fact 2"], "confidence": 0.92},
    requires_ack=True,
))

# Receive
msg = channel.receive(agent="writer")
print(msg.data["findings"])
channel.ack(msg)

# Check state
print(channel.pending(agent="writer"))  # 0
print(len(channel.history()))           # 1

Multi-agent queues

python
channel.send(AgentMessage(from_agent="mgr", to_agent="dev1", type="task", data={"work": "API"}))
channel.send(AgentMessage(from_agent="mgr", to_agent="dev2", type="task", data={"work": "tests"}))
channel.send(AgentMessage(from_agent="mgr", to_agent="dev1", type="task", data={"work": "fix bug"}))

channel.pending(agent="dev1")  # 2
channel.pending(agent="dev2")  # 1

AgentMessage fields

FieldTypeDescription
from_agentstrSender
to_agentstrReceiver
typestrMessage type
datadictStructured payload
requires_ackboolAck expected?
acknowledgedboolAck received?