langgraph-api 0.2.117__tar.gz → 0.2.123__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of langgraph-api might be problematic. Click here for more details.
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/Makefile +1 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/PKG-INFO +2 -2
- langgraph_api-0.2.123/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/runs.py +0 -6
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/ui.py +3 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/client.mts +9 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/package.json +5 -5
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/yarn.lock +28 -45
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/queue_entrypoint.py +17 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/schema.py +3 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/stream.py +24 -6
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/thread_ttl.py +3 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/openapi.json +163 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/pyproject.toml +1 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/uv.lock +15 -15
- langgraph_api-0.2.117/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/.gitignore +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/LICENSE +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/README.md +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/.gitignore +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/Makefile +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/README.md +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/burst.js +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/ramp.js +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/benchmark/weather.js +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/constraints.txt +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/forbidden.txt +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/healthcheck.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/mcp.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/command.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/config.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/http.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/route.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/server.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/state.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/store.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/utils.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/logging.json +0 -0
- {langgraph_api-0.2.117 → langgraph_api-0.2.123}/scripts/create_license.py +0 -0
|
@@ -54,7 +54,7 @@ start:
|
|
|
54
54
|
LANGGRAPH_RUNTIME_EDITION=inmem \
|
|
55
55
|
LANGGRAPH_AES_KEY='$(LANGGRAPH_AES_KEY)' \
|
|
56
56
|
N_JOBS_PER_WORKER=2 \
|
|
57
|
-
LANGSERVE_GRAPHS='{"agent": "./tests/graphs/agent.py:graph", "single_node": "./tests/graphs/single_node.py:graph", "benchmark": "./tests/graphs/benchmark.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph"}' \
|
|
57
|
+
LANGSERVE_GRAPHS='{"agent": "./tests/graphs/agent.py:graph", "custom_lifespan": "./tests/graphs/my_router.py:graph", "single_node": "./tests/graphs/single_node.py:graph", "benchmark": "./tests/graphs/benchmark.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph"}' \
|
|
58
58
|
LANGGRAPH_STORE='$(STORE_CONFIG)' \
|
|
59
59
|
LANGGRAPH_CONFIG='{"agent": {"configurable": {"model_name": "openai"}}}' \
|
|
60
60
|
LANGSMITH_LANGGRAPH_API_VARIANT=test \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langgraph-api
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.123
|
|
4
4
|
Author-email: Nuno Campos <nuno@langchain.dev>, Will Fu-Hinthorn <will@langchain.dev>
|
|
5
5
|
License: Elastic-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -11,7 +11,7 @@ Requires-Dist: httpx>=0.25.0
|
|
|
11
11
|
Requires-Dist: jsonschema-rs<0.30,>=0.20.0
|
|
12
12
|
Requires-Dist: langchain-core>=0.3.64
|
|
13
13
|
Requires-Dist: langgraph-checkpoint>=2.0.23
|
|
14
|
-
Requires-Dist: langgraph-runtime-inmem<0.7,>=0.6.
|
|
14
|
+
Requires-Dist: langgraph-runtime-inmem<0.7,>=0.6.9
|
|
15
15
|
Requires-Dist: langgraph-sdk>=0.2.0
|
|
16
16
|
Requires-Dist: langgraph>=0.4.0
|
|
17
17
|
Requires-Dist: langsmith>=0.3.45
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.123"
|
|
@@ -117,7 +117,6 @@ async def stream_run(
|
|
|
117
117
|
thread_id=thread_id,
|
|
118
118
|
cancel_on_disconnect=on_disconnect == "cancel",
|
|
119
119
|
stream_channel=await sub,
|
|
120
|
-
stream_mode=payload.get("stream_mode", []),
|
|
121
120
|
last_event_id=None,
|
|
122
121
|
),
|
|
123
122
|
headers={
|
|
@@ -159,7 +158,6 @@ async def stream_run_stateless(
|
|
|
159
158
|
ignore_404=True,
|
|
160
159
|
cancel_on_disconnect=on_disconnect == "cancel",
|
|
161
160
|
stream_channel=await sub,
|
|
162
|
-
stream_mode=payload.get("stream_mode", []),
|
|
163
161
|
last_event_id=None,
|
|
164
162
|
),
|
|
165
163
|
headers={
|
|
@@ -203,7 +201,6 @@ async def wait_run(request: ApiRequest):
|
|
|
203
201
|
run["run_id"],
|
|
204
202
|
thread_id=run["thread_id"],
|
|
205
203
|
stream_channel=await sub,
|
|
206
|
-
stream_mode=["updates", "values", "error"],
|
|
207
204
|
cancel_on_disconnect=on_disconnect == "cancel",
|
|
208
205
|
)
|
|
209
206
|
) as stream:
|
|
@@ -211,7 +208,6 @@ async def wait_run(request: ApiRequest):
|
|
|
211
208
|
if mode == b"values":
|
|
212
209
|
vchunk = chunk
|
|
213
210
|
elif mode == b"updates" and b"__interrupt__" in chunk:
|
|
214
|
-
# Include the interrupt message in the values
|
|
215
211
|
vchunk = chunk
|
|
216
212
|
elif mode == b"error":
|
|
217
213
|
vchunk = orjson.dumps({"__error__": orjson.Fragment(chunk)})
|
|
@@ -287,7 +283,6 @@ async def wait_run_stateless(request: ApiRequest):
|
|
|
287
283
|
run["run_id"],
|
|
288
284
|
thread_id=run["thread_id"],
|
|
289
285
|
stream_channel=await sub,
|
|
290
|
-
stream_mode=["updates", "values", "error"],
|
|
291
286
|
ignore_404=True,
|
|
292
287
|
cancel_on_disconnect=on_disconnect == "cancel",
|
|
293
288
|
)
|
|
@@ -296,7 +291,6 @@ async def wait_run_stateless(request: ApiRequest):
|
|
|
296
291
|
if mode == b"values":
|
|
297
292
|
vchunk = chunk
|
|
298
293
|
elif mode == b"updates" and b"__interrupt__" in chunk:
|
|
299
|
-
# Include the interrupt message in the values
|
|
300
294
|
vchunk = chunk
|
|
301
295
|
elif mode == b"error":
|
|
302
296
|
vchunk = orjson.dumps({"__error__": orjson.Fragment(chunk)})
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
+
import re
|
|
3
4
|
|
|
4
5
|
from anyio import open_file
|
|
5
6
|
from orjson import loads
|
|
@@ -58,6 +59,7 @@ async def handle_ui(request: ApiRequest) -> Response:
|
|
|
58
59
|
return host.startswith(needle + ":") or host == needle
|
|
59
60
|
|
|
60
61
|
protocol = "http:" if is_host("localhost") or is_host("127.0.0.1") else ""
|
|
62
|
+
valid_js_name = re.sub(r"[^a-zA-Z0-9]", "_", graph_id)
|
|
61
63
|
|
|
62
64
|
if ext == ".css":
|
|
63
65
|
result.append(
|
|
@@ -66,7 +68,7 @@ async def handle_ui(request: ApiRequest) -> Response:
|
|
|
66
68
|
elif ext == ".js":
|
|
67
69
|
result.append(
|
|
68
70
|
f'<script src="{protocol}//{host}/ui/{graph_id}/{basename}" '
|
|
69
|
-
f"onload='__LGUI_{
|
|
71
|
+
f"onload='__LGUI_{valid_js_name}.render({json.dumps(message['name'])}, \"{{{{shadowRootId}}}}\")'>"
|
|
70
72
|
"</script>"
|
|
71
73
|
)
|
|
72
74
|
|
|
@@ -576,6 +576,8 @@ export class RemoteStore extends BaseStore {
|
|
|
576
576
|
const StreamModeSchema = z.union([
|
|
577
577
|
z.literal("updates"),
|
|
578
578
|
z.literal("debug"),
|
|
579
|
+
z.literal("tasks"),
|
|
580
|
+
z.literal("checkpoints"),
|
|
579
581
|
z.literal("values"),
|
|
580
582
|
z.literal("custom"),
|
|
581
583
|
]);
|
|
@@ -654,7 +656,13 @@ async function* streamEventsRequest(
|
|
|
654
656
|
: [payload.stream_mode];
|
|
655
657
|
|
|
656
658
|
const graphStreamMode: Set<
|
|
657
|
-
|
|
659
|
+
| "updates"
|
|
660
|
+
| "debug"
|
|
661
|
+
| "values"
|
|
662
|
+
| "tasks"
|
|
663
|
+
| "checkpoints"
|
|
664
|
+
| "messages"
|
|
665
|
+
| "custom"
|
|
658
666
|
> = new Set();
|
|
659
667
|
if (payload.stream_mode) {
|
|
660
668
|
for (const mode of userStreamMode) {
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@hono/node-server": "^1.12.0",
|
|
11
11
|
"@hono/zod-validator": "^0.2.2",
|
|
12
|
-
"@langchain/core": "^0.3.
|
|
12
|
+
"@langchain/core": "^0.3.59",
|
|
13
13
|
"@langchain/langgraph": "^0.2.65",
|
|
14
|
-
"@langchain/langgraph-api": "~0.0.
|
|
14
|
+
"@langchain/langgraph-api": "~0.0.56",
|
|
15
|
+
"@langchain/langgraph-ui": "~0.0.56",
|
|
15
16
|
"@langchain/langgraph-checkpoint": "~0.0.18",
|
|
16
|
-
"@langchain/langgraph-ui": "~0.0.38",
|
|
17
17
|
"@types/json-schema": "^7.0.15",
|
|
18
18
|
"@typescript/vfs": "^1.6.0",
|
|
19
19
|
"dedent": "^1.5.3",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"uuid": "^10.0.0",
|
|
28
28
|
"vite": "^6.1.6",
|
|
29
29
|
"winston": "^3.17.0",
|
|
30
|
-
"zod": "^3.
|
|
30
|
+
"zod": "^3.25.32"
|
|
31
31
|
},
|
|
32
32
|
"resolutions": {
|
|
33
33
|
"esbuild": "^0.25.0",
|
|
34
34
|
"vite": "^6.1.6"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@langchain/langgraph-sdk": "^0.0.
|
|
37
|
+
"@langchain/langgraph-sdk": "^0.0.104",
|
|
38
38
|
"@types/node": "^22.2.0",
|
|
39
39
|
"@types/react": "^19.0.8",
|
|
40
40
|
"@types/react-dom": "^19.0.3",
|
|
@@ -185,40 +185,40 @@
|
|
|
185
185
|
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
|
|
186
186
|
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
|
|
187
187
|
|
|
188
|
-
"@langchain/core@^0.3.
|
|
189
|
-
version "0.3.
|
|
190
|
-
resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.3.
|
|
191
|
-
integrity sha512-
|
|
188
|
+
"@langchain/core@^0.3.59":
|
|
189
|
+
version "0.3.66"
|
|
190
|
+
resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.3.66.tgz#cd20687f29a07148436cd8b72b88c66d076c500c"
|
|
191
|
+
integrity sha512-d3SgSDOlgOjdIbReIXVQl9HaQzKqO/5+E+o3kJwoKXLGP9dxi7+lMyaII7yv7G8/aUxMWLwFES9zc1jFoeJEZw==
|
|
192
192
|
dependencies:
|
|
193
193
|
"@cfworker/json-schema" "^4.0.2"
|
|
194
194
|
ansi-styles "^5.0.0"
|
|
195
195
|
camelcase "6"
|
|
196
196
|
decamelize "1.2.0"
|
|
197
197
|
js-tiktoken "^1.0.12"
|
|
198
|
-
langsmith "
|
|
198
|
+
langsmith "^0.3.46"
|
|
199
199
|
mustache "^4.2.0"
|
|
200
200
|
p-queue "^6.6.2"
|
|
201
201
|
p-retry "4"
|
|
202
202
|
uuid "^10.0.0"
|
|
203
|
-
zod "^3.
|
|
203
|
+
zod "^3.25.32"
|
|
204
204
|
zod-to-json-schema "^3.22.3"
|
|
205
205
|
|
|
206
|
-
"@langchain/langgraph-api@~0.0.
|
|
207
|
-
version "0.0.
|
|
208
|
-
resolved "https://registry.yarnpkg.com/@langchain/langgraph-api/-/langgraph-api-0.0.
|
|
209
|
-
integrity sha512-
|
|
206
|
+
"@langchain/langgraph-api@~0.0.56":
|
|
207
|
+
version "0.0.56"
|
|
208
|
+
resolved "https://registry.yarnpkg.com/@langchain/langgraph-api/-/langgraph-api-0.0.56.tgz#9e0a6e5dd9af2f6ec259a32ca9081b19457a0825"
|
|
209
|
+
integrity sha512-BhrbMKSc3f4CXXDXgvHR8mE2bsgD/G6dDzr+yDkEC7a9eeFI7C8bPhkGmegFJ+q7i6GWtqlQOYSCWHqQFZxynQ==
|
|
210
210
|
dependencies:
|
|
211
211
|
"@babel/code-frame" "^7.26.2"
|
|
212
212
|
"@hono/node-server" "^1.12.0"
|
|
213
213
|
"@hono/zod-validator" "^0.2.2"
|
|
214
|
-
"@langchain/langgraph-ui" "0.0.
|
|
214
|
+
"@langchain/langgraph-ui" "0.0.56"
|
|
215
215
|
"@types/json-schema" "^7.0.15"
|
|
216
216
|
"@typescript/vfs" "^1.6.0"
|
|
217
217
|
dedent "^1.5.3"
|
|
218
218
|
dotenv "^16.4.7"
|
|
219
219
|
exit-hook "^4.0.0"
|
|
220
220
|
hono "^4.5.4"
|
|
221
|
-
langsmith "^0.
|
|
221
|
+
langsmith "^0.3.33"
|
|
222
222
|
open "^10.1.0"
|
|
223
223
|
semver "^7.7.1"
|
|
224
224
|
stacktrace-parser "^0.1.10"
|
|
@@ -236,10 +236,10 @@
|
|
|
236
236
|
dependencies:
|
|
237
237
|
uuid "^10.0.0"
|
|
238
238
|
|
|
239
|
-
"@langchain/langgraph-sdk@^0.0.
|
|
240
|
-
version "0.0.
|
|
241
|
-
resolved "https://registry.yarnpkg.com/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.
|
|
242
|
-
integrity sha512-
|
|
239
|
+
"@langchain/langgraph-sdk@^0.0.104":
|
|
240
|
+
version "0.0.104"
|
|
241
|
+
resolved "https://registry.yarnpkg.com/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.104.tgz#1a7c4a56442f13094e288b068de1767de8f99d06"
|
|
242
|
+
integrity sha512-wUO6GMy65Y7DsWtjTJ3dA59enrZy2wN4o48AMYN7dF7u/PMXXYyBjBCKSzgVWqO6uWH2yNpyGDrcMwKuk5kQLA==
|
|
243
243
|
dependencies:
|
|
244
244
|
"@types/json-schema" "^7.0.15"
|
|
245
245
|
p-queue "^6.6.2"
|
|
@@ -256,10 +256,10 @@
|
|
|
256
256
|
p-retry "4"
|
|
257
257
|
uuid "^9.0.0"
|
|
258
258
|
|
|
259
|
-
"@langchain/langgraph-ui@0.0.
|
|
260
|
-
version "0.0.
|
|
261
|
-
resolved "https://registry.yarnpkg.com/@langchain/langgraph-ui/-/langgraph-ui-0.0.
|
|
262
|
-
integrity sha512-
|
|
259
|
+
"@langchain/langgraph-ui@0.0.56", "@langchain/langgraph-ui@~0.0.56":
|
|
260
|
+
version "0.0.56"
|
|
261
|
+
resolved "https://registry.yarnpkg.com/@langchain/langgraph-ui/-/langgraph-ui-0.0.56.tgz#b566afa4ad940fc6bd942205a00b3afac7fd7363"
|
|
262
|
+
integrity sha512-cRU+fMCz1NAOjRLcreNa64Gap89yio0p8baRigehtL1SNsXJEaZ2xdGjbnjaWIl8rTrriDak4oisx07whwcBjQ==
|
|
263
263
|
dependencies:
|
|
264
264
|
"@commander-js/extra-typings" "^13.0.0"
|
|
265
265
|
commander "^13.0.0"
|
|
@@ -738,11 +738,6 @@ colorspace@1.1.x:
|
|
|
738
738
|
color "^3.1.3"
|
|
739
739
|
text-hex "1.0.x"
|
|
740
740
|
|
|
741
|
-
commander@^10.0.1:
|
|
742
|
-
version "10.0.1"
|
|
743
|
-
resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
|
|
744
|
-
integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
|
|
745
|
-
|
|
746
741
|
commander@^13.0.0:
|
|
747
742
|
version "13.1.0"
|
|
748
743
|
resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46"
|
|
@@ -1060,10 +1055,10 @@ kuler@^2.0.0:
|
|
|
1060
1055
|
resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
|
|
1061
1056
|
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
|
|
1062
1057
|
|
|
1063
|
-
|
|
1064
|
-
version "0.3.
|
|
1065
|
-
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.
|
|
1066
|
-
integrity sha512-
|
|
1058
|
+
langsmith@^0.3.33, langsmith@^0.3.46:
|
|
1059
|
+
version "0.3.48"
|
|
1060
|
+
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.48.tgz#32cdbe5e7e5ca73866ed3a38a654468bac034155"
|
|
1061
|
+
integrity sha512-oEsj0Z8S2Chgb3vJzRX2vplLu4RWR1cpraIaVwv2PsNZ57VbHgZEdXdeh5kh16iP8PAv04JkBncP+KLRoKBFEw==
|
|
1067
1062
|
dependencies:
|
|
1068
1063
|
"@types/uuid" "^10.0.0"
|
|
1069
1064
|
chalk "^4.1.2"
|
|
@@ -1073,18 +1068,6 @@ kuler@^2.0.0:
|
|
|
1073
1068
|
semver "^7.6.3"
|
|
1074
1069
|
uuid "^10.0.0"
|
|
1075
1070
|
|
|
1076
|
-
langsmith@^0.2.15:
|
|
1077
|
-
version "0.2.15"
|
|
1078
|
-
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.2.15.tgz#0692a00fc310817cb9b5939488468c93d4ba2c9d"
|
|
1079
|
-
integrity sha512-homtJU41iitqIZVuuLW7iarCzD4f39KcfP9RTBWav9jifhrsDa1Ez89Ejr+4qi72iuBu8Y5xykchsGVgiEZ93w==
|
|
1080
|
-
dependencies:
|
|
1081
|
-
"@types/uuid" "^10.0.0"
|
|
1082
|
-
commander "^10.0.1"
|
|
1083
|
-
p-queue "^6.6.2"
|
|
1084
|
-
p-retry "4"
|
|
1085
|
-
semver "^7.6.3"
|
|
1086
|
-
uuid "^10.0.0"
|
|
1087
|
-
|
|
1088
1071
|
lightningcss-darwin-arm64@1.29.2:
|
|
1089
1072
|
version "1.29.2"
|
|
1090
1073
|
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz#6ceff38b01134af48e859394e1ca21e5d49faae6"
|
|
@@ -1743,7 +1726,7 @@ zod-to-json-schema@^3.22.3:
|
|
|
1743
1726
|
resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz#ec23def47dcafe3a4d640eba6a346b34f9a693a5"
|
|
1744
1727
|
integrity sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==
|
|
1745
1728
|
|
|
1746
|
-
zod@^3.
|
|
1747
|
-
version "3.
|
|
1748
|
-
resolved "https://registry.yarnpkg.com/zod/-/zod-3.
|
|
1749
|
-
integrity sha512-
|
|
1729
|
+
zod@^3.23.8, zod@^3.25.32:
|
|
1730
|
+
version "3.25.76"
|
|
1731
|
+
resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34"
|
|
1732
|
+
integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==
|
|
@@ -17,6 +17,7 @@ import logging.config
|
|
|
17
17
|
import os
|
|
18
18
|
import pathlib
|
|
19
19
|
import signal
|
|
20
|
+
from contextlib import asynccontextmanager
|
|
20
21
|
|
|
21
22
|
import structlog
|
|
22
23
|
import uvloop
|
|
@@ -94,11 +95,26 @@ async def health_and_metrics_server():
|
|
|
94
95
|
|
|
95
96
|
async def entrypoint():
|
|
96
97
|
from langgraph_api import logging as lg_logging
|
|
98
|
+
from langgraph_api.api import user_router
|
|
97
99
|
|
|
98
100
|
lg_logging.set_logging_context({"entrypoint": "python-queue"})
|
|
99
101
|
tasks: set[asyncio.Task] = set()
|
|
100
102
|
tasks.add(asyncio.create_task(health_and_metrics_server()))
|
|
101
|
-
|
|
103
|
+
|
|
104
|
+
original_lifespan = user_router.router.lifespan_context if user_router else None
|
|
105
|
+
|
|
106
|
+
@asynccontextmanager
|
|
107
|
+
async def combined_lifespan(app, with_cron_scheduler=False, taskset=None):
|
|
108
|
+
async with lifespan(
|
|
109
|
+
app, with_cron_scheduler=with_cron_scheduler, taskset=taskset
|
|
110
|
+
):
|
|
111
|
+
if original_lifespan:
|
|
112
|
+
async with original_lifespan(app):
|
|
113
|
+
yield
|
|
114
|
+
else:
|
|
115
|
+
yield
|
|
116
|
+
|
|
117
|
+
async with combined_lifespan(None, with_cron_scheduler=False, taskset=tasks):
|
|
102
118
|
await asyncio.gather(*tasks)
|
|
103
119
|
|
|
104
120
|
|
|
@@ -14,7 +14,9 @@ RunStatus = Literal["pending", "running", "error", "success", "timeout", "interr
|
|
|
14
14
|
|
|
15
15
|
ThreadStatus = Literal["idle", "busy", "interrupted", "error"]
|
|
16
16
|
|
|
17
|
-
StreamMode = Literal[
|
|
17
|
+
StreamMode = Literal[
|
|
18
|
+
"values", "messages", "updates", "events", "debug", "tasks", "checkpoints", "custom"
|
|
19
|
+
]
|
|
18
20
|
|
|
19
21
|
MultitaskStrategy = Literal["reject", "rollback", "interrupt", "enqueue"]
|
|
20
22
|
|
|
@@ -229,16 +229,25 @@ async def astream_state(
|
|
|
229
229
|
),
|
|
230
230
|
[message_chunk_to_message(messages[msg.id])],
|
|
231
231
|
)
|
|
232
|
-
elif mode in stream_mode
|
|
232
|
+
elif mode in stream_mode:
|
|
233
|
+
if subgraphs and ns:
|
|
234
|
+
yield f"{mode}|{'|'.join(ns)}", chunk
|
|
235
|
+
else:
|
|
236
|
+
yield mode, chunk
|
|
237
|
+
elif (
|
|
233
238
|
mode == "updates"
|
|
234
239
|
and isinstance(chunk, dict)
|
|
235
240
|
and "__interrupt__" in chunk
|
|
241
|
+
and len(chunk["__interrupt__"]) > 0
|
|
236
242
|
and only_interrupt_updates
|
|
237
243
|
):
|
|
244
|
+
# We always want to return interrupt events by default.
|
|
245
|
+
# If updates aren't specified as a stream mode, we return these as values events.
|
|
246
|
+
# If the interrupt doesn't have any actions (e.g. interrupt before or after a node is specified), we don't return the interrupt at all today.
|
|
238
247
|
if subgraphs and ns:
|
|
239
|
-
yield f"
|
|
248
|
+
yield f"values|{'|'.join(ns)}", chunk
|
|
240
249
|
else:
|
|
241
|
-
yield
|
|
250
|
+
yield "values", chunk
|
|
242
251
|
# --- end shared logic with astream ---
|
|
243
252
|
elif "events" in stream_mode:
|
|
244
253
|
yield "events", event
|
|
@@ -300,16 +309,25 @@ async def astream_state(
|
|
|
300
309
|
),
|
|
301
310
|
[message_chunk_to_message(messages[msg.id])],
|
|
302
311
|
)
|
|
303
|
-
elif mode in stream_mode
|
|
312
|
+
elif mode in stream_mode:
|
|
313
|
+
if subgraphs and ns:
|
|
314
|
+
yield f"{mode}|{'|'.join(ns)}", chunk
|
|
315
|
+
else:
|
|
316
|
+
yield mode, chunk
|
|
317
|
+
elif (
|
|
304
318
|
mode == "updates"
|
|
305
319
|
and isinstance(chunk, dict)
|
|
306
320
|
and "__interrupt__" in chunk
|
|
321
|
+
and len(chunk["__interrupt__"]) > 0
|
|
307
322
|
and only_interrupt_updates
|
|
308
323
|
):
|
|
324
|
+
# We always want to return interrupt events by default.
|
|
325
|
+
# If updates aren't specified as a stream mode, we return these as values events.
|
|
326
|
+
# If the interrupt doesn't have any actions (e.g. interrupt before or after a node is specified), we don't return the interrupt at all today.
|
|
309
327
|
if subgraphs and ns:
|
|
310
|
-
yield
|
|
328
|
+
yield "values|{'|'.join(ns)}", chunk
|
|
311
329
|
else:
|
|
312
|
-
yield
|
|
330
|
+
yield "values", chunk
|
|
313
331
|
# --- end shared logic with astream_events ---
|
|
314
332
|
if is_remote_pregel:
|
|
315
333
|
# increment the remote runs
|
|
@@ -29,6 +29,7 @@ async def thread_ttl_sweep_loop():
|
|
|
29
29
|
strategy=strategy,
|
|
30
30
|
interval_minutes=sweep_interval_minutes,
|
|
31
31
|
)
|
|
32
|
+
loop = asyncio.get_running_loop()
|
|
32
33
|
|
|
33
34
|
from langgraph_runtime.ops import Threads
|
|
34
35
|
|
|
@@ -36,12 +37,14 @@ async def thread_ttl_sweep_loop():
|
|
|
36
37
|
await asyncio.sleep(sweep_interval_minutes * 60)
|
|
37
38
|
try:
|
|
38
39
|
async with connect() as conn:
|
|
40
|
+
sweep_start = loop.time()
|
|
39
41
|
threads_processed, threads_deleted = await Threads.sweep_ttl(conn)
|
|
40
42
|
if threads_processed > 0:
|
|
41
43
|
await logger.ainfo(
|
|
42
44
|
f"Thread TTL sweep completed. Processed {threads_processed}",
|
|
43
45
|
threads_processed=threads_processed,
|
|
44
46
|
threads_deleted=threads_deleted,
|
|
47
|
+
duration=loop.time() - sweep_start,
|
|
45
48
|
)
|
|
46
49
|
except Exception as exc:
|
|
47
50
|
logger.exception("Thread TTL sweep iteration failed", exc_info=exc)
|
|
@@ -28,6 +28,14 @@
|
|
|
28
28
|
{
|
|
29
29
|
"name": "Store",
|
|
30
30
|
"description": "Store is an API for managing persistent key-value store (long-term memory) that is available from any thread."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "MCP",
|
|
34
|
+
"description": "Model Context Protocol related endpoints for exposing an agent as an MCP server."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "System",
|
|
38
|
+
"description": "System endpoints for health checks, metrics, and server information."
|
|
31
39
|
}
|
|
32
40
|
],
|
|
33
41
|
"paths": {
|
|
@@ -2996,6 +3004,153 @@
|
|
|
2996
3004
|
"MCP"
|
|
2997
3005
|
]
|
|
2998
3006
|
}
|
|
3007
|
+
},
|
|
3008
|
+
"/info": {
|
|
3009
|
+
"get": {
|
|
3010
|
+
"tags": [
|
|
3011
|
+
"System"
|
|
3012
|
+
],
|
|
3013
|
+
"summary": "Server Information",
|
|
3014
|
+
"description": "Get server version information, feature flags, and metadata.",
|
|
3015
|
+
"operationId": "server_info_info_get",
|
|
3016
|
+
"responses": {
|
|
3017
|
+
"200": {
|
|
3018
|
+
"description": "Success",
|
|
3019
|
+
"content": {
|
|
3020
|
+
"application/json": {
|
|
3021
|
+
"schema": {
|
|
3022
|
+
"type": "object",
|
|
3023
|
+
"properties": {
|
|
3024
|
+
"version": {
|
|
3025
|
+
"type": "string",
|
|
3026
|
+
"title": "Version",
|
|
3027
|
+
"description": "LangGraph API version"
|
|
3028
|
+
},
|
|
3029
|
+
"langgraph_py_version": {
|
|
3030
|
+
"type": "string",
|
|
3031
|
+
"title": "LangGraph Python Version",
|
|
3032
|
+
"description": "LangGraph Python library version"
|
|
3033
|
+
},
|
|
3034
|
+
"flags": {
|
|
3035
|
+
"type": "object",
|
|
3036
|
+
"title": "Feature Flags",
|
|
3037
|
+
"description": "Enabled features and capabilities"
|
|
3038
|
+
},
|
|
3039
|
+
"metadata": {
|
|
3040
|
+
"type": "object",
|
|
3041
|
+
"title": "Metadata",
|
|
3042
|
+
"description": "Server deployment metadata"
|
|
3043
|
+
}
|
|
3044
|
+
},
|
|
3045
|
+
"required": ["version", "langgraph_py_version", "flags", "metadata"],
|
|
3046
|
+
"title": "ServerInfo"
|
|
3047
|
+
}
|
|
3048
|
+
}
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
}
|
|
3052
|
+
}
|
|
3053
|
+
},
|
|
3054
|
+
"/metrics": {
|
|
3055
|
+
"get": {
|
|
3056
|
+
"tags": [
|
|
3057
|
+
"System"
|
|
3058
|
+
],
|
|
3059
|
+
"summary": "System Metrics",
|
|
3060
|
+
"description": "Get system metrics in Prometheus or JSON format for monitoring and observability.",
|
|
3061
|
+
"operationId": "system_metrics_metrics_get",
|
|
3062
|
+
"parameters": [
|
|
3063
|
+
{
|
|
3064
|
+
"name": "format",
|
|
3065
|
+
"in": "query",
|
|
3066
|
+
"required": false,
|
|
3067
|
+
"schema": {
|
|
3068
|
+
"type": "string",
|
|
3069
|
+
"enum": ["prometheus", "json"],
|
|
3070
|
+
"default": "prometheus",
|
|
3071
|
+
"title": "Output Format",
|
|
3072
|
+
"description": "Response format: prometheus (default) or json"
|
|
3073
|
+
}
|
|
3074
|
+
}
|
|
3075
|
+
],
|
|
3076
|
+
"responses": {
|
|
3077
|
+
"200": {
|
|
3078
|
+
"description": "Success",
|
|
3079
|
+
"content": {
|
|
3080
|
+
"text/plain": {
|
|
3081
|
+
"schema": {
|
|
3082
|
+
"type": "string",
|
|
3083
|
+
"title": "Prometheus Metrics",
|
|
3084
|
+
"description": "Metrics in Prometheus exposition format"
|
|
3085
|
+
}
|
|
3086
|
+
},
|
|
3087
|
+
"application/json": {
|
|
3088
|
+
"schema": {
|
|
3089
|
+
"type": "object",
|
|
3090
|
+
"title": "JSON Metrics",
|
|
3091
|
+
"description": "Metrics in JSON format including queue stats, worker stats, and HTTP metrics"
|
|
3092
|
+
}
|
|
3093
|
+
}
|
|
3094
|
+
}
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
}
|
|
3098
|
+
},
|
|
3099
|
+
"/ok": {
|
|
3100
|
+
"get": {
|
|
3101
|
+
"tags": [
|
|
3102
|
+
"System"
|
|
3103
|
+
],
|
|
3104
|
+
"summary": "Health Check",
|
|
3105
|
+
"description": "Check the health status of the server. Optionally check database connectivity.",
|
|
3106
|
+
"operationId": "health_check_ok_get",
|
|
3107
|
+
"parameters": [
|
|
3108
|
+
{
|
|
3109
|
+
"name": "check_db",
|
|
3110
|
+
"in": "query",
|
|
3111
|
+
"required": false,
|
|
3112
|
+
"schema": {
|
|
3113
|
+
"type": "integer",
|
|
3114
|
+
"enum": [0, 1],
|
|
3115
|
+
"default": 0,
|
|
3116
|
+
"title": "Check Database",
|
|
3117
|
+
"description": "Whether to check database connectivity (0=false, 1=true)"
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
],
|
|
3121
|
+
"responses": {
|
|
3122
|
+
"200": {
|
|
3123
|
+
"description": "Success",
|
|
3124
|
+
"content": {
|
|
3125
|
+
"application/json": {
|
|
3126
|
+
"schema": {
|
|
3127
|
+
"type": "object",
|
|
3128
|
+
"properties": {
|
|
3129
|
+
"ok": {
|
|
3130
|
+
"type": "boolean",
|
|
3131
|
+
"const": true,
|
|
3132
|
+
"title": "OK",
|
|
3133
|
+
"description": "Indicates the server is healthy"
|
|
3134
|
+
}
|
|
3135
|
+
},
|
|
3136
|
+
"required": ["ok"],
|
|
3137
|
+
"title": "HealthResponse"
|
|
3138
|
+
}
|
|
3139
|
+
}
|
|
3140
|
+
}
|
|
3141
|
+
},
|
|
3142
|
+
"500": {
|
|
3143
|
+
"description": "Internal Server Error",
|
|
3144
|
+
"content": {
|
|
3145
|
+
"application/json": {
|
|
3146
|
+
"schema": {
|
|
3147
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
3148
|
+
}
|
|
3149
|
+
}
|
|
3150
|
+
}
|
|
3151
|
+
}
|
|
3152
|
+
}
|
|
3153
|
+
}
|
|
2999
3154
|
}
|
|
3000
3155
|
},
|
|
3001
3156
|
"components": {
|
|
@@ -3852,6 +4007,8 @@
|
|
|
3852
4007
|
"values",
|
|
3853
4008
|
"messages",
|
|
3854
4009
|
"messages-tuple",
|
|
4010
|
+
"tasks",
|
|
4011
|
+
"checkpoints",
|
|
3855
4012
|
"updates",
|
|
3856
4013
|
"events",
|
|
3857
4014
|
"debug",
|
|
@@ -3866,6 +4023,8 @@
|
|
|
3866
4023
|
"values",
|
|
3867
4024
|
"messages",
|
|
3868
4025
|
"messages-tuple",
|
|
4026
|
+
"tasks",
|
|
4027
|
+
"checkpoints",
|
|
3869
4028
|
"updates",
|
|
3870
4029
|
"events",
|
|
3871
4030
|
"debug",
|
|
@@ -4096,6 +4255,8 @@
|
|
|
4096
4255
|
"values",
|
|
4097
4256
|
"messages",
|
|
4098
4257
|
"messages-tuple",
|
|
4258
|
+
"tasks",
|
|
4259
|
+
"checkpoints",
|
|
4099
4260
|
"updates",
|
|
4100
4261
|
"events",
|
|
4101
4262
|
"debug",
|
|
@@ -4110,6 +4271,8 @@
|
|
|
4110
4271
|
"values",
|
|
4111
4272
|
"messages",
|
|
4112
4273
|
"messages-tuple",
|
|
4274
|
+
"tasks",
|
|
4275
|
+
"checkpoints",
|
|
4113
4276
|
"updates",
|
|
4114
4277
|
"events",
|
|
4115
4278
|
"debug",
|
|
@@ -25,16 +25,16 @@ wheels = [
|
|
|
25
25
|
|
|
26
26
|
[[package]]
|
|
27
27
|
name = "anyio"
|
|
28
|
-
version = "4.
|
|
28
|
+
version = "4.10.0"
|
|
29
29
|
source = { registry = "https://pypi.org/simple" }
|
|
30
30
|
dependencies = [
|
|
31
31
|
{ name = "idna" },
|
|
32
32
|
{ name = "sniffio" },
|
|
33
33
|
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
34
34
|
]
|
|
35
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
35
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" }
|
|
36
36
|
wheels = [
|
|
37
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
37
|
+
{ url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" },
|
|
38
38
|
]
|
|
39
39
|
|
|
40
40
|
[[package]]
|
|
@@ -51,11 +51,11 @@ wheels = [
|
|
|
51
51
|
|
|
52
52
|
[[package]]
|
|
53
53
|
name = "certifi"
|
|
54
|
-
version = "2025.
|
|
54
|
+
version = "2025.8.3"
|
|
55
55
|
source = { registry = "https://pypi.org/simple" }
|
|
56
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
56
|
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" }
|
|
57
57
|
wheels = [
|
|
58
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
58
|
+
{ url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" },
|
|
59
59
|
]
|
|
60
60
|
|
|
61
61
|
[[package]]
|
|
@@ -376,7 +376,7 @@ wheels = [
|
|
|
376
376
|
|
|
377
377
|
[[package]]
|
|
378
378
|
name = "langgraph"
|
|
379
|
-
version = "0.6.
|
|
379
|
+
version = "0.6.3"
|
|
380
380
|
source = { registry = "https://pypi.org/simple" }
|
|
381
381
|
dependencies = [
|
|
382
382
|
{ name = "langchain-core" },
|
|
@@ -386,9 +386,9 @@ dependencies = [
|
|
|
386
386
|
{ name = "pydantic" },
|
|
387
387
|
{ name = "xxhash" },
|
|
388
388
|
]
|
|
389
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
389
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7d/d8/ecedf01b3e90ad288343eeb06d91d8511e049ee0b16d7f3c146baeed2a49/langgraph-0.6.3.tar.gz", hash = "sha256:0d2280d295133dc34ccc12eae1ad4d82ee847b009c59801de418068fa9248e1b", size = 452277, upload-time = "2025-08-03T11:21:35.74Z" }
|
|
390
390
|
wheels = [
|
|
391
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
391
|
+
{ url = "https://files.pythonhosted.org/packages/bb/93/7836486f6c18b0b11e6bde5bc0f318947e610637aa5231081bd4adf79eb9/langgraph-0.6.3-py3-none-any.whl", hash = "sha256:733efd8c59b9915e582619da40f2ab5ebb121319a4d7718adef82d6db07547eb", size = 152463, upload-time = "2025-08-03T11:21:34.002Z" },
|
|
392
392
|
]
|
|
393
393
|
|
|
394
394
|
[[package]]
|
|
@@ -517,15 +517,15 @@ wheels = [
|
|
|
517
517
|
|
|
518
518
|
[[package]]
|
|
519
519
|
name = "langgraph-prebuilt"
|
|
520
|
-
version = "0.6.
|
|
520
|
+
version = "0.6.3"
|
|
521
521
|
source = { registry = "https://pypi.org/simple" }
|
|
522
522
|
dependencies = [
|
|
523
523
|
{ name = "langchain-core" },
|
|
524
524
|
{ name = "langgraph-checkpoint" },
|
|
525
525
|
]
|
|
526
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
526
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2d/6a/7f662e24eb89bf74fcf2fd109f350ec023373d196b16d12b54e66961f145/langgraph_prebuilt-0.6.3.tar.gz", hash = "sha256:5e1ca7ba98f53ce98400f34bdb0afe47f71d0167c4108b11d4aeed4c6d4a1d3d", size = 125368, upload-time = "2025-08-03T11:16:24.789Z" }
|
|
527
527
|
wheels = [
|
|
528
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
528
|
+
{ url = "https://files.pythonhosted.org/packages/9c/27/049a9e07d1d75c39e0109445e93c9df8bc4a8c51730655be561ecdf04dee/langgraph_prebuilt-0.6.3-py3-none-any.whl", hash = "sha256:cea830fc73d1a6fb871c5c6739e894bffcb7b7a07343198b56f263d3113ae8d6", size = 28917, upload-time = "2025-08-03T11:16:23.695Z" },
|
|
529
529
|
]
|
|
530
530
|
|
|
531
531
|
[[package]]
|
|
@@ -576,7 +576,7 @@ wheels = [
|
|
|
576
576
|
|
|
577
577
|
[[package]]
|
|
578
578
|
name = "langsmith"
|
|
579
|
-
version = "0.4.
|
|
579
|
+
version = "0.4.13"
|
|
580
580
|
source = { registry = "https://pypi.org/simple" }
|
|
581
581
|
dependencies = [
|
|
582
582
|
{ name = "httpx" },
|
|
@@ -587,9 +587,9 @@ dependencies = [
|
|
|
587
587
|
{ name = "requests-toolbelt" },
|
|
588
588
|
{ name = "zstandard" },
|
|
589
589
|
]
|
|
590
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
590
|
+
sdist = { url = "https://files.pythonhosted.org/packages/be/7a/a4265a1ae549cb2480dae97867dd6841edaf2b419755d307ef998fa87854/langsmith-0.4.13.tar.gz", hash = "sha256:1ae7dbb5d8150647406f49885a2dd16ab12bd990254b5dc23718838b3d086fde", size = 920911, upload-time = "2025-08-06T20:09:53.041Z" }
|
|
591
591
|
wheels = [
|
|
592
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
592
|
+
{ url = "https://files.pythonhosted.org/packages/b2/04/171205d95baa3e5e8867416ffeb90510c3f17036a96e6aa9948ba4920db0/langsmith-0.4.13-py3-none-any.whl", hash = "sha256:dab7b16ee16986995007bf5a777f45c18f8bf7453f67ae2ebcb46ce43c214297", size = 372682, upload-time = "2025-08-06T20:09:51.026Z" },
|
|
593
593
|
]
|
|
594
594
|
|
|
595
595
|
[[package]]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.117"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.2.117 → langgraph_api-0.2.123}/langgraph_api/js/src/utils/pythonSchemas.mts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|