langgraph-api 0.2.71__tar.gz → 0.2.72__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.

Files changed (104) hide show
  1. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/PKG-INFO +1 -1
  2. langgraph_api-0.2.72/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/assistants.py +12 -2
  4. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/sse.py +8 -11
  5. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/worker.py +5 -4
  6. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/uv.lock +6 -6
  7. langgraph_api-0.2.71/langgraph_api/__init__.py +0 -1
  8. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/.gitignore +0 -0
  9. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/LICENSE +0 -0
  10. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/Makefile +0 -0
  11. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/README.md +0 -0
  12. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/benchmark/.gitignore +0 -0
  13. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/benchmark/Makefile +0 -0
  14. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/benchmark/README.md +0 -0
  15. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/benchmark/burst.js +0 -0
  16. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/benchmark/weather.js +0 -0
  17. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/constraints.txt +0 -0
  18. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/forbidden.txt +0 -0
  19. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/healthcheck.py +0 -0
  20. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/__init__.py +0 -0
  21. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/mcp.py +0 -0
  22. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/meta.py +0 -0
  23. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/openapi.py +0 -0
  24. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/runs.py +0 -0
  25. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/store.py +0 -0
  26. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/threads.py +0 -0
  27. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/api/ui.py +0 -0
  28. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/asgi_transport.py +0 -0
  29. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/asyncio.py +0 -0
  30. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/__init__.py +0 -0
  31. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/custom.py +0 -0
  32. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/langsmith/__init__.py +0 -0
  33. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/langsmith/backend.py +0 -0
  34. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/langsmith/client.py +0 -0
  35. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/middleware.py +0 -0
  36. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/noop.py +0 -0
  37. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/auth/studio_user.py +0 -0
  38. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/cli.py +0 -0
  39. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/command.py +0 -0
  40. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/config.py +0 -0
  41. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/cron_scheduler.py +0 -0
  42. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/errors.py +0 -0
  43. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/graph.py +0 -0
  44. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/http.py +0 -0
  45. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/.gitignore +0 -0
  46. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/.prettierrc +0 -0
  47. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/__init__.py +0 -0
  48. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/base.py +0 -0
  49. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/build.mts +0 -0
  50. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/client.http.mts +0 -0
  51. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/client.mts +0 -0
  52. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/errors.py +0 -0
  53. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/global.d.ts +0 -0
  54. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/package.json +0 -0
  55. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/remote.py +0 -0
  56. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/schema.py +0 -0
  57. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/graph.mts +0 -0
  58. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/load.hooks.mjs +0 -0
  59. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/preload.mjs +0 -0
  60. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/utils/files.mts +0 -0
  61. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/utils/importMap.mts +0 -0
  62. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  63. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/src/utils/serde.mts +0 -0
  64. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/sse.py +0 -0
  65. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/tsconfig.json +0 -0
  66. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/ui.py +0 -0
  67. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/js/yarn.lock +0 -0
  68. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/logging.py +0 -0
  69. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/metadata.py +0 -0
  70. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/middleware/__init__.py +0 -0
  71. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/middleware/http_logger.py +0 -0
  72. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/middleware/private_network.py +0 -0
  73. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/middleware/request_id.py +0 -0
  74. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/models/__init__.py +0 -0
  75. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/models/run.py +0 -0
  76. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/patch.py +0 -0
  77. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/queue_entrypoint.py +0 -0
  78. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/route.py +0 -0
  79. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/schema.py +0 -0
  80. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/serde.py +0 -0
  81. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/server.py +0 -0
  82. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/state.py +0 -0
  83. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/store.py +0 -0
  84. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/stream.py +0 -0
  85. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/thread_ttl.py +0 -0
  86. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/tunneling/cloudflare.py +0 -0
  87. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/utils.py +0 -0
  88. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/validation.py +0 -0
  89. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_api/webhook.py +0 -0
  90. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_license/__init__.py +0 -0
  91. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_license/validation.py +0 -0
  92. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/__init__.py +0 -0
  93. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/checkpoint.py +0 -0
  94. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/database.py +0 -0
  95. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/lifespan.py +0 -0
  96. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/metrics.py +0 -0
  97. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/ops.py +0 -0
  98. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/queue.py +0 -0
  99. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/retry.py +0 -0
  100. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/langgraph_runtime/store.py +0 -0
  101. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/logging.json +0 -0
  102. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/openapi.json +0 -0
  103. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/pyproject.toml +0 -0
  104. {langgraph_api-0.2.71 → langgraph_api-0.2.72}/scripts/create_license.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.2.71
3
+ Version: 0.2.72
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
@@ -0,0 +1 @@
1
+ __version__ = "0.2.72"
@@ -214,11 +214,21 @@ async def get_assistant_graph(
214
214
 
215
215
  if isinstance(graph, BaseRemotePregel):
216
216
  drawable_graph = await graph.fetch_graph(xray=xray)
217
- return ApiResponse(drawable_graph.to_json())
217
+ json_graph = drawable_graph.to_json()
218
+ for node in json_graph.get("nodes", []):
219
+ if data := node.get("data"):
220
+ if isinstance(data, dict):
221
+ data.pop("id", None)
222
+ return ApiResponse(json_graph)
218
223
 
219
224
  try:
220
225
  drawable_graph = await graph.aget_graph(xray=xray)
221
- return ApiResponse(drawable_graph.to_json())
226
+ json_graph = drawable_graph.to_json()
227
+ for node in json_graph.get("nodes", []):
228
+ if data := node.get("data"):
229
+ if isinstance(data, dict):
230
+ data.pop("id", None)
231
+ return ApiResponse(json_graph)
222
232
  except NotImplementedError:
223
233
  raise HTTPException(
224
234
  422, detail="The graph does not support visualization"
@@ -63,9 +63,11 @@ class EventSourceResponse(sse_starlette.EventSourceResponse):
63
63
  await send(
64
64
  {
65
65
  "type": "http.response.body",
66
- "body": json_to_sse(*data)
67
- if isinstance(data, tuple)
68
- else data,
66
+ "body": (
67
+ json_to_sse(*data)
68
+ if isinstance(data, tuple)
69
+ else data
70
+ ),
69
71
  "more_body": True,
70
72
  }
71
73
  )
@@ -90,14 +92,9 @@ class EventSourceResponse(sse_starlette.EventSourceResponse):
90
92
 
91
93
  async def sse_heartbeat(send: Send) -> None:
92
94
  payload = sse_starlette.ServerSentEvent(comment="heartbeat").encode()
93
- try:
94
- while True:
95
- await asyncio.sleep(5)
96
- await send(
97
- {"type": "http.response.body", "body": payload, "more_body": True}
98
- )
99
- except asyncio.CancelledError:
100
- pass
95
+ while True:
96
+ await asyncio.sleep(5)
97
+ await send({"type": "http.response.body", "body": payload, "more_body": True})
101
98
 
102
99
 
103
100
  SEP = b"\r\n"
@@ -131,10 +131,11 @@ async def worker(
131
131
  try:
132
132
  await consume(stream, run_id, resumable)
133
133
  except Exception as e:
134
- logger.error(
135
- f"Run encountered an error in graph: {type(e)}({e})",
136
- exc_info=e,
137
- )
134
+ if not isinstance(e, UserRollback | UserInterrupt):
135
+ logger.error(
136
+ f"Run encountered an error in graph: {type(e)}({e})",
137
+ exc_info=e,
138
+ )
138
139
  # TimeoutError is a special case where we rely on asyncio.wait_for to timeout runs
139
140
  # Convert user TimeoutErrors to a custom class so we can distinguish and later convert back
140
141
  if isinstance(e, TimeoutError):
@@ -380,7 +380,7 @@ wheels = [
380
380
 
381
381
  [[package]]
382
382
  name = "langgraph"
383
- version = "0.4.8"
383
+ version = "0.5.0"
384
384
  source = { registry = "https://pypi.org/simple" }
385
385
  dependencies = [
386
386
  { name = "langchain-core" },
@@ -390,9 +390,9 @@ dependencies = [
390
390
  { name = "pydantic" },
391
391
  { name = "xxhash" },
392
392
  ]
393
- sdist = { url = "https://files.pythonhosted.org/packages/9b/53/03380b675fef3d00d2d270e530d1a8bfe4e6f27117016a478670c9c74469/langgraph-0.4.8.tar.gz", hash = "sha256:48445ac8a351b7bdc6dee94e2e6a597f8582e0516ebd9dea0fd0164ae01b915e", size = 453277, upload-time = "2025-06-02T23:26:16.979Z" }
393
+ sdist = { url = "https://files.pythonhosted.org/packages/9b/5f/f08123cbfa0384b6a4011a9547fdbca52b53d51d69b21ff2a03332fde694/langgraph-0.5.0.tar.gz", hash = "sha256:7ad6d42f2a44e93e225cc65c59fac51c55ae549c9824adc22971d00e5ac26443", size = 434232, upload-time = "2025-06-26T22:55:18.068Z" }
394
394
  wheels = [
395
- { url = "https://files.pythonhosted.org/packages/17/8a/fe05ec63ee4c3889a8b89679a6bdd1be6087962818996f3b361da23a5529/langgraph-0.4.8-py3-none-any.whl", hash = "sha256:273b02782669a474ba55ef4296607ac3bac9e93639d37edc0d32d8cf1a41a45b", size = 152444, upload-time = "2025-06-02T23:26:15.107Z" },
395
+ { url = "https://files.pythonhosted.org/packages/d2/a4/0d5551ef675d382497765c74cdd893e2758d2dc2041e0f3671f110761a04/langgraph-0.5.0-py3-none-any.whl", hash = "sha256:74e33efb6527602b79bfcc4e3d0bfbb15b8d86fa25bb417fdd8d3306456cf8de", size = 143658, upload-time = "2025-06-26T22:55:16.599Z" },
396
396
  ]
397
397
 
398
398
  [[package]]
@@ -525,15 +525,15 @@ wheels = [
525
525
 
526
526
  [[package]]
527
527
  name = "langgraph-prebuilt"
528
- version = "0.2.2"
528
+ version = "0.5.0"
529
529
  source = { registry = "https://pypi.org/simple" }
530
530
  dependencies = [
531
531
  { name = "langchain-core" },
532
532
  { name = "langgraph-checkpoint" },
533
533
  ]
534
- sdist = { url = "https://files.pythonhosted.org/packages/88/f5/15b26cda94ebb89400048d478a3b1927005d85e273a557d8683f4cda775c/langgraph_prebuilt-0.2.2.tar.gz", hash = "sha256:0a5d1f651f97c848cd1c3dd0ef017614f47ee74effb7375b59ac639e41b253f9", size = 112785, upload-time = "2025-05-28T13:39:54.235Z" }
534
+ sdist = { url = "https://files.pythonhosted.org/packages/66/e6/5c9a6b283a088cd4897bded76d5585362674ebfbadce766a2c386c2bc32e/langgraph_prebuilt-0.5.0.tar.gz", hash = "sha256:c295f31328462034f457a1560c7d87e6433571be2a7aa3a16dd8e17199b79493", size = 117834, upload-time = "2025-06-26T22:50:21.449Z" }
535
535
  wheels = [
536
- { url = "https://files.pythonhosted.org/packages/14/46/c98fec1f8620cbffbabda346a2c68155eec3720c6c3393ab3b9529618810/langgraph_prebuilt-0.2.2-py3-none-any.whl", hash = "sha256:72de5ef1d969a8f02ad7adc7cc1915bb9b4467912d57ba60da34b5a70fdad1f6", size = 23748, upload-time = "2025-05-28T13:39:53.361Z" },
536
+ { url = "https://files.pythonhosted.org/packages/ed/f9/fe6a8100b2cd1d0e8a5d920addc42a8f2a852296b1968b729f8a794ff178/langgraph_prebuilt-0.5.0-py3-none-any.whl", hash = "sha256:de28282048e03d2198d41ec114e57a2c4bff3421039c4828b6c72720dfe5bcb5", size = 23794, upload-time = "2025-06-26T22:50:20.386Z" },
537
537
  ]
538
538
 
539
539
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = "0.2.71"
File without changes
File without changes
File without changes