FetchStreamTransport

Production transport that connects to a LangGraph Platform API via HTTP and SSE.

Creates threads automatically if no threadId is provided, and streams events using the LangGraph SDK client.

import { FetchStreamTransport } from '@threadplane/langgraph';

Declaration

export declare class FetchStreamTransport implements AgentTransport  {
  constructor(apiUrl: string, onThreadId?: (id: string) => void, clientOptions?: LangGraphClientOptions, 
    reportOperationFailure?: RuntimeOperationFailureReporter);
  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>;
}

Examples

const transport = new FetchStreamTransport(
  'http://localhost:2024',
  (id) => console.log('New thread:', id),
);

Members

Constructor · overload 1

Constructs a new instance of the FetchStreamTransport class

constructor(apiUrl: string, onThreadId?: (id: string) => void, clientOptions?: LangGraphClientOptions, 
    reportOperationFailure?: RuntimeOperationFailureReporter);

Parameters

apiUrl · required
string

Base URL of the LangGraph Platform API

onThreadId · optional
(id: string) => void

Optional callback invoked when a new thread is created

clientOptions · optional
LangGraphClientOptions

Optional SDK client tuning (e.g. maxRetries)

reportOperationFailure · optional
RuntimeOperationFailureReporter

cancelRun · overload 1

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

Create a pending server-side run using LangGraph's enqueue strategy.

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

Read the newest checkpoint saved under one child checkpoint namespace.

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

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

Read one exact saved checkpoint with the command's cancellation signal.

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

Join an already-started run without creating a new thread.

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, creating a thread if needed.

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

Update state once and return only usable root routing, when supplied.

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>