langgraph-api 0.7.99__tar.gz → 0.7.101__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.99 → langgraph_api-0.7.101}/PKG-INFO +6 -4
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/continuous/pyproject.toml +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/continuous/uv.lock +4 -4
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/constraints.txt +2 -2
- langgraph_api-0.7.101/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/a2a.py +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/config/__init__.py +6 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/executor_entrypoint.py +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/graph.py +22 -5
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/package.json +2 -2
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/yarn.lock +16 -76
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/logging.py +7 -2
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/metrics_datadog.py +4 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/otel_context.py +41 -14
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/queue_entrypoint.py +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/checkpointer.py +2 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/_compat.py +4 -2
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/config.py +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/messages.py +1 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/pyproject.toml +5 -3
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/uv.lock +402 -318
- langgraph_api-0.7.99/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/.gitignore +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/LICENSE +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/Makefile +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/README.md +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/.gitignore +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/Makefile +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/README.md +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/capacity_dd_report.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/capacity_k6.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/capacity_runner.mjs +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/capacity_slack_report.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/capacity_urls.mjs +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/clean.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/graphs.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/mixed_workload_k6.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/mixed_workload_runner.mjs +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/package.json +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/ramp.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/reporting/slack_slowest_runs.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/reporting/slack_summary.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/run_local.sh +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/staircase.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/benchmark/weather.js +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/custom_store.sql +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/forbidden.txt +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/hatch_build.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/healthcheck.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/_handlers.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/command.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/client.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/http.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/route.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/server.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/state.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/store.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/channel.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/exception.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/graph.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/interrupt.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/orchestrator_response.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/runopts.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/stream_mode.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/task.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_api_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_api_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/executor_api_pb2.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/executor_api_pb2.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/executor_api_pb2_grpc.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/proto/executor_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/sanitize.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/logging.json +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/openapi.json +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/scripts/create_license.py +0 -0
- {langgraph_api-0.7.99 → langgraph_api-0.7.101}/scripts/run_a2a_tck.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langgraph-api
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.101
|
|
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,6 +10,7 @@ Requires-Dist: cryptography<47.0,>=42.0.0
|
|
|
10
10
|
Requires-Dist: grpcio-health-checking<1.79.0,>=1.78.0
|
|
11
11
|
Requires-Dist: grpcio-tools==1.78.0
|
|
12
12
|
Requires-Dist: grpcio<1.79.0,>=1.78.0
|
|
13
|
+
Requires-Dist: httptools>=0.5.0; platform_system != 'Windows'
|
|
13
14
|
Requires-Dist: httpx>=0.25.0
|
|
14
15
|
Requires-Dist: jsonschema-rs<0.45,>=0.20.0
|
|
15
16
|
Requires-Dist: langchain-core>=0.3.64
|
|
@@ -18,9 +19,9 @@ Requires-Dist: langgraph-runtime-inmem<0.28.0,>=0.27.0
|
|
|
18
19
|
Requires-Dist: langgraph-sdk>=0.3.5
|
|
19
20
|
Requires-Dist: langgraph<2,>=0.4.10
|
|
20
21
|
Requires-Dist: langsmith[otel]>=0.6.3
|
|
21
|
-
Requires-Dist: opentelemetry-api>=
|
|
22
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=
|
|
23
|
-
Requires-Dist: opentelemetry-sdk>=
|
|
22
|
+
Requires-Dist: opentelemetry-api>=0.0.1
|
|
23
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.0.1
|
|
24
|
+
Requires-Dist: opentelemetry-sdk>=0.0.1
|
|
24
25
|
Requires-Dist: orjson>=3.9.7
|
|
25
26
|
Requires-Dist: protobuf<7.0.0,>=6.32.1
|
|
26
27
|
Requires-Dist: pyjwt>=2.9.0
|
|
@@ -31,6 +32,7 @@ Requires-Dist: tenacity>=8.0.0
|
|
|
31
32
|
Requires-Dist: truststore>=0.1
|
|
32
33
|
Requires-Dist: uuid-utils>=0.12.0
|
|
33
34
|
Requires-Dist: uvicorn>=0.26.0
|
|
35
|
+
Requires-Dist: uvloop>=0.18.0; platform_system != 'Windows'
|
|
34
36
|
Requires-Dist: watchfiles>=0.13
|
|
35
37
|
Requires-Dist: zstandard>=0.23.0
|
|
36
38
|
Description-Content-Type: text/markdown
|
|
@@ -25,14 +25,14 @@ wheels = [
|
|
|
25
25
|
|
|
26
26
|
[[package]]
|
|
27
27
|
name = "click"
|
|
28
|
-
version = "8.3.
|
|
28
|
+
version = "8.3.2"
|
|
29
29
|
source = { registry = "https://pypi.org/simple" }
|
|
30
30
|
dependencies = [
|
|
31
31
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
32
32
|
]
|
|
33
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
33
|
+
sdist = { url = "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz", hash = "sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5", size = 302856, upload-time = "2026-04-03T19:14:45.118Z" }
|
|
34
34
|
wheels = [
|
|
35
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
35
|
+
{ url = "https://files.pythonhosted.org/packages/e4/20/71885d8b97d4f3dde17b1fdb92dbd4908b00541c5a3379787137285f602e/click-8.3.2-py3-none-any.whl", hash = "sha256:1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d", size = 108379, upload-time = "2026-04-03T19:14:43.505Z" },
|
|
36
36
|
]
|
|
37
37
|
|
|
38
38
|
[[package]]
|
|
@@ -120,7 +120,7 @@ dependencies = [
|
|
|
120
120
|
|
|
121
121
|
[package.metadata]
|
|
122
122
|
requires-dist = [
|
|
123
|
-
{ name = "click", specifier = ">=8.
|
|
123
|
+
{ name = "click", specifier = ">=8.3.2" },
|
|
124
124
|
{ name = "datadog-api-client", specifier = ">=2.0.0" },
|
|
125
125
|
{ name = "httpx", specifier = ">=0.27.0" },
|
|
126
126
|
{ name = "langgraph-sdk", specifier = ">=0.2.10" },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# When editing this file,
|
|
1
|
+
# When editing this file, the following docs pages should be updated by the sync-constraints workflow:
|
|
2
2
|
# https://github.com/langchain-ai/docs/blob/main/src/langsmith/setup-app-requirements-txt.mdx
|
|
3
3
|
# https://github.com/langchain-ai/docs/blob/main/src/langsmith/setup-pyproject.mdx
|
|
4
4
|
langgraph>=0.4.10,<2
|
|
@@ -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>=2.1.
|
|
13
|
+
sse-starlette>=2.1.3,<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.101"
|
|
@@ -2032,7 +2032,7 @@ async def generate_agent_card(request: ApiRequest, assistant_id: str) -> dict[st
|
|
|
2032
2032
|
):
|
|
2033
2033
|
base_url = f"{scheme}://{host}:{port}{path}"
|
|
2034
2034
|
else:
|
|
2035
|
-
base_url = f"{scheme}://{host}"
|
|
2035
|
+
base_url = f"{scheme}://{host}{path}"
|
|
2036
2036
|
agent_path = f"/a2a/{assistant_id}"
|
|
2037
2037
|
|
|
2038
2038
|
agent_url = f"{base_url}{agent_path}"
|
|
@@ -523,7 +523,12 @@ LSD_DD_ENDPOINT = _first_non_empty(
|
|
|
523
523
|
# Not in public docs: infrastructure, set by platform
|
|
524
524
|
METRIC_PREFIX = env("METRIC_PREFIX", cast=str, default="lg_api_")
|
|
525
525
|
# Not in public docs: infrastructure, set by platform
|
|
526
|
-
|
|
526
|
+
_METRIC_MAX_EMITTING_TIER_DEFAULT = (
|
|
527
|
+
1 if os.environ.get("LSD_DEPLOYMENT_TYPE", "") in ("dev", "dev_free") else 2
|
|
528
|
+
)
|
|
529
|
+
METRIC_MAX_EMITTING_TIER = env(
|
|
530
|
+
"METRIC_MAX_EMITTING_TIER", cast=int, default=_METRIC_MAX_EMITTING_TIER_DEFAULT
|
|
531
|
+
)
|
|
527
532
|
DATADOG_METRICS_ENABLED = bool(LSD_DD_API_KEY)
|
|
528
533
|
LANGGRAPH_LOGS_ENDPOINT = env("LANGGRAPH_LOGS_ENDPOINT", cast=str, default=None)
|
|
529
534
|
LANGGRAPH_LOGS_ENABLED = env("LANGGRAPH_LOGS_ENABLED", cast=bool, default=False)
|
|
@@ -12,7 +12,7 @@ async def main(grpc_port: int = 50051):
|
|
|
12
12
|
loaded_config = json.load(file)
|
|
13
13
|
logging.config.dictConfig(loaded_config)
|
|
14
14
|
try:
|
|
15
|
-
import uvloop #
|
|
15
|
+
import uvloop # noqa: PLC0415
|
|
16
16
|
|
|
17
17
|
uvloop.install()
|
|
18
18
|
except ImportError:
|
|
@@ -260,6 +260,9 @@ def restore_dd_trace_context(
|
|
|
260
260
|
if ddtracer is None or not headers:
|
|
261
261
|
yield
|
|
262
262
|
return
|
|
263
|
+
|
|
264
|
+
# Setup the ddtrace span for the worker.run_graph span
|
|
265
|
+
span = None
|
|
263
266
|
try:
|
|
264
267
|
from ddtrace.propagation.http import ( # type: ignore[unresolved-import] # noqa: PLC0415
|
|
265
268
|
HTTPPropagator,
|
|
@@ -274,13 +277,27 @@ def restore_dd_trace_context(
|
|
|
274
277
|
span.set_tag("run_id", run_id)
|
|
275
278
|
if thread_id:
|
|
276
279
|
span.set_tag("thread_id", thread_id)
|
|
277
|
-
try:
|
|
278
|
-
yield
|
|
279
|
-
finally:
|
|
280
|
-
span.finish()
|
|
281
280
|
except Exception:
|
|
282
281
|
logger.debug("Failed to restore ddtrace context", exc_info=True)
|
|
283
|
-
|
|
282
|
+
if span is not None:
|
|
283
|
+
try:
|
|
284
|
+
span.finish()
|
|
285
|
+
except Exception:
|
|
286
|
+
logger.warning("Failed to finish ddtrace context span", exc_info=True)
|
|
287
|
+
# Tracing setup failures must never interfere with application logic
|
|
288
|
+
yield
|
|
289
|
+
return
|
|
290
|
+
|
|
291
|
+
# Yield to the caller, ensuring the span is finished even if an exception is raised.
|
|
292
|
+
try:
|
|
293
|
+
yield
|
|
294
|
+
finally:
|
|
295
|
+
if span is not None:
|
|
296
|
+
try:
|
|
297
|
+
span.finish()
|
|
298
|
+
except Exception:
|
|
299
|
+
logger.warning("Failed to finish ddtrace context span", exc_info=True)
|
|
300
|
+
# Tracing failures must never interfere with application logic
|
|
284
301
|
|
|
285
302
|
|
|
286
303
|
@asynccontextmanager
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"format": "prettier --write ."
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@hono/node-server": "^1.19.
|
|
10
|
+
"@hono/node-server": "^1.19.13",
|
|
11
11
|
"@hono/zod-validator": "^0.7.6",
|
|
12
12
|
"@langchain/core": "^1.1.38",
|
|
13
13
|
"@langchain/langgraph": "^1.2.6",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dedent": "^1.7.2",
|
|
20
20
|
"esbuild": "^0.27.4",
|
|
21
21
|
"exit-hook": "^5.1.0",
|
|
22
|
-
"hono": "^4.12.
|
|
22
|
+
"hono": "^4.12.12",
|
|
23
23
|
"p-queue": "^9.0.1",
|
|
24
24
|
"p-retry": "^7.1.1",
|
|
25
25
|
"tsx": "^4.21.0",
|
|
@@ -327,10 +327,10 @@
|
|
|
327
327
|
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz#1f7ba71a3d6155d44a6faa8dbe249c62ab3e408c"
|
|
328
328
|
integrity sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==
|
|
329
329
|
|
|
330
|
-
"@hono/node-server@^1.12.0", "@hono/node-server@^1.19.
|
|
331
|
-
version "1.19.
|
|
332
|
-
resolved "https://registry.yarnpkg.com/@hono/node-server/-/node-server-1.19.
|
|
333
|
-
integrity sha512-
|
|
330
|
+
"@hono/node-server@^1.12.0", "@hono/node-server@^1.19.13":
|
|
331
|
+
version "1.19.13"
|
|
332
|
+
resolved "https://registry.yarnpkg.com/@hono/node-server/-/node-server-1.19.13.tgz#4838c766a1237253d4dde3281cf7d5c65186fd32"
|
|
333
|
+
integrity sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==
|
|
334
334
|
|
|
335
335
|
"@hono/zod-validator@^0.7.6":
|
|
336
336
|
version "0.7.6"
|
|
@@ -773,11 +773,6 @@
|
|
|
773
773
|
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
|
|
774
774
|
integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
|
|
775
775
|
|
|
776
|
-
"@types/uuid@^10.0.0":
|
|
777
|
-
version "10.0.0"
|
|
778
|
-
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d"
|
|
779
|
-
integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==
|
|
780
|
-
|
|
781
776
|
"@typescript/vfs@^1.6.0", "@typescript/vfs@^1.6.4":
|
|
782
777
|
version "1.6.4"
|
|
783
778
|
resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.6.4.tgz#7543a3bd961727eb51c8bdafc3ed5e0fb5f56dff"
|
|
@@ -845,13 +840,6 @@
|
|
|
845
840
|
convert-source-map "^2.0.0"
|
|
846
841
|
tinyrainbow "^3.1.0"
|
|
847
842
|
|
|
848
|
-
ansi-styles@^4.1.0:
|
|
849
|
-
version "4.3.0"
|
|
850
|
-
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
|
851
|
-
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
|
852
|
-
dependencies:
|
|
853
|
-
color-convert "^2.0.1"
|
|
854
|
-
|
|
855
843
|
ansi-styles@^5.0.0:
|
|
856
844
|
version "5.2.0"
|
|
857
845
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
|
|
@@ -921,21 +909,6 @@ chai@^6.2.2:
|
|
|
921
909
|
resolved "https://registry.yarnpkg.com/chai/-/chai-6.2.2.tgz#ae41b52c9aca87734505362717f3255facda360e"
|
|
922
910
|
integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==
|
|
923
911
|
|
|
924
|
-
chalk@^4.1.2:
|
|
925
|
-
version "4.1.2"
|
|
926
|
-
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
|
927
|
-
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
|
928
|
-
dependencies:
|
|
929
|
-
ansi-styles "^4.1.0"
|
|
930
|
-
supports-color "^7.1.0"
|
|
931
|
-
|
|
932
|
-
color-convert@^2.0.1:
|
|
933
|
-
version "2.0.1"
|
|
934
|
-
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
|
935
|
-
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
|
936
|
-
dependencies:
|
|
937
|
-
color-name "~1.1.4"
|
|
938
|
-
|
|
939
912
|
color-convert@^3.1.3:
|
|
940
913
|
version "3.1.3"
|
|
941
914
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-3.1.3.tgz#db6627b97181cb8facdfce755ae26f97ab0711f1"
|
|
@@ -948,11 +921,6 @@ color-name@^2.0.0:
|
|
|
948
921
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-2.1.0.tgz#0b677385c1c4b4edfdeaf77e38fa338e3a40b693"
|
|
949
922
|
integrity sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==
|
|
950
923
|
|
|
951
|
-
color-name@~1.1.4:
|
|
952
|
-
version "1.1.4"
|
|
953
|
-
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
|
954
|
-
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
|
955
|
-
|
|
956
924
|
color-string@^2.1.3:
|
|
957
925
|
version "2.1.4"
|
|
958
926
|
resolved "https://registry.yarnpkg.com/color-string/-/color-string-2.1.4.tgz#9dcf566ff976e23368c8bd673f5c35103ab41058"
|
|
@@ -978,13 +946,6 @@ commander@^13.0.0:
|
|
|
978
946
|
resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46"
|
|
979
947
|
integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==
|
|
980
948
|
|
|
981
|
-
console-table-printer@^2.12.1:
|
|
982
|
-
version "2.15.0"
|
|
983
|
-
resolved "https://registry.yarnpkg.com/console-table-printer/-/console-table-printer-2.15.0.tgz#5c808204640b8f024d545bde8aabe5d344dfadc1"
|
|
984
|
-
integrity sha512-SrhBq4hYVjLCkBVOWaTzceJalvn5K1Zq5aQA6wXC/cYjI3frKWNPEMK3sZsJfNNQApvCQmgBcc13ZKmFj8qExw==
|
|
985
|
-
dependencies:
|
|
986
|
-
simple-wcswidth "^1.1.2"
|
|
987
|
-
|
|
988
949
|
convert-source-map@^2.0.0:
|
|
989
950
|
version "2.0.0"
|
|
990
951
|
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
|
|
@@ -1230,15 +1191,10 @@ graceful-fs@^4.2.4:
|
|
|
1230
1191
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
|
|
1231
1192
|
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
|
|
1232
1193
|
|
|
1233
|
-
|
|
1234
|
-
version "4.
|
|
1235
|
-
resolved "https://registry.yarnpkg.com/
|
|
1236
|
-
integrity sha512-
|
|
1237
|
-
|
|
1238
|
-
hono@^4.12.9, hono@^4.5.4:
|
|
1239
|
-
version "4.12.9"
|
|
1240
|
-
resolved "https://registry.yarnpkg.com/hono/-/hono-4.12.9.tgz#7cd59dec4abf02022f5baad87f6413a04081144c"
|
|
1241
|
-
integrity sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==
|
|
1194
|
+
hono@^4.12.12, hono@^4.5.4:
|
|
1195
|
+
version "4.12.12"
|
|
1196
|
+
resolved "https://registry.yarnpkg.com/hono/-/hono-4.12.12.tgz#1f14b0ffb47c386ff50d457d66e706d9c9a7f09c"
|
|
1197
|
+
integrity sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==
|
|
1242
1198
|
|
|
1243
1199
|
icss-utils@^5.0.0, icss-utils@^5.1.0:
|
|
1244
1200
|
version "5.1.0"
|
|
@@ -1312,16 +1268,12 @@ kuler@^2.0.0:
|
|
|
1312
1268
|
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
|
|
1313
1269
|
|
|
1314
1270
|
"langsmith@>=0.3.33 <1.0.0", langsmith@>=0.4.6, "langsmith@>=0.5.0 <1.0.0":
|
|
1315
|
-
version "0.5.
|
|
1316
|
-
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.5.
|
|
1317
|
-
integrity sha512-
|
|
1271
|
+
version "0.5.18"
|
|
1272
|
+
resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.5.18.tgz#c691ad23614f0b46eaf07d982e0ac988e1f43880"
|
|
1273
|
+
integrity sha512-3zuZUWffTHQ+73EAwnodADtf534VNEZUpXr9jC12qyG8/IQuJET7PRsCpTb9wX2lmBspakwLUpqpj3tNm/0bVA==
|
|
1318
1274
|
dependencies:
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
console-table-printer "^2.12.1"
|
|
1322
|
-
p-queue "^6.6.2"
|
|
1323
|
-
semver "^7.6.3"
|
|
1324
|
-
uuid "^10.0.0"
|
|
1275
|
+
p-queue "6.6.2"
|
|
1276
|
+
uuid "10.0.0"
|
|
1325
1277
|
|
|
1326
1278
|
lightningcss-android-arm64@1.30.2:
|
|
1327
1279
|
version "1.30.2"
|
|
@@ -1473,7 +1425,7 @@ p-finally@^1.0.0:
|
|
|
1473
1425
|
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
|
1474
1426
|
integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
|
|
1475
1427
|
|
|
1476
|
-
p-queue@^6.6.2:
|
|
1428
|
+
p-queue@6.6.2, p-queue@^6.6.2:
|
|
1477
1429
|
version "6.6.2"
|
|
1478
1430
|
resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
|
|
1479
1431
|
integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
|
|
@@ -1660,7 +1612,7 @@ safe-stable-stringify@^2.3.1:
|
|
|
1660
1612
|
resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd"
|
|
1661
1613
|
integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==
|
|
1662
1614
|
|
|
1663
|
-
semver@^7.
|
|
1615
|
+
semver@^7.7.1:
|
|
1664
1616
|
version "7.7.4"
|
|
1665
1617
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a"
|
|
1666
1618
|
integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
|
|
@@ -1670,11 +1622,6 @@ siginfo@^2.0.0:
|
|
|
1670
1622
|
resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30"
|
|
1671
1623
|
integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==
|
|
1672
1624
|
|
|
1673
|
-
simple-wcswidth@^1.1.2:
|
|
1674
|
-
version "1.1.2"
|
|
1675
|
-
resolved "https://registry.yarnpkg.com/simple-wcswidth/-/simple-wcswidth-1.1.2.tgz#66722f37629d5203f9b47c5477b1225b85d6525b"
|
|
1676
|
-
integrity sha512-j7piyCjAeTDSjzTSQ7DokZtMNwNlEAyxqSZeCS+CXH7fJ4jx3FuJ/mTW3mE+6JLs4VJBbcll0Kjn+KXI5t21Iw==
|
|
1677
|
-
|
|
1678
1625
|
source-map-js@^1.2.1:
|
|
1679
1626
|
version "1.2.1"
|
|
1680
1627
|
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
|
@@ -1721,13 +1668,6 @@ superjson@^2.2.2:
|
|
|
1721
1668
|
dependencies:
|
|
1722
1669
|
copy-anything "^4"
|
|
1723
1670
|
|
|
1724
|
-
supports-color@^7.1.0:
|
|
1725
|
-
version "7.2.0"
|
|
1726
|
-
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
|
1727
|
-
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
|
|
1728
|
-
dependencies:
|
|
1729
|
-
has-flag "^4.0.0"
|
|
1730
|
-
|
|
1731
1671
|
tailwindcss@4.1.18:
|
|
1732
1672
|
version "4.1.18"
|
|
1733
1673
|
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.1.18.tgz#f488ba47853abdb5354daf9679d3e7791fc4f4e3"
|
|
@@ -1819,7 +1759,7 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2:
|
|
|
1819
1759
|
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
|
1820
1760
|
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
|
1821
1761
|
|
|
1822
|
-
uuid@^10.0.0:
|
|
1762
|
+
uuid@10.0.0, uuid@^10.0.0:
|
|
1823
1763
|
version "10.0.0"
|
|
1824
1764
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
|
|
1825
1765
|
integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==
|
|
@@ -80,7 +80,10 @@ class AddPrefixedEnvVars:
|
|
|
80
80
|
return event_dict
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
class
|
|
83
|
+
class AddStaticMetadata:
|
|
84
|
+
def __init__(self) -> None:
|
|
85
|
+
self._has_deepagents = os.getenv("DEEPAGENTS_VERSION", "") != ""
|
|
86
|
+
|
|
84
87
|
def __call__(
|
|
85
88
|
self, logger: logging.Logger, method_name: str, event_dict: EventDict
|
|
86
89
|
) -> EventDict:
|
|
@@ -90,6 +93,8 @@ class AddApiVersion:
|
|
|
90
93
|
event_dict["langgraph_api_version"] = __version__
|
|
91
94
|
except ImportError:
|
|
92
95
|
pass
|
|
96
|
+
if self._has_deepagents:
|
|
97
|
+
event_dict["has_deepagents"] = "true"
|
|
93
98
|
return event_dict
|
|
94
99
|
|
|
95
100
|
|
|
@@ -171,7 +176,7 @@ shared_processors = [
|
|
|
171
176
|
structlog.stdlib.PositionalArgumentsFormatter(),
|
|
172
177
|
structlog.stdlib.ExtraAdder(),
|
|
173
178
|
AddPrefixedEnvVars("LANGSMITH_LANGGRAPH_"), # injected by docker build
|
|
174
|
-
|
|
179
|
+
AddStaticMetadata(),
|
|
175
180
|
structlog.processors.TimeStamper(fmt="iso", utc=True),
|
|
176
181
|
structlog.processors.StackInfoRenderer(),
|
|
177
182
|
structlog.processors.format_exc_info,
|
|
@@ -235,6 +235,10 @@ class DatadogMetricsReporter:
|
|
|
235
235
|
"k8s.deployment.name": os.getenv(
|
|
236
236
|
"LANGSMITH_HOST_PROJECT_NAME", ""
|
|
237
237
|
),
|
|
238
|
+
"has_deepagents": "true"
|
|
239
|
+
if os.getenv("DEEPAGENTS_VERSION", "") != ""
|
|
240
|
+
else "false",
|
|
241
|
+
"deployment_type": os.getenv("LSD_DEPLOYMENT_TYPE", ""),
|
|
238
242
|
}
|
|
239
243
|
)
|
|
240
244
|
base_exporter = OTLPMetricExporter(
|
|
@@ -6,7 +6,8 @@ across the API-to-worker boundary in distributed LangGraph deployments.
|
|
|
6
6
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
import sys
|
|
10
|
+
from contextlib import ExitStack, contextmanager
|
|
10
11
|
from typing import TYPE_CHECKING, Any
|
|
11
12
|
|
|
12
13
|
import structlog
|
|
@@ -142,7 +143,7 @@ def restore_otel_trace_context(
|
|
|
142
143
|
|
|
143
144
|
Note:
|
|
144
145
|
- No-ops if OTEL is disabled or unavailable
|
|
145
|
-
-
|
|
146
|
+
- Tracing setup failures won't break run execution
|
|
146
147
|
"""
|
|
147
148
|
if not config.OTEL_ENABLED or not _check_otel_available():
|
|
148
149
|
yield
|
|
@@ -153,6 +154,7 @@ def restore_otel_trace_context(
|
|
|
153
154
|
yield
|
|
154
155
|
return
|
|
155
156
|
|
|
157
|
+
stack: ExitStack | None = None
|
|
156
158
|
try:
|
|
157
159
|
from opentelemetry import trace # noqa: PLC0415
|
|
158
160
|
|
|
@@ -164,20 +166,45 @@ def restore_otel_trace_context(
|
|
|
164
166
|
# Extract context from carrier
|
|
165
167
|
ctx = _get_propagator().extract(carrier=carrier)
|
|
166
168
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
169
|
+
stack = ExitStack()
|
|
170
|
+
span = stack.enter_context(
|
|
171
|
+
_get_tracer().start_as_current_span(
|
|
172
|
+
"worker.stream_run",
|
|
173
|
+
context=ctx,
|
|
174
|
+
kind=trace.SpanKind.CONSUMER,
|
|
175
|
+
)
|
|
176
|
+
)
|
|
177
|
+
if run_id:
|
|
178
|
+
span.set_attribute(OTEL_RUN_ID_ATTR_NAME, run_id)
|
|
179
|
+
if thread_id:
|
|
180
|
+
span.set_attribute(OTEL_THREAD_ID_ATTR_NAME, thread_id)
|
|
178
181
|
except Exception:
|
|
179
|
-
logger.debug("Failed to
|
|
182
|
+
logger.debug("Failed to initialize OTEL worker span context", exc_info=True)
|
|
183
|
+
if stack is not None:
|
|
184
|
+
try:
|
|
185
|
+
stack.close()
|
|
186
|
+
except Exception:
|
|
187
|
+
logger.warning("Failed to close OTEL worker span", exc_info=True)
|
|
188
|
+
yield
|
|
189
|
+
return
|
|
190
|
+
|
|
191
|
+
try:
|
|
180
192
|
yield
|
|
193
|
+
except BaseException:
|
|
194
|
+
# Preserve exception metadata when unwinding managed contexts so OTEL
|
|
195
|
+
# can record body errors on the span.
|
|
196
|
+
exc_type, exc, tb = sys.exc_info()
|
|
197
|
+
try:
|
|
198
|
+
if stack.__exit__(exc_type, exc, tb):
|
|
199
|
+
return
|
|
200
|
+
except Exception:
|
|
201
|
+
logger.warning("Failed to close OTEL worker span", exc_info=True)
|
|
202
|
+
raise
|
|
203
|
+
else:
|
|
204
|
+
try:
|
|
205
|
+
stack.close()
|
|
206
|
+
except Exception:
|
|
207
|
+
logger.warning("Failed to close OTEL worker span", exc_info=True)
|
|
181
208
|
|
|
182
209
|
|
|
183
210
|
def inject_otel_headers() -> dict[str, str]:
|
|
@@ -225,7 +225,8 @@ class GrpcCheckpointer(BaseCheckpointSaver):
|
|
|
225
225
|
|
|
226
226
|
response = await self._call("alist", _request)
|
|
227
227
|
for proto_tuple in response.checkpoint_tuples:
|
|
228
|
-
|
|
228
|
+
if (tup := ckpt_conv.checkpoint_tuple_from_proto(proto_tuple)) is not None:
|
|
229
|
+
yield tup
|
|
229
230
|
|
|
230
231
|
def delete_thread(self, thread_id: str) -> None:
|
|
231
232
|
self._run_sync(self.adelete_thread(thread_id))
|
|
@@ -52,13 +52,15 @@ try:
|
|
|
52
52
|
Runtime,
|
|
53
53
|
)
|
|
54
54
|
except ImportError: # langgraph < 0.5/6
|
|
55
|
-
from langgraph.pregel.algo import ( # type: ignore[unresolved-import]
|
|
55
|
+
from langgraph.pregel.algo import ( # type: ignore[unresolved-import] # ty: ignore[unresolved-import]
|
|
56
56
|
PregelTaskWrites,
|
|
57
57
|
_proc_input,
|
|
58
58
|
_scratchpad,
|
|
59
59
|
local_read,
|
|
60
60
|
)
|
|
61
|
-
from langgraph.pregel.read import
|
|
61
|
+
from langgraph.pregel.read import ( # type: ignore[unresolved-import] # ty: ignore[unresolved-import]
|
|
62
|
+
PregelNode,
|
|
63
|
+
)
|
|
62
64
|
|
|
63
65
|
CACHE_NS_WRITES = "__pregel_cache_ns_writes"
|
|
64
66
|
CONF = "configurable"
|
|
@@ -71,7 +71,7 @@ def config_from_proto(
|
|
|
71
71
|
|
|
72
72
|
if config_proto.extra_json:
|
|
73
73
|
for k, v in config_proto.extra_json.items():
|
|
74
|
-
config[k] = orjson.loads(v) # type: ignore[invalid-key]
|
|
74
|
+
config[k] = orjson.loads(v) # type: ignore[invalid-key] # ty: ignore[invalid-key]
|
|
75
75
|
|
|
76
76
|
return config
|
|
77
77
|
|
|
@@ -292,7 +292,7 @@ def chat_message_from_proto(
|
|
|
292
292
|
additional_kwargs = cast("dict[str, Any]", m.get("additional_kwargs") or {})
|
|
293
293
|
additional_kwargs["__openai_role__"] = "developer"
|
|
294
294
|
m["additional_kwargs"] = additional_kwargs
|
|
295
|
-
return msg_cls(**m) # type: ignore[no-matching-overload, invalid-argument-type]
|
|
295
|
+
return msg_cls(**m) # type: ignore[no-matching-overload, invalid-argument-type] # ty: ignore[no-matching-overload, invalid-argument-type]
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
_TUPLE_KEYS = (
|
|
@@ -18,6 +18,8 @@ dependencies = [
|
|
|
18
18
|
"sse-starlette>=2.1.3,<3.4.0",
|
|
19
19
|
"starlette>=0.38.6",
|
|
20
20
|
"watchfiles>=0.13",
|
|
21
|
+
"uvloop>=0.18.0; platform_system != 'Windows'",
|
|
22
|
+
"httptools>=0.5.0; platform_system != 'Windows'",
|
|
21
23
|
"langgraph>=0.4.10,<2",
|
|
22
24
|
"langgraph-checkpoint>=3.0.1,<5",
|
|
23
25
|
"orjson>=3.9.7",
|
|
@@ -38,9 +40,9 @@ dependencies = [
|
|
|
38
40
|
"grpcio>=1.78.0,<1.79.0",
|
|
39
41
|
"grpcio-tools==1.78.0", # Pinned: must match GRPC_GENERATED_VERSION in generated _pb2_grpc.py stubs
|
|
40
42
|
"grpcio-health-checking>=1.78.0,<1.79.0",
|
|
41
|
-
"opentelemetry-api>=
|
|
42
|
-
"opentelemetry-sdk>=
|
|
43
|
-
"opentelemetry-exporter-otlp-proto-http>=
|
|
43
|
+
"opentelemetry-api>=0.0.1",
|
|
44
|
+
"opentelemetry-sdk>=0.0.1",
|
|
45
|
+
"opentelemetry-exporter-otlp-proto-http>=0.0.1",
|
|
44
46
|
"uuid-utils>=0.12.0",
|
|
45
47
|
"zstandard>=0.23.0",
|
|
46
48
|
]
|