feat: crons sorting sdk (#5197)

* feat: crons sorting sdk

* update sync clients

* lock file

* lock file

* lock file
This commit is contained in:
lc-arjun
2025-06-26 11:27:44 -07:00
committed by GitHub
parent a622218746
commit 4a26ca5bc2
9 changed files with 50 additions and 5 deletions
+1 -1
View File
@@ -1471,7 +1471,7 @@ wheels = [
[[package]]
name = "langgraph-sdk"
version = "0.1.70"
version = "0.1.71"
source = { editable = "../sdk-py" }
dependencies = [
{ name = "httpx" },
+1 -1
View File
@@ -511,7 +511,7 @@ dev = [
[[package]]
name = "langgraph-sdk"
version = "0.1.70"
version = "0.1.71"
source = { editable = "../sdk-py" }
dependencies = [
{ name = "httpx" },
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@langchain/langgraph-sdk",
"version": "0.0.84",
"version": "0.0.85",
"description": "Client library for interacting with the LangGraph API",
"type": "module",
"packageManager": "yarn@1.22.19",
+5
View File
@@ -9,6 +9,7 @@ import {
Cron,
CronCreateForThreadResponse,
CronCreateResponse,
CronSortBy,
DefaultValues,
GraphSchema,
Item,
@@ -415,6 +416,8 @@ export class CronsClient extends BaseClient {
threadId?: string;
limit?: number;
offset?: number;
sortBy?: CronSortBy;
sortOrder?: SortOrder;
}): Promise<Cron[]> {
return this.fetch<Cron[]>("/runs/crons/search", {
method: "POST",
@@ -423,6 +426,8 @@ export class CronsClient extends BaseClient {
thread_id: query?.threadId ?? undefined,
limit: query?.limit ?? 10,
offset: query?.offset ?? 0,
sort_by: query?.sortBy ?? undefined,
sort_order: query?.sortOrder ?? undefined,
},
});
}
+8
View File
@@ -311,4 +311,12 @@ export type AssistantSortBy =
export type ThreadSortBy = "thread_id" | "status" | "created_at" | "updated_at";
export type CronSortBy =
| "cron_id"
| "assistant_id"
| "thread_id"
| "created_at"
| "updated_at"
| "next_run_date";
export type SortOrder = "asc" | "desc";
+25
View File
@@ -40,6 +40,7 @@ from langgraph_sdk.schema import (
Command,
Config,
Cron,
CronSortBy,
DisconnectMode,
GraphSchema,
IfNotExists,
@@ -2532,6 +2533,8 @@ class CronClient:
thread_id: str | None = None,
limit: int = 10,
offset: int = 0,
sort_by: CronSortBy | None = None,
sort_order: SortOrder | None = None,
headers: dict[str, str] | None = None,
) -> list[Cron]:
"""Get a list of cron jobs.
@@ -2590,6 +2593,10 @@ class CronClient:
"limit": limit,
"offset": offset,
}
if sort_by:
payload["sort_by"] = sort_by
if sort_order:
payload["sort_order"] = sort_order
payload = {k: v for k, v in payload.items() if v is not None}
return await self.http.post("/runs/crons/search", json=payload, headers=headers)
@@ -3564,6 +3571,8 @@ class SyncAssistantsClient:
graph_id: str | None = None,
limit: int = 10,
offset: int = 0,
sort_by: AssistantSortBy | None = None,
sort_order: SortOrder | None = None,
headers: dict[str, str] | None = None,
) -> list[Assistant]:
"""Search for assistants.
@@ -3599,6 +3608,10 @@ class SyncAssistantsClient:
payload["metadata"] = metadata
if graph_id:
payload["graph_id"] = graph_id
if sort_by:
payload["sort_by"] = sort_by
if sort_order:
payload["sort_order"] = sort_order
return self.http.post(
"/assistants/search",
json=payload,
@@ -3869,6 +3882,8 @@ class SyncThreadsClient:
status: ThreadStatus | None = None,
limit: int = 10,
offset: int = 0,
sort_by: ThreadSortBy | None = None,
sort_order: SortOrder | None = None,
headers: dict[str, str] | None = None,
) -> list[Thread]:
"""Search for threads.
@@ -3907,6 +3922,10 @@ class SyncThreadsClient:
payload["values"] = values
if status:
payload["status"] = status
if sort_by:
payload["sort_by"] = sort_by
if sort_order:
payload["sort_order"] = sort_order
return self.http.post("/threads/search", json=payload, headers=headers)
def copy(
@@ -5205,6 +5224,8 @@ class SyncCronClient:
thread_id: str | None = None,
limit: int = 10,
offset: int = 0,
sort_by: CronSortBy | None = None,
sort_order: SortOrder | None = None,
headers: dict[str, str] | None = None,
) -> list[Cron]:
"""Get a list of cron jobs.
@@ -5262,6 +5283,10 @@ class SyncCronClient:
"limit": limit,
"offset": offset,
}
if sort_by:
payload["sort_by"] = sort_by
if sort_order:
payload["sort_order"] = sort_order
payload = {k: v for k, v in payload.items() if v is not None}
return self.http.post("/runs/crons/search", json=payload, headers=headers)
+7
View File
@@ -117,6 +117,13 @@ ThreadSortBy = Literal["thread_id", "status", "created_at", "updated_at"]
The field to sort by.
"""
CronSortBy = Literal[
"cron_id", "assistant_id", "thread_id", "created_at", "updated_at", "next_run_date"
]
"""
The field to sort by.
"""
SortOrder = Literal["asc", "desc"]
"""
The order to sort by.
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project]
name = "langgraph-sdk"
version = "0.1.70"
version = "0.1.71"
description = "SDK for interacting with LangGraph API"
authors = []
requires-python = ">=3.9"
+1 -1
View File
@@ -119,7 +119,7 @@ wheels = [
[[package]]
name = "langgraph-sdk"
version = "0.1.70"
version = "0.1.71"
source = { editable = "." }
dependencies = [
{ name = "httpx" },