langgraph-api 0.15.0.dev4__tar.gz → 0.15.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 (306) hide show
  1. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/PKG-INFO +53 -3
  2. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/README.md +51 -1
  3. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/continuous/pyproject.toml +1 -1
  4. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/continuous/uv.lock +4 -4
  5. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/constraints.txt +1 -1
  6. langgraph_api-0.15.0.dev5/langgraph_api/__init__.py +1 -0
  7. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2a.py +127 -13
  8. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/config/__init__.py +3 -0
  9. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/graph.py +9 -8
  10. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/pyproject.toml +1 -1
  11. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/uv.lock +4 -4
  12. langgraph_api-0.15.0.dev4/langgraph_api/__init__.py +0 -1
  13. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/.gitignore +0 -0
  14. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/LICENSE +0 -0
  15. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/Makefile +0 -0
  16. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/.gitignore +0 -0
  17. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/Makefile +0 -0
  18. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/README.md +0 -0
  19. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/assistant.ts +0 -0
  20. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  21. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  22. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  23. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  24. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/classify-error.test.js +0 -0
  25. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/classify-error.ts +0 -0
  26. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
  27. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
  28. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/delta_turns.ts +0 -0
  29. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  30. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/log-failure.ts +0 -0
  31. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  32. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/store.ts +0 -0
  33. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/stream_write.ts +0 -0
  34. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/thread.ts +0 -0
  35. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  36. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  37. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/types.ts +0 -0
  38. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/benchmark-runners/wait_write.ts +0 -0
  39. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/capacity-ci.js +0 -0
  40. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/capacity-ci.test.js +0 -0
  41. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/clean-cli.js +0 -0
  42. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/clean.js +0 -0
  43. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/continuous/README.md +0 -0
  44. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/continuous/runner.py +0 -0
  45. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/daily-report.js +0 -0
  46. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/daily-report.test.js +0 -0
  47. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/graphs.js +0 -0
  48. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/host-v2.js +0 -0
  49. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/host-v2.test.js +0 -0
  50. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/package.json +0 -0
  51. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/ramp.js +0 -0
  52. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/reporting/dd_reporting.py +0 -0
  53. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/staircase.py +0 -0
  54. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/staircase_step_k6.js +0 -0
  55. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/tsconfig.json +0 -0
  56. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/update-revision.js +0 -0
  57. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/weather.js +0 -0
  58. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/benchmark/yarn.lock +0 -0
  59. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/custom_store.sql +0 -0
  60. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/forbidden.txt +0 -0
  61. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/hatch_build.py +0 -0
  62. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/healthcheck.py +0 -0
  63. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  64. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/_checkpointer/__init__.py +0 -0
  65. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/_checkpointer/_adapter.py +0 -0
  66. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/_checkpointer/protocol.py +0 -0
  67. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/_factory_utils.py +0 -0
  68. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/__init__.py +0 -0
  69. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui.py +0 -0
  70. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui_schemas/README.md +0 -0
  71. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui_schemas/client_capabilities.json +0 -0
  72. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui_schemas/client_data_model.json +0 -0
  73. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui_schemas/client_to_server.json +0 -0
  74. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/a2ui_schemas/server_to_client.json +0 -0
  75. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/assistants.py +0 -0
  76. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/event_streaming.py +0 -0
  77. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/__init__.py +0 -0
  78. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/_constants.py +0 -0
  79. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/_handlers.py +0 -0
  80. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/_models.py +0 -0
  81. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/_routes.py +0 -0
  82. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  83. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/meta.py +0 -0
  84. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/openapi.py +0 -0
  85. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/profile.py +0 -0
  86. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/runs.py +0 -0
  87. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/store.py +0 -0
  88. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/threads.py +0 -0
  89. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/api/ui.py +0 -0
  90. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/asgi_transport.py +0 -0
  91. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/asyncio.py +0 -0
  92. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/__init__.py +0 -0
  93. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/custom.py +0 -0
  94. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/errors.py +0 -0
  95. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/langsmith/__init__.py +0 -0
  96. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/langsmith/backend.py +0 -0
  97. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/langsmith/client.py +0 -0
  98. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/middleware.py +0 -0
  99. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/noop.py +0 -0
  100. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/auth/studio_user.py +0 -0
  101. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
  102. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/cache.py +0 -0
  103. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/cli.py +0 -0
  104. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/command.py +0 -0
  105. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/config/_parse.py +0 -0
  106. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/config/schemas.py +0 -0
  107. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/cron_scheduler.py +0 -0
  108. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/__init__.py +0 -0
  109. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/aes_json.py +0 -0
  110. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/context.py +0 -0
  111. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/custom.py +0 -0
  112. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/middleware.py +0 -0
  113. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/encryption/shared.py +0 -0
  114. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/errors.py +0 -0
  115. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/__init__.py +0 -0
  116. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/capabilities.py +0 -0
  117. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/constants.py +0 -0
  118. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  119. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/namespace.py +0 -0
  120. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/service.py +0 -0
  121. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/session.py +0 -0
  122. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  123. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/event_streaming/types.py +0 -0
  124. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/feature_flags.py +0 -0
  125. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/__init__.py +0 -0
  126. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/client.py +0 -0
  127. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  128. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/__init__.py +0 -0
  129. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/assistants.py +0 -0
  130. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/cache.py +0 -0
  131. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/crons.py +0 -0
  132. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/runs.py +0 -0
  133. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/ops/threads.py +0 -0
  134. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/server.py +0 -0
  135. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/servicers/__init__.py +0 -0
  136. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  137. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/grpc/servicers/encryption.py +0 -0
  138. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/http.py +0 -0
  139. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/http_metrics.py +0 -0
  140. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/http_metrics_utils.py +0 -0
  141. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/.gitignore +0 -0
  142. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/.prettierrc +0 -0
  143. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/.yarnclean +0 -0
  144. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/__init__.py +0 -0
  145. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/base.py +0 -0
  146. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/build.mts +0 -0
  147. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/client.http.mts +0 -0
  148. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/client.mts +0 -0
  149. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/errors.py +0 -0
  150. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/global.d.ts +0 -0
  151. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/package.json +0 -0
  152. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/remote.py +0 -0
  153. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/schema.py +0 -0
  154. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/graph.mts +0 -0
  155. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/load.hooks.mjs +0 -0
  156. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/preload.mjs +0 -0
  157. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  158. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/utils/files.mts +0 -0
  159. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/utils/importMap.mts +0 -0
  160. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  161. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/src/utils/serde.mts +0 -0
  162. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/sse.py +0 -0
  163. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/traceblock.mts +0 -0
  164. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/tsconfig.json +0 -0
  165. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/ui.py +0 -0
  166. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/js/yarn.lock +0 -0
  167. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/lc_security/__init__.py +0 -0
  168. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/lc_security/exceptions.py +0 -0
  169. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/lc_security/policy.py +0 -0
  170. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/lc_security/transport.py +0 -0
  171. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/logging.py +0 -0
  172. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/metadata.py +0 -0
  173. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/metrics_collector.py +0 -0
  174. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/metrics_otlp.py +0 -0
  175. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/middleware/__init__.py +0 -0
  176. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/middleware/ensure_store.py +0 -0
  177. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/middleware/http_logger.py +0 -0
  178. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/middleware/private_network.py +0 -0
  179. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/middleware/request_id.py +0 -0
  180. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/models/__init__.py +0 -0
  181. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/models/run.py +0 -0
  182. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/otel_context.py +0 -0
  183. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/patch.py +0 -0
  184. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/queue_entrypoint.py +0 -0
  185. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/release_tags.py +0 -0
  186. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/route.py +0 -0
  187. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/schema.py +0 -0
  188. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/self_hosted_logs.py +0 -0
  189. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/self_hosted_metrics.py +0 -0
  190. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/serde.py +0 -0
  191. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/server.py +0 -0
  192. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/sse.py +0 -0
  193. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/state.py +0 -0
  194. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/store.py +0 -0
  195. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/stream.py +0 -0
  196. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/stream_v2.py +0 -0
  197. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/timing/__init__.py +0 -0
  198. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/timing/profiler.py +0 -0
  199. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/timing/timer.py +0 -0
  200. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/traceblock.py +0 -0
  201. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/tracing_session.py +0 -0
  202. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/tunneling/cloudflare.py +0 -0
  203. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/__init__.py +0 -0
  204. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/cache.py +0 -0
  205. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/config.py +0 -0
  206. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/errors.py +0 -0
  207. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/extract.py +0 -0
  208. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/future.py +0 -0
  209. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/headers.py +0 -0
  210. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/network.py +0 -0
  211. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/retriable_client.py +0 -0
  212. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/stream_codec.py +0 -0
  213. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/utils/uuids.py +0 -0
  214. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/validation.py +0 -0
  215. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/webhook.py +0 -0
  216. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_api/worker.py +0 -0
  217. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/__init__.py +0 -0
  218. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/checkpointer.py +0 -0
  219. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/__init__.py +0 -0
  220. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/_compat.py +0 -0
  221. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  222. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/config.py +0 -0
  223. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/durability.py +0 -0
  224. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/store.py +0 -0
  225. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/struct.py +0 -0
  226. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/conversion/value.py +0 -0
  227. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/__init__.py +0 -0
  228. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  229. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  230. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  231. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  232. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  233. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  234. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  235. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  236. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  237. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  238. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  239. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  240. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  241. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  242. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  243. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  244. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  245. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  246. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  247. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  248. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  249. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  250. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  251. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  252. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  253. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  254. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  255. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  256. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  257. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  258. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  259. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  260. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  261. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  262. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  263. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  264. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  265. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  266. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  267. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  268. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  269. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  270. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  271. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  272. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  273. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  274. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  275. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  276. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  277. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  278. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  279. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  280. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  281. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  282. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  283. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  284. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/store_pb2.py +0 -0
  285. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
  286. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
  287. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
  288. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/serde.py +0 -0
  289. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_grpc_common/store.py +0 -0
  290. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_license/__init__.py +0 -0
  291. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_license/validation.py +0 -0
  292. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/__init__.py +0 -0
  293. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/checkpoint.py +0 -0
  294. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/database.py +0 -0
  295. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/lifespan.py +0 -0
  296. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/metrics.py +0 -0
  297. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/ops.py +0 -0
  298. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/queue.py +0 -0
  299. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/retry.py +0 -0
  300. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/routes.py +0 -0
  301. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/langgraph_runtime/store.py +0 -0
  302. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/logging.json +0 -0
  303. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/openapi.json +0 -0
  304. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/scripts/build_wheel.py +0 -0
  305. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/scripts/create_license.py +0 -0
  306. {langgraph_api-0.15.0.dev4 → langgraph_api-0.15.0.dev5}/scripts/run_a2a_tck.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.15.0.dev4
3
+ Version: 0.15.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
@@ -17,7 +17,7 @@ Requires-Dist: langchain-core>=0.3.64
17
17
  Requires-Dist: langchain-protocol<0.1,>=0.0.18
18
18
  Requires-Dist: langgraph-checkpoint<5,>=3.0.1
19
19
  Requires-Dist: langgraph-runtime-inmem<0.36.0.dev0,>=0.35.0.dev0
20
- Requires-Dist: langgraph-sdk>=0.3.5
20
+ Requires-Dist: langgraph-sdk>=0.4.4
21
21
  Requires-Dist: langgraph<2,>=0.4.10
22
22
  Requires-Dist: langsmith[otel]>=0.6.3
23
23
  Requires-Dist: opentelemetry-api>=0.0.1
@@ -90,6 +90,56 @@ langgraph dev
90
90
 
91
91
  Your agent's state (threads, runs, assistants) persists in memory while the server is running - perfect for development and testing. Each run's state is tracked and can be inspected, making it easy to debug and improve your agent's behavior.
92
92
 
93
+ ## A2A task history scope
94
+
95
+ An A2A context can contain multiple tasks. By default, `SendMessage`, `GetTask`,
96
+ and `ListTasks` return the full context history. Set `historyScope` to `task` to
97
+ return only messages that belong to the requested task.
98
+
99
+ For `SendMessage`, set it in `configuration`:
100
+
101
+ ```json
102
+ {
103
+ "jsonrpc": "2.0",
104
+ "id": "1",
105
+ "method": "SendMessage",
106
+ "params": {
107
+ "message": {
108
+ "role": "ROLE_USER",
109
+ "parts": [{"text": "Second request"}],
110
+ "messageId": "message-2",
111
+ "contextId": "8b1f0e5c-9a3d-4f27-b0c8-2e6a5d4c1b7a"
112
+ },
113
+ "configuration": {"historyScope": "task"}
114
+ }
115
+ }
116
+ ```
117
+
118
+ For `GetTask` and `ListTasks`, set it directly in `params`. If changing the
119
+ request body is not possible, send `LangGraph-A2A-History-Scope: task` instead.
120
+ An explicit request value takes precedence over the header.
121
+
122
+ ```json
123
+ {
124
+ "jsonrpc": "2.0",
125
+ "id": "2",
126
+ "method": "GetTask",
127
+ "params": {"id": "<taskId>", "historyScope": "task"}
128
+ }
129
+ ```
130
+
131
+ ```json
132
+ {
133
+ "jsonrpc": "2.0",
134
+ "id": "3",
135
+ "method": "ListTasks",
136
+ "params": {"contextId": "<contextId>", "historyScope": "task"}
137
+ }
138
+ ```
139
+
140
+ The agent card advertises support through the
141
+ `https://langchain.com/a2a/extensions/history-scope/v1` extension.
142
+
93
143
  ## How-To
94
144
 
95
145
  #### Attaching a debugger
@@ -141,4 +191,4 @@ Options:
141
191
 
142
192
  ## License
143
193
 
144
- This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
194
+ This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
@@ -47,6 +47,56 @@ langgraph dev
47
47
 
48
48
  Your agent's state (threads, runs, assistants) persists in memory while the server is running - perfect for development and testing. Each run's state is tracked and can be inspected, making it easy to debug and improve your agent's behavior.
49
49
 
50
+ ## A2A task history scope
51
+
52
+ An A2A context can contain multiple tasks. By default, `SendMessage`, `GetTask`,
53
+ and `ListTasks` return the full context history. Set `historyScope` to `task` to
54
+ return only messages that belong to the requested task.
55
+
56
+ For `SendMessage`, set it in `configuration`:
57
+
58
+ ```json
59
+ {
60
+ "jsonrpc": "2.0",
61
+ "id": "1",
62
+ "method": "SendMessage",
63
+ "params": {
64
+ "message": {
65
+ "role": "ROLE_USER",
66
+ "parts": [{"text": "Second request"}],
67
+ "messageId": "message-2",
68
+ "contextId": "8b1f0e5c-9a3d-4f27-b0c8-2e6a5d4c1b7a"
69
+ },
70
+ "configuration": {"historyScope": "task"}
71
+ }
72
+ }
73
+ ```
74
+
75
+ For `GetTask` and `ListTasks`, set it directly in `params`. If changing the
76
+ request body is not possible, send `LangGraph-A2A-History-Scope: task` instead.
77
+ An explicit request value takes precedence over the header.
78
+
79
+ ```json
80
+ {
81
+ "jsonrpc": "2.0",
82
+ "id": "2",
83
+ "method": "GetTask",
84
+ "params": {"id": "<taskId>", "historyScope": "task"}
85
+ }
86
+ ```
87
+
88
+ ```json
89
+ {
90
+ "jsonrpc": "2.0",
91
+ "id": "3",
92
+ "method": "ListTasks",
93
+ "params": {"contextId": "<contextId>", "historyScope": "task"}
94
+ }
95
+ ```
96
+
97
+ The agent card advertises support through the
98
+ `https://langchain.com/a2a/extensions/history-scope/v1` extension.
99
+
50
100
  ## How-To
51
101
 
52
102
  #### Attaching a debugger
@@ -98,4 +148,4 @@ Options:
98
148
 
99
149
  ## License
100
150
 
101
- This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
151
+ This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
@@ -4,7 +4,7 @@ version = "0.1.0"
4
4
  description = "Continuous stress test for Agent Server"
5
5
  requires-python = ">=3.13"
6
6
  dependencies = [
7
- "langgraph-sdk>=0.4.2",
7
+ "langgraph-sdk>=0.4.4",
8
8
  "click>=8.4.1",
9
9
  "structlog>=26.1.0",
10
10
  "datadog-api-client>=2.56.0",
@@ -251,14 +251,14 @@ requires-dist = [
251
251
  { name = "click", specifier = ">=8.4.1" },
252
252
  { name = "datadog-api-client", specifier = ">=2.56.0" },
253
253
  { name = "httpx", specifier = ">=0.27.0" },
254
- { name = "langgraph-sdk", specifier = ">=0.4.2" },
254
+ { name = "langgraph-sdk", specifier = ">=0.4.4" },
255
255
  { name = "python-dateutil", specifier = ">=2.8.0" },
256
256
  { name = "structlog", specifier = ">=26.1.0" },
257
257
  ]
258
258
 
259
259
  [[package]]
260
260
  name = "langgraph-sdk"
261
- version = "0.4.2"
261
+ version = "0.4.4"
262
262
  source = { registry = "https://pypi.org/simple" }
263
263
  dependencies = [
264
264
  { name = "httpx" },
@@ -267,9 +267,9 @@ dependencies = [
267
267
  { name = "orjson" },
268
268
  { name = "websockets" },
269
269
  ]
270
- sdist = { url = "https://files.pythonhosted.org/packages/b4/2b/bd8ac26d4e97f6df88ef05ce5b6a38945a3903e1025d926f4752aa88aa97/langgraph_sdk-0.4.2.tar.gz", hash = "sha256:b88f0f5f6328ac0680d6790614a905b2bcfa257f2276dba4e38f0e86db0aa738", size = 348327, upload-time = "2026-06-01T17:51:19.856Z" }
270
+ sdist = { url = "https://files.pythonhosted.org/packages/3f/ae/91446c1fffa04a2dc1f81afbfb5bfff3590452891a72bd9098a656ab2657/langgraph_sdk-0.4.4.tar.gz", hash = "sha256:4e651ffa09de695681579396375377bdde23bedbc8e35b070e615cbd5af7da8b", size = 345789, upload-time = "2026-08-27T21:25:22.593Z" }
271
271
  wheels = [
272
- { url = "https://files.pythonhosted.org/packages/a0/05/aac507337cceae773c2cc9ab91eb6301963af7aeeb55b4217a00e15aff17/langgraph_sdk-0.4.2-py3-none-any.whl", hash = "sha256:75fa5096c1177ce39c847096a8fe3745ffd480ddb412995f836e9f5f884c43dd", size = 160521, upload-time = "2026-06-01T17:51:18.849Z" },
272
+ { url = "https://files.pythonhosted.org/packages/43/d5/2ad7f3a835c6fcebf58b6669552536ecd52d2dfe4cf49c6c36648fd83572/langgraph_sdk-0.4.4-py3-none-any.whl", hash = "sha256:39afe416c91742925e6f8a93715f566d499b36e1b636b804a4ffe3190e4f4e64", size = 162270, upload-time = "2026-08-27T21:25:21.072Z" },
273
273
  ]
274
274
 
275
275
  [[package]]
@@ -2,7 +2,7 @@
2
2
  # https://github.com/langchain-ai/docs/blob/main/src/langsmith/setup-app-requirements-txt.mdx
3
3
  # https://github.com/langchain-ai/docs/blob/main/src/langsmith/setup-pyproject.mdx
4
4
  langgraph>=0.4.10,<2
5
- langgraph-sdk>=0.3.5
5
+ langgraph-sdk>=0.4.4
6
6
  langgraph-checkpoint>=3.0.1,<5
7
7
  langchain-core>=0.3.66
8
8
  langsmith>=0.7.31
@@ -0,0 +1 @@
1
+ __version__ = "0.15.0.dev5"
@@ -53,6 +53,9 @@ _assistant_schemas_cache = LRUCache[dict[str, Any]](max_size=1000, ttl=60)
53
53
 
54
54
  MAX_HISTORY_LENGTH_REQUESTED = 10
55
55
  LANGGRAPH_HISTORY_QUERY_LIMIT = 500
56
+ HISTORY_SCOPE_EXTENSION_URI = "https://langchain.com/a2a/extensions/history-scope/v1"
57
+ HISTORY_SCOPE_HEADER = "LangGraph-A2A-History-Scope"
58
+ HistoryScope = Literal["context", "task"]
56
59
 
57
60
 
58
61
  # ============================================================================
@@ -262,6 +265,17 @@ def _validate_history_length(history_length: Any) -> str | None:
262
265
  return None
263
266
 
264
267
 
268
+ def _resolve_history_scope(
269
+ options: dict[str, Any], headers: Headers
270
+ ) -> tuple[HistoryScope, str | None]:
271
+ history_scope = options.get("historyScope")
272
+ if history_scope is None:
273
+ history_scope = headers.get(HISTORY_SCOPE_HEADER, "context")
274
+ if history_scope not in ("context", "task"):
275
+ return "context", "historyScope must be 'context' or 'task'"
276
+ return cast("HistoryScope", history_scope), None
277
+
278
+
265
279
  def _to_spec_format(data: Any) -> Any:
266
280
  """Recursively convert internal roles/states to A2A spec format.
267
281
 
@@ -1455,6 +1469,7 @@ def _convert_messages_to_a2a_format(
1455
1469
  context_id: str,
1456
1470
  *,
1457
1471
  history_length: int | None = None,
1472
+ history_scope: HistoryScope = "context",
1458
1473
  a2ui: A2UIContext,
1459
1474
  task_ids_by_start_id: dict[str, str] | None = None,
1460
1475
  ) -> list[dict[str, Any]]:
@@ -1468,9 +1483,10 @@ def _convert_messages_to_a2a_format(
1468
1483
 
1469
1484
  Args:
1470
1485
  messages: List of LangChain messages
1471
- task_id: The fallback task ID for legacy messages without stored provenance
1486
+ task_id: Requested task ID and context-scope fallback for legacy messages
1472
1487
  context_id: The context ID to assign to all messages
1473
1488
  history_length: Maximum number of visible A2A messages to return.
1489
+ history_scope: Whether to return the whole context or only this task.
1474
1490
 
1475
1491
  Returns:
1476
1492
  List of A2A messages
@@ -1480,7 +1496,7 @@ def _convert_messages_to_a2a_format(
1480
1496
 
1481
1497
  # A task-stamped user message starts a new provenance segment. Agent and
1482
1498
  # tool messages that follow belong to that task until the next stamped turn.
1483
- current_task_id: str | None = task_id
1499
+ current_task_id: str | None = None if history_scope == "task" else task_id
1484
1500
  known_task_ids = (
1485
1501
  set(task_ids_by_start_id.values()) if task_ids_by_start_id is not None else None
1486
1502
  )
@@ -1498,16 +1514,24 @@ def _convert_messages_to_a2a_format(
1498
1514
  stored_task_id = (
1499
1515
  stored_a2a.get("task_id") if isinstance(stored_a2a, dict) else None
1500
1516
  )
1517
+ stored_task_start_id = (
1518
+ stored_a2a.get("task_start_id")
1519
+ if isinstance(stored_a2a, dict)
1520
+ else None
1521
+ )
1501
1522
  if isinstance(stored_task_id, str) and stored_task_id:
1502
1523
  current_task_id = (
1503
1524
  stored_task_id
1504
- if known_task_ids is None or stored_task_id in known_task_ids
1525
+ if known_task_ids is None
1526
+ or stored_task_id == task_id
1527
+ or stored_task_id in known_task_ids
1505
1528
  else None
1506
1529
  )
1507
- elif isinstance(stored_a2a, dict) and task_ids_by_start_id is not None:
1508
- task_start_id = stored_a2a.get("task_start_id")
1509
- if isinstance(task_start_id, str):
1510
- current_task_id = task_ids_by_start_id.get(task_start_id)
1530
+ elif isinstance(stored_task_start_id, str) and stored_task_start_id:
1531
+ if task_ids_by_start_id is not None:
1532
+ current_task_id = task_ids_by_start_id.get(stored_task_start_id)
1533
+ elif history_scope == "task":
1534
+ current_task_id = None
1511
1535
 
1512
1536
  if current_task_id is None:
1513
1537
  continue
@@ -1543,6 +1567,10 @@ def _convert_messages_to_a2a_format(
1543
1567
  }
1544
1568
  a2a_messages.append(a2a_message)
1545
1569
 
1570
+ if history_scope == "task":
1571
+ a2a_messages = [
1572
+ message for message in a2a_messages if message["taskId"] == task_id
1573
+ ]
1546
1574
  if history_length is None:
1547
1575
  return a2a_messages
1548
1576
  if history_length == 0:
@@ -1557,6 +1585,7 @@ async def _create_task_response(
1557
1585
  assistant_id: str,
1558
1586
  a2ui: A2UIContext,
1559
1587
  history_length: int | None = None,
1588
+ history_scope: HistoryScope = "context",
1560
1589
  task_ids_by_start_id: dict[str, str] | None = None,
1561
1590
  ) -> dict[str, Any]:
1562
1591
  """Create A2A Task response structure for both success and failure cases.
@@ -1567,6 +1596,7 @@ async def _create_task_response(
1567
1596
  result: LangGraph execution result
1568
1597
  assistant_id: The assistant ID used
1569
1598
  history_length: Maximum public history messages to include.
1599
+ history_scope: Whether to return the whole context or only this task.
1570
1600
 
1571
1601
  Returns:
1572
1602
  A2A Task response dictionary
@@ -1578,6 +1608,7 @@ async def _create_task_response(
1578
1608
  task_id,
1579
1609
  context_id,
1580
1610
  history_length=history_length,
1611
+ history_scope=history_scope,
1581
1612
  a2ui=a2ui,
1582
1613
  task_ids_by_start_id=task_ids_by_start_id,
1583
1614
  )
@@ -1975,6 +2006,16 @@ async def handle_message_send(
1975
2006
  "message": history_error,
1976
2007
  }
1977
2008
  }
2009
+ history_scope, history_scope_error = _resolve_history_scope(
2010
+ configuration, request.headers
2011
+ )
2012
+ if history_scope_error:
2013
+ return {
2014
+ "error": {
2015
+ "code": ERROR_CODE_INVALID_PARAMS,
2016
+ "message": history_scope_error,
2017
+ }
2018
+ }
1978
2019
 
1979
2020
  message = params.get("message")
1980
2021
  if not message:
@@ -2189,6 +2230,18 @@ async def handle_message_send(
2189
2230
  run_id=run["run_id"],
2190
2231
  headers=request.headers,
2191
2232
  )
2233
+ if (
2234
+ history_scope == "task"
2235
+ and history_length != 0
2236
+ and "messages" not in input_content
2237
+ ):
2238
+ result = dict(result)
2239
+ result["messages"] = await _get_historical_messages_for_task(
2240
+ context_id,
2241
+ str(run["run_id"]),
2242
+ request.headers,
2243
+ task_id=task_id,
2244
+ )
2192
2245
 
2193
2246
  return await _create_task_response(
2194
2247
  task_id=task_id,
@@ -2196,6 +2249,7 @@ async def handle_message_send(
2196
2249
  result=result,
2197
2250
  assistant_id=assistant_id,
2198
2251
  history_length=history_length,
2252
+ history_scope=history_scope,
2199
2253
  a2ui=a2ui,
2200
2254
  task_ids_by_start_id=task_ids_by_start_id,
2201
2255
  )
@@ -2221,6 +2275,8 @@ async def _get_historical_messages_for_task(
2221
2275
  context_id: str,
2222
2276
  task_run_id: str,
2223
2277
  request_headers: Headers,
2278
+ *,
2279
+ task_id: str,
2224
2280
  ) -> list[Any]:
2225
2281
  """Get historical messages for a specific task by matching run_id."""
2226
2282
  history = await get_client().threads.get_history(
@@ -2235,8 +2291,34 @@ async def _get_historical_messages_for_task(
2235
2291
  target_checkpoint = max(
2236
2292
  history, key=lambda c: c.get("metadata", {}).get("step", 0)
2237
2293
  )
2238
- values = target_checkpoint["values"]
2239
- return values.get("messages", [])
2294
+ messages = target_checkpoint["values"].get("messages", []) or []
2295
+ input_checkpoint = min(
2296
+ history, key=lambda c: c.get("metadata", {}).get("step", 0)
2297
+ )
2298
+ input_messages = input_checkpoint["values"].get("messages", []) or []
2299
+ new_message_index = len(input_messages)
2300
+ if (
2301
+ new_message_index < len(messages)
2302
+ and messages[:new_message_index] == input_messages
2303
+ and isinstance(messages[new_message_index], dict)
2304
+ ):
2305
+ message = messages[new_message_index]
2306
+ additional_kwargs = message.get("additional_kwargs")
2307
+ additional_kwargs = (
2308
+ dict(additional_kwargs) if isinstance(additional_kwargs, dict) else {}
2309
+ )
2310
+ stored_a2a = additional_kwargs.get("a2a")
2311
+ stored_a2a = dict(stored_a2a) if isinstance(stored_a2a, dict) else {}
2312
+ if not stored_a2a.get("task_id") and not stored_a2a.get("task_start_id"):
2313
+ messages = list(messages)
2314
+ messages[new_message_index] = {
2315
+ **message,
2316
+ "additional_kwargs": {
2317
+ **additional_kwargs,
2318
+ "a2a": {**stored_a2a, "task_id": task_id},
2319
+ },
2320
+ }
2321
+ return messages
2240
2322
  else:
2241
2323
  return []
2242
2324
 
@@ -2264,6 +2346,9 @@ async def handle_tasks_get(
2264
2346
  task_id_raw = params.get("id")
2265
2347
  context_id_param = params.get("contextId")
2266
2348
  history_length = params.get("historyLength")
2349
+ history_scope, history_scope_error = _resolve_history_scope(
2350
+ params, request.headers
2351
+ )
2267
2352
 
2268
2353
  if not task_id_raw:
2269
2354
  return {
@@ -2310,6 +2395,13 @@ async def handle_tasks_get(
2310
2395
  "message": history_error,
2311
2396
  }
2312
2397
  }
2398
+ if history_scope_error:
2399
+ return {
2400
+ "error": {
2401
+ "code": ERROR_CODE_INVALID_PARAMS,
2402
+ "message": history_scope_error,
2403
+ }
2404
+ }
2313
2405
 
2314
2406
  assistant = await _get_assistant(assistant_id, request.headers)
2315
2407
 
@@ -2321,13 +2413,14 @@ async def handle_tasks_get(
2321
2413
  try:
2322
2414
  task_run_id = run_info.get("run_id")
2323
2415
  messages = await _get_historical_messages_for_task(
2324
- context_id, task_run_id, request.headers
2416
+ context_id, task_run_id, request.headers, task_id=task_id
2325
2417
  )
2326
2418
  thread_history = _convert_messages_to_a2a_format(
2327
2419
  messages,
2328
2420
  task_id,
2329
2421
  context_id,
2330
2422
  history_length=history_length,
2423
+ history_scope=history_scope,
2331
2424
  a2ui=_a2ui_context_for_run(
2332
2425
  run_info, enabled=_a2ui_enabled(assistant)
2333
2426
  ),
@@ -2599,6 +2692,14 @@ async def handle_list_tasks(
2599
2692
  }
2600
2693
  }
2601
2694
  history_length: int | None = raw_history_length
2695
+ history_scope, history_scope_error = _resolve_history_scope(params, request.headers)
2696
+ if history_scope_error:
2697
+ return {
2698
+ "error": {
2699
+ "code": ERROR_CODE_INVALID_PARAMS,
2700
+ "message": history_scope_error,
2701
+ }
2702
+ }
2602
2703
 
2603
2704
  valid_states = {
2604
2705
  "TASK_STATE_SUBMITTED",
@@ -2781,12 +2882,14 @@ async def handle_list_tasks(
2781
2882
  task["contextId"],
2782
2883
  run_id_by_task_id[task["id"]],
2783
2884
  request.headers,
2885
+ task_id=task["id"],
2784
2886
  )
2785
2887
  task["history"] = _convert_messages_to_a2a_format(
2786
2888
  messages,
2787
2889
  task["id"],
2788
2890
  task["contextId"],
2789
2891
  history_length=history_length,
2892
+ history_scope=history_scope,
2790
2893
  a2ui=a2ui_by_task_id[task["id"]],
2791
2894
  task_ids_by_start_id=task_ids_by_start_id_by_context.get(
2792
2895
  task["contextId"]
@@ -2946,7 +3049,19 @@ async def generate_agent_card(request: ApiRequest, assistant_id: str) -> dict[st
2946
3049
  assistant.get("description") or f"{assistant_name} assistant"
2947
3050
  )
2948
3051
  input_modes, output_modes = _resolve_agent_card_modes(assistant)
2949
- extensions: list[dict[str, Any]] = []
3052
+ extensions: list[dict[str, Any]] = [
3053
+ {
3054
+ "uri": HISTORY_SCOPE_EXTENSION_URI,
3055
+ "description": "Choose task-only or full-context response history",
3056
+ "required": False,
3057
+ "params": {
3058
+ "header": HISTORY_SCOPE_HEADER,
3059
+ "values": ["context", "task"],
3060
+ "default": "context",
3061
+ "methods": ["SendMessage", "GetTask", "ListTasks"],
3062
+ },
3063
+ }
3064
+ ]
2950
3065
  if _a2ui_enabled(assistant):
2951
3066
  if A2UI_MIME_TYPE not in input_modes:
2952
3067
  input_modes.append(A2UI_MIME_TYPE)
@@ -3013,8 +3128,7 @@ async def generate_agent_card(request: ApiRequest, assistant_id: str) -> dict[st
3013
3128
  "pushNotifications": False, # Not implemented yet
3014
3129
  "stateTransitionHistory": False,
3015
3130
  }
3016
- if extensions:
3017
- capabilities["extensions"] = extensions
3131
+ capabilities["extensions"] = extensions
3018
3132
 
3019
3133
  return {
3020
3134
  "name": assistant_name,
@@ -205,6 +205,9 @@ LSD_GRPC_SERVER_MAX_SEND_MSG_BYTES = env(
205
205
  "LSD_GRPC_SERVER_MAX_SEND_MSG_BYTES", cast=int, default=300 * 1024 * 1024
206
206
  )
207
207
  LSD_PUBLISH_QUEUE_SIZE = env("LSD_PUBLISH_QUEUE_SIZE", cast=int, default=512)
208
+ LSD_CACHE_PACKAGES_DISTRIBUTIONS = env(
209
+ "LSD_CACHE_PACKAGES_DISTRIBUTIONS", cast=bool, default=True
210
+ )
208
211
  # Per-run protocol v2 event buffer size. Each ``EventStreamingSession``
209
212
  # retains at most this many normalized protocol events for
210
213
  # reconnecting clients to replay via the body ``since`` cursor.
@@ -697,13 +697,14 @@ def patch_packages_distributions() -> None:
697
697
  (once per google.cloud.* sub-package). With ddtrace's import hooks each
698
698
  call takes ~13 s in production, totalling ~170 s.
699
699
 
700
- The installed-package set never changes during a process lifetime, so a
701
- single cached result is safe and reduces 13 scans to 1.
700
+ Supported deployments fix their dependencies before startup and do not mutate
701
+ them at runtime, so one scan per process is enough. Late imports change
702
+ sys.modules rather than the installed distributions and do not invalidate it.
702
703
 
703
- Controlled by LSD_CACHE_PACKAGES_DISTRIBUTIONS (default "false").
704
- Set to "true" to enable.
704
+ Each call returns its own dict, matching what the function being replaced does,
705
+ so a caller mutating the result cannot poison later callers.
705
706
  """
706
- if os.environ.get("LSD_CACHE_PACKAGES_DISTRIBUTIONS", "false").lower() != "true":
707
+ if not lg_api_config.LSD_CACHE_PACKAGES_DISTRIBUTIONS:
707
708
  return
708
709
 
709
710
  import importlib.metadata # noqa: PLC0415
@@ -714,13 +715,13 @@ def patch_packages_distributions() -> None:
714
715
  logger.info("Caching importlib.metadata.packages_distributions()")
715
716
 
716
717
  original = importlib.metadata.packages_distributions
717
- cache: dict | None = None
718
+ cache: dict[str, list[str]] | None = None
718
719
 
719
- def _cached():
720
+ def _cached() -> dict[str, list[str]]:
720
721
  nonlocal cache
721
722
  if cache is None:
722
723
  cache = original()
723
- return cache
724
+ return {name: list(distributions) for name, distributions in cache.items()}
724
725
 
725
726
  _cached._cached = True
726
727
  importlib.metadata.packages_distributions = _cached
@@ -37,7 +37,7 @@ dependencies = [
37
37
  "structlog>=24.1.0,<26",
38
38
  "pyjwt>=2.13.0",
39
39
  "cryptography>=50.0.0",
40
- "langgraph-sdk>=0.3.5",
40
+ "langgraph-sdk>=0.4.4",
41
41
  "cloudpickle>=3.0.0",
42
42
  "langgraph-runtime-inmem>=0.35.0.dev0,<0.36.0.dev0",
43
43
  "truststore>=0.1",
@@ -776,7 +776,7 @@ requires-dist = [
776
776
  { name = "langgraph", specifier = ">=0.4.10,<2" },
777
777
  { name = "langgraph-checkpoint", specifier = ">=3.0.1,<5" },
778
778
  { name = "langgraph-runtime-inmem", editable = "../runtime_inmem" },
779
- { name = "langgraph-sdk", specifier = ">=0.3.5" },
779
+ { name = "langgraph-sdk", specifier = ">=0.4.4" },
780
780
  { name = "langsmith", extras = ["otel"], specifier = ">=0.6.3" },
781
781
  { name = "opentelemetry-api", specifier = ">=0.0.1" },
782
782
  { name = "opentelemetry-exporter-otlp-proto-http", specifier = ">=0.0.1" },
@@ -958,7 +958,7 @@ dev = [
958
958
 
959
959
  [[package]]
960
960
  name = "langgraph-sdk"
961
- version = "0.4.3"
961
+ version = "0.4.4"
962
962
  source = { registry = "https://pypi.org/simple" }
963
963
  dependencies = [
964
964
  { name = "httpx" },
@@ -967,9 +967,9 @@ dependencies = [
967
967
  { name = "orjson" },
968
968
  { name = "websockets" },
969
969
  ]
970
- sdist = { url = "https://files.pythonhosted.org/packages/bd/0e/3c0347fd517390e807d9772d2037f9cc65c0227af27f07052ba9c8ebdfa2/langgraph_sdk-0.4.3.tar.gz", hash = "sha256:f101cc043ddd7400ceaef66d934c42fa2f0e7d4ea5029754d286260d39038251", size = 344145, upload-time = "2026-08-19T18:05:21.838Z" }
970
+ sdist = { url = "https://files.pythonhosted.org/packages/3f/ae/91446c1fffa04a2dc1f81afbfb5bfff3590452891a72bd9098a656ab2657/langgraph_sdk-0.4.4.tar.gz", hash = "sha256:4e651ffa09de695681579396375377bdde23bedbc8e35b070e615cbd5af7da8b", size = 345789, upload-time = "2026-08-27T21:25:22.593Z" }
971
971
  wheels = [
972
- { url = "https://files.pythonhosted.org/packages/5a/a0/f3bc44b46ef730588f66fdf9e9ddc54189db78482a9e914ae6a554a2b2e0/langgraph_sdk-0.4.3-py3-none-any.whl", hash = "sha256:1b7920b39b6dc439843d122a06f04a0cb8b65c02fd086ddf68e18596a230a0e7", size = 161794, upload-time = "2026-08-19T18:05:20.495Z" },
972
+ { url = "https://files.pythonhosted.org/packages/43/d5/2ad7f3a835c6fcebf58b6669552536ecd52d2dfe4cf49c6c36648fd83572/langgraph_sdk-0.4.4-py3-none-any.whl", hash = "sha256:39afe416c91742925e6f8a93715f566d499b36e1b636b804a4ffe3190e4f4e64", size = 162270, upload-time = "2026-08-27T21:25:21.072Z" },
973
973
  ]
974
974
 
975
975
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = "0.15.0.dev4"