Documentation / @agentick/client / AgentickClient
Class: 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;Constructors
Constructor
new AgentickClient(
config):AgentickClient
Defined in: client/src/client.ts:775
Parameters
config
Returns
AgentickClient
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:1536
Current streaming text state
Returns
Methods
_publishToChannel()
_publishToChannel(
sessionId,channelName,event):Promise<void>
Defined in: client/src/client.ts:1065
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:1101
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:991
Internal
- Called by SessionAccessor
Parameters
sessionId
string
Returns
Promise<void>
_unsubscribeFromSession()
_unsubscribeFromSession(
sessionId):Promise<void>
Defined in: client/src/client.ts:1031
Internal
- Called by SessionAccessor
Parameters
sessionId
string
Returns
Promise<void>
abort()
abort(
sessionId,reason?):Promise<void>
Defined in: client/src/client.ts:1276
Abort a session's current execution.
Parameters
sessionId
string
reason?
string
Returns
Promise<void>
clearStreamingText()
clearStreamingText():
void
Defined in: client/src/client.ts:1552
Clear the accumulated streaming text
Returns
void
closeSession()
closeSession(
sessionId):Promise<void>
Defined in: client/src/client.ts:1323
Close a session.
Parameters
sessionId
string
Returns
Promise<void>
destroy()
destroy():
void
Defined in: client/src/client.ts:1725
Cleanup and close the client.
Returns
void
dispatch()
dispatch(
sessionId,name,input):Promise<ContentBlock[]>
Defined in: client/src/client.ts:1358
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:1710
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:1752
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:1304
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:1607
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:1417
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:1407
Subscribe to all stream events (from all sessions).
Parameters
handler
Returns
():
void
Returns
void
onStreamingText()
onStreamingText(
handler): () =>void
Defined in: client/src/client.ts:1543
Subscribe to streaming text state changes.
Parameters
handler
Returns
():
void
Returns
void
send()
send(
input,options?):ClientExecutionHandle
Defined in: client/src/client.ts:1142
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:972
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:1643
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:1372
Submit a tool confirmation response.
Parameters
sessionId
string
toolUseId
string
result
Returns
Promise<void>
subscribe()
subscribe(
sessionId):SessionAccessor
Defined in: client/src/client.ts:984
Subscribe to a session and get accessor (hot).
Parameters
sessionId
string