Skip to content

SDK (JS/TS)

@langchain/langgraph-sdk


@langchain/langgraph-sdk

Classes

Interfaces

Functions

langchain/langgraph-sdk


langchain/langgraph-sdk/auth

Classes

Interfaces

Type Aliases

@langchain/langgraph-sdk


@langchain/langgraph-sdk / Auth

Class: Auth\<TExtra, TAuthReturn, TUser>

Defined in: src/auth/index.ts:11

Type Parameters

TExtra = {}

TAuthReturn extends BaseAuthReturn = BaseAuthReturn

TUser extends BaseUser = ToUserLike\<TAuthReturn>

Constructors

new Auth()

new Auth\<TExtra, TAuthReturn, TUser>(): Auth\<TExtra, TAuthReturn, TUser>

Returns

Auth\<TExtra, TAuthReturn, TUser>

Methods

authenticate()

authenticate\<T>(cb): Auth\<TExtra, T>

Defined in: src/auth/index.ts:25

Type Parameters

T extends BaseAuthReturn

Parameters
cb

AuthenticateCallback\<T>

Returns

Auth\<TExtra, T>


on()

on\<T>(event, callback): this

Defined in: src/auth/index.ts:32

Type Parameters

T extends CallbackEvent

Parameters
event

T

callback

OnCallback\<T, TUser>

Returns

this

@langchain/langgraph-sdk


@langchain/langgraph-sdk / HTTPException

Class: HTTPException

Defined in: src/auth/error.ts:66

Extends

  • Error

Constructors

new HTTPException()

new HTTPException(status, options?): HTTPException

Defined in: src/auth/error.ts:70

Parameters
status

number

options?
# cause?

unknown

# headers?

HeadersInit

# message?

string

Returns

HTTPException

Overrides

Error.constructor

Properties

cause?

optional cause: unknown

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause


headers

headers: HeadersInit

Defined in: src/auth/error.ts:68


message

message: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from

Error.message


name

name: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.name


stack?

optional stack: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from

Error.stack


status

status: number

Defined in: src/auth/error.ts:67


prepareStackTrace()?

static optional prepareStackTrace: (err, stackTraces) => any

Defined in: node_modules/types/node/globals.d.ts:28

Optional override for formatting stack traces

Parameters
err

Error

stackTraces

CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace


stackTraceLimit

static stackTraceLimit: number

Defined in: node_modules/types/node/globals.d.ts:30

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void

Defined in: node_modules/types/node/globals.d.ts:21

Create .stack property on a target object

Parameters
targetObject

object

constructorOpt?

Function

Returns

void

Inherited from

Error.captureStackTrace

@langchain/langgraph-sdk


@langchain/langgraph-sdk / AuthEventValueMap

Interface: AuthEventValueMap

Defined in: src/auth/types.ts:218

Properties

assistants:create

assistants:create: object

Defined in: src/auth/types.ts:226

assistant_id?

optional assistant_id: Maybe\<string>

config?

optional config: Maybe\<AssistantConfig>

graph_id

graph_id: string

if_exists?

optional if_exists: Maybe\<"raise" | "do_nothing">

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

name?

optional name: Maybe\<string>


assistants:delete

assistants:delete: object

Defined in: src/auth/types.ts:229

assistant_id

assistant_id: string


assistants:read

assistants:read: object

Defined in: src/auth/types.ts:227

assistant_id

assistant_id: string

metadata?

optional metadata: Maybe\<Record\<string, unknown>>


assistants:search

assistants:search: object

Defined in: src/auth/types.ts:230

graph_id?

optional graph_id: Maybe\<string>

limit?

optional limit: Maybe\<number>

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

offset?

optional offset: Maybe\<number>


assistants:update

assistants:update: object

Defined in: src/auth/types.ts:228

assistant_id

assistant_id: string

config?

optional config: Maybe\<AssistantConfig>

graph_id?

optional graph_id: Maybe\<string>

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

name?

optional name: Maybe\<string>

version?

optional version: Maybe\<number>


crons:create

crons:create: object

Defined in: src/auth/types.ts:232

cron_id?

optional cron_id: Maybe\<string>

end_time?

optional end_time: Maybe\<string>

payload?

optional payload: Maybe\<Record\<string, unknown>>

schedule

schedule: string

thread_id?

optional thread_id: Maybe\<string>

user_id?

optional user_id: Maybe\<string>


crons:delete

crons:delete: object

Defined in: src/auth/types.ts:235

cron_id

cron_id: string


crons:read

crons:read: object

Defined in: src/auth/types.ts:233

cron_id

cron_id: string


crons:search

crons:search: object

Defined in: src/auth/types.ts:236

assistant_id?

optional assistant_id: Maybe\<string>

limit?

optional limit: Maybe\<number>

offset?

optional offset: Maybe\<number>

thread_id?

optional thread_id: Maybe\<string>


crons:update

crons:update: object

Defined in: src/auth/types.ts:234

cron_id

cron_id: string

payload?

optional payload: Maybe\<Record\<string, unknown>>

schedule?

optional schedule: Maybe\<string>


store:delete

store:delete: object

Defined in: src/auth/types.ts:242

key

key: string

namespace?

optional namespace: Maybe\<string[]>


store:get

store:get: object

Defined in: src/auth/types.ts:239

key

key: string

namespace

namespace: Maybe\<string[]>


store:list_namespaces

store:list_namespaces: object

Defined in: src/auth/types.ts:241

limit?

optional limit: Maybe\<number>

max_depth?

optional max_depth: Maybe\<number>

namespace?

optional namespace: Maybe\<string[]>

offset?

optional offset: Maybe\<number>

suffix?

optional suffix: Maybe\<string[]>


store:put

store:put: object

Defined in: src/auth/types.ts:238

key

key: string

namespace

namespace: string[]

value

value: Record\<string, unknown>


store:search

store:search: object

Defined in: src/auth/types.ts:240

filter?

optional filter: Maybe\<Record\<string, unknown>>

limit?

optional limit: Maybe\<number>

namespace?

optional namespace: Maybe\<string[]>

offset?

optional offset: Maybe\<number>

query?

optional query: Maybe\<string>


threads:create

threads:create: object

Defined in: src/auth/types.ts:219

if_exists?

optional if_exists: Maybe\<"raise" | "do_nothing">

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

thread_id?

optional thread_id: Maybe\<string>


threads:create_run

threads:create_run: object

Defined in: src/auth/types.ts:224

after_seconds?

optional after_seconds: Maybe\<number>

assistant_id

assistant_id: string

if_not_exists?

optional if_not_exists: Maybe\<"reject" | "create">

kwargs

kwargs: Record\<string, unknown>

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

multitask_strategy?

optional multitask_strategy: Maybe\<"reject" | "interrupt" | "rollback" | "enqueue">

prevent_insert_if_inflight?

optional prevent_insert_if_inflight: Maybe\<boolean>

run_id

run_id: string

status

status: Maybe\<"pending" | "running" | "error" | "success" | "timeout" | "interrupted">

thread_id?

optional thread_id: Maybe\<string>


threads:delete

threads:delete: object

Defined in: src/auth/types.ts:222

run_id?

optional run_id: Maybe\<string>

thread_id?

optional thread_id: Maybe\<string>


threads:read

threads:read: object

Defined in: src/auth/types.ts:220

thread_id?

optional thread_id: Maybe\<string>


threads:search

threads:search: object

Defined in: src/auth/types.ts:223

limit?

optional limit: Maybe\<number>

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

offset?

optional offset: Maybe\<number>

status?

optional status: Maybe\<"error" | "interrupted" | "idle" | "busy" | string & object>

thread_id?

optional thread_id: Maybe\<string>

values?

optional values: Maybe\<Record\<string, unknown>>


threads:update

threads:update: object

Defined in: src/auth/types.ts:221

action?

optional action: Maybe\<"interrupt" | "rollback">

metadata?

optional metadata: Maybe\<Record\<string, unknown>>

thread_id?

optional thread_id: Maybe\<string>

@langchain/langgraph-sdk


@langchain/langgraph-sdk / AuthFilters

Type Alias: AuthFilters\<TKey>

AuthFilters\<TKey>: { [key in TKey]: string | { [op in "\(contains" \| "\)eq"]?: string } }

Defined in: src/auth/types.ts:367

Type Parameters

TKey extends string | number | symbol

@langchain/langgraph-sdk


@langchain/langgraph-sdk / AssistantsClient

Class: AssistantsClient

Defined in: client.ts:290

Extends

  • BaseClient

Constructors

new AssistantsClient()

new AssistantsClient(config?): AssistantsClient

Defined in: client.ts:86

Parameters
config?

ClientConfig

Returns

AssistantsClient

Inherited from

BaseClient.constructor

Methods

create()

create(payload): Promise\<Assistant>

Defined in: client.ts:355

Create a new assistant.

Parameters
payload

Payload for creating an assistant.

# assistantId?

string

# config?

Config

# description?

string

# graphId

string

# ifExists?

OnConflictBehavior

# metadata?

Metadata

# name?

string

Returns

Promise\<Assistant>

The created assistant.


delete()

delete(assistantId): Promise\<void>

Defined in: client.ts:411

Delete an assistant.

Parameters
assistantId

string

ID of the assistant.

Returns

Promise\<void>


get()

get(assistantId): Promise\<Assistant>

Defined in: client.ts:297

Get an assistant by ID.

Parameters
assistantId

string

The ID of the assistant.

Returns

Promise\<Assistant>

Assistant


getGraph()

getGraph(assistantId, options?): Promise\<AssistantGraph>

Defined in: client.ts:307

Get the JSON representation of the graph assigned to a runnable

Parameters
assistantId

string

The ID of the assistant.

options?
# xray?

number | boolean

Whether to include subgraphs in the serialized graph representation. If an integer value is provided, only subgraphs with a depth less than or equal to the value will be included.

Returns

Promise\<AssistantGraph>

Serialized graph


getSchemas()

getSchemas(assistantId): Promise\<GraphSchema>

Defined in: client.ts:321

Get the state and config schema of the graph assigned to a runnable

Parameters
assistantId

string

The ID of the assistant.

Returns

Promise\<GraphSchema>

Graph schema


getSubgraphs()

getSubgraphs(assistantId, options?): Promise\<Subgraphs>

Defined in: client.ts:332

Get the schemas of an assistant by ID.

Parameters
assistantId

string

The ID of the assistant to get the schema of.

options?

Additional options for getting subgraphs, such as namespace or recursion extraction.

# namespace?

string

# recurse?

boolean

Returns

Promise\<Subgraphs>

The subgraphs of the assistant.


getVersions()

getVersions(assistantId, payload?): Promise\<AssistantVersion[]>

Defined in: client.ts:445

List all versions of an assistant.

Parameters
assistantId

string

ID of the assistant.

payload?
# limit?

number

# metadata?

Metadata

# offset?

number

Returns

Promise\<AssistantVersion[]>

List of assistant versions.


search(query?): Promise\<Assistant[]>

Defined in: client.ts:422

List assistants.

Parameters
query?

Query options.

# graphId?

string

# limit?

number

# metadata?

Metadata

# offset?

number

Returns

Promise\<Assistant[]>

List of assistants.


setLatest()

setLatest(assistantId, version): Promise\<Assistant>

Defined in: client.ts:473

Change the version of an assistant.

Parameters
assistantId

string

ID of the assistant.

version

number

The version to change to.

Returns

Promise\<Assistant>

The updated assistant.


update()

update(assistantId, payload): Promise\<Assistant>

Defined in: client.ts:384

Update an assistant.

Parameters
assistantId

string

ID of the assistant.

payload

Payload for updating the assistant.

# config?

Config

# description?

string

# graphId?

string

# metadata?

Metadata

# name?

string

Returns

Promise\<Assistant>

The updated assistant.

@langchain/langgraph-sdk


@langchain/langgraph-sdk / Client

Class: Client\<TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:1426

Type Parameters

TStateType = DefaultValues

TUpdateType = TStateType

TCustomEventType = unknown

Constructors

new Client()

new Client\<TStateType, TUpdateType, TCustomEventType>(config?): Client\<TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:1462

Parameters
config?

ClientConfig

Returns

Client\<TStateType, TUpdateType, TCustomEventType>

Properties

~ui

~ui: UiClient

Defined in: client.ts:1460

Internal

The client for interacting with the UI. Used by LoadExternalComponent and the API might change in the future.


assistants

assistants: AssistantsClient

Defined in: client.ts:1434

The client for interacting with assistants.


crons

crons: CronsClient

Defined in: client.ts:1449

The client for interacting with cron runs.


runs

runs: RunsClient\<TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:1444

The client for interacting with runs.


store

store: StoreClient

Defined in: client.ts:1454

The client for interacting with the KV store.


threads

threads: ThreadsClient\<TStateType, TUpdateType>

Defined in: client.ts:1439

The client for interacting with threads.

@langchain/langgraph-sdk


@langchain/langgraph-sdk / CronsClient

Class: CronsClient

Defined in: client.ts:195

Extends

  • BaseClient

Constructors

new CronsClient()

new CronsClient(config?): CronsClient

Defined in: client.ts:86

Parameters
config?

ClientConfig

Returns

CronsClient

Inherited from

BaseClient.constructor

Methods

create()

create(assistantId, payload?): Promise\<CronCreateResponse>

Defined in: client.ts:235

Parameters
assistantId

string

Assistant ID to use for this cron job.

payload?

CronsCreatePayload

Payload for creating a cron job.

Returns

Promise\<CronCreateResponse>


createForThread()

createForThread(threadId, assistantId, payload?): Promise\<CronCreateForThreadResponse>

Defined in: client.ts:203

Parameters
threadId

string

The ID of the thread.

assistantId

string

Assistant ID to use for this cron job.

payload?

CronsCreatePayload

Payload for creating a cron job.

Returns

Promise\<CronCreateForThreadResponse>

The created background run.


delete()

delete(cronId): Promise\<void>

Defined in: client.ts:261

Parameters
cronId

string

Cron ID of Cron job to delete.

Returns

Promise\<void>


search()

search(query?): Promise\<Cron[]>

Defined in: client.ts:272

Parameters
query?

Query options.

# assistantId?

string

# limit?

number

# offset?

number

# threadId?

string

Returns

Promise\<Cron[]>

List of crons.

@langchain/langgraph-sdk


@langchain/langgraph-sdk / RunsClient

Class: RunsClient\<TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:757

Extends

  • BaseClient

Type Parameters

TStateType = DefaultValues

TUpdateType = TStateType

TCustomEventType = unknown

Constructors

new RunsClient()

new RunsClient\<TStateType, TUpdateType, TCustomEventType>(config?): RunsClient\<TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:86

Parameters
config?

ClientConfig

Returns

RunsClient\<TStateType, TUpdateType, TCustomEventType>

Inherited from

BaseClient.constructor

Methods

cancel()

cancel(threadId, runId, wait, action): Promise\<void>

Defined in: client.ts:1041

Cancel a run.

Parameters
threadId

string

The ID of the thread.

runId

string

The ID of the run.

wait

boolean = false

Whether to block when canceling

action

CancelAction = "interrupt"

Action to take when cancelling the run. Possible values are interrupt or rollback. Default is interrupt.

Returns

Promise\<void>


create()

create(threadId, assistantId, payload?): Promise\<Run>

Defined in: client.ts:865

Create a run.

Parameters
threadId

string

The ID of the thread.

assistantId

string

Assistant ID to use for this run.

payload?

RunsCreatePayload

Payload for creating a run.

Returns

Promise\<Run>

The created run.


createBatch()

createBatch(payloads): Promise\<Run[]>

Defined in: client.ts:900

Create a batch of stateless background runs.

Parameters
payloads

RunsCreatePayload & object[]

An array of payloads for creating runs.

Returns

Promise\<Run[]>

An array of created runs.


delete()

delete(threadId, runId): Promise\<void>

Defined in: client.ts:1135

Delete a run.

Parameters
threadId

string

The ID of the thread.

runId

string

The ID of the run.

Returns

Promise\<void>


get()

get(threadId, runId): Promise\<Run>

Defined in: client.ts:1028

Get a run by ID.

Parameters
threadId

string

The ID of the thread.

runId

string

The ID of the run.

Returns

Promise\<Run>

The run.


join()

join(threadId, runId, options?): Promise\<void>

Defined in: client.ts:1063

Block until a run is done.

Parameters
threadId

string

The ID of the thread.

runId

string

The ID of the run.

options?
# signal?

AbortSignal

Returns

Promise\<void>


joinStream()

joinStream(threadId, runId, options?): AsyncGenerator\<{ data: any; event: StreamEvent; }>

Defined in: client.ts:1089

Stream output from a run in real-time, until the run is done. Output is not buffered, so any output produced before this call will not be received here.

Parameters
threadId

string

The ID of the thread.

runId

string

The ID of the run.

options?

Additional options for controlling the stream behavior: - signal: An AbortSignal that can be used to cancel the stream request - cancelOnDisconnect: When true, automatically cancels the run if the client disconnects from the stream - streamMode: Controls what types of events to receive from the stream (can be a single mode or array of modes) Must be a subset of the stream modes passed when creating the run. Background runs default to having the union of all stream modes enabled.

AbortSignal | { cancelOnDisconnect: boolean; signal: AbortSignal; streamMode: StreamMode | StreamMode[]; }

Returns

AsyncGenerator\<{ data: any; event: StreamEvent; }>

An async generator yielding stream parts.


list()

list(threadId, options?): Promise\<Run[]>

Defined in: client.ts:991

List all runs for a thread.

Parameters
threadId

string

The ID of the thread.

options?

Filtering and pagination options.

# limit?

number

Maximum number of runs to return. Defaults to 10

# offset?

number

Offset to start from. Defaults to 0.

# status?

RunStatus

Status of the run to filter by.

Returns

Promise\<Run[]>

List of runs.


stream()

Create a run and stream the results.

Param

The ID of the thread.

Param

Assistant ID to use for this run.

Param

Payload for creating a run.

Call Signature

stream\<TStreamMode, TSubgraphs>(threadId, assistantId, payload?): TypedAsyncGenerator\<TStreamMode, TSubgraphs, TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:762

Type Parameters

TStreamMode extends StreamMode | StreamMode[] = StreamMode

TSubgraphs extends boolean = false

Parameters
# threadId

null

# assistantId

string

# payload?

Omit\<RunsStreamPayload\<TStreamMode, TSubgraphs>, "multitaskStrategy" | "onCompletion">

Returns

TypedAsyncGenerator\<TStreamMode, TSubgraphs, TStateType, TUpdateType, TCustomEventType>

Call Signature

stream\<TStreamMode, TSubgraphs>(threadId, assistantId, payload?): TypedAsyncGenerator\<TStreamMode, TSubgraphs, TStateType, TUpdateType, TCustomEventType>

Defined in: client.ts:780

Type Parameters

TStreamMode extends StreamMode | StreamMode[] = StreamMode

TSubgraphs extends boolean = false

Parameters
# threadId

string

# assistantId

string

# payload?

RunsStreamPayload\<TStreamMode, TSubgraphs>

Returns

TypedAsyncGenerator\<TStreamMode, TSubgraphs, TStateType, TUpdateType, TCustomEventType>


wait()

Create a run and wait for it to complete.

Param

The ID of the thread.

Param

Assistant ID to use for this run.

Param

Payload for creating a run.

Call Signature

wait(threadId, assistantId, payload?): Promise\<DefaultValues>

Defined in: client.ts:917

Parameters
# threadId

null

# assistantId

string

# payload?

Omit\<RunsWaitPayload, "multitaskStrategy" | "onCompletion">

Returns

Promise\<DefaultValues>

Call Signature

wait(threadId, assistantId, payload?): Promise\<DefaultValues>

Defined in: client.ts:923

Parameters
# threadId

string

# assistantId

string

# payload?

RunsWaitPayload

Returns

Promise\<DefaultValues>

@langchain/langgraph-sdk


@langchain/langgraph-sdk / StoreClient

Class: StoreClient

Defined in: client.ts:1153

Extends

  • BaseClient

Constructors

new StoreClient()

new StoreClient(config?): StoreClient

Defined in: client.ts:86

Parameters
config?

ClientConfig

Returns

StoreClient

Inherited from

BaseClient.constructor

Methods

deleteItem()

deleteItem(namespace, key): Promise\<void>

Defined in: client.ts:1274

Delete an item.

Parameters
namespace

string[]

A list of strings representing the namespace path.

key

string

The unique identifier for the item.

Returns

Promise\<void>

Promise


getItem()

getItem(namespace, key, options?): Promise\<null | Item>

Defined in: client.ts:1230

Retrieve a single item.

Parameters
namespace

string[]

A list of strings representing the namespace path.

key

string

The unique identifier for the item.

options?
# refreshTtl?

null | boolean

Whether to refresh the TTL on this read operation. If null, uses the store's default behavior.

Returns

Promise\<null | Item>

Promise

Example
const item = await client.store.getItem(
  ["documents", "user123"],
  "item456",
  { refreshTtl: true }
);
console.log(item);
// {
//   namespace: ["documents", "user123"],
//   key: "item456",
//   value: { title: "My Document", content: "Hello World" },
//   createdAt: "2024-07-30T12:00:00Z",
//   updatedAt: "2024-07-30T12:00:00Z"
// }

listNamespaces()

listNamespaces(options?): Promise\<ListNamespaceResponse>

Defined in: client.ts:1370

List namespaces with optional match conditions.

Parameters
options?
# limit?

number

Maximum number of namespaces to return (default is 100).

# maxDepth?

number

Optional integer specifying the maximum depth of namespaces to return.

# offset?

number

Number of namespaces to skip before returning results (default is 0).

# prefix?

string[]

Optional list of strings representing the prefix to filter namespaces.

# suffix?

string[]

Optional list of strings representing the suffix to filter namespaces.

Returns

Promise\<ListNamespaceResponse>

Promise


putItem()

putItem(namespace, key, value, options?): Promise\<void>

Defined in: client.ts:1174

Store or update an item.

Parameters
namespace

string[]

A list of strings representing the namespace path.

key

string

The unique identifier for the item within the namespace.

value

Record\<string, any>

A dictionary containing the item's data.

options?
# index?

null | false | string[]

Controls search indexing - null (use defaults), false (disable), or list of field paths to index.

# ttl?

null | number

Optional time-to-live in minutes for the item, or null for no expiration.

Returns

Promise\<void>

Promise

Example
await client.store.putItem(
  ["documents", "user123"],
  "item456",
  { title: "My Document", content: "Hello World" },
  { ttl: 60 } // expires in 60 minutes
);

searchItems()

searchItems(namespacePrefix, options?): Promise\<SearchItemsResponse>

Defined in: client.ts:1325

Search for items within a namespace prefix.

Parameters
namespacePrefix

string[]

List of strings representing the namespace prefix.

options?
# filter?

Record\<string, any>

Optional dictionary of key-value pairs to filter results.

# limit?

number

Maximum number of items to return (default is 10).

# offset?

number

Number of items to skip before returning results (default is 0).

# query?

string

Optional search query.

# refreshTtl?

null | boolean

Whether to refresh the TTL on items returned by this search. If null, uses the store's default behavior.

Returns

Promise\<SearchItemsResponse>

Promise

Example
const results = await client.store.searchItems(
  ["documents"],
  {
    filter: { author: "John Doe" },
    limit: 5,
    refreshTtl: true
  }
);
console.log(results);
// {
//   items: [
//     {
//       namespace: ["documents", "user123"],
//       key: "item789",
//       value: { title: "Another Document", author: "John Doe" },
//       createdAt: "2024-07-30T12:00:00Z",
//       updatedAt: "2024-07-30T12:00:00Z"
//     },
//     // ... additional items ...
//   ]
// }

@langchain/langgraph-sdk


@langchain/langgraph-sdk / ThreadsClient

Class: ThreadsClient\<TStateType, TUpdateType>

Defined in: client.ts:481

Extends

  • BaseClient

Type Parameters

TStateType = DefaultValues

TUpdateType = TStateType

Constructors

new ThreadsClient()

new ThreadsClient\<TStateType, TUpdateType>(config?): ThreadsClient\<TStateType, TUpdateType>

Defined in: client.ts:86

Parameters
config?

ClientConfig

Returns

ThreadsClient\<TStateType, TUpdateType>

Inherited from

BaseClient.constructor

Methods

copy()

copy(threadId): Promise\<Thread\<TStateType>>

Defined in: client.ts:558

Copy an existing thread

Parameters
threadId

string

ID of the thread to be copied

Returns

Promise\<Thread\<TStateType>>

Newly copied thread


create()

create(payload?): Promise\<Thread\<TStateType>>

Defined in: client.ts:503

Create a new thread.

Parameters
payload?

Payload for creating a thread.

# graphId?

string

Graph ID to associate with the thread.

# ifExists?

OnConflictBehavior

How to handle duplicate creation.

Default

"raise"
# metadata?

Metadata

Metadata for the thread.

# supersteps?

object[]

Apply a list of supersteps when creating a thread, each containing a sequence of updates.

Used for copying a thread between deployments.

# threadId?

string

ID of the thread to create.

If not provided, a random UUID will be generated.

Returns

Promise\<Thread\<TStateType>>

The created thread.


delete()

delete(threadId): Promise\<void>

Defined in: client.ts:591

Delete a thread.

Parameters
threadId

string

ID of the thread.

Returns

Promise\<void>


get()

get\<ValuesType>(threadId): Promise\<Thread\<ValuesType>>

Defined in: client.ts:491

Get a thread by ID.

Type Parameters

ValuesType = TStateType

Parameters
threadId

string

ID of the thread.

Returns

Promise\<Thread\<ValuesType>>

The thread.


getHistory()

getHistory\<ValuesType>(threadId, options?): Promise\<ThreadState\<ValuesType>[]>

Defined in: client.ts:733

Get all past states for a thread.

Type Parameters

ValuesType = TStateType

Parameters
threadId

string

ID of the thread.

options?

Additional options.

# before?

Config

# checkpoint?

Partial\<Omit\<Checkpoint, "thread_id">>

# limit?

number

# metadata?

Metadata

Returns

Promise\<ThreadState\<ValuesType>[]>

List of thread states.


getState()

getState\<ValuesType>(threadId, checkpoint?, options?): Promise\<ThreadState\<ValuesType>>

Defined in: client.ts:640

Get state for a thread.

Type Parameters

ValuesType = TStateType

Parameters
threadId

string

ID of the thread.

checkpoint?

string | Checkpoint

options?
# subgraphs?

boolean

Returns

Promise\<ThreadState\<ValuesType>>

Thread state.


patchState()

patchState(threadIdOrConfig, metadata): Promise\<void>

Defined in: client.ts:703

Patch the metadata of a thread.

Parameters
threadIdOrConfig

Thread ID or config to patch the state of.

string | Config

metadata

Metadata

Metadata to patch the state with.

Returns

Promise\<void>


search()

search\<ValuesType>(query?): Promise\<Thread\<ValuesType>[]>

Defined in: client.ts:603

List threads

Type Parameters

ValuesType = TStateType

Parameters
query?

Query options

# limit?

number

Maximum number of threads to return. Defaults to 10

# metadata?

Metadata

Metadata to filter threads by.

# offset?

number

Offset to start from.

# status?

ThreadStatus

Thread status to filter on. Must be one of 'idle', 'busy', 'interrupted' or 'error'.

Returns

Promise\<Thread\<ValuesType>[]>

List of threads


update()

update(threadId, payload?): Promise\<Thread\<DefaultValues>>

Defined in: client.ts:571

Update a thread.

Parameters
threadId

string

ID of the thread.

payload?

Payload for updating the thread.

# metadata?

Metadata

Metadata for the thread.

Returns

Promise\<Thread\<DefaultValues>>

The updated thread.


updateState()

updateState\<ValuesType>(threadId, options): Promise\<Pick\<Config, "configurable">>

Defined in: client.ts:674

Add state to a thread.

Type Parameters

ValuesType = TUpdateType

Parameters
threadId

string

The ID of the thread.

options
# asNode?

string

# checkpoint?

Checkpoint

# checkpointId?

string

# values

ValuesType

Returns

Promise\<Pick\<Config, "configurable">>

@langchain/langgraph-sdk


@langchain/langgraph-sdk / getApiKey

Function: getApiKey()

getApiKey(apiKey?): undefined | string

Defined in: client.ts:51

Get the API key from the environment. Precedence: 1. explicit argument 2. LANGGRAPH_API_KEY 3. LANGSMITH_API_KEY 4. LANGCHAIN_API_KEY

Parameters

apiKey?

string

Optional API key provided as an argument

Returns

undefined | string

The API key if found, otherwise undefined

@langchain/langgraph-sdk


@langchain/langgraph-sdk / ClientConfig

Interface: ClientConfig

Defined in: client.ts:69

Properties

apiKey?

optional apiKey: string

Defined in: client.ts:71


apiUrl?

optional apiUrl: string

Defined in: client.ts:70


callerOptions?

optional callerOptions: AsyncCallerParams

Defined in: client.ts:72


defaultHeaders?

optional defaultHeaders: Record\<string, undefined | null | string>

Defined in: client.ts:74


timeoutMs?

optional timeoutMs: number

Defined in: client.ts:73

langchain/langgraph-sdk


langchain/langgraph-sdk/react

Interfaces

Type Aliases

Functions

@langchain/langgraph-sdk


@langchain/langgraph-sdk / useStream

Function: useStream()

useStream\<StateType, Bag>(options): UseStream\<StateType, Bag>

Defined in: react/stream.tsx:601

Type Parameters

StateType extends Record\<string, unknown> = Record\<string, unknown>

Bag extends object = BagTemplate

Parameters

options

UseStreamOptions\<StateType, Bag>

Returns

UseStream\<StateType, Bag>

@langchain/langgraph-sdk


@langchain/langgraph-sdk / UseStream

Interface: UseStream\<StateType, Bag>

Defined in: react/stream.tsx:490

Type Parameters

StateType extends Record\<string, unknown> = Record\<string, unknown>

Bag extends BagTemplate = BagTemplate

Properties

assistantId

assistantId: string

Defined in: react/stream.tsx:575

The ID of the assistant to use.


branch

branch: string

Defined in: react/stream.tsx:525

The current branch of the thread.


client

client: Client

Defined in: react/stream.tsx:570

LangGraph SDK client used to send request and receive responses.


error

error: unknown

Defined in: react/stream.tsx:502

Last seen error from the thread or during streaming.


experimental_branchTree

experimental_branchTree: Sequence\<StateType>

Defined in: react/stream.tsx:541

Experimental

Tree of all branches for the thread.


getMessagesMetadata()

getMessagesMetadata: (message, index?) => undefined | MessageMetadata\<StateType>

Defined in: react/stream.tsx:562

Get the metadata for a message, such as first thread state the message was seen in and branch information.

Parameters
message

Message

The message to get the metadata for.

index?

number

The index of the message in the thread.

Returns

undefined | MessageMetadata\<StateType>

The metadata for the message.


history

history: ThreadState\<StateType>[]

Defined in: react/stream.tsx:535

Flattened history of thread states of a thread.


interrupt

interrupt: undefined | Interrupt\<GetInterruptType\<Bag>>

Defined in: react/stream.tsx:546

Get the interrupt value for the stream if interrupted.


isLoading

isLoading: boolean

Defined in: react/stream.tsx:507

Whether the stream is currently running.


messages

messages: Message[]

Defined in: react/stream.tsx:552

Messages inferred from the thread. Will automatically update with incoming message chunks.


setBranch()

setBranch: (branch) => void

Defined in: react/stream.tsx:530

Set the branch of the thread.

Parameters
branch

string

Returns

void


stop()

stop: () => void

Defined in: react/stream.tsx:512

Stops the stream.

Returns

void


submit()

submit: (values, options?) => void

Defined in: react/stream.tsx:517

Create and stream a run to the thread.

Parameters
values

undefined | null | GetUpdateType\<Bag, StateType>

options?

SubmitOptions\<StateType, GetConfigurableType\<Bag>>

Returns

void


values

values: StateType

Defined in: react/stream.tsx:497

The current values of the thread.

@langchain/langgraph-sdk


@langchain/langgraph-sdk / UseStreamOptions

Interface: UseStreamOptions\<StateType, Bag>

Defined in: react/stream.tsx:408

Type Parameters

StateType extends Record\<string, unknown> = Record\<string, unknown>

Bag extends BagTemplate = BagTemplate

Properties

apiKey?

optional apiKey: string

Defined in: react/stream.tsx:425

The API key to use.


apiUrl

apiUrl: undefined | string

Defined in: react/stream.tsx:420

The URL of the API to use.


assistantId

assistantId: string

Defined in: react/stream.tsx:415

The ID of the assistant to use.


callerOptions?

optional callerOptions: AsyncCallerParams

Defined in: react/stream.tsx:430

Custom call options, such as custom fetch implementation.


defaultHeaders?

optional defaultHeaders: Record\<string, undefined | null | string>

Defined in: react/stream.tsx:435

Default headers to send with requests.


messagesKey?

optional messagesKey: string

Defined in: react/stream.tsx:443

Specify the key within the state that contains messages. Defaults to "messages".

Default
"messages"

onCustomEvent()?

optional onCustomEvent: (data, options) => void

Defined in: react/stream.tsx:465

Callback that is called when a custom event is received.

Parameters
data

GetCustomEventType\<Bag>

options
# mutate

(update) => void

Returns

void


onError()?

optional onError: (error) => void

Defined in: react/stream.tsx:448

Callback that is called when an error occurs.

Parameters
error

unknown

Returns

void


onFinish()?

optional onFinish: (state) => void

Defined in: react/stream.tsx:453

Callback that is called when the stream is finished.

Parameters
state

ThreadState\<StateType>

Returns

void


onMetadataEvent()?

optional onMetadataEvent: (data) => void

Defined in: react/stream.tsx:477

Callback that is called when a metadata event is received.

Parameters
data
# run_id

string

# thread_id

string

Returns

void


onThreadId()?

optional onThreadId: (threadId) => void

Defined in: react/stream.tsx:487

Callback that is called when the thread ID is updated (ie when a new thread is created).

Parameters
threadId

string

Returns

void


onUpdateEvent()?

optional onUpdateEvent: (data) => void

Defined in: react/stream.tsx:458

Callback that is called when an update event is received.

Parameters
data
Returns

void


threadId?

optional threadId: null | string

Defined in: react/stream.tsx:482

The ID of the thread to fetch history and current values from.

@langchain/langgraph-sdk


@langchain/langgraph-sdk / MessageMetadata

Type Alias: MessageMetadata\<StateType>

MessageMetadata\<StateType>: object

Defined in: react/stream.tsx:169

Type Parameters

StateType extends Record\<string, unknown>

Type declaration

branch

branch: string | undefined

The branch of the message.

branchOptions

branchOptions: string[] | undefined

The list of branches this message is part of. This is useful for displaying branching controls.

firstSeenState

firstSeenState: ThreadState\<StateType> | undefined

The first thread state the message was seen in.

messageId

messageId: string

The ID of the message used.

Comments