OptionalafterAxon sequence number to resume from. When set, the initial SSE
subscription uses { after_sequence } so only events after this
sequence are delivered — earlier events are never requested.
Omit (or pass undefined) to start from the beginning of the Axon
channel.
Composes with replay:
replay: true (the default) — bounded replay. The connection still
resolves the channel head and treats the events in
(afterSequence, head] as history: timeline listeners receive each
one, control/permission requests are paired with their answers, and
only the still-unanswered requests reach handlers once the head is
passed. If the head is at or below afterSequence there is nothing
to replay and the first event delivered is live.replay: false — live-only. Every event after afterSequence is
dispatched to handlers as it arrives, including requests that a
later event in the log already answered.Typical usage: persist AxonEventView.sequence from a previous
session, or the start of the turn you care about, and pass it here so
a long-lived channel does not replay from sequence 0.
Codex: with a bound past the thread/started frame the connection
never observes the thread id, so threadId stays undefined after
connect(). Seed it with the Codex threadId option or call
resumeThread(threadId).
OptionalonAsync teardown callback invoked by disconnect() (e.g. devbox shutdown).
OptionalonCalled when a non-critical error occurs (e.g. unparseable event,
listener exception). Defaults to console.error.
OptionalreplayWhen true, the connection queries the axon for the current head
sequence and replays all events up to that point without invoking
handlers. Unresolved permission/control requests are dispatched
to handlers after replay completes. Timeline events are emitted
for all replayed events regardless.
Set to false to replay the full history with handlers firing for
every event (legacy behavior).
Combine with afterSequence to bound the replayed range to
(afterSequence, head] instead of the whole channel.
OptionalsourceThe source string attached to every event this client publishes to
the Axon API. Use it to identify which client produced a user prompt
(e.g. distinguishing multiple integrations writing to the same channel).
Defaults to the built-in client identifier ("claude-sdk-client",
"acp-sdk-client", or "codex-sdk-client" depending on the connection
type).
OptionalverboseWhen true, emit timestamped diagnostic logs to stderr for every
transport read/write and lifecycle event.
Useful during development; too noisy for production.
Common connection options shared by both ACP and Claude connections.