langgraph-api 0.0.45__py3-none-any.whl → 0.0.47__py3-none-any.whl

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.

@@ -34,8 +34,9 @@ services:
34
34
  ADD . /deps/graphs
35
35
  WORKDIR /deps/graphs
36
36
  RUN yarn install --frozen-lockfile
37
- ENV LANGSERVE_GRAPHS='{"agent":"./agent.mts:graph", "nested": "./nested.mts:graph", "weather": "./weather.mts:graph", "error": "./error.mts:graph", "delay": "./delay.mts:graph", "dynamic": "./dynamic.mts:graph"}'
37
+ ENV LANGSERVE_GRAPHS='{"agent":"./agent.mts:graph", "nested": "./nested.mts:graph", "weather": "./weather.mts:graph", "error": "./error.mts:graph", "delay": "./delay.mts:graph", "dynamic": "./dynamic.mts:graph", "command": "./command.mts:graph"}'
38
38
  ENV LANGGRAPH_CONFIG='{"agent": {"configurable": {"model_name": "openai"}}}'
39
+ ENV LANGGRAPH_UI='{"agent": "./agent.ui.tsx"}'
39
40
  RUN tsx /api/langgraph_api/js/build.mts
40
41
  depends_on:
41
42
  langgraph-postgres:
@@ -0,0 +1,48 @@
1
+ import {
2
+ Annotation,
3
+ Command,
4
+ END,
5
+ interrupt,
6
+ Send,
7
+ START,
8
+ StateGraph,
9
+ } from "@langchain/langgraph";
10
+
11
+ const StateSchema = Annotation.Root({
12
+ messages: Annotation<string[]>({
13
+ reducer: (a: string[], b: string | string[]) => [
14
+ ...a,
15
+ ...(Array.isArray(b) ? b : [b]),
16
+ ],
17
+ default: () => [],
18
+ }),
19
+ });
20
+
21
+ export const graph = new StateGraph(StateSchema)
22
+ .addNode("router", () => new Command({ goto: END }), {
23
+ ends: ["before_interrupt", "map", END],
24
+ })
25
+ .addNode("before_interrupt", () => ({ messages: ["before_interrupt"] }))
26
+ .addNode("interrupt", () => {
27
+ const resolved = interrupt("interrupt");
28
+ return { messages: [`interrupt: ${resolved}`] };
29
+ })
30
+ .addNode(
31
+ "map",
32
+ () =>
33
+ new Command({
34
+ update: { messages: ["map"] },
35
+ goto: [
36
+ new Send("task", { value: 1 }),
37
+ new Send("task", { value: 2 }),
38
+ new Send("task", { value: 3 }),
39
+ ],
40
+ }),
41
+ { ends: ["task"] }
42
+ )
43
+ .addNode("task", (arg: { value: number }) => ({
44
+ messages: [`task: ${arg.value}`],
45
+ }))
46
+ .addEdge(START, "router")
47
+ .addEdge("before_interrupt", "interrupt")
48
+ .compile();
@@ -5,6 +5,7 @@
5
5
  "subgraph": "./subgraph.mts:graph",
6
6
  "nested": "./nested.mts:graph",
7
7
  "dynamic": "./dynamic.mts:graph",
8
- "delay": "./delay.mts:graph"
8
+ "delay": "./delay.mts:graph",
9
+ "command": "./command.mts:graph"
9
10
  }
10
11
  }
@@ -3,5 +3,8 @@
3
3
  "dependencies": {
4
4
  "@langchain/core": "^0.3.40",
5
5
  "@langchain/langgraph": "^0.2.49"
6
+ },
7
+ "devDependencies": {
8
+ "tailwindcss": "^4.1.1"
6
9
  }
7
10
  }
@@ -206,6 +206,11 @@ supports-color@^7.1.0:
206
206
  dependencies:
207
207
  has-flag "^4.0.0"
208
208
 
209
+ tailwindcss@^4.1.1:
210
+ version "4.1.1"
211
+ resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.1.1.tgz#f2bae12b32687e63afa37c4f638b89520104e83f"
212
+ integrity sha512-QNbdmeS979Efzim2g/bEvfuh+fTcIdp1y7gA+sb6OYSW74rt7Cr7M78AKdf6HqWT3d5AiTb7SwTT3sLQxr4/qw==
213
+
209
214
  uuid@^10.0.0:
210
215
  version "10.0.0"
211
216
  resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
langgraph_api/js/ui.py ADDED
@@ -0,0 +1,93 @@
1
+ import asyncio
2
+ import os
3
+ import shutil
4
+ import sys
5
+ from pathlib import Path
6
+
7
+ import structlog
8
+
9
+ from langgraph_api.config import UI_USE_BUNDLER
10
+
11
+ logger = structlog.stdlib.get_logger(__name__)
12
+ bg_tasks: set[asyncio.Task] = set()
13
+
14
+ UI_ROOT_DIR = (
15
+ Path(
16
+ os.path.abspath(".langgraph_api")
17
+ if UI_USE_BUNDLER
18
+ else os.path.dirname(__file__)
19
+ )
20
+ / "ui"
21
+ )
22
+
23
+ UI_PUBLIC_DIR = UI_ROOT_DIR / "public"
24
+ UI_SCHEMAS_FILE = UI_ROOT_DIR / "schemas.json"
25
+
26
+
27
+ async def start_ui_bundler() -> None:
28
+ # LANGGRAPH_UI_ROOT_DIR is only set by in-memory server
29
+ # @see langgraph_api/cli.py
30
+ if not UI_USE_BUNDLER or not os.getenv("LANGGRAPH_UI"):
31
+ return
32
+
33
+ logger.info("Starting UI bundler")
34
+
35
+ bundler_task = asyncio.create_task(_start_ui_bundler_process(), name="ui-bundler")
36
+ bundler_task.add_done_callback(_handle_exception)
37
+
38
+ bg_tasks.add(bundler_task)
39
+
40
+
41
+ async def stop_ui_bundler() -> None:
42
+ for task in bg_tasks:
43
+ task.cancel()
44
+
45
+
46
+ async def _start_ui_bundler_process():
47
+ npx_path = shutil.which("npx")
48
+ if npx_path is None:
49
+ raise FileNotFoundError(
50
+ "To run LangGraph with UI support, Node.js and npm are required. "
51
+ "Please install Node.js from https://nodejs.org/ (this will include npm and npx). "
52
+ "After installation, restart your terminal and try again."
53
+ )
54
+
55
+ if not os.path.exists(UI_ROOT_DIR):
56
+ os.mkdir(UI_ROOT_DIR)
57
+
58
+ pid = None
59
+ try:
60
+ process = await asyncio.create_subprocess_exec(
61
+ npx_path,
62
+ "-y",
63
+ "@langchain/langgraph-ui@latest",
64
+ "watch",
65
+ "-o",
66
+ UI_ROOT_DIR,
67
+ env=os.environ,
68
+ )
69
+ pid = process.pid
70
+ logger.info("Started UI bundler process [%d]", pid)
71
+
72
+ code = await process.wait()
73
+ raise Exception(f"UI bundler process exited with code {code}")
74
+
75
+ except asyncio.CancelledError:
76
+ logger.info("Shutting down UI bundler process [%d]", pid or -1)
77
+ try:
78
+ process.terminate()
79
+ await process.wait()
80
+ except (UnboundLocalError, ProcessLookupError):
81
+ pass
82
+ raise
83
+
84
+
85
+ def _handle_exception(task: asyncio.Task) -> None:
86
+ try:
87
+ task.result()
88
+ except asyncio.CancelledError:
89
+ pass
90
+ finally:
91
+ bg_tasks.discard(task)
92
+ # if the task died either with exception or not, we should exit
93
+ sys.exit(1)
@@ -31,6 +31,11 @@
31
31
  resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.6.0.tgz#ec6cd237440700bc23ca23087f513c75508958b0"
32
32
  integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==
33
33
 
34
+ "@commander-js/extra-typings@^13.0.0":
35
+ version "13.1.0"
36
+ resolved "https://registry.yarnpkg.com/@commander-js/extra-typings/-/extra-typings-13.1.0.tgz#026e29b04401c92fc4307223fbaadf1ff3e5551e"
37
+ integrity sha512-q5P52BYb1hwVWE6dtID7VvuJWrlfbCv4klj7BjUUOqMz4jbSZD4C9fJ9lRjL2jnBGTg+gDDlaXN51rkWcLk4fg==
38
+
34
39
  "@dabh/diagnostics@^2.0.2":
35
40
  version "2.0.3"
36
41
  resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
@@ -198,20 +203,19 @@
198
203
  zod "^3.22.4"
199
204
  zod-to-json-schema "^3.22.3"
200
205
 
201
- "@langchain/langgraph-api@~0.0.19":
202
- version "0.0.19"
203
- resolved "https://registry.yarnpkg.com/@langchain/langgraph-api/-/langgraph-api-0.0.19.tgz#e4b8054a1f4e7943bc53787fb6335470b55f4b1d"
204
- integrity sha512-vsWnVUMVdr3i0ooI3Pcq4tbRKyRiDFGtUyyusCs2zZ/AHNIOV1ieHVTYubhZ04F+jNEwe0SwSMqtM0/Vg+cbTw==
206
+ "@langchain/langgraph-api@~0.0.20":
207
+ version "0.0.20"
208
+ resolved "https://registry.yarnpkg.com/@langchain/langgraph-api/-/langgraph-api-0.0.20.tgz#32e5cfa736ea938d53fa61285bf673901f37e029"
209
+ integrity sha512-MZA/6/th0oliK4UJb3SiEWwnMb/HO3sTr73uQxGoRJwjqCKJgYrnXHkU1eunclPcCeG86DanbEf/Rsn7UR4WeA==
205
210
  dependencies:
206
211
  "@babel/code-frame" "^7.26.2"
207
212
  "@hono/node-server" "^1.12.0"
208
213
  "@hono/zod-validator" "^0.2.2"
214
+ "@langchain/langgraph-ui" "0.0.20"
209
215
  "@types/json-schema" "^7.0.15"
210
216
  "@typescript/vfs" "^1.6.0"
211
217
  dedent "^1.5.3"
212
218
  dotenv "^16.4.7"
213
- esbuild "^0.25.0"
214
- esbuild-plugin-tailwindcss "^2.0.1"
215
219
  exit-hook "^4.0.0"
216
220
  hono "^4.5.4"
217
221
  langsmith "^0.2.15"
@@ -258,6 +262,17 @@
258
262
  p-retry "4"
259
263
  uuid "^9.0.0"
260
264
 
265
+ "@langchain/langgraph-ui@0.0.20", "@langchain/langgraph-ui@~0.0.20":
266
+ version "0.0.20"
267
+ resolved "https://registry.yarnpkg.com/@langchain/langgraph-ui/-/langgraph-ui-0.0.20.tgz#9075acef91c287cfafa81d4eef34a6a51ba1a4d1"
268
+ integrity sha512-x6fF6STKx0gsCAtEqEwyIib6klwLboqvpXsobHVeFOx6qGqOGsVKbq6rgCIKxQz8tZeSQVXslas4/20SFUjwKA==
269
+ dependencies:
270
+ "@commander-js/extra-typings" "^13.0.0"
271
+ commander "^13.0.0"
272
+ esbuild "^0.25.0"
273
+ esbuild-plugin-tailwindcss "^2.0.1"
274
+ zod "^3.23.8"
275
+
261
276
  "@langchain/langgraph@^0.2.49":
262
277
  version "0.2.54"
263
278
  resolved "https://registry.yarnpkg.com/@langchain/langgraph/-/langgraph-0.2.54.tgz#f57a9b471808c122ee5ae4506ed05cc75f1578bd"
@@ -729,6 +744,11 @@ commander@^10.0.1:
729
744
  resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
730
745
  integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
731
746
 
747
+ commander@^13.0.0:
748
+ version "13.1.0"
749
+ resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46"
750
+ integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==
751
+
732
752
  console-table-printer@^2.12.1:
733
753
  version "2.12.1"
734
754
  resolved "https://registry.yarnpkg.com/console-table-printer/-/console-table-printer-2.12.1.tgz#4a9646537a246a6d8de57075d4fae1e08abae267"
langgraph_api/lifespan.py CHANGED
@@ -11,6 +11,7 @@ from langgraph_api.asyncio import SimpleTaskGroup, set_event_loop
11
11
  from langgraph_api.cron_scheduler import cron_scheduler
12
12
  from langgraph_api.graph import collect_graphs_from_env, stop_remote_graphs
13
13
  from langgraph_api.http import start_http_client, stop_http_client
14
+ from langgraph_api.js.ui import start_ui_bundler, stop_ui_bundler
14
15
  from langgraph_api.metadata import metadata_loop
15
16
  from langgraph_api.thread_ttl import thread_ttl_sweep_loop
16
17
  from langgraph_license.validation import get_license_status, plus_features_enabled
@@ -46,6 +47,7 @@ async def lifespan(
46
47
  await start_http_client()
47
48
  await start_pool()
48
49
  await collect_graphs_from_env(True)
50
+ await start_ui_bundler()
49
51
  try:
50
52
  async with SimpleTaskGroup(
51
53
  cancel=True, taskset=taskset, taskgroup_name="Lifespan"
@@ -66,6 +68,7 @@ async def lifespan(
66
68
 
67
69
  yield
68
70
  finally:
71
+ await stop_ui_bundler()
69
72
  await stop_remote_graphs()
70
73
  await stop_http_client()
71
74
  await stop_pool()
langgraph_api/patch.py CHANGED
@@ -3,6 +3,8 @@ from typing import Any
3
3
  from starlette.responses import Response, StreamingResponse
4
4
  from starlette.types import Send
5
5
 
6
+ from langgraph_api.serde import Fragment
7
+
6
8
  """
7
9
  Patch Response.render and StreamingResponse.stream_response
8
10
  to recognize bytearrays and memoryviews as bytes-like objects.
@@ -28,6 +30,8 @@ async def StreamingResponse_stream_response(self, send: Send) -> None:
28
30
  async for chunk in self.body_iterator:
29
31
  if chunk is None:
30
32
  continue
33
+ if isinstance(chunk, Fragment):
34
+ chunk = chunk.buf
31
35
  if not isinstance(chunk, (bytes, bytearray, memoryview)): # noqa: UP038
32
36
  chunk = chunk.encode(self.charset)
33
37
  await send({"type": "http.response.body", "body": chunk, "more_body": True})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langgraph-api
3
- Version: 0.0.45
3
+ Version: 0.0.47
4
4
  Summary:
5
5
  License: Elastic-2.0
6
6
  Author: Nuno Campos
@@ -13,13 +13,13 @@ Classifier: Programming Language :: Python :: 3.12
13
13
  Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Dist: blockbuster (>=1.5.24,<2.0.0)
15
15
  Requires-Dist: cloudpickle (>=3.0.0,<4.0.0)
16
- Requires-Dist: cryptography (>=43.0.3,<44.0.0)
16
+ Requires-Dist: cryptography (>=42.0.0,<45.0)
17
17
  Requires-Dist: httpx (>=0.25.0)
18
18
  Requires-Dist: jsonschema-rs (>=0.20.0,<0.30)
19
19
  Requires-Dist: langchain-core (>=0.2.38,<0.4.0)
20
20
  Requires-Dist: langgraph (>=0.2.56,<0.4.0)
21
21
  Requires-Dist: langgraph-checkpoint (>=2.0.23,<3.0)
22
- Requires-Dist: langgraph-sdk (>=0.1.59,<0.2.0)
22
+ Requires-Dist: langgraph-sdk (>=0.1.61,<0.2.0)
23
23
  Requires-Dist: langsmith (>=0.1.63,<0.4.0)
24
24
  Requires-Dist: orjson (>=3.9.7)
25
25
  Requires-Dist: pyjwt (>=2.9.0,<3.0.0)
@@ -1,5 +1,5 @@
1
1
  LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
2
- langgraph_api/__init__.py,sha256=TcBob6tFZGDIyRe6fMRATilhAILshMCOgcFispx6nM0,23
2
+ langgraph_api/__init__.py,sha256=OkbXUm6WCcFd54358Y0HZk3Aq5hLc0sK6xgxJ6RmT5M,23
3
3
  langgraph_api/api/__init__.py,sha256=qNcg8QJydef0gM-vYJlxITMRZw-9r1vw8zqm2raqqYE,5493
4
4
  langgraph_api/api/assistants.py,sha256=WwaBtx1MpGn9gdJ8P9fkorJHMVrJKHt1nvtw0OCZcdw,14353
5
5
  langgraph_api/api/mcp.py,sha256=KbR19dtFCpJEiKYj3IfepAuJij8YZVELuVp7JY_yu_o,13754
@@ -8,7 +8,7 @@ langgraph_api/api/openapi.py,sha256=f9gfmWN2AMKNUpLCpSgZuw_aeOF9jCXPdOtFT5PaTWM,
8
8
  langgraph_api/api/runs.py,sha256=qAXfgZjjaMBfwPnlnAogvemtKZZeshNSIMQqcW20tGs,18010
9
9
  langgraph_api/api/store.py,sha256=XNNZFRlvgReidq9u7mg-i7pjwz21BdP9Qw3Jr5Ra9Fk,5447
10
10
  langgraph_api/api/threads.py,sha256=QbAy7MRupWKDUhmC6_LKU2ExJbLJ6Z-CJG2gSpcMXtc,9163
11
- langgraph_api/api/ui.py,sha256=LiOZVewKOPbKEykCm30hCEaOA7vuS_Ti5hB32EEy4vw,2082
11
+ langgraph_api/api/ui.py,sha256=kdCQ-p0voxAqIFc72aqqzdPGH2v-yEBKzjRE6cUPvpU,2201
12
12
  langgraph_api/asyncio.py,sha256=h0eZ7aoDGnJpoxnHLZABVlj1jQ78UxjgiHntTmAEWek,8613
13
13
  langgraph_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  langgraph_api/auth/custom.py,sha256=sPYkF-xTdGIn_WMSE2tfR_azg_azzXPRWwUfCye6GQ8,21401
@@ -18,21 +18,21 @@ langgraph_api/auth/langsmith/client.py,sha256=eKchvAom7hdkUXauD8vHNceBDDUijrFgdT
18
18
  langgraph_api/auth/middleware.py,sha256=jU8aDSIZHdzCGdifejRF7ndHkSjBtqIHcBwFIuUdHEA,1875
19
19
  langgraph_api/auth/noop.py,sha256=Bk6Nf3p8D_iMVy_OyfPlyiJp_aEwzL-sHrbxoXpCbac,586
20
20
  langgraph_api/auth/studio_user.py,sha256=FzFQRROKDlA9JjtBuwyZvk6Mbwno5M9RVYjDO6FU3F8,186
21
- langgraph_api/cli.py,sha256=X76TYnErQPjRkZhK-n6gthCUmtItkwqVrRPvwZswF5Y,12335
21
+ langgraph_api/cli.py,sha256=W8rf3v4rMwv9W-tK_9yqcc7waQezMMlpBoy64WSGLMw,12682
22
22
  langgraph_api/command.py,sha256=3O9v3i0OPa96ARyJ_oJbLXkfO8rPgDhLCswgO9koTFA,768
23
- langgraph_api/config.py,sha256=N6P_6jtr6rNGC7T5lSWoCbaTQhXbWi-F4YmH0NyPbAI,10141
23
+ langgraph_api/config.py,sha256=OJ6_9UCkPYNpUEB17EIU1nO0zQd3_T3G1Dr-ag0J8hE,10218
24
24
  langgraph_api/cron_scheduler.py,sha256=9yzbbGxzNgJdIg4ZT7yu2oTwT_wRuPxD1c2sbbd52xs,2630
25
25
  langgraph_api/errors.py,sha256=Bu_i5drgNTyJcLiyrwVE_6-XrSU50BHf9TDpttki9wQ,1690
26
- langgraph_api/graph.py,sha256=7NKAjtslNZq65J1tYhvJfpcP_P8JVTRra7vOfGuUWvc,18824
26
+ langgraph_api/graph.py,sha256=v7qj60MBQKfEx_0kmw9AsPygCQsOLmrJ1MkVkt4-GiM,21086
27
27
  langgraph_api/http.py,sha256=gYbxxjY8aLnsXeJymcJ7G7Nj_yToOGpPYQqmZ1_ggfA,5240
28
28
  langgraph_api/js/.gitignore,sha256=l5yI6G_V6F1600I1IjiUKn87f4uYIrBAYU1MOyBBhg4,59
29
29
  langgraph_api/js/base.py,sha256=xkBp5bwRrbpMFaAMViEU-qIlnsJuu3X_G8sa1pqNZK0,227
30
- langgraph_api/js/build.mts,sha256=PZGeFTOhmRIBxkbFaaUOpTacqg1Z7kUkZWTU2l9a7FY,3077
31
- langgraph_api/js/client.mts,sha256=n6ecWwJBP2wp1jCaam55GxffH-YesVrV-7ZTml-k4Oc,26137
30
+ langgraph_api/js/build.mts,sha256=oyP1GTnWAWl_dC4ny-h_9WxvWfZ8eJihGdrVdmMe81k,1834
31
+ langgraph_api/js/client.mts,sha256=GJv846jWBRL0W_Yr6XtDu3UdYjdpndQ2v6dOfAhJXi0,26953
32
32
  langgraph_api/js/errors.py,sha256=Cm1TKWlUCwZReDC5AQ6SgNIVGD27Qov2xcgHyf8-GXo,361
33
33
  langgraph_api/js/global.d.ts,sha256=yDusqAyzVYhxfwqqcERUzucu2Pw9ma3-ug4DFyUvQfs,167
34
- langgraph_api/js/package.json,sha256=uA_2KV86yMJmqfQd9Xe4w2PPjH6DmttBpSxi1PlSq3U,1224
35
- langgraph_api/js/remote.py,sha256=zvjMINAYOFpniQ_cZ3MxIOjwKI83xsQzU7pPiKsoCmQ,24623
34
+ langgraph_api/js/package.json,sha256=oNcWe7UIoJtqzoIVr47px6-1n8KziqwEhyi4wBpzTQ0,1266
35
+ langgraph_api/js/remote.py,sha256=dDrxJhe9Nm1OQREoa811GeXHygiBHTtHjvEVglOGfto,24808
36
36
  langgraph_api/js/schema.py,sha256=7idnv7URlYUdSNMBXQcw7E4SxaPxCq_Oxwnlml8q5ik,408
37
37
  langgraph_api/js/src/graph.mts,sha256=otgztTNzNJpeF2IOrpNuuwbSbpAy4eFE5dHtUd7eQwU,3742
38
38
  langgraph_api/js/src/hooks.mjs,sha256=XtktgmIHlls_DsknAuwib-z7TqCm0haRoTXvnkgzMuo,601
@@ -44,24 +44,26 @@ langgraph_api/js/src/utils/importMap.mts,sha256=pX4TGOyUpuuWF82kXcxcv3-8mgusRezO
44
44
  langgraph_api/js/src/utils/pythonSchemas.mts,sha256=98IW7Z_VP7L_CHNRMb3_MsiV3BgLE2JsWQY_PQcRR3o,685
45
45
  langgraph_api/js/src/utils/serde.mts,sha256=OuyyO9btvwWd55rU_H4x91dFEJiaPxL-lL9O6Zgo908,742
46
46
  langgraph_api/js/sse.py,sha256=lsfp4nyJyA1COmlKG9e2gJnTttf_HGCB5wyH8OZBER8,4105
47
- langgraph_api/js/tests/api.test.mts,sha256=GlCTOTuSGc2m2vdsw6PSZrDPgfcvJi0A5v4A9xGaZi4,60004
48
- langgraph_api/js/tests/compose-postgres.yml,sha256=pV1dW6aCgTTJ1WHSDeCqlVgFE9PbyWW5WbwrsiJcgoA,1772
47
+ langgraph_api/js/tests/api.test.mts,sha256=cu2d5De-QsQUH9-e1vjxDOcUfPRV3bRKWuymAAOZeXk,62845
48
+ langgraph_api/js/tests/compose-postgres.yml,sha256=yz99nUy4Gm8vXuE5cnp2ekPzv7x5XWdwFPB9muAqeGE,1861
49
49
  langgraph_api/js/tests/graphs/.gitignore,sha256=26J8MarZNXh7snXD5eTpV3CPFTht5Znv8dtHYCLNfkw,12
50
50
  langgraph_api/js/tests/graphs/agent.css,sha256=QgcOC0W7IBsrg4pSqqpull-WTgtULZfx_lF_5ZxLdag,23
51
51
  langgraph_api/js/tests/graphs/agent.mts,sha256=E9WMv0alMv0njUEECqEsqoRk9NXJUgXW7SyQJ3GOZ8k,5396
52
52
  langgraph_api/js/tests/graphs/agent.ui.tsx,sha256=JDFJdpdIS6rglkXTaROSb1Is0j1kt5wN9ML8W4cuht8,175
53
+ langgraph_api/js/tests/graphs/command.mts,sha256=YO1_cEs_n9VsH_-IediLnI4Yc8KRlp4qrprUZXpAlwM,1163
53
54
  langgraph_api/js/tests/graphs/delay.mts,sha256=CFneKxqI4bGGK0lYjSbe80QirowPQlsRSuhDUKfydhk,703
54
55
  langgraph_api/js/tests/graphs/dynamic.mts,sha256=Wf_-keF7lkEfp_iyI45nlFGCeU8ARLQ8axc0LXh7TyE,659
55
56
  langgraph_api/js/tests/graphs/error.mts,sha256=l4tk89449dj1BnEF_0ZcfPt0Ikk1gl8L1RaSnRfr3xo,487
56
- langgraph_api/js/tests/graphs/langgraph.json,sha256=iZL7XpAy3-QnCUHCRSj__Fxp3A-JPuYBJ_XQIxeyQfU,227
57
+ langgraph_api/js/tests/graphs/langgraph.json,sha256=h6hV1wkNEUIpLBX9JOUKqtIBvbhvzyLEuWtBIHteseg,265
57
58
  langgraph_api/js/tests/graphs/nested.mts,sha256=4G7jSOSaFVQAza-_ARbK-Iai1biLlF2DIPDZXf7PLIY,1245
58
- langgraph_api/js/tests/graphs/package.json,sha256=Kv2kdlTNeWl00vYQAhngorQ6rLab4SMc7g1AgZslrHQ,118
59
+ langgraph_api/js/tests/graphs/package.json,sha256=SSYv9rN8XLeCKnVctKKwnksvy0RMh-Z9pC0j1lG17PM,174
59
60
  langgraph_api/js/tests/graphs/weather.mts,sha256=A7mLK3xW8h5B-ZyJNAyX2M2fJJwzPJzXs4DYesJwreQ,1655
60
- langgraph_api/js/tests/graphs/yarn.lock,sha256=i2AAIgXA3XBLM8-oU45wgUefCSG-Tne4ghWHmUCUKVk,10407
61
+ langgraph_api/js/tests/graphs/yarn.lock,sha256=PWHTM2Wg9mdiovQBC7yMXfb382ffGux8z7hoQE6oWAQ,10673
61
62
  langgraph_api/js/tests/parser.test.mts,sha256=dEC8KTqKygeb1u39ZvpPqCT4HtfPD947nLmITt2buxA,27883
62
63
  langgraph_api/js/tests/utils.mts,sha256=q1V9gvT63v95onlfK9W4iv3n9ZJO3h-0RD9TdDYuRyY,439
63
- langgraph_api/js/yarn.lock,sha256=JtMDtRVX9kr9lK0rbWRQsGHYbkQSmzNa4NwTunBv58U,82773
64
- langgraph_api/lifespan.py,sha256=rrmxgNrAxWa_D1H8AZTBKXoQoyiLeDv_C5z-byuxTWM,2788
64
+ langgraph_api/js/ui.py,sha256=XNT8iBcyT8XmbIqSQUWd-j_00HsaWB2vRTVabwFBkik,2439
65
+ langgraph_api/js/yarn.lock,sha256=m4erGgHd30Enxdu1wKnohnzotZiEDvXh-H83qitf_W4,83812
66
+ langgraph_api/lifespan.py,sha256=SfVZj0SQdsIfYwvN5s4dfxGMb7MMlGe40DghCGDFaTQ,2915
65
67
  langgraph_api/logging.py,sha256=JJIzbNIgLCN6ClQ3tA-Mm5ffuBGvpRDSZsEvnIlsuu4,3693
66
68
  langgraph_api/metadata.py,sha256=bAeN3NwibBuXUVPjOEbEUJMnhUXe_VdTGw508VNeav4,3655
67
69
  langgraph_api/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -69,7 +71,7 @@ langgraph_api/middleware/http_logger.py,sha256=yuFPNFIWwn-4AE1CogBfWlo8KytzywLi_
69
71
  langgraph_api/middleware/private_network.py,sha256=eYgdyU8AzU2XJu362i1L8aSFoQRiV7_aLBPw7_EgeqI,2111
70
72
  langgraph_api/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
73
  langgraph_api/models/run.py,sha256=85-pyyvosFAot8WrWl2QjCje-2c4lhattYvoAEMqztA,11000
72
- langgraph_api/patch.py,sha256=82xjuFqY7tgrUm-k1XWHI6k8S6QovSD0zhe--8_xW4o,1296
74
+ langgraph_api/patch.py,sha256=Dgs0PXHytekX4SUL6KsjjN0hHcOtGLvv1GRGbh6PswU,1408
73
75
  langgraph_api/queue_entrypoint.py,sha256=4xICUxXarNV8DhnaqAMhVi3xCmyVKCL3J5NzHxPA9Xc,1835
74
76
  langgraph_api/route.py,sha256=fM4qYCGbmH0a3_cV8uKocb1sLklehxO6HhdRXqLK6OM,4421
75
77
  langgraph_api/schema.py,sha256=Frh_YOC3S1cDAMPUVanNi78ooSXK2WFpu9YkIVz5h14,5433
@@ -95,9 +97,9 @@ langgraph_storage/queue.py,sha256=IGjzCzYaGhbR9_Y37p1Hbd5uQkN9_IGzYkT_5lcPU54,75
95
97
  langgraph_storage/retry.py,sha256=XmldOP4e_H5s264CagJRVnQMDFcEJR_dldVR1Hm5XvM,763
96
98
  langgraph_storage/store.py,sha256=JB9jZ87GE19MVN9wgl3-esgR2eIkeipws9q6qsPWkgc,3399
97
99
  logging.json,sha256=3RNjSADZmDq38eHePMm1CbP6qZ71AmpBtLwCmKU9Zgo,379
98
- openapi.json,sha256=P4Gy9hD4vXpGEjaMT1zLpw4ISNJ08RYB5BsVya1Wp_8,132113
99
- langgraph_api-0.0.45.dist-info/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
100
- langgraph_api-0.0.45.dist-info/METADATA,sha256=xJGTqPMwi0HyPVcI5NVw0xDR3daSVgERYggEuHQR5j4,4167
101
- langgraph_api-0.0.45.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
102
- langgraph_api-0.0.45.dist-info/entry_points.txt,sha256=3EYLgj89DfzqJHHYGxPH4A_fEtClvlRbWRUHaXO7hj4,77
103
- langgraph_api-0.0.45.dist-info/RECORD,,
100
+ openapi.json,sha256=YW4ND-N3adriEoNwxw7UD9endO2xUZoodCtwVIfa2dU,132261
101
+ langgraph_api-0.0.47.dist-info/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
102
+ langgraph_api-0.0.47.dist-info/METADATA,sha256=IO4hwBirD3f4JqdFNa0B6V1TsB-QXhD0SlWYYRbce6Y,4165
103
+ langgraph_api-0.0.47.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
104
+ langgraph_api-0.0.47.dist-info/entry_points.txt,sha256=3EYLgj89DfzqJHHYGxPH4A_fEtClvlRbWRUHaXO7hj4,77
105
+ langgraph_api-0.0.47.dist-info/RECORD,,
openapi.json CHANGED
@@ -3355,7 +3355,14 @@
3355
3355
  "description": "The node to send the message to."
3356
3356
  },
3357
3357
  "input": {
3358
- "type": "object",
3358
+ "type": [
3359
+ "object",
3360
+ "array",
3361
+ "number",
3362
+ "string",
3363
+ "boolean",
3364
+ "null"
3365
+ ],
3359
3366
  "title": "Message",
3360
3367
  "description": "The message to send."
3361
3368
  }