Skip to content

Documentation / @agentick/react / AgentickClient

Interface: AgentickClient ​

Defined in: client/src/client.ts:749

AgentickClient - Multiplexed session client.

Connects to a Agentick server with a single SSE connection that can manage multiple session subscriptions.

Example ​

typescript
const client = createClient({
  baseUrl: 'https://api.example.com',
});

// Get session accessor (cold - no subscription)
const session = client.session('conv-123');

// Subscribe to receive events (hot)
session.subscribe();

// Listen for events
session.onEvent((event) => {
  console.log(event);
});

// Send a message
const handle = session.send({ messages: [{ role: 'user', content: [...] }] });
await handle.result;

// Or use ephemeral send (creates session, executes, closes)
const ephemeral = client.send({ messages: [{...}] });
await ephemeral.result;

Accessors ​

state ​

Get Signature ​

get state(): ConnectionState

Defined in: client/src/client.ts:830

Current connection state

Returns ​

ConnectionState


streamingText ​

Get Signature ​

get streamingText(): StreamingTextState

Defined in: client/src/client.ts:1533

Current streaming text state

Returns ​

StreamingTextState

Methods ​

_publishToChannel() ​

_publishToChannel(sessionId, channelName, event): Promise<void>

Defined in: client/src/client.ts:1062

Internal

  • Called by SessionAccessor to publish to a channel

Parameters ​

sessionId ​

string

channelName ​

string

event ​

ChannelEvent

Returns ​

Promise<void>


_subscribeToChannel() ​

_subscribeToChannel(sessionId, channelName): Promise<void>

Defined in: client/src/client.ts:1098

Internal

  • Called by SessionAccessor to subscribe to a channel

Parameters ​

sessionId ​

string

channelName ​

string

Returns ​

Promise<void>


_subscribeToSession() ​

_subscribeToSession(sessionId): Promise<void>

Defined in: client/src/client.ts:988

Internal

  • Called by SessionAccessor

Parameters ​

sessionId ​

string

Returns ​

Promise<void>


_unsubscribeFromSession() ​

_unsubscribeFromSession(sessionId): Promise<void>

Defined in: client/src/client.ts:1028

Internal

  • Called by SessionAccessor

Parameters ​

sessionId ​

string

Returns ​

Promise<void>


abort() ​

abort(sessionId, reason?): Promise<void>

Defined in: client/src/client.ts:1273

Abort a session's current execution.

Parameters ​

sessionId ​

string

reason? ​

string

Returns ​

Promise<void>


clearStreamingText() ​

clearStreamingText(): void

Defined in: client/src/client.ts:1549

Clear the accumulated streaming text

Returns ​

void


closeSession() ​

closeSession(sessionId): Promise<void>

Defined in: client/src/client.ts:1320

Close a session.

Parameters ​

sessionId ​

string

Returns ​

Promise<void>


destroy() ​

destroy(): void

Defined in: client/src/client.ts:1722

Cleanup and close the client.

Returns ​

void


dispatch() ​

dispatch(sessionId, name, input): Promise<ContentBlock[]>

Defined in: client/src/client.ts:1355

Dispatch a tool by name. Requires a transport that supports dispatch (e.g. local transport).

Parameters ​

sessionId ​

string

name ​

string

input ​

Record<string, unknown>

Returns ​

Promise<ContentBlock[]>


getAuthHeaders() ​

getAuthHeaders(): Record<string, string>

Defined in: client/src/client.ts:1707

Get authorization headers for use with fetch. Useful for making authenticated requests to custom routes.

Returns ​

Record<string, string>

Example ​

typescript
// Make authenticated request to custom API
const response = await fetch("/api/custom", {
  headers: client.getAuthHeaders(),
});

getTransport() ​

getTransport(): ClientTransport | undefined

Defined in: client/src/client.ts:1749

Get the underlying transport (if using custom transport). Useful for accessing transport-specific features like leadership status.

Returns ​

ClientTransport | undefined


interrupt() ​

interrupt(sessionId, input?, reason?): Promise<ClientExecutionHandle>

Defined in: client/src/client.ts:1301

Abort current execution and start a new one with the given input. Sequential abort→send with no race.

Parameters ​

sessionId ​

string

input? ​

string | ContentBlock | ContentBlock[] | Message | Message[] | SendInput<Record<string, unknown>>

reason? ​

string

Returns ​

Promise<ClientExecutionHandle>


invoke() ​

invoke<T>(method, params?): Promise<T>

Defined in: client/src/client.ts:1604

Invoke a custom Gateway method. For session-scoped methods, use session.invoke() instead.

Type Parameters ​

T ​

T = unknown

Parameters ​

method ​

string

params? ​

Record<string, unknown> = {}

Returns ​

Promise<T>

Example ​

typescript
// Invoke a custom method
const result = await client.invoke("tasks:list", { status: "active" });

// Invoke with admin method
const stats = await client.invoke("admin:stats");

on() ​

on<T>(eventName, handler): () => void

Defined in: client/src/client.ts:1414

Ergonomic event subscription.

Type Parameters ​

T ​

T extends ClientEventName

Parameters ​

eventName ​

T

handler ​

ClientEventHandlerMap[T]

Returns ​

(): void

Returns ​

void


onConnectionChange() ​

onConnectionChange(handler): () => void

Defined in: client/src/client.ts:849

Subscribe to connection state changes.

Parameters ​

handler ​

(state) => void

Returns ​

(): void

Returns ​

void


onEvent() ​

onEvent(handler): () => void

Defined in: client/src/client.ts:1404

Subscribe to all stream events (from all sessions).

Parameters ​

handler ​

GlobalEventHandler

Returns ​

(): void

Returns ​

void


onStreamingText() ​

onStreamingText(handler): () => void

Defined in: client/src/client.ts:1540

Subscribe to streaming text state changes.

Parameters ​

handler ​

StreamingTextHandler

Returns ​

(): void

Returns ​

void


send() ​

send(input, options?): ClientExecutionHandle

Defined in: client/src/client.ts:1139

Send a message.

Parameters ​

input ​

Message input (message or messages)

string | ContentBlock | ContentBlock[] | Message | Message[] | SendInput<Record<string, unknown>>

options? ​

Options including optional sessionId

sessionId? ​

string

Returns ​

ClientExecutionHandle


session() ​

session(sessionId): SessionAccessor

Defined in: client/src/client.ts:969

Get a session accessor (cold - no subscription).

Call accessor.subscribe() to receive events.

Parameters ​

sessionId ​

string

Returns ​

SessionAccessor


stream() ​

stream<T>(method, params?): AsyncGenerator<T>

Defined in: client/src/client.ts:1640

Invoke a streaming method, returns async iterator. Yields values as they arrive from the server.

Type Parameters ​

T ​

T = unknown

Parameters ​

method ​

string

params? ​

Record<string, unknown> = {}

Returns ​

AsyncGenerator<T>

Example ​

typescript
// Stream task updates
for await (const change of client.stream("tasks:watch")) {
  console.log("Task changed:", change);
}

submitToolResult() ​

submitToolResult(sessionId, toolUseId, result): Promise<void>

Defined in: client/src/client.ts:1369

Submit a tool confirmation response.

Parameters ​

sessionId ​

string

toolUseId ​

string

result ​

ToolConfirmationResponse

Returns ​

Promise<void>


subscribe() ​

subscribe(sessionId): SessionAccessor

Defined in: client/src/client.ts:981

Subscribe to a session and get accessor (hot).

Parameters ​

sessionId ​

string

Returns ​

SessionAccessor

Released under the ISC License.