@threadplane/langgraphInterfacev0.3.4

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 · required
string
runId · required
string
signal · required
AbortSignal

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 · required
string
threadId · required
string
payload · required
unknown
signal · required
AbortSignal
options · optional
LangGraphSubmitOptions

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 · required
string
checkpointNs · required
string
signal · required
AbortSignal

Returns

Promise<ThreadState | undefined>

getHistory · overload 1

Optional: load persisted checkpoint history for a thread.

getHistory?(threadId: string, signal: AbortSignal): Promise<ThreadState[]>;

Parameters

threadId · required
string
signal · required
AbortSignal

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 · required
string
checkpoint · required
OwnedCheckpointPosition
signal · required
AbortSignal

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 · required
string
runId · required
string
lastEventId · required
string | undefined
signal · required
AbortSignal
options · 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 · required
string
threadId · required
string | null
payload · required
unknown
signal · required
AbortSignal
options · optional
LangGraphSubmitOptions

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 · required
string
values · required
Record<string, unknown>
signal · required
AbortSignal
options · optional
{ asNode?: string; checkpoint?: OwnedCheckpointPosition; }

Returns

Promise<void | OwnedCheckpointPosition>