langgraph-api 0.17.0.dev4__tar.gz → 0.17.0.dev5__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.
Files changed (326) hide show
  1. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/PKG-INFO +1 -1
  2. langgraph_api-0.17.0.dev5/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/event_streaming.py +31 -11
  4. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/service.py +22 -4
  5. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/stream.py +1 -0
  6. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/worker.py +2 -0
  7. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/checkpoint.py +19 -14
  8. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/openapi.json +1 -1
  9. langgraph_api-0.17.0.dev4/langgraph_api/__init__.py +0 -1
  10. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/.gitignore +0 -0
  11. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/LICENSE +0 -0
  12. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/Makefile +0 -0
  13. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/README.md +0 -0
  14. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/.gitignore +0 -0
  15. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/Makefile +0 -0
  16. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/README.md +0 -0
  17. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/REPORTS.md +0 -0
  18. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/assistant.ts +0 -0
  19. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  20. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  21. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  22. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  23. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/classify-error.test.js +0 -0
  24. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/classify-error.ts +0 -0
  25. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
  26. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
  27. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/delta_turns.ts +0 -0
  28. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  29. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/interrupt_resume.ts +0 -0
  30. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/log-failure.ts +0 -0
  31. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  32. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/store.ts +0 -0
  33. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/stream_write.ts +0 -0
  34. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/thread.ts +0 -0
  35. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  36. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  37. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/types.ts +0 -0
  38. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/benchmark-runners/wait_write.ts +0 -0
  39. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/capacity-ci.js +0 -0
  40. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/capacity-ci.test.js +0 -0
  41. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/clean-cli.js +0 -0
  42. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/clean.js +0 -0
  43. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/continuous/README.md +0 -0
  44. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/continuous/pyproject.toml +0 -0
  45. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/continuous/runner.py +0 -0
  46. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/continuous/uv.lock +0 -0
  47. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/daily-report.js +0 -0
  48. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/daily-report.test.js +0 -0
  49. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/delta-report.js +0 -0
  50. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/delta-report.test.js +0 -0
  51. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/graphs.js +0 -0
  52. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/history.js +0 -0
  53. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/history.test.js +0 -0
  54. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/host-v2.js +0 -0
  55. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/host-v2.test.js +0 -0
  56. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/multer.test.js +0 -0
  57. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/package.json +0 -0
  58. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/ramp.js +0 -0
  59. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/reporting/dd_reporting.py +0 -0
  60. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/runner-descriptions.js +0 -0
  61. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/server-metrics.js +0 -0
  62. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/server-metrics.test.js +0 -0
  63. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/slack.js +0 -0
  64. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/staircase.py +0 -0
  65. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/staircase_step_k6.js +0 -0
  66. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/tsconfig.json +0 -0
  67. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/update-revision.js +0 -0
  68. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/weather.js +0 -0
  69. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/benchmark/yarn.lock +0 -0
  70. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/constraints.txt +0 -0
  71. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/custom_store.sql +0 -0
  72. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/forbidden.txt +0 -0
  73. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/hatch_build.py +0 -0
  74. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/healthcheck.py +0 -0
  75. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  76. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/_checkpointer/__init__.py +0 -0
  77. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/_checkpointer/_adapter.py +0 -0
  78. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/_checkpointer/protocol.py +0 -0
  79. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/_factory_utils.py +0 -0
  80. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/__init__.py +0 -0
  81. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2a.py +0 -0
  82. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui.py +0 -0
  83. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui_schemas/README.md +0 -0
  84. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui_schemas/client_capabilities.json +0 -0
  85. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui_schemas/client_data_model.json +0 -0
  86. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui_schemas/client_to_server.json +0 -0
  87. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/a2ui_schemas/server_to_client.json +0 -0
  88. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/assistants.py +0 -0
  89. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/__init__.py +0 -0
  90. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/_constants.py +0 -0
  91. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/_handlers.py +0 -0
  92. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/_models.py +0 -0
  93. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/_routes.py +0 -0
  94. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  95. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/meta.py +0 -0
  96. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/openapi.py +0 -0
  97. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/profile.py +0 -0
  98. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/runs.py +0 -0
  99. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/store.py +0 -0
  100. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/threads.py +0 -0
  101. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/api/ui.py +0 -0
  102. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/asgi_transport.py +0 -0
  103. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/asyncio.py +0 -0
  104. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/__init__.py +0 -0
  105. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/custom.py +0 -0
  106. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/errors.py +0 -0
  107. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/langsmith/__init__.py +0 -0
  108. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/langsmith/backend.py +0 -0
  109. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/langsmith/client.py +0 -0
  110. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/middleware.py +0 -0
  111. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/noop.py +0 -0
  112. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/auth/studio_user.py +0 -0
  113. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
  114. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/cache.py +0 -0
  115. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/cli.py +0 -0
  116. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/command.py +0 -0
  117. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/config/__init__.py +0 -0
  118. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/config/_parse.py +0 -0
  119. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/config/schemas.py +0 -0
  120. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/cron_scheduler.py +0 -0
  121. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/__init__.py +0 -0
  122. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/aes_json.py +0 -0
  123. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/context.py +0 -0
  124. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/custom.py +0 -0
  125. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/middleware.py +0 -0
  126. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/encryption/shared.py +0 -0
  127. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/errors.py +0 -0
  128. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/__init__.py +0 -0
  129. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/capabilities.py +0 -0
  130. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/constants.py +0 -0
  131. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  132. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/namespace.py +0 -0
  133. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/session.py +0 -0
  134. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  135. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/event_streaming/types.py +0 -0
  136. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/feature_flags.py +0 -0
  137. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/graph.py +0 -0
  138. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/__init__.py +0 -0
  139. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/client.py +0 -0
  140. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  141. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/__init__.py +0 -0
  142. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/assistants.py +0 -0
  143. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/cache.py +0 -0
  144. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/crons.py +0 -0
  145. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/runs.py +0 -0
  146. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/ops/threads.py +0 -0
  147. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/server.py +0 -0
  148. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/servicers/__init__.py +0 -0
  149. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  150. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/grpc/servicers/encryption.py +0 -0
  151. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/http.py +0 -0
  152. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/http_metrics.py +0 -0
  153. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/http_metrics_utils.py +0 -0
  154. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/.gitignore +0 -0
  155. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/.prettierrc +0 -0
  156. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/.yarnclean +0 -0
  157. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/__init__.py +0 -0
  158. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/base.py +0 -0
  159. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/build.mts +0 -0
  160. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/client.http.mts +0 -0
  161. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/client.mts +0 -0
  162. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/errors.py +0 -0
  163. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/global.d.ts +0 -0
  164. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/package.json +0 -0
  165. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/remote.py +0 -0
  166. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/schema.py +0 -0
  167. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/auth-mutations.mts +0 -0
  168. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/graph.mts +0 -0
  169. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/load.hooks.mjs +0 -0
  170. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/preload.mjs +0 -0
  171. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  172. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/utils/files.mts +0 -0
  173. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/utils/importMap.mts +0 -0
  174. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  175. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/src/utils/serde.mts +0 -0
  176. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/sse.py +0 -0
  177. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/traceblock.mts +0 -0
  178. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/tsconfig.json +0 -0
  179. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/ui.py +0 -0
  180. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/js/yarn.lock +0 -0
  181. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/lc_security/__init__.py +0 -0
  182. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/lc_security/exceptions.py +0 -0
  183. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/lc_security/policy.py +0 -0
  184. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/lc_security/transport.py +0 -0
  185. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/logging.py +0 -0
  186. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/metadata.py +0 -0
  187. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/metrics_collector.py +0 -0
  188. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/metrics_otlp.py +0 -0
  189. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/middleware/__init__.py +0 -0
  190. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/middleware/ensure_store.py +0 -0
  191. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/middleware/http_logger.py +0 -0
  192. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/middleware/private_network.py +0 -0
  193. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/middleware/request_id.py +0 -0
  194. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/models/__init__.py +0 -0
  195. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/models/run.py +0 -0
  196. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/otel_context.py +0 -0
  197. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/patch.py +0 -0
  198. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/queue_entrypoint.py +0 -0
  199. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/release_tags.py +0 -0
  200. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/route.py +0 -0
  201. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/runner/__init__.py +0 -0
  202. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/runner/__main__.py +0 -0
  203. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/schema.py +0 -0
  204. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/self_hosted_logs.py +0 -0
  205. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/self_hosted_metrics.py +0 -0
  206. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/serde.py +0 -0
  207. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/server.py +0 -0
  208. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/sse.py +0 -0
  209. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/state.py +0 -0
  210. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/store.py +0 -0
  211. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/stream_v2.py +0 -0
  212. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/timing/__init__.py +0 -0
  213. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/timing/profiler.py +0 -0
  214. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/timing/timer.py +0 -0
  215. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/traceblock.py +0 -0
  216. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/tracing_session.py +0 -0
  217. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/tunneling/cloudflare.py +0 -0
  218. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/__init__.py +0 -0
  219. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/cache.py +0 -0
  220. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/config.py +0 -0
  221. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/errors.py +0 -0
  222. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/extract.py +0 -0
  223. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/future.py +0 -0
  224. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/headers.py +0 -0
  225. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/network.py +0 -0
  226. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/retriable_client.py +0 -0
  227. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/stream_codec.py +0 -0
  228. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/utils/uuids.py +0 -0
  229. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/validation.py +0 -0
  230. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/webhook.py +0 -0
  231. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_api/worker_runtime.py +0 -0
  232. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/__init__.py +0 -0
  233. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/checkpointer.py +0 -0
  234. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/__init__.py +0 -0
  235. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/_compat.py +0 -0
  236. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/config.py +0 -0
  237. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/durability.py +0 -0
  238. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/store.py +0 -0
  239. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/struct.py +0 -0
  240. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/conversion/value.py +0 -0
  241. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/__init__.py +0 -0
  242. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  243. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  244. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  245. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  246. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  247. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  248. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  249. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  250. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  251. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  252. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  253. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  254. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  255. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  256. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  257. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  258. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  259. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  260. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  261. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  262. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  263. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  264. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  265. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  266. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  267. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  268. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  269. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  270. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  271. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  272. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  273. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  274. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  275. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  276. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  277. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  278. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  279. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  280. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  281. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  282. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  283. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  284. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  285. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  286. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  287. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  288. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  289. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  290. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  291. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  292. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  293. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  294. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  295. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  296. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  297. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  298. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/runner_pb2.py +0 -0
  299. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/runner_pb2.pyi +0 -0
  300. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/runner_pb2_grpc.py +0 -0
  301. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/runner_pb2_grpc.pyi +0 -0
  302. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/store_pb2.py +0 -0
  303. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
  304. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
  305. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
  306. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/serde.py +0 -0
  307. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_grpc_common/store.py +0 -0
  308. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_license/__init__.py +0 -0
  309. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_license/validation.py +0 -0
  310. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/__init__.py +0 -0
  311. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/checkpoint.py +0 -0
  312. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/database.py +0 -0
  313. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/encryption.py +0 -0
  314. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/lifespan.py +0 -0
  315. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/metrics.py +0 -0
  316. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/ops.py +0 -0
  317. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/queue.py +0 -0
  318. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/retry.py +0 -0
  319. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/routes.py +0 -0
  320. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/langgraph_runtime/store.py +0 -0
  321. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/logging.json +0 -0
  322. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/pyproject.toml +0 -0
  323. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/scripts/build_wheel.py +0 -0
  324. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/scripts/create_license.py +0 -0
  325. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/scripts/run_a2a_tck.py +0 -0
  326. {langgraph_api-0.17.0.dev4 → langgraph_api-0.17.0.dev5}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.17.0.dev4
3
+ Version: 0.17.0.dev5
4
4
  Author-email: Will Fu-Hinthorn <will@langchain.dev>, Josh Rogers <josh@langchain.dev>, Parker Rule <parker@langchain.dev>
5
5
  License: Elastic-2.0
6
6
  License-File: LICENSE
@@ -0,0 +1 @@
1
+ __version__ = "0.17.0.dev5"
@@ -33,7 +33,7 @@ from starlette.websockets import WebSocketDisconnect
33
33
 
34
34
  from langgraph_api.event_streaming.service import ThreadRunManager
35
35
  from langgraph_api.event_streaming.session import _is_supported_channel
36
- from langgraph_api.event_streaming.types import Subscription
36
+ from langgraph_api.event_streaming.types import ErrorResponse, Subscription
37
37
  from langgraph_api.feature_flags import IS_POSTGRES_OR_GRPC_BACKEND
38
38
  from langgraph_api.route import ApiRoute, ApiWebSocketRoute
39
39
  from langgraph_api.serde import json_dumpb
@@ -61,6 +61,19 @@ logger = structlog.stdlib.get_logger(__name__)
61
61
  # connection, vs. the unbounded set this replaces.
62
62
  _DELIVERED_DEDUP_WINDOW = 2048
63
63
 
64
+ # Final frame on SSE and WebSocket when the thread-stream consumer stops
65
+ # without being cancelled. A thread stream has no natural end, so that always
66
+ # means the read failed. The message is fixed because the exception text can
67
+ # carry raw backend errors; the consumer has already logged it.
68
+ _THREAD_STREAM_FAILED_DATA = json_dumpb(
69
+ ErrorResponse(
70
+ type="error",
71
+ id=None,
72
+ error="unknown_error",
73
+ message="Thread event stream failed.",
74
+ )
75
+ )
76
+
64
77
 
65
78
  def _json_response(content: Any, *, status_code: int = 200) -> Response:
66
79
  """JSON response backed by the repo's orjson helper.
@@ -118,6 +131,10 @@ async def _thread_events(request: Request) -> Response:
118
131
  The filter applies for the lifetime of the connection; closing the
119
132
  connection unsubscribes. No state is persisted server-side beyond the
120
133
  connection.
134
+
135
+ If reading the thread's event stream fails, the server ends the
136
+ stream with a final ``event: error`` frame carrying a protocol error
137
+ (``"type": "error"``, ``"id": null``, ``"error": "unknown_error"``).
121
138
  """
122
139
  thread_id = request.path_params["thread_id"]
123
140
  try:
@@ -245,10 +262,9 @@ async def _thread_events(request: Request) -> Response:
245
262
  try:
246
263
  while True:
247
264
  # Race ``flush_pending`` against the thread-stream consumer
248
- # ending. If the consumer dies (transient join_event_streaming
249
- # error, or normal shutdown), we want this loop to exit
250
- # rather than wedge forever waiting for events that will
251
- # never arrive.
265
+ # ending. If the consumer stops (its read failed or its
266
+ # source ended), we want this loop to exit rather than
267
+ # wedge forever waiting for events that will never arrive.
252
268
  flush_task = asyncio.create_task(flush_pending.wait())
253
269
  done_task = asyncio.create_task(manager.wait_for_thread_stream_end())
254
270
  try:
@@ -285,6 +301,8 @@ async def _thread_events(request: Request) -> Response:
285
301
  str(sse_id).encode() if isinstance(sse_id, int) else None,
286
302
  )
287
303
  if stream_finished:
304
+ if manager.thread_stream_failed:
305
+ yield (b"error", _THREAD_STREAM_FAILED_DATA)
288
306
  break
289
307
  finally:
290
308
  await manager.close()
@@ -366,14 +384,16 @@ async def _thread_websocket(websocket: WebSocket) -> None:
366
384
  manager = _make_manager(thread_id, send_event=ws_send_event)
367
385
  manager.start_thread_stream()
368
386
 
369
- # Watchdog: when the thread-stream consumer ends (transient
370
- # ``join_event_streaming`` failure or normal shutdown), close the socket so
371
- # the client sees a clean disconnect instead of an open connection
372
- # that will never deliver another event. ``receive_text`` below
373
- # raises ``WebSocketDisconnect`` once the close lands, exiting the
374
- # loop through its existing handler.
387
+ # Watchdog: when the thread-stream consumer stops, send the error frame
388
+ # (if it wasn't cancelled) and close the socket, instead of leaving the
389
+ # client on an open connection that will never deliver another event.
390
+ # ``receive_text`` below raises ``WebSocketDisconnect`` once the close
391
+ # lands, exiting the loop through its existing handler.
375
392
  async def _stream_watchdog() -> None:
376
393
  await manager.wait_for_thread_stream_end()
394
+ if manager.thread_stream_failed:
395
+ with contextlib.suppress(Exception):
396
+ await websocket.send_text(_THREAD_STREAM_FAILED_DATA.decode())
377
397
  with contextlib.suppress(Exception):
378
398
  await websocket.close(code=1011, reason="thread stream ended")
379
399
 
@@ -194,11 +194,13 @@ class ThreadRunManager:
194
194
  self._seq: int = 0
195
195
  self._thread_source_task: asyncio.Task[None] | None = None
196
196
  # Set by ``_consume_thread_stream`` when the background task
197
- # exits — success, cancellation, or unexpected failure all
198
- # transition this. Route handlers (SSE body_iter, WS watchdog)
199
- # await this so a transient ``join_event_streaming`` failure can no
200
- # longer leave the connection wedged with no events flowing.
197
+ # exits for any reason, including cancellation. Route handlers
198
+ # (SSE body_iter, WS watchdog) await this so a transient
199
+ # ``join_event_streaming`` failure can no longer leave the
200
+ # connection wedged with no events flowing.
201
201
  self._thread_stream_done: asyncio.Event = asyncio.Event()
202
+ # Set when the consumer stops for any reason other than cancellation.
203
+ self._thread_stream_failed: bool = False
202
204
  # WebSocket clients typically call ``subscription.subscribe``
203
205
  # before ``run.start`` — natural ordering since they want to
204
206
  # observe before firing. Buffer those subscriptions here and
@@ -224,6 +226,15 @@ class ThreadRunManager:
224
226
  def seq(self) -> int:
225
227
  return self._seq
226
228
 
229
+ @property
230
+ def thread_stream_failed(self) -> bool:
231
+ """Whether the thread-stream consumer stopped without being cancelled.
232
+
233
+ A thread stream has no natural end, so the consumer stopping on its
234
+ own, by raising or by its source finishing, means the read failed.
235
+ """
236
+ return self._thread_stream_failed
237
+
227
238
  async def attach_event_sink(self, send_event: EventSink) -> None:
228
239
  """Attach a live transport consumer and flush buffered events."""
229
240
  self._send_event = send_event
@@ -307,12 +318,19 @@ class ThreadRunManager:
307
318
  except asyncio.CancelledError:
308
319
  raise
309
320
  except Exception as exc:
321
+ self._thread_stream_failed = True
310
322
  await logger.aexception(
311
323
  "protocol thread stream failed",
312
324
  thread_id=str(self._thread_id),
313
325
  error=str(exc),
314
326
  error_type=type(exc).__name__,
315
327
  )
328
+ else:
329
+ self._thread_stream_failed = True
330
+ await logger.awarning(
331
+ "protocol thread stream ended unexpectedly",
332
+ thread_id=str(self._thread_id),
333
+ )
316
334
  finally:
317
335
  # Wake up SSE body_iter / WS watchdog so the connection can
318
336
  # be torn down. Without this, a transient ``join_event_streaming``
@@ -726,6 +726,7 @@ async def _consume_inline(
726
726
  "error",
727
727
  await run_in_executor(None, json_dumpb, e),
728
728
  thread_id=thread_id,
729
+ resumable=resumable,
729
730
  )
730
731
  await logger.aerror(
731
732
  "Suppressing stream consume exception",
@@ -350,12 +350,14 @@ async def worker(
350
350
  # re-raises without emitting, so a retriable attempt stays silent
351
351
  # until the run actually fails. Emit before the status write so raw
352
352
  # SSE clients (no status fallback) see it even if that write fails.
353
+ # Resumable runs cache it so `Last-Event-ID` replays end with it too.
353
354
  with suppress(Exception):
354
355
  await Runs.Stream.publish(
355
356
  run_id,
356
357
  "error",
357
358
  json_dumpb(exception),
358
359
  thread_id=run["thread_id"],
360
+ resumable=resumable,
359
361
  )
360
362
 
361
363
  # We're outside the original `except` block, so build exc_info manually.
@@ -27,13 +27,17 @@ from langgraph_grpc_common.conversion.value import (
27
27
  )
28
28
  from langgraph_grpc_common.proto import checkpointer_pb2, engine_common_pb2
29
29
 
30
- SOURCE_MAP = {
30
+ SOURCE_MAP: dict[
31
+ Literal["input", "loop", "update", "fork"] | None,
32
+ engine_common_pb2.CheckpointMetadata.CheckpointSource.ValueType,
33
+ ] = {
31
34
  None: engine_common_pb2.CheckpointMetadata.CheckpointSource.unknown,
32
35
  "input": engine_common_pb2.CheckpointMetadata.CheckpointSource.input,
33
36
  "loop": engine_common_pb2.CheckpointMetadata.CheckpointSource.loop,
34
37
  "update": engine_common_pb2.CheckpointMetadata.CheckpointSource.update,
35
38
  "fork": engine_common_pb2.CheckpointMetadata.CheckpointSource.fork,
36
39
  }
40
+ _SOURCE_FROM_PROTO = {v: k for k, v in SOURCE_MAP.items()}
37
41
 
38
42
 
39
43
  def checkpoint_config_to_proto(
@@ -170,12 +174,19 @@ def checkpoint_metadata_from_proto(
170
174
  if not metadata_pb:
171
175
  return None
172
176
 
173
- return {
174
- "source": metadata_source_from_proto(metadata_pb.source),
177
+ metadata: CheckpointMetadata = {
175
178
  "step": metadata_pb.step,
176
179
  "parents": dict(metadata_pb.parents),
177
180
  **dict_from_raw_map(metadata_pb.extras),
178
181
  }
182
+ # A missing source crosses the wire as `unknown`, since proto3 enums can't be
183
+ # absent (Go's `toMap` drops the key the same way). The stub that
184
+ # durability="exit" saves as a new thread's first checkpoint has none.
185
+ if (source := metadata_source_from_proto(metadata_pb.source)) is not None:
186
+ metadata["source"] = source
187
+ if metadata_pb.HasField("run_id"):
188
+ metadata["run_id"] = metadata_pb.run_id
189
+ return metadata
179
190
 
180
191
 
181
192
  def checkpoint_metadata_to_proto(
@@ -199,17 +210,11 @@ def checkpoint_metadata_to_proto(
199
210
 
200
211
  def metadata_source_from_proto(
201
212
  source: engine_common_pb2.CheckpointMetadata.CheckpointSource.ValueType,
202
- ) -> Literal["input", "loop", "update", "fork"]:
203
- if source == engine_common_pb2.CheckpointMetadata.CheckpointSource.input:
204
- return "input"
205
- elif source == engine_common_pb2.CheckpointMetadata.CheckpointSource.loop:
206
- return "loop"
207
- elif source == engine_common_pb2.CheckpointMetadata.CheckpointSource.update:
208
- return "update"
209
- elif source == engine_common_pb2.CheckpointMetadata.CheckpointSource.fork:
210
- return "fork"
211
- else:
212
- raise ValueError(f"Unknown checkpoint source: {source}")
213
+ ) -> Literal["input", "loop", "update", "fork"] | None:
214
+ try:
215
+ return _SOURCE_FROM_PROTO[source]
216
+ except KeyError:
217
+ raise ValueError(f"Unknown checkpoint source: {source}") from None
213
218
 
214
219
 
215
220
  def pending_writes_from_proto(
@@ -1708,7 +1708,7 @@
1708
1708
  "text/event-stream": {
1709
1709
  "schema": {
1710
1710
  "type": "string",
1711
- "description": "Stream of `ProtocolEvent` frames. Each SSE frame uses the event's `method` as the `event:` field and a JSON-encoded `ProtocolEvent` as the `data:` field; `id:` is set to the event's `seq`.\n\n**Example frame:**\n\nid: 42\n\nevent: messages\n\ndata: {\"type\":\"event\",\"event_id\":\"42\",\"seq\":42,\"method\":\"messages\",\"params\":{\"namespace\":[],\"timestamp\":1700000000000,\"data\":{...}}}"
1711
+ "description": "Stream of `ProtocolEvent` frames. Each SSE frame uses the event's `method` as the `event:` field and a JSON-encoded `ProtocolEvent` as the `data:` field; `id:` is set to the event's `seq`.\n\nIf reading the thread's event stream fails, the server ends the stream with a final frame whose `event:` field is `error` and whose `data:` field is a `ProtocolError` with `id: null` and `error: \"unknown_error\"`. That frame has no `id:` field.\n\n**Example frame:**\n\nid: 42\n\nevent: messages\n\ndata: {\"type\":\"event\",\"event_id\":\"42\",\"seq\":42,\"method\":\"messages\",\"params\":{\"namespace\":[],\"timestamp\":1700000000000,\"data\":{...}}}"
1712
1712
  }
1713
1713
  }
1714
1714
  }
@@ -1 +0,0 @@
1
- __version__ = "0.17.0.dev4"