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