langgraph-api 0.8.2__tar.gz → 0.8.4__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.8.2 → langgraph_api-0.8.4}/PKG-INFO +1 -1
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/constraints.txt +1 -1
- langgraph_api-0.8.4/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/config/__init__.py +12 -1
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/client.py +66 -1
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/package.json +2 -2
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/yarn.lock +159 -321
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/middleware/http_logger.py +55 -1
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/uv.lock +3 -3
- langgraph_api-0.8.2/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/.gitignore +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/LICENSE +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/Makefile +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/README.md +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/.gitignore +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/Makefile +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/README.md +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/capacity_dd_report.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/capacity_k6.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/capacity_runner.mjs +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/capacity_slack_report.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/capacity_urls.mjs +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/clean.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/continuous/uv.lock +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/graphs.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/mixed_workload_k6.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/mixed_workload_runner.mjs +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/package.json +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/ramp.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/reporting/slack_slowest_runs.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/reporting/slack_summary.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/run_local.sh +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/staircase.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/benchmark/weather.js +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/custom_store.sql +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/forbidden.txt +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/hatch_build.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/healthcheck.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/a2a.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/_handlers.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/command.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/executor_entrypoint.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/http.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/lc_security/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/lc_security/exceptions.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/lc_security/policy.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/lc_security/transport.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/metrics_datadog.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/route.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/server.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/state.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/store.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/channel.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/config.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/exception.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/graph.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/interrupt.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/messages.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/orchestrator_response.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/runopts.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/stream_mode.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/task.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_api_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_api_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_api_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_store_operation_entry_type_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/executor_api_pb2.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/executor_api_pb2.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/executor_api_pb2_grpc.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/proto/executor_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/sanitize.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/logging.json +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/openapi.json +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/pyproject.toml +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/scripts/create_license.py +0 -0
- {langgraph_api-0.8.2 → langgraph_api-0.8.4}/scripts/run_a2a_tck.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.8.4"
|
|
@@ -136,7 +136,7 @@ LANGGRAPH_AES_JSON_KEYS: frozenset[str] | None = env(
|
|
|
136
136
|
|
|
137
137
|
# redis
|
|
138
138
|
# Not in public docs: infrastructure, set by platform
|
|
139
|
-
REDIS_URI = env("REDIS_URI", cast=str)
|
|
139
|
+
REDIS_URI = env("REDIS_URI_CUSTOM", cast=str, default="") or env("REDIS_URI", cast=str)
|
|
140
140
|
REDIS_CLUSTER = env("REDIS_CLUSTER", cast=bool, default=False)
|
|
141
141
|
REDIS_MAX_CONNECTIONS = env("REDIS_MAX_CONNECTIONS", cast=int, default=2000)
|
|
142
142
|
REDIS_CONNECT_TIMEOUT = env("REDIS_CONNECT_TIMEOUT", cast=float, default=10.0)
|
|
@@ -144,6 +144,17 @@ REDIS_HEALTH_CHECK_INTERVAL = env(
|
|
|
144
144
|
"REDIS_HEALTH_CHECK_INTERVAL", cast=float, default=10.0
|
|
145
145
|
)
|
|
146
146
|
REDIS_KEY_PREFIX = env("REDIS_KEY_PREFIX", cast=str, default="")
|
|
147
|
+
# CA bundle (contents, not a path) for verifying Redis TLS. Must be
|
|
148
|
+
# base64-encoded PEM (base64 sidesteps newline-handling issues in
|
|
149
|
+
# env/YAML plumbing). Required for Memorystore for Redis Cluster with
|
|
150
|
+
# in-transit encryption.
|
|
151
|
+
REDIS_TLS_CA_CERT = env("REDIS_TLS_CA_CERT", cast=str, default="")
|
|
152
|
+
# GCP service account key JSON used to obtain access tokens for IAM-authed
|
|
153
|
+
# Memorystore for Redis Cluster. When set, every new Redis connection AUTHs
|
|
154
|
+
# with "default" + a fresh access token minted from this key.
|
|
155
|
+
REDIS_GCP_SERVICE_ACCOUNT_JSON = env(
|
|
156
|
+
"REDIS_GCP_SERVICE_ACCOUNT_JSON", cast=str, default=""
|
|
157
|
+
)
|
|
147
158
|
RUN_STATS_CACHE_SECONDS = env("RUN_STATS_CACHE_SECONDS", cast=int, default=60)
|
|
148
159
|
|
|
149
160
|
# server
|
|
@@ -19,9 +19,70 @@ from langgraph_grpc_common.proto.core_api_pb2_grpc import (
|
|
|
19
19
|
)
|
|
20
20
|
|
|
21
21
|
from langgraph_api import config
|
|
22
|
+
from langgraph_api.logging import worker_config
|
|
22
23
|
|
|
23
24
|
logger = structlog.stdlib.get_logger(__name__)
|
|
24
25
|
|
|
26
|
+
_REQUEST_ID_METADATA_KEY = "x-request-id"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class _RequestIdCallDetails:
|
|
30
|
+
"""Duck-typed ClientCallDetails with overridden metadata.
|
|
31
|
+
|
|
32
|
+
Does not subclass aio.ClientCallDetails because its shape varies across
|
|
33
|
+
grpcio versions (namedtuple vs. regular class), causing __new__ errors.
|
|
34
|
+
gRPC reads call details by attribute access, so duck typing is sufficient.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
__slots__ = (
|
|
38
|
+
"compression",
|
|
39
|
+
"credentials",
|
|
40
|
+
"metadata",
|
|
41
|
+
"method",
|
|
42
|
+
"timeout",
|
|
43
|
+
"wait_for_ready",
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
def __init__(
|
|
47
|
+
self, original: aio.ClientCallDetails, metadata: list[tuple[str, str]]
|
|
48
|
+
) -> None:
|
|
49
|
+
self.method = original.method
|
|
50
|
+
self.timeout = original.timeout
|
|
51
|
+
self.metadata = metadata
|
|
52
|
+
self.credentials = original.credentials
|
|
53
|
+
self.wait_for_ready = original.wait_for_ready
|
|
54
|
+
self.compression = getattr(original, "compression", None)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class _RequestIdInterceptor(
|
|
58
|
+
aio.UnaryUnaryClientInterceptor,
|
|
59
|
+
aio.UnaryStreamClientInterceptor,
|
|
60
|
+
aio.StreamStreamClientInterceptor,
|
|
61
|
+
):
|
|
62
|
+
"""Injects x-request-id from the current logging context into outgoing gRPC metadata."""
|
|
63
|
+
|
|
64
|
+
def _inject(
|
|
65
|
+
self, client_call_details: aio.ClientCallDetails
|
|
66
|
+
) -> aio.ClientCallDetails:
|
|
67
|
+
ctx = worker_config.get()
|
|
68
|
+
request_id: str | None = ctx.get("request_id") if ctx else None
|
|
69
|
+
if not request_id:
|
|
70
|
+
return client_call_details
|
|
71
|
+
metadata = list(client_call_details.metadata or [])
|
|
72
|
+
metadata.append((_REQUEST_ID_METADATA_KEY, request_id))
|
|
73
|
+
return _RequestIdCallDetails(client_call_details, metadata)
|
|
74
|
+
|
|
75
|
+
async def intercept_unary_unary(self, continuation, client_call_details, request):
|
|
76
|
+
return await continuation(self._inject(client_call_details), request)
|
|
77
|
+
|
|
78
|
+
async def intercept_unary_stream(self, continuation, client_call_details, request):
|
|
79
|
+
return await continuation(self._inject(client_call_details), request)
|
|
80
|
+
|
|
81
|
+
async def intercept_stream_stream(
|
|
82
|
+
self, continuation, client_call_details, request_iterator
|
|
83
|
+
):
|
|
84
|
+
return await continuation(self._inject(client_call_details), request_iterator)
|
|
85
|
+
|
|
25
86
|
|
|
26
87
|
# Shared gRPC client pools (main thread + thread-local for isolated loops).
|
|
27
88
|
_client_pool: "GrpcClientPool | None" = None
|
|
@@ -79,7 +140,11 @@ class GrpcClient:
|
|
|
79
140
|
),
|
|
80
141
|
]
|
|
81
142
|
|
|
82
|
-
self._channel = aio.insecure_channel(
|
|
143
|
+
self._channel = aio.insecure_channel(
|
|
144
|
+
self.server_address,
|
|
145
|
+
options=options,
|
|
146
|
+
interceptors=[_RequestIdInterceptor()],
|
|
147
|
+
)
|
|
83
148
|
|
|
84
149
|
self._assistants_stub = AssistantsStub(self._channel)
|
|
85
150
|
self._runs_stub = RunsStub(self._channel)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@types/json-schema": "^7.0.15",
|
|
18
18
|
"@typescript/vfs": "^1.6.4",
|
|
19
19
|
"dedent": "^1.7.2",
|
|
20
|
-
"esbuild": "^0.
|
|
20
|
+
"esbuild": "^0.28.0",
|
|
21
21
|
"exit-hook": "^5.1.0",
|
|
22
22
|
"hono": "^4.12.14",
|
|
23
23
|
"p-queue": "^9.0.1",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"zod": "^4.3.6"
|
|
32
32
|
},
|
|
33
33
|
"resolutions": {
|
|
34
|
-
"esbuild": "^0.
|
|
34
|
+
"esbuild": "^0.28.0",
|
|
35
35
|
"langsmith": ">=0.4.6",
|
|
36
36
|
"vite": "^6.4.2"
|
|
37
37
|
},
|