Creates a new Axon-backed transport.
The Axon channel to communicate over.
Optionaloptions: AxonTransportOptionsOptional verbose flag and raw event callback.
Aborts the SSE stream without marking the transport as permanently closed. The read loop will exit, but write may still work. Useful for reconnect scenarios.
Permanently closes the transport by aborting the SSE stream and marking the connection as closed. Idempotent.
Subscribes to the Axon SSE stream, making the transport ready for reading and writing.
Returns whether the transport is connected and not closed.
true if the transport can send and receive messages.
Async generator that yields parsed JSON messages from the SSE stream.
Only AGENT_EVENT messages are yielded — USER_EVENTs (our own
publishes echoed back) are skipped.
When replayTargetSequence is set, events up to that sequence are
replayed: onAxonEvent fires (timeline works) but control_request
messages are buffered. control_response events during replay mark
buffered requests as resolved. After replay, unresolved control
requests are yielded before live events.
Aborts the current SSE stream and re-subscribes without marking the
transport as closed. The read loop exits, but a new readMessages()
call will yield events from the fresh subscription.
Publishes a serialized JSON message to the Axon channel.
The JSON string to send. Its type field is used to
derive the Axon event_type.
Transport implementation that communicates with a remote Claude Code instance running on a Runloop Devbox via an Axon event channel.