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.
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/PKG-INFO +1 -1
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/constraints.txt +1 -1
- langgraph_api-0.7.76/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/__init__.py +4 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/client.py +4 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/runs.py +74 -66
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/queue_entrypoint.py +4 -3
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/sse.py +11 -2
- langgraph_api-0.7.74/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/.gitignore +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/LICENSE +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/Makefile +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/README.md +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/.gitignore +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/Makefile +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/README.md +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/assistant.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/benchmark-runner.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/benchmarks.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/stream_write.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/thread.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/wait_write.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/burst.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_dd_report.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_k6.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_runner.mjs +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_slack_report.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/capacity_urls.mjs +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/clean.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/continuous/uv.lock +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/graphs.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/mixed_workload_k6.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/mixed_workload_runner.mjs +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/package.json +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/ramp.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/slack_slowest_runs.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/reporting/slack_summary.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/run_local.sh +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/staircase.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/weather.js +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/custom_store.sql +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/forbidden.txt +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/hatch_build.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/healthcheck.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/a2a.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_handlers.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/command.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/executor_entrypoint.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/js/yarn.lock +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/route.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/server.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/state.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/store.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/channel.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/config.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/exception.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/graph.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/interrupt.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/messages.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/orchestrator_response.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/runopts.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/stream_mode.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/task.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/proto/executor_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/sanitize.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/logging.json +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/openapi.json +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/pyproject.toml +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/create_license.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/scripts/run_a2a_tck.py +0 -0
- {langgraph_api-0.7.74 → langgraph_api-0.7.76}/uv.lock +0 -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
|
|
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
|
-
|
|
987
|
-
|
|
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
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.7.74 → langgraph_api-0.7.76}/benchmark/benchmark-runners/benchmark-runner.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|