langgraph-api 0.7.74__tar.gz → 0.7.76__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 (283) hide show
  1. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/PKG-INFO +1 -1
  2. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/constraints.txt +1 -1
  3. langgraph_api-0.7.76/langgraph_api/__init__.py +1 -0
  4. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/__init__.py +4 -0
  5. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/client.py +4 -0
  6. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/runs.py +74 -66
  7. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/queue_entrypoint.py +4 -3
  8. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/sse.py +11 -2
  9. langgraph_api-0.7.74/langgraph_api/__init__.py +0 -1
  10. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/.gitignore +0 -0
  11. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/LICENSE +0 -0
  12. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/Makefile +0 -0
  13. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/README.md +0 -0
  14. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/.gitignore +0 -0
  15. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/Makefile +0 -0
  16. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/README.md +0 -0
  17. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/assistant.js +0 -0
  18. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/benchmark-runner.js +0 -0
  19. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/benchmarks.js +0 -0
  20. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/stream_write.js +0 -0
  21. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/thread.js +0 -0
  22. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/wait_write.js +0 -0
  23. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/burst.js +0 -0
  24. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_dd_report.py +0 -0
  25. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_k6.js +0 -0
  26. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_runner.mjs +0 -0
  27. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_slack_report.py +0 -0
  28. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_urls.mjs +0 -0
  29. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/clean-cli.js +0 -0
  30. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/clean.js +0 -0
  31. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/README.md +0 -0
  32. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/pyproject.toml +0 -0
  33. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/runner.py +0 -0
  34. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/uv.lock +0 -0
  35. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/graphs.js +0 -0
  36. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/mixed_workload_k6.js +0 -0
  37. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/mixed_workload_runner.mjs +0 -0
  38. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/package.json +0 -0
  39. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/ramp.js +0 -0
  40. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/dd_reporting.py +0 -0
  41. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/slack_slowest_runs.py +0 -0
  42. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/slack_summary.py +0 -0
  43. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/run_local.sh +0 -0
  44. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/staircase.py +0 -0
  45. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/staircase_step_k6.js +0 -0
  46. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/update-revision.js +0 -0
  47. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/weather.js +0 -0
  48. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/custom_store.sql +0 -0
  49. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/forbidden.txt +0 -0
  50. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/hatch_build.py +0 -0
  51. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/healthcheck.py +0 -0
  52. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  53. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/__init__.py +0 -0
  54. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/_adapter.py +0 -0
  55. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/protocol.py +0 -0
  56. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_factory_utils.py +0 -0
  57. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/__init__.py +0 -0
  58. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/a2a.py +0 -0
  59. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/assistants.py +0 -0
  60. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/__init__.py +0 -0
  61. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_constants.py +0 -0
  62. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_handlers.py +0 -0
  63. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_models.py +0 -0
  64. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_routes.py +0 -0
  65. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  66. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/meta.py +0 -0
  67. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/openapi.py +0 -0
  68. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/profile.py +0 -0
  69. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/runs.py +0 -0
  70. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/store.py +0 -0
  71. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/threads.py +0 -0
  72. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/ui.py +0 -0
  73. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/asgi_transport.py +0 -0
  74. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/asyncio.py +0 -0
  75. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/__init__.py +0 -0
  76. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/custom.py +0 -0
  77. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/errors.py +0 -0
  78. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/__init__.py +0 -0
  79. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/backend.py +0 -0
  80. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/client.py +0 -0
  81. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/middleware.py +0 -0
  82. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/noop.py +0 -0
  83. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/studio_user.py +0 -0
  84. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cache.py +0 -0
  85. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cli.py +0 -0
  86. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/command.py +0 -0
  87. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/_parse.py +0 -0
  88. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/schemas.py +0 -0
  89. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cron_scheduler.py +0 -0
  90. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/__init__.py +0 -0
  91. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/aes_json.py +0 -0
  92. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/context.py +0 -0
  93. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/custom.py +0 -0
  94. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/middleware.py +0 -0
  95. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/shared.py +0 -0
  96. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/errors.py +0 -0
  97. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/executor_entrypoint.py +0 -0
  98. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/feature_flags.py +0 -0
  99. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/graph.py +0 -0
  100. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/__init__.py +0 -0
  101. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  102. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/__init__.py +0 -0
  103. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/assistants.py +0 -0
  104. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/cache.py +0 -0
  105. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/crons.py +0 -0
  106. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/threads.py +0 -0
  107. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/server.py +0 -0
  108. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/__init__.py +0 -0
  109. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  110. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/encryption.py +0 -0
  111. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http.py +0 -0
  112. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http_metrics.py +0 -0
  113. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http_metrics_utils.py +0 -0
  114. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/.gitignore +0 -0
  115. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/.prettierrc +0 -0
  116. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/__init__.py +0 -0
  117. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/base.py +0 -0
  118. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/build.mts +0 -0
  119. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/client.http.mts +0 -0
  120. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/client.mts +0 -0
  121. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/errors.py +0 -0
  122. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/global.d.ts +0 -0
  123. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/package.json +0 -0
  124. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/remote.py +0 -0
  125. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/schema.py +0 -0
  126. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/graph.mts +0 -0
  127. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/load.hooks.mjs +0 -0
  128. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/preload.mjs +0 -0
  129. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/files.mts +0 -0
  130. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/importMap.mts +0 -0
  131. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  132. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/serde.mts +0 -0
  133. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/sse.py +0 -0
  134. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/traceblock.mts +0 -0
  135. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/tsconfig.json +0 -0
  136. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/ui.py +0 -0
  137. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/yarn.lock +0 -0
  138. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/logging.py +0 -0
  139. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/metadata.py +0 -0
  140. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/__init__.py +0 -0
  141. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/ensure_store.py +0 -0
  142. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/http_logger.py +0 -0
  143. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/private_network.py +0 -0
  144. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/request_id.py +0 -0
  145. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/models/__init__.py +0 -0
  146. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/models/run.py +0 -0
  147. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/otel_context.py +0 -0
  148. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/patch.py +0 -0
  149. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/route.py +0 -0
  150. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/schema.py +0 -0
  151. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/self_hosted_logs.py +0 -0
  152. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/self_hosted_metrics.py +0 -0
  153. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/serde.py +0 -0
  154. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/server.py +0 -0
  155. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/state.py +0 -0
  156. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/store.py +0 -0
  157. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/stream.py +0 -0
  158. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/__init__.py +0 -0
  159. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/profiler.py +0 -0
  160. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/timer.py +0 -0
  161. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/traceblock.py +0 -0
  162. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/tunneling/cloudflare.py +0 -0
  163. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/__init__.py +0 -0
  164. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/cache.py +0 -0
  165. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/config.py +0 -0
  166. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/errors.py +0 -0
  167. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/extract.py +0 -0
  168. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/future.py +0 -0
  169. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/headers.py +0 -0
  170. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/retriable_client.py +0 -0
  171. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/stream_codec.py +0 -0
  172. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/uuids.py +0 -0
  173. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/validation.py +0 -0
  174. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/webhook.py +0 -0
  175. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/worker.py +0 -0
  176. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/__init__.py +0 -0
  177. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/checkpointer.py +0 -0
  178. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/__init__.py +0 -0
  179. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/_compat.py +0 -0
  180. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/channel.py +0 -0
  181. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  182. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/config.py +0 -0
  183. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/durability.py +0 -0
  184. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/exception.py +0 -0
  185. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/graph.py +0 -0
  186. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/interrupt.py +0 -0
  187. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/messages.py +0 -0
  188. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/orchestrator_response.py +0 -0
  189. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/runopts.py +0 -0
  190. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/stream_mode.py +0 -0
  191. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/struct.py +0 -0
  192. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/task.py +0 -0
  193. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/value.py +0 -0
  194. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/__init__.py +0 -0
  195. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  196. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  197. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  198. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  199. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  200. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  201. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  202. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  203. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  204. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  205. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  206. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  207. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2.py +0 -0
  208. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2.pyi +0 -0
  209. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2_grpc.py +0 -0
  210. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2_grpc.pyi +0 -0
  211. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  212. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  213. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  214. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  215. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  216. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  217. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  218. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  219. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  220. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  221. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  222. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  223. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  224. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  225. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  226. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  227. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  228. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  229. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  230. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  231. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  232. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  233. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  234. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  235. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  236. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  237. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  238. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  239. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.py +0 -0
  240. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.pyi +0 -0
  241. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.py +0 -0
  242. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.pyi +0 -0
  243. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  244. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  245. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  246. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  247. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  248. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  249. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  250. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  251. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  252. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  253. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  254. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  255. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  256. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  257. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  258. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  259. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2.py +0 -0
  260. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2.pyi +0 -0
  261. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2_grpc.py +0 -0
  262. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2_grpc.pyi +0 -0
  263. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/sanitize.py +0 -0
  264. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/serde.py +0 -0
  265. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_license/__init__.py +0 -0
  266. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_license/validation.py +0 -0
  267. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/__init__.py +0 -0
  268. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/checkpoint.py +0 -0
  269. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/database.py +0 -0
  270. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/lifespan.py +0 -0
  271. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/metrics.py +0 -0
  272. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/ops.py +0 -0
  273. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/queue.py +0 -0
  274. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/retry.py +0 -0
  275. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/routes.py +0 -0
  276. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/store.py +0 -0
  277. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/logging.json +0 -0
  278. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/openapi.json +0 -0
  279. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/pyproject.toml +0 -0
  280. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/build_wheel.py +0 -0
  281. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/create_license.py +0 -0
  282. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/run_a2a_tck.py +0 -0
  283. {langgraph_api-0.7.74 → langgraph_api-0.7.76}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.7.74
3
+ Version: 0.7.76
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
@@ -10,7 +10,7 @@ orjson>=3.9.7
10
10
  httpx>=0.25.0
11
11
  tenacity>=8.0.0
12
12
  uvicorn>=0.26.0
13
- sse-starlette>=3.0.0,<3.4.0
13
+ sse-starlette>=2.1.0,<3.4.0
14
14
  uvloop>=0.18.0
15
15
  httptools>=0.5.0
16
16
  jsonschema-rs>=0.20.0
@@ -0,0 +1 @@
1
+ __version__ = "0.7.76"
@@ -155,6 +155,9 @@ GRPC_CLIENT_MAX_RECV_MSG_BYTES = env(
155
155
  GRPC_CLIENT_MAX_SEND_MSG_BYTES = env(
156
156
  "GRPC_CLIENT_MAX_SEND_MSG_BYTES", cast=int, default=300 * 1024 * 1024
157
157
  )
158
+ GRPC_CLIENT_HTTP2_INITIAL_WINDOW_SIZE = env(
159
+ "GRPC_CLIENT_HTTP2_INITIAL_WINDOW_SIZE", cast=int, default=64 * 1024
160
+ )
158
161
  LSD_GRPC_SERVER_ADDRESS = env(
159
162
  "LSD_GRPC_SERVER_ADDRESS",
160
163
  cast=str,
@@ -494,6 +497,7 @@ __all__ = [
494
497
  "FF_PYSPY_PROFILING_ENABLED",
495
498
  "FF_PYSPY_PROFILING_MAX_DURATION_SECS",
496
499
  "FF_USE_REDIS_QUEUE",
500
+ "GRPC_CLIENT_HTTP2_INITIAL_WINDOW_SIZE",
497
501
  "GRPC_CLIENT_MAX_RECV_MSG_BYTES",
498
502
  "GRPC_CLIENT_MAX_SEND_MSG_BYTES",
499
503
  "GRPC_CLIENT_POOL_SIZE",
@@ -73,6 +73,10 @@ class GrpcClient:
73
73
  options = [
74
74
  ("grpc.max_receive_message_length", config.GRPC_CLIENT_MAX_RECV_MSG_BYTES),
75
75
  ("grpc.max_send_message_length", config.GRPC_CLIENT_MAX_SEND_MSG_BYTES),
76
+ (
77
+ "grpc.http2.initial_window_size",
78
+ config.GRPC_CLIENT_HTTP2_INITIAL_WINDOW_SIZE,
79
+ ),
76
80
  ]
77
81
 
78
82
  self._channel = aio.insecure_channel(self.server_address, options=options)
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import asyncio
5
6
  import contextlib
6
7
  from contextlib import asynccontextmanager
7
8
  from datetime import UTC
@@ -35,7 +36,7 @@ from langgraph_grpc_common.proto import (
35
36
  from langgraph_sdk import Auth
36
37
  from starlette.exceptions import HTTPException
37
38
 
38
- from langgraph_api.asyncio import SimpleTaskGroup, ValueEvent
39
+ from langgraph_api.asyncio import ValueEvent
39
40
  from langgraph_api.auth.custom import handle_event as auth_handle_event
40
41
  from langgraph_api.errors import UserInterrupt, UserRollback
41
42
  from langgraph_api.graph import SYSTEM_ASSISTANT_IDS
@@ -983,84 +984,91 @@ class Runs(Authenticated):
983
984
  )
984
985
  enter_stream = client.runs.Enter(enter_request)
985
986
 
986
- async with SimpleTaskGroup(cancel=True, taskgroup_name="Runs.enter") as tg:
987
- # Background task to listen for control signals from the stream
988
- async def listen_for_signals():
989
- try:
990
- async for event in enter_stream:
991
- if event.action == enum_control_signal.interrupt:
992
- logger.info(
993
- "Received interrupt signal from gRPC stream",
994
- run_id=run_id,
995
- thread_id=thread_id,
996
- )
997
- done.set(UserInterrupt())
998
- break
999
- elif event.action == enum_control_signal.rollback:
1000
- logger.info(
1001
- "Received rollback signal from gRPC stream",
1002
- run_id=run_id,
1003
- thread_id=thread_id,
1004
- )
1005
- done.set(UserRollback())
1006
- break
1007
- except Exception as exc:
1008
- logger.exception(
1009
- "listen_for_signals failed",
1010
- run_id=run_id,
1011
- thread_id=thread_id,
1012
- exc_info=exc,
1013
- )
1014
- done.set(
1015
- GrpcRetryableException(
1016
- f"listen_for_signals failed. \nError: {exc!r}"
1017
- )
1018
- )
1019
- raise
1020
-
1021
- tg.create_task(listen_for_signals())
1022
-
987
+ # Background task to listen for control signals from the stream
988
+ async def listen_for_signals():
1023
989
  try:
1024
- yield done
1025
- # Signal done via gRPC (stops heartbeat and cleanup on server)
1026
- await Runs.mark_done(
1027
- run_id=run_id, thread_id=thread_id, resumable=resumable
1028
- )
1029
- except GrpcRetryableException:
1030
- logger.info(
1031
- "Retriable exception, will not signal done",
990
+ async for event in enter_stream:
991
+ if event.action == enum_control_signal.interrupt:
992
+ logger.info(
993
+ "Received interrupt signal from gRPC stream",
994
+ run_id=run_id,
995
+ thread_id=thread_id,
996
+ )
997
+ done.set(UserInterrupt())
998
+ break
999
+ elif event.action == enum_control_signal.rollback:
1000
+ logger.info(
1001
+ "Received rollback signal from gRPC stream",
1002
+ run_id=run_id,
1003
+ thread_id=thread_id,
1004
+ )
1005
+ done.set(UserRollback())
1006
+ break
1007
+ except Exception as exc:
1008
+ logger.exception(
1009
+ "listen_for_signals failed",
1032
1010
  run_id=run_id,
1033
1011
  thread_id=thread_id,
1012
+ exc_info=exc,
1013
+ )
1014
+ done.set(
1015
+ GrpcRetryableException(
1016
+ f"listen_for_signals failed. \nError: {exc!r}"
1017
+ )
1034
1018
  )
1035
- except RETRIABLE_EXCEPTIONS:
1019
+ raise
1020
+
1021
+ listener: asyncio.Task | None = None
1022
+ try:
1023
+ listener = asyncio.create_task(listen_for_signals())
1024
+ yield done
1025
+ # Signal done via gRPC (stops heartbeat and cleanup on server)
1026
+ await Runs.mark_done(
1027
+ run_id=run_id, thread_id=thread_id, resumable=resumable
1028
+ )
1029
+ except GrpcRetryableException:
1030
+ logger.info(
1031
+ "Retriable exception, will not signal done",
1032
+ run_id=run_id,
1033
+ thread_id=thread_id,
1034
+ )
1035
+ except RETRIABLE_EXCEPTIONS:
1036
+ logger.info(
1037
+ "Retriable exception, will not signal done",
1038
+ run_id=run_id,
1039
+ thread_id=thread_id,
1040
+ )
1041
+ except AioRpcError as e:
1042
+ if e.code() in GRPC_RETRIABLE_STATUS_CODES:
1036
1043
  logger.info(
1037
- "Retriable exception, will not signal done",
1044
+ "Retriable gRPC error, will not signal done",
1038
1045
  run_id=run_id,
1039
1046
  thread_id=thread_id,
1047
+ grpc_code=e.code().name,
1040
1048
  )
1041
- except AioRpcError as e:
1042
- if e.code() in GRPC_RETRIABLE_STATUS_CODES:
1043
- logger.info(
1044
- "Retriable gRPC error, will not signal done",
1045
- run_id=run_id,
1046
- thread_id=thread_id,
1047
- grpc_code=e.code().name,
1048
- )
1049
- else:
1050
- logger.exception(
1051
- "Non-retriable gRPC error when marking run as done",
1052
- run_id=run_id,
1053
- thread_id=thread_id,
1054
- grpc_code=e.code().name,
1055
- )
1056
- raise
1057
- except BaseException:
1049
+ else:
1058
1050
  logger.exception(
1059
- "Non-retriable exception when marking run as done",
1051
+ "Non-retriable gRPC error when marking run as done",
1060
1052
  run_id=run_id,
1061
1053
  thread_id=thread_id,
1054
+ grpc_code=e.code().name,
1062
1055
  )
1063
1056
  raise
1057
+ except BaseException:
1058
+ logger.exception(
1059
+ "Non-retriable exception when marking run as done",
1060
+ run_id=run_id,
1061
+ thread_id=thread_id,
1062
+ )
1063
+ raise
1064
+ finally:
1065
+ # Quiet teardown: cancel listener first, then close stream.
1066
+ if listener is not None:
1067
+ listener.cancel()
1068
+ with contextlib.suppress(asyncio.CancelledError, Exception):
1069
+ await listener
1070
+ if not enter_stream.done():
1071
+ enter_stream.cancel()
1064
1072
 
1065
1073
  return _enter_impl()
1066
1074
 
@@ -53,9 +53,10 @@ async def health_and_metrics_server():
53
53
  port = int(os.getenv("PORT", "8080"))
54
54
  host = os.getenv("LANGGRAPH_SERVER_HOST", "0.0.0.0")
55
55
 
56
- async def health_endpoint(request):
57
- # if db or redis is not healthy, this will raise an exception
58
- await healthcheck()
56
+ async def health_endpoint(request: Request):
57
+ check_db = int(request.query_params.get("check_db", "1"))
58
+
59
+ await healthcheck(check_db=bool(check_db))
59
60
  return JSONResponse({"status": "ok"})
60
61
 
61
62
  async def metrics_endpoint(request: Request):
@@ -13,6 +13,9 @@ from langgraph_api.asyncio import SimpleTaskGroup, aclosing
13
13
  from langgraph_api.serde import json_dumpb
14
14
 
15
15
  logger = structlog.stdlib.get_logger(__name__)
16
+ # Version 2 is listen_for_exit_signal and listen_for_disconnect
17
+ # Version 3 is _listen_for_exit_signal and _listen_for_disconnect
18
+ USE_PUBLIC_SSE = hasattr(sse_starlette.EventSourceResponse, "listen_for_disconnect")
16
19
 
17
20
 
18
21
  class EventSourceResponse(sse_starlette.EventSourceResponse):
@@ -35,12 +38,18 @@ class EventSourceResponse(sse_starlette.EventSourceResponse):
35
38
  task_group.cancel_scope.cancel()
36
39
 
37
40
  task_group.start_soon(wrap, partial(self.stream_response, send))
38
- task_group.start_soon(wrap, self._listen_for_exit_signal)
41
+ if USE_PUBLIC_SSE:
42
+ task_group.start_soon(wrap, self.listen_for_exit_signal)
43
+ else:
44
+ task_group.start_soon(wrap, self._listen_for_exit_signal)
39
45
 
40
46
  if self.data_sender_callable:
41
47
  task_group.start_soon(self.data_sender_callable)
42
48
 
43
- await wrap(partial(self._listen_for_disconnect, receive))
49
+ if USE_PUBLIC_SSE:
50
+ await wrap(partial(self.listen_for_disconnect, receive))
51
+ else:
52
+ await wrap(partial(self._listen_for_disconnect, receive))
44
53
 
45
54
  if self.background is not None: # pragma: no cover, tested in StreamResponse
46
55
  await self.background()
@@ -1 +0,0 @@
1
- __version__ = "0.7.74"
File without changes
File without changes
File without changes