langgraph-api 0.2.8__tar.gz → 0.2.9__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 (107) hide show
  1. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/PKG-INFO +1 -1
  2. langgraph_api-0.2.9/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/api.test.mts +4 -4
  4. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/worker.py +21 -0
  5. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/pyproject.toml +1 -1
  6. langgraph_api-0.2.8/langgraph_api/__init__.py +0 -1
  7. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/LICENSE +0 -0
  8. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/README.md +0 -0
  9. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/__init__.py +0 -0
  10. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/assistants.py +0 -0
  11. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/mcp.py +0 -0
  12. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/meta.py +0 -0
  13. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/openapi.py +0 -0
  14. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/runs.py +0 -0
  15. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/store.py +0 -0
  16. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/threads.py +0 -0
  17. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/api/ui.py +0 -0
  18. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/asyncio.py +0 -0
  19. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/__init__.py +0 -0
  20. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/custom.py +0 -0
  21. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/langsmith/__init__.py +0 -0
  22. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/langsmith/backend.py +0 -0
  23. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/langsmith/client.py +0 -0
  24. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/middleware.py +0 -0
  25. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/noop.py +0 -0
  26. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/auth/studio_user.py +0 -0
  27. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/cli.py +0 -0
  28. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/command.py +0 -0
  29. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/config.py +0 -0
  30. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/cron_scheduler.py +0 -0
  31. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/errors.py +0 -0
  32. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/graph.py +0 -0
  33. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/http.py +0 -0
  34. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/.gitignore +0 -0
  35. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/.prettierrc +0 -0
  36. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/__init__.py +0 -0
  37. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/base.py +0 -0
  38. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/build.mts +0 -0
  39. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/client.http.mts +0 -0
  40. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/client.mts +0 -0
  41. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/errors.py +0 -0
  42. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/global.d.ts +0 -0
  43. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/package.json +0 -0
  44. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/remote.py +0 -0
  45. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/schema.py +0 -0
  46. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/graph.mts +0 -0
  47. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/load.hooks.mjs +0 -0
  48. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/parser/parser.mts +0 -0
  49. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/parser/parser.worker.mjs +0 -0
  50. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/parser/schema/types.mts +0 -0
  51. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/parser/schema/types.template.mts +0 -0
  52. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/preload.mjs +0 -0
  53. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/utils/files.mts +0 -0
  54. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/utils/importMap.mts +0 -0
  55. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  56. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/src/utils/serde.mts +0 -0
  57. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/sse.py +0 -0
  58. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/auth.test.mts +0 -0
  59. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/compose-postgres.auth.yml +0 -0
  60. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/compose-postgres.yml +0 -0
  61. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/.gitignore +0 -0
  62. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/agent.css +0 -0
  63. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/agent.mts +0 -0
  64. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/agent.ui.tsx +0 -0
  65. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/agent_simple.mts +0 -0
  66. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/auth.mts +0 -0
  67. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/command.mts +0 -0
  68. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/delay.mts +0 -0
  69. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/dynamic.mts +0 -0
  70. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/error.mts +0 -0
  71. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/http.mts +0 -0
  72. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/langgraph.json +0 -0
  73. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/nested.mts +0 -0
  74. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/package.json +0 -0
  75. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/weather.mts +0 -0
  76. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/graphs/yarn.lock +0 -0
  77. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/parser.test.mts +0 -0
  78. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tests/utils.mts +0 -0
  79. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/tsconfig.json +0 -0
  80. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/ui.py +0 -0
  81. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/js/yarn.lock +0 -0
  82. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/logging.py +0 -0
  83. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/metadata.py +0 -0
  84. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/middleware/__init__.py +0 -0
  85. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/middleware/http_logger.py +0 -0
  86. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/middleware/private_network.py +0 -0
  87. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/models/__init__.py +0 -0
  88. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/models/run.py +0 -0
  89. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/patch.py +0 -0
  90. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/queue_entrypoint.py +0 -0
  91. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/route.py +0 -0
  92. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/schema.py +0 -0
  93. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/serde.py +0 -0
  94. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/server.py +0 -0
  95. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/sse.py +0 -0
  96. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/state.py +0 -0
  97. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/stream.py +0 -0
  98. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/thread_ttl.py +0 -0
  99. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/tunneling/cloudflare.py +0 -0
  100. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/utils.py +0 -0
  101. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/validation.py +0 -0
  102. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_api/webhook.py +0 -0
  103. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_license/__init__.py +0 -0
  104. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_license/validation.py +0 -0
  105. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/langgraph_runtime/__init__.py +0 -0
  106. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/logging.json +0 -0
  107. {langgraph_api-0.2.8 → langgraph_api-0.2.9}/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langgraph-api
3
- Version: 0.2.8
3
+ Version: 0.2.9
4
4
  Summary:
5
5
  License: Elastic-2.0
6
6
  Author: Nuno Campos
@@ -0,0 +1 @@
1
+ __version__ = "0.2.9"
@@ -303,7 +303,7 @@ describe("threads crud", () => {
303
303
  });
304
304
 
305
305
  describe("threads copy", () => {
306
- it.concurrent("copy", async () => {
306
+ it.concurrent("copy", { retry: 3 }, async () => {
307
307
  const assistantId = "agent";
308
308
  const thread = await client.threads.create();
309
309
  const input = { messages: [{ type: "human", content: "foo" }] };
@@ -377,7 +377,7 @@ describe("threads copy", () => {
377
377
  }
378
378
  });
379
379
 
380
- it.concurrent("copy runs", async () => {
380
+ it.concurrent("copy runs", { retry: 3 }, async () => {
381
381
  const assistantId = "agent";
382
382
  const thread = await client.threads.create();
383
383
 
@@ -423,7 +423,7 @@ describe("threads copy", () => {
423
423
  expect(currentOriginalThreadState).toEqual(originalThreadState);
424
424
  });
425
425
 
426
- it.concurrent("get thread history", async () => {
426
+ it.concurrent("get thread history", { retry: 3 }, async () => {
427
427
  const assistant = await client.assistants.create({ graphId: "agent" });
428
428
  const thread = await client.threads.create();
429
429
  const input = { messages: [{ type: "human", content: "foo" }] };
@@ -467,7 +467,7 @@ describe("threads copy", () => {
467
467
  expect(filteredHistory.at(-1)?.values.messages.length).toBe(4);
468
468
  });
469
469
 
470
- it.concurrent("copy update", async () => {
470
+ it.concurrent("copy update", { retry: 3 }, async () => {
471
471
  const assistantId = "agent";
472
472
  const thread = await client.threads.create();
473
473
  const input = {
@@ -275,6 +275,27 @@ async def worker(
275
275
  # let it bubble up and rollback db transaction, thus marking the run
276
276
  # as available to be picked up by another worker
277
277
 
278
+ # If a stateful run succeeded but no checkoint was returned, it's likely because
279
+ # there was a retriable exception that resumed right at the end
280
+ if checkpoint is None and (not temporary) and webhook and status == "success":
281
+ await logger.ainfo(
282
+ "Fetching missing checkpoint for webhook",
283
+ run_id=str(run_id),
284
+ run_attempt=attempt,
285
+ )
286
+ try:
287
+ state_snapshot = await Threads.State.get(
288
+ conn, run["kwargs"]["config"], subgraphs=True
289
+ )
290
+ checkpoint = {"values": state_snapshot.values}
291
+ except Exception:
292
+ await logger.aerror(
293
+ "Failed to fetch missing checkpoint for webhook. Continuing...",
294
+ exc_info=True,
295
+ run_id=str(run_id),
296
+ run_attempt=attempt,
297
+ )
298
+
278
299
  return WorkerResult(
279
300
  checkpoint=checkpoint,
280
301
  status=status,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langgraph-api"
3
- version = "0.2.8"
3
+ version = "0.2.9"
4
4
  description = ""
5
5
  authors = [
6
6
  "Nuno Campos <nuno@langchain.dev>",
@@ -1 +0,0 @@
1
- __version__ = "0.2.8"
File without changes
File without changes