AgentTransport
Transport interface for connecting to a LangGraph agent.
import type { AgentTransport } from '@threadplane/langgraph';Declaration
export interface AgentTransport {
cancelRun?(threadId: string, runId: string, signal: AbortSignal): Promise<void>;
createQueuedRun?(assistantId: string, threadId: string, payload: unknown, signal: AbortSignal, options?: LangGraphSubmitOptions): Promise<AgentQueueEntry>;
getChildState?(threadId: string, checkpointNs: string, signal: AbortSignal): Promise<ThreadState | undefined>;
getHistory?(threadId: string, signal: AbortSignal): Promise<ThreadState[]>;
getState?(threadId: string, checkpoint: OwnedCheckpointPosition, signal: AbortSignal): Promise<ThreadState>;
joinStream?(threadId: string, runId: string, lastEventId: string | undefined, signal: AbortSignal, options?: {
streamMode?: StreamMode[];
}): AsyncIterable<StreamEvent>;
stream(assistantId: string, threadId: string | null, payload: unknown, signal: AbortSignal, options?: LangGraphSubmitOptions): AsyncIterable<StreamEvent>;
updateState?(threadId: string, values: Record<string, unknown>, signal: AbortSignal, options?: {
asNode?: string;
checkpoint?: OwnedCheckpointPosition;
}): Promise<void | OwnedCheckpointPosition>;
}Members
cancelRun · overload 1
Optional: cancel a server-side run.
cancelRun?(threadId: string, runId: string, signal: AbortSignal): Promise<void>;Parameters
threadId· requiredstringrunId· requiredstringsignal· requiredAbortSignal
Returns
Promise<void>createQueuedRun · overload 1
Optional: create a server-side queued run without joining it immediately.
createQueuedRun?(assistantId: string, threadId: string, payload: unknown, signal: AbortSignal, options?: LangGraphSubmitOptions): Promise<AgentQueueEntry>;Parameters
assistantId· requiredstringthreadId· requiredstringpayload· requiredunknownsignal· requiredAbortSignaloptions· optionalLangGraphSubmitOptions
Returns
Promise<AgentQueueEntry>getChildState · overload 1
Optional: read the newest checkpoint a child graph saved under one
checkpoint namespace of a thread (for a delegation tool call, tools:<task id>). Used to restore a subagent's transcript when a thread is reloaded;
without it, a reloaded subagent shows its status and result but no
messages. Resolve undefined when the namespace has no saved state.
getChildState?(threadId: string, checkpointNs: string, signal: AbortSignal): Promise<ThreadState | undefined>;Parameters
threadId· requiredstringcheckpointNs· requiredstringsignal· requiredAbortSignal
Returns
Promise<ThreadState | undefined>getHistory · overload 1
Optional: load persisted checkpoint history for a thread.
getHistory?(threadId: string, signal: AbortSignal): Promise<ThreadState[]>;Parameters
threadId· requiredstringsignal· requiredAbortSignal
Returns
Promise<ThreadState[]>getState · overload 1
Exact saved root read. Branch effects must not infer authority from latest.
getState?(threadId: string, checkpoint: OwnedCheckpointPosition, signal: AbortSignal): Promise<ThreadState>;Parameters
threadId· requiredstringcheckpoint· requiredOwnedCheckpointPositionsignal· requiredAbortSignal
Returns
Promise<ThreadState>joinStream · overload 1
Optional: join an already-started run without creating a new one.
joinStream?(threadId: string, runId: string, lastEventId: string | undefined, signal: AbortSignal, options?: {
streamMode?: StreamMode[];
}): AsyncIterable<StreamEvent>;Parameters
threadId· requiredstringrunId· requiredstringlastEventId· requiredstring | undefinedsignal· requiredAbortSignaloptions· optional{ streamMode?: StreamMode[]; }
Returns
AsyncIterable<StreamEvent>stream · overload 1
Open a streaming connection to an agent and yield events.
stream(assistantId: string, threadId: string | null, payload: unknown, signal: AbortSignal, options?: LangGraphSubmitOptions): AsyncIterable<StreamEvent>;Parameters
assistantId· requiredstringthreadId· requiredstring | nullpayload· requiredunknownsignal· requiredAbortSignaloptions· optionalLangGraphSubmitOptions
Returns
AsyncIterable<StreamEvent>updateState · overload 1
Optional: update server-side thread state (e.g. to emit RemoveMessage
entries for regenerate rollback). Forwards to the LangGraph
threads.updateState API.
options.asNode corresponds to LangGraph's as_node parameter — the
server treats the update as if that node had just produced the values,
which determines what the next pull resumes. regenerate() passes
asNode: '__start__' so the next submit(null) resumes at the entry
node and re-runs generate against the rolled-back state.
updateState?(threadId: string, values: Record<string, unknown>, signal: AbortSignal, options?: {
asNode?: string;
checkpoint?: OwnedCheckpointPosition;
}): Promise<void | OwnedCheckpointPosition>;Parameters
threadId· requiredstringvalues· requiredRecord<string, unknown>signal· requiredAbortSignaloptions· optional{ asNode?: string; checkpoint?: OwnedCheckpointPosition; }
Returns
Promise<void | OwnedCheckpointPosition>