langgraph-api 0.7.92__tar.gz → 0.7.94__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 (292) hide show
  1. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/PKG-INFO +1 -1
  2. langgraph_api-0.7.94/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/_checkpointer/_adapter.py +3 -9
  4. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/asyncio.py +20 -1
  5. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/graph.py +62 -14
  6. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/metrics_datadog.py +8 -0
  7. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/store.py +7 -7
  8. langgraph_api-0.7.92/langgraph_api/__init__.py +0 -1
  9. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/.gitignore +0 -0
  10. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/LICENSE +0 -0
  11. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/Makefile +0 -0
  12. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/README.md +0 -0
  13. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/.gitignore +0 -0
  14. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/Makefile +0 -0
  15. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/README.md +0 -0
  16. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/assistant.ts +0 -0
  17. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  18. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  19. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  20. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  21. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/log-failure.ts +0 -0
  22. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  23. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/random_stream.ts +0 -0
  24. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/stream_write.ts +0 -0
  25. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/thread.ts +0 -0
  26. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  27. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  28. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/types.ts +0 -0
  29. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/benchmark-runners/wait_write.ts +0 -0
  30. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/capacity_dd_report.py +0 -0
  31. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/capacity_k6.js +0 -0
  32. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/capacity_runner.mjs +0 -0
  33. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/capacity_slack_report.py +0 -0
  34. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/capacity_urls.mjs +0 -0
  35. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/clean-cli.js +0 -0
  36. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/clean.js +0 -0
  37. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/continuous/README.md +0 -0
  38. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/continuous/pyproject.toml +0 -0
  39. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/continuous/runner.py +0 -0
  40. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/continuous/uv.lock +0 -0
  41. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/graphs.js +0 -0
  42. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/mixed_workload_k6.js +0 -0
  43. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/mixed_workload_runner.mjs +0 -0
  44. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/package.json +0 -0
  45. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/ramp.js +0 -0
  46. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/reporting/dd_reporting.py +0 -0
  47. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/reporting/slack_slowest_runs.py +0 -0
  48. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/reporting/slack_summary.py +0 -0
  49. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/run_local.sh +0 -0
  50. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/staircase.py +0 -0
  51. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/staircase_step_k6.js +0 -0
  52. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/tsconfig.json +0 -0
  53. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/update-revision.js +0 -0
  54. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/benchmark/weather.js +0 -0
  55. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/constraints.txt +0 -0
  56. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/custom_store.sql +0 -0
  57. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/forbidden.txt +0 -0
  58. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/hatch_build.py +0 -0
  59. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/healthcheck.py +0 -0
  60. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  61. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/_checkpointer/__init__.py +0 -0
  62. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/_checkpointer/protocol.py +0 -0
  63. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/_factory_utils.py +0 -0
  64. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/__init__.py +0 -0
  65. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/a2a.py +0 -0
  66. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/assistants.py +0 -0
  67. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/__init__.py +0 -0
  68. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/_constants.py +0 -0
  69. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/_handlers.py +0 -0
  70. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/_models.py +0 -0
  71. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/_routes.py +0 -0
  72. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  73. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/meta.py +0 -0
  74. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/openapi.py +0 -0
  75. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/profile.py +0 -0
  76. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/runs.py +0 -0
  77. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/store.py +0 -0
  78. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/threads.py +0 -0
  79. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/api/ui.py +0 -0
  80. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/asgi_transport.py +0 -0
  81. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/__init__.py +0 -0
  82. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/custom.py +0 -0
  83. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/errors.py +0 -0
  84. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/langsmith/__init__.py +0 -0
  85. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/langsmith/backend.py +0 -0
  86. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/langsmith/client.py +0 -0
  87. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/middleware.py +0 -0
  88. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/noop.py +0 -0
  89. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/auth/studio_user.py +0 -0
  90. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/cache.py +0 -0
  91. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/cli.py +0 -0
  92. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/command.py +0 -0
  93. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/config/__init__.py +0 -0
  94. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/config/_parse.py +0 -0
  95. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/config/schemas.py +0 -0
  96. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/cron_scheduler.py +0 -0
  97. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/__init__.py +0 -0
  98. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/aes_json.py +0 -0
  99. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/context.py +0 -0
  100. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/custom.py +0 -0
  101. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/middleware.py +0 -0
  102. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/encryption/shared.py +0 -0
  103. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/errors.py +0 -0
  104. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/executor_entrypoint.py +0 -0
  105. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/feature_flags.py +0 -0
  106. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/__init__.py +0 -0
  107. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/client.py +0 -0
  108. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  109. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/__init__.py +0 -0
  110. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/assistants.py +0 -0
  111. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/cache.py +0 -0
  112. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/crons.py +0 -0
  113. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/runs.py +0 -0
  114. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/ops/threads.py +0 -0
  115. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/server.py +0 -0
  116. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/servicers/__init__.py +0 -0
  117. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  118. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/grpc/servicers/encryption.py +0 -0
  119. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/http.py +0 -0
  120. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/http_metrics.py +0 -0
  121. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/http_metrics_utils.py +0 -0
  122. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/.gitignore +0 -0
  123. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/.prettierrc +0 -0
  124. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/__init__.py +0 -0
  125. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/base.py +0 -0
  126. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/build.mts +0 -0
  127. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/client.http.mts +0 -0
  128. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/client.mts +0 -0
  129. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/errors.py +0 -0
  130. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/global.d.ts +0 -0
  131. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/package.json +0 -0
  132. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/remote.py +0 -0
  133. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/schema.py +0 -0
  134. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/graph.mts +0 -0
  135. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/load.hooks.mjs +0 -0
  136. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/preload.mjs +0 -0
  137. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/utils/files.mts +0 -0
  138. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/utils/importMap.mts +0 -0
  139. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  140. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/src/utils/serde.mts +0 -0
  141. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/sse.py +0 -0
  142. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/traceblock.mts +0 -0
  143. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/tsconfig.json +0 -0
  144. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/ui.py +0 -0
  145. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/js/yarn.lock +0 -0
  146. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/logging.py +0 -0
  147. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/metadata.py +0 -0
  148. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/middleware/__init__.py +0 -0
  149. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/middleware/ensure_store.py +0 -0
  150. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/middleware/http_logger.py +0 -0
  151. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/middleware/private_network.py +0 -0
  152. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/middleware/request_id.py +0 -0
  153. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/models/__init__.py +0 -0
  154. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/models/run.py +0 -0
  155. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/otel_context.py +0 -0
  156. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/patch.py +0 -0
  157. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/queue_entrypoint.py +0 -0
  158. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/route.py +0 -0
  159. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/schema.py +0 -0
  160. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/self_hosted_logs.py +0 -0
  161. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/self_hosted_metrics.py +0 -0
  162. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/serde.py +0 -0
  163. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/server.py +0 -0
  164. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/sse.py +0 -0
  165. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/state.py +0 -0
  166. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/stream.py +0 -0
  167. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/timing/__init__.py +0 -0
  168. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/timing/profiler.py +0 -0
  169. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/timing/timer.py +0 -0
  170. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/traceblock.py +0 -0
  171. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/tunneling/cloudflare.py +0 -0
  172. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/__init__.py +0 -0
  173. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/cache.py +0 -0
  174. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/config.py +0 -0
  175. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/errors.py +0 -0
  176. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/extract.py +0 -0
  177. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/future.py +0 -0
  178. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/headers.py +0 -0
  179. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/retriable_client.py +0 -0
  180. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/stream_codec.py +0 -0
  181. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/utils/uuids.py +0 -0
  182. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/validation.py +0 -0
  183. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/webhook.py +0 -0
  184. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_api/worker.py +0 -0
  185. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/__init__.py +0 -0
  186. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/checkpointer.py +0 -0
  187. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/__init__.py +0 -0
  188. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/_compat.py +0 -0
  189. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/channel.py +0 -0
  190. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  191. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/config.py +0 -0
  192. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/durability.py +0 -0
  193. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/exception.py +0 -0
  194. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/graph.py +0 -0
  195. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/interrupt.py +0 -0
  196. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/messages.py +0 -0
  197. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/orchestrator_response.py +0 -0
  198. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/runopts.py +0 -0
  199. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/stream_mode.py +0 -0
  200. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/struct.py +0 -0
  201. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/task.py +0 -0
  202. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/conversion/value.py +0 -0
  203. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/__init__.py +0 -0
  204. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  205. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  206. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  207. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  208. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  209. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  210. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  211. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  212. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  213. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  214. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  215. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  216. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_api_pb2.py +0 -0
  217. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_api_pb2.pyi +0 -0
  218. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_api_pb2_grpc.py +0 -0
  219. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_api_pb2_grpc.pyi +0 -0
  220. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  221. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  222. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  223. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  224. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  225. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  226. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  227. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  228. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  229. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  230. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  231. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  232. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  233. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  234. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  235. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  236. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  237. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  238. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  239. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  240. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  241. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  242. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  243. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  244. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  245. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  246. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  247. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  248. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.py +0 -0
  249. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.pyi +0 -0
  250. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.py +0 -0
  251. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.pyi +0 -0
  252. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  253. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  254. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  255. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  256. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  257. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  258. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  259. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  260. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  261. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  262. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  263. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  264. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  265. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  266. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  267. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  268. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/executor_api_pb2.py +0 -0
  269. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/executor_api_pb2.pyi +0 -0
  270. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/executor_api_pb2_grpc.py +0 -0
  271. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/proto/executor_api_pb2_grpc.pyi +0 -0
  272. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/sanitize.py +0 -0
  273. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_grpc_common/serde.py +0 -0
  274. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_license/__init__.py +0 -0
  275. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_license/validation.py +0 -0
  276. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/__init__.py +0 -0
  277. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/checkpoint.py +0 -0
  278. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/database.py +0 -0
  279. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/lifespan.py +0 -0
  280. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/metrics.py +0 -0
  281. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/ops.py +0 -0
  282. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/queue.py +0 -0
  283. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/retry.py +0 -0
  284. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/routes.py +0 -0
  285. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/langgraph_runtime/store.py +0 -0
  286. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/logging.json +0 -0
  287. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/openapi.json +0 -0
  288. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/pyproject.toml +0 -0
  289. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/scripts/build_wheel.py +0 -0
  290. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/scripts/create_license.py +0 -0
  291. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/scripts/run_a2a_tck.py +0 -0
  292. {langgraph_api-0.7.92 → langgraph_api-0.7.94}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.7.92
3
+ Version: 0.7.94
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.7.94"
@@ -22,6 +22,7 @@ from langgraph.pregel import Pregel
22
22
  from langgraph_grpc_common.checkpointer import GrpcCheckpointer
23
23
 
24
24
  from langgraph_api import config, timing
25
+ from langgraph_api.asyncio import as_asynccontextmanager
25
26
  from langgraph_api.grpc.client import get_shared_client
26
27
  from langgraph_api.timing import profiled_import
27
28
  from langgraph_api.utils.config import run_in_executor
@@ -375,15 +376,9 @@ async def collect_checkpointer_from_env() -> None:
375
376
  async def _yield_checkpointer(value: Any):
376
377
  if isinstance(value, BaseCheckpointSaver):
377
378
  yield value
378
- # Async context manager
379
- elif hasattr(value, "__aenter__") and hasattr(value, "__aexit__"):
380
- async with value as ctx_value:
379
+ elif hasattr(value, "__aenter__") or hasattr(value, "__enter__"):
380
+ async with as_asynccontextmanager(value) as ctx_value:
381
381
  yield ctx_value
382
- # Sync context manager
383
- elif hasattr(value, "__enter__") and hasattr(value, "__exit__"):
384
- with value as ctx_value:
385
- yield ctx_value
386
- # async factory
387
382
  elif asyncio.iscoroutine(value):
388
383
  result = await value
389
384
  if not isinstance(result, BaseCheckpointSaver):
@@ -391,7 +386,6 @@ async def _yield_checkpointer(value: Any):
391
386
  "Custom checkpointer must resolve to a BaseCheckpointSaver instance."
392
387
  )
393
388
  yield result
394
- # factory
395
389
  elif callable(value):
396
390
  async with _yield_checkpointer(value()) as ctx_value:
397
391
  yield ctx_value
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  import concurrent.futures
3
3
  from collections.abc import AsyncIterator, Coroutine
4
- from contextlib import AbstractAsyncContextManager, suppress
4
+ from contextlib import AbstractAsyncContextManager, asynccontextmanager, suppress
5
5
  from functools import partial
6
6
  from typing import Any, Generic, TypeVar
7
7
 
@@ -14,6 +14,25 @@ logger = structlog.stdlib.get_logger(__name__)
14
14
  _MAIN_LOOP: asyncio.AbstractEventLoop | None = None
15
15
 
16
16
 
17
+ @asynccontextmanager
18
+ async def as_asynccontextmanager(value: Any) -> AsyncIterator[Any]:
19
+ """Normalize an async CM, sync CM, or coroutine into a single async context manager.
20
+
21
+ Handles the three factory return styles used across graph, store, and checkpointer
22
+ loading without duplicating the dispatch logic.
23
+ """
24
+ if hasattr(value, "__aenter__") and hasattr(value, "__aexit__"):
25
+ async with value as result:
26
+ yield result
27
+ elif hasattr(value, "__enter__") and hasattr(value, "__exit__"):
28
+ with value as result:
29
+ yield result
30
+ elif asyncio.iscoroutine(value):
31
+ yield await value
32
+ else:
33
+ yield value
34
+
35
+
17
36
  def set_event_loop(loop: asyncio.AbstractEventLoop) -> None:
18
37
  global _MAIN_LOOP
19
38
  _MAIN_LOOP = loop
@@ -34,6 +34,7 @@ from langgraph_api._factory_utils import (
34
34
  is_factory,
35
35
  is_for_execution,
36
36
  )
37
+ from langgraph_api.asyncio import as_asynccontextmanager
37
38
  from langgraph_api.feature_flags import (
38
39
  IS_POSTGRES_OR_GRPC_BACKEND,
39
40
  USE_RUNTIME_CONTEXT_API,
@@ -169,9 +170,59 @@ def _log_slow_graph_generation(
169
170
  )
170
171
 
171
172
 
173
+ _ddtracer: Any = None
174
+
175
+
176
+ def _get_ddtracer() -> Any:
177
+ """Return the ddtrace tracer singleton, or None if ddtrace is not installed."""
178
+ global _ddtracer
179
+ if not hasattr(_get_ddtracer, "_checked"):
180
+ _get_ddtracer._checked = True
181
+ try:
182
+ from ddtrace import tracer # type: ignore[unresolved-import] # noqa: PLC0415, I001
183
+
184
+ _ddtracer = tracer
185
+ except ImportError:
186
+ # ddtrace is an optional dependency; tracing is silently disabled when absent.
187
+ pass
188
+ return _ddtracer
189
+
190
+
191
+ def _start_graph_load_span(graph_id: str, access_context: str | None) -> Any:
192
+ """Start a ddtrace span covering graph factory __aenter__ time.
193
+
194
+ Starting before __aenter__ means HTTP calls made by the factory appear as
195
+ children of this span. Returns the span, or None if ddtrace is unavailable.
196
+ """
197
+ ddtracer = _get_ddtracer()
198
+ if ddtracer is None:
199
+ return None
200
+ try:
201
+ span = ddtracer.start_span("langgraph.graph_load")
202
+ span.set_tag("graph_id", graph_id)
203
+ if access_context:
204
+ span.set_tag("access_context", access_context)
205
+ return span
206
+ except Exception:
207
+ return None
208
+
209
+
210
+ def _finish_graph_load_span(span: Any, value_type: str) -> None:
211
+ if span is None:
212
+ return
213
+ try:
214
+ span.set_tag("value_type", value_type)
215
+ span.finish()
216
+ except Exception:
217
+ pass # Tracing must never interfere with application logic
218
+
219
+
172
220
  @asynccontextmanager
173
221
  async def _generate_graph(
174
- value: Any, graph_id: str, run_id: str | None = None
222
+ value: Any,
223
+ graph_id: str,
224
+ run_id: str | None = None,
225
+ access_context: str | None = None,
175
226
  ) -> AsyncIterator[Any]:
176
227
  """Yield a graph object regardless of its type.
177
228
 
@@ -183,20 +234,15 @@ async def _generate_graph(
183
234
  value_type = type(value).__name__
184
235
  if isinstance(value, Pregel | BaseRemotePregel):
185
236
  yield value
186
- elif hasattr(value, "__aenter__") and hasattr(value, "__aexit__"):
187
- async with value as ctx_value:
188
- _log_slow_graph_generation(start, value_type, graph_id, run_id=run_id)
189
- yield ctx_value
190
- elif hasattr(value, "__enter__") and hasattr(value, "__exit__"):
191
- with value as ctx_value:
237
+ return
238
+ span = _start_graph_load_span(graph_id, access_context)
239
+ try:
240
+ async with as_asynccontextmanager(value) as ctx_value:
192
241
  _log_slow_graph_generation(start, value_type, graph_id, run_id=run_id)
242
+ _finish_graph_load_span(span, value_type)
193
243
  yield ctx_value
194
- elif asyncio.iscoroutine(value):
195
- result = await value
196
- _log_slow_graph_generation(start, value_type, graph_id, run_id=run_id)
197
- yield result
198
- else:
199
- yield value
244
+ finally:
245
+ _finish_graph_load_span(span, value_type)
200
246
 
201
247
 
202
248
  def is_js_graph(graph_id: str) -> TypeGuard[BaseRemotePregel]:
@@ -246,7 +292,9 @@ async def get_graph(
246
292
 
247
293
  value = invoke_factory(value, graph_id, config, server_runtime)
248
294
  try:
249
- async with _generate_graph(value, graph_id, run_id=run_id) as graph_obj:
295
+ async with _generate_graph(
296
+ value, graph_id, run_id=run_id, access_context=access_context
297
+ ) as graph_obj:
250
298
  if isinstance(graph_obj, StateGraph):
251
299
  graph_obj = graph_obj.compile()
252
300
  if not isinstance(graph_obj, Pregel | BaseRemotePregel):
@@ -247,6 +247,14 @@ class DatadogMetricsReporter:
247
247
  Histogram: AggregationTemporality.DELTA,
248
248
  },
249
249
  )
250
+ # Burn after reading: remove DD keys from env so user code
251
+ # and child processes cannot access them.
252
+ for key in (
253
+ "LSD_DD_API_KEY",
254
+ "LSD_DD_ENDPOINT",
255
+ ):
256
+ os.environ.pop(key, None)
257
+
250
258
  reader = PeriodicExportingMetricReader(
251
259
  _FilteringExporter(base_exporter),
252
260
  export_interval_millis=10_000,
@@ -13,6 +13,7 @@ from langgraph.pregel import Pregel
13
13
  from langgraph.store.base import BaseStore
14
14
 
15
15
  from langgraph_api import config, timing
16
+ from langgraph_api.asyncio import as_asynccontextmanager
16
17
  from langgraph_api.timing import profiled_import
17
18
  from langgraph_api.utils.config import run_in_executor
18
19
 
@@ -50,14 +51,13 @@ async def exit_store():
50
51
  async def _yield_store(value: Any):
51
52
  if isinstance(value, BaseStore):
52
53
  yield value
53
- elif hasattr(value, "__aenter__") and hasattr(value, "__aexit__"):
54
- async with value as ctx_value:
54
+ elif (
55
+ hasattr(value, "__aenter__")
56
+ or hasattr(value, "__enter__")
57
+ or asyncio.iscoroutine(value)
58
+ ):
59
+ async with as_asynccontextmanager(value) as ctx_value:
55
60
  yield ctx_value
56
- elif hasattr(value, "__enter__") and hasattr(value, "__exit__"):
57
- with value as ctx_value:
58
- yield ctx_value
59
- elif asyncio.iscoroutine(value):
60
- yield await value
61
61
  elif callable(value):
62
62
  async with _yield_store(value()) as ctx_value:
63
63
  yield ctx_value
@@ -1 +0,0 @@
1
- __version__ = "0.7.92"
File without changes
File without changes
File without changes