5.5 KiB
@langchain/langgraph-sdk / StoreClient
Class: StoreClient
Defined in: client.ts:1347
Extends
BaseClient
Constructors
new StoreClient()
new StoreClient(
config?):StoreClient
Defined in: client.ts:183
Parameters
config?
Returns
Inherited from
BaseClient.constructor
Methods
deleteItem()
deleteItem(
namespace,key):Promise<void>
Defined in: client.ts:1468
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:1424
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:1564
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:1368
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:1519
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 ...
// ]
// }