@runloop/agent-axon-client
    Preparing search index...

    Interface ACPAxonConnectionOptions

    Options for creating an ACPAxonConnection.

    interface ACPAxonConnectionOptions {
        afterSequence?: number;
        createClient?: CreateClientFn;
        onDisconnect?: () => void | Promise<void>;
        onError?: (error: unknown) => void;
        replay?: boolean;
        requestPermission?: (
            params: RequestPermissionRequest,
        ) => Promise<RequestPermissionResponse>;
        verbose?: boolean;
    }

    Hierarchy (View Summary)

    Index

    ACP Protocol

    afterSequence?: number

    Axon 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 skipped.

    Omit (or pass undefined) to replay the full event history from the beginning of the Axon channel.

    Typical usage: persist AxonEventView.sequence from a previous session and pass it here to avoid re-processing events you have already seen.

    Mutually exclusive with replay.

    createClient?: CreateClientFn

    Provide a full custom Client implementation for the underlying ClientSideConnection. Use this when you need to handle agent-to-client callbacks beyond permissions and session updates — for example file I/O, terminal management, or elicitation.

    When set, the built-in requestPermission / onSessionUpdate wiring is bypassed — the returned Client is used as-is.

    Design note: A composition-based approach (partial overrides merged with defaults) would be more ergonomic but the Client interface from @agentclientprotocol/sdk doesn't lend itself to easy merging. This all-or-nothing option keeps the boundary clear. See CreateClientFn for the @todo on future composition support.

    onDisconnect?: () => void | Promise<void>

    Async teardown callback invoked by disconnect() (e.g. devbox shutdown).

    onError?: (error: unknown) => void

    Called when a non-critical error occurs (e.g. unparseable event, listener exception). Defaults to console.error.

    replay?: boolean

    When 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).

    Mutually exclusive with afterSequence.

    true

    requestPermission?: (
        params: RequestPermissionRequest,
    ) => Promise<RequestPermissionResponse>

    Custom handler for agent permission requests. Receives the permission options and must return the selected outcome.

    Defaults to auto-approving with preference: allow_always > allow_once > first option.

    Ignored when createClient is provided (the custom client is responsible for handling permissions).

    verbose?: boolean

    When true, emit timestamped diagnostic logs to stderr for every transport read/write and lifecycle event. Useful during development; too noisy for production.

    false