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 ​
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 ​
streamingText ​
Get Signature ​
get streamingText():
StreamingTextState
Defined in: client/src/client.ts:1533
Current streaming text state
Returns ​
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 ​
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 ​
// 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 ​
// 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 ​
Returns ​
():
void
Returns ​
void
onStreamingText() ​
onStreamingText(
handler): () =>void
Defined in: client/src/client.ts:1540
Subscribe to streaming text state changes.
Parameters ​
handler ​
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 ​
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 ​
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 ​
// 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 ​
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