langgraph-api 0.15.0.dev5__tar.gz → 0.15.0rc2__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.15.0.dev5 → langgraph_api-0.15.0rc2}/.gitignore +1 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/Makefile +4 -6
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/PKG-INFO +1 -1
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/package.json +4 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/yarn.lock +7 -6
- langgraph_api-0.15.0rc2/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2a.py +56 -12
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui.py +6 -4
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/_handlers.py +3 -1
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/config/__init__.py +32 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/cron_scheduler.py +1 -1
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/client.mts +18 -6
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/yarn.lock +33 -28
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/metrics_collector.py +6 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/release_tags.py +35 -17
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/worker.py +36 -163
- langgraph_api-0.15.0rc2/langgraph_api/worker_runtime.py +221 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/config.py +2 -0
- langgraph_api-0.15.0.dev5/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/LICENSE +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/README.md +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/.gitignore +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/Makefile +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/README.md +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/classify-error.test.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/classify-error.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/delta_turns.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/store.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/capacity-ci.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/capacity-ci.test.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/clean.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/continuous/uv.lock +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/daily-report.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/daily-report.test.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/graphs.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/host-v2.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/host-v2.test.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/ramp.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/staircase.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/benchmark/weather.js +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/constraints.txt +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/custom_store.sql +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/forbidden.txt +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/hatch_build.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/healthcheck.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui_schemas/README.md +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui_schemas/client_capabilities.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui_schemas/client_data_model.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui_schemas/client_to_server.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/a2ui_schemas/server_to_client.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/event_streaming.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/command.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/capabilities.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/constants.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/event_normalizers.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/namespace.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/service.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/session.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/state_normalizers.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/event_streaming/types.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/client.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/http.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/.yarnclean +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/lc_security/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/lc_security/exceptions.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/lc_security/policy.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/lc_security/transport.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/metrics_otlp.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/route.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/server.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/state.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/stream_v2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/tracing_session.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/store_pb2.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_grpc_common/store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/logging.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/openapi.json +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/pyproject.toml +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/scripts/create_license.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/scripts/run_a2a_tck.py +0 -0
- {langgraph_api-0.15.0.dev5 → langgraph_api-0.15.0rc2}/uv.lock +0 -0
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
.PHONY: build release lint format test test_watch start start-inmem start-inmem-license-oss start build-go-server start-go-server stop-go-server check-version check-base-imports test-a2a-tck test-a2a-tck-must test-a2a-tck-propose-baseline start-test-a2a-tck start-test-a2a-tck-must start-test-a2a-tck-watch test-mcp-conformance start-test-mcp-conformance list-mcp-scenarios test-auth-read-only-assistant
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
LANGSERVE_GRAPHS_ALL = '{"agent": {"path": "./tests/graphs/agent.py:graph", "description": "agent"}, "assistant_id_runtime": "./tests/graphs/assistant_id_runtime.py:graph", "custom_lifespan": "./tests/graphs/my_router.py:graph", "single_node": "./tests/graphs/single_node.py:graph", "benchmark": "./tests/graphs/benchmark.py:graph", "benchmark_delta": "./tests/graphs/benchmark.py:graph_delta", "benchmark_delta_freq": "./tests/graphs/benchmark.py:graph_delta_freq", "config_graph": "./tests/graphs/config_graph.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph", "agent_interrupt": "./tests/graphs/agent_interrupt.py:graph", "agent_parallel_interrupt": "./tests/graphs/agent_parallel_interrupt.py:graph", "message_type_test": "./tests/graphs/message_type_test.py:graph", "remote_subgraph_parent": "./tests/graphs/remote_subgraph_parent.py:graph", "simple_remote": "./tests/graphs/simple_remote.py:graph", "nested_subgraphs": "./tests/graphs/nested_subgraphs.py:graph", "functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci", "state_graph_fibonacci": "./tests/graphs/state_graph_fibonacci.py:fibonacci", "max_concurrency_graph": "./tests/graphs/max_concurrency_graph.py:graph", "unserializable_subgraph": "./tests/graphs/unserializable_subgraph.py:graph", "agent_interrupt_text": "./tests/graphs/agent_interrupt_text.py:graph", "agent_echo_stream": "./tests/graphs/agent_echo_stream.py:graph", "agent_tool_stream": "./tests/graphs/agent_tool_stream.py:graph", "runtime_graph": "./tests/graphs/runtime_graph.py:graph", "tool_call_chunk_stream": "./tests/graphs/tool_call_chunk_stream.py:graph", "ui_tool_call_stream": "./tests/graphs/ui_tool_call_stream.py:graph", "agent_metrics_stream": "./tests/graphs/agent_metrics_stream.py:graph", "agent_multimodal_stream": "./tests/graphs/agent_multimodal_stream.py:graph", "agent_bedtime_story": "./tests/graphs/agent_bedtime_story.py:graph", "delta_channel": "./tests/graphs/delta_channel.py:graph", "delta_channel_freq": "./tests/graphs/delta_channel_freq.py:graph", "delta_channel_files": "./tests/graphs/delta_channel_files.py:graph", "delta_channel_files_freq": "./tests/graphs/delta_channel_files_freq.py:graph", "delta_channel_legacy": "./tests/graphs/delta_channel_migration.py:graph_legacy", "delta_channel_delta": "./tests/graphs/delta_channel_migration.py:graph_delta", "delta_channel_delta_filter": "./tests/graphs/delta_channel_migration.py:graph_delta_filter", "delta_channel_messages_freq": "./tests/graphs/delta_channel_messages.py:graph_freq", "delta_channel_messages": "./tests/graphs/delta_channel_messages.py:graph", "delta_channel_messages_legacy": "./tests/graphs/delta_channel_messages.py:graph_legacy", "delta_channel_messages_remove": "./tests/graphs/delta_channel_messages.py:graph_remove", "delta_channel_messages_update": "./tests/graphs/delta_channel_messages.py:graph_update", "delta_channel_messages_delta": "./tests/graphs/delta_channel_messages.py:graph_delta", "store_e2e_async": "./tests/graphs/store_e2e.py:graph_async", "store_e2e_sync": "./tests/graphs/store_e2e.py:graph_sync"}'
|
|
5
|
-
LANGSERVE_GRAPHS_AUTH = '{"agent": {"path": "./tests/graphs/agent.py:graph", "description": "agent"}, "assistant_id_runtime": "./tests/graphs/assistant_id_runtime.py:graph", "config_graph": "./tests/graphs/config_graph.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph", "agent_parallel_interrupt": "./tests/graphs/agent_parallel_interrupt.py:graph", "functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci", "state_graph_fibonacci": "./tests/graphs/state_graph_fibonacci.py:fibonacci", "runtime_graph": "./tests/graphs/runtime_graph.py:graph"}'
|
|
3
|
+
LANGSERVE_GRAPHS_ALL := '$(shell uv run python tests/graphs/configure_langgraph.py --path-prefix ./tests/graphs --emit langserve-env)'
|
|
6
4
|
|
|
7
5
|
# Go server management
|
|
8
6
|
build-go-server:
|
|
@@ -238,7 +236,7 @@ start-auth-jwt:
|
|
|
238
236
|
LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='$(HTTP_CONFIG)' \
|
|
239
237
|
LANGGRAPH_AES_KEY='$(LANGGRAPH_AES_KEY)' \
|
|
240
238
|
N_JOBS_PER_WORKER=10 \
|
|
241
|
-
LANGSERVE_GRAPHS=$(
|
|
239
|
+
LANGSERVE_GRAPHS=$(LANGSERVE_GRAPHS_ALL) \
|
|
242
240
|
LANGGRAPH_STORE='$(STORE_CONFIG)' \
|
|
243
241
|
LANGGRAPH_CHECKPOINTER='$(CHECKPOINTER_CONFIG)' \
|
|
244
242
|
LANGGRAPH_AUTH='$(LANGGRAPH_AUTH)' \
|
|
@@ -255,7 +253,7 @@ start-auth-jwt:
|
|
|
255
253
|
start-auth-fastapi-jwt:
|
|
256
254
|
LANGGRAPH_RUNTIME_EDITION=inmem LANGGRAPH_HTTP='$(HTTP_CONFIG)' \
|
|
257
255
|
N_JOBS_PER_WORKER=10 \
|
|
258
|
-
LANGSERVE_GRAPHS=$(
|
|
256
|
+
LANGSERVE_GRAPHS=$(LANGSERVE_GRAPHS_ALL) \
|
|
259
257
|
LANGGRAPH_STORE='$(STORE_CONFIG)' \
|
|
260
258
|
LANGGRAPH_CHECKPOINTER='$(CHECKPOINTER_CONFIG)' \
|
|
261
259
|
LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_auth.py:auth"}' \
|
|
@@ -280,7 +278,7 @@ define RUN_FASTAPI_JWT_MW_ORDERING
|
|
|
280
278
|
LANGGRAPH_RUNTIME_EDITION=inmem \
|
|
281
279
|
LANGGRAPH_HTTP='{"app": "./tests/graphs/fastapi_jwt_middleware_ordering.py:app", "middleware_order": "$(1)", "enable_custom_route_auth": $(2)}' \
|
|
282
280
|
N_JOBS_PER_WORKER=10 \
|
|
283
|
-
LANGSERVE_GRAPHS=$(
|
|
281
|
+
LANGSERVE_GRAPHS=$(LANGSERVE_GRAPHS_ALL) \
|
|
284
282
|
LANGGRAPH_STORE='$(STORE_CONFIG)' \
|
|
285
283
|
LANGGRAPH_CHECKPOINTER='$(CHECKPOINTER_CONFIG)' \
|
|
286
284
|
LANGGRAPH_AUTH='{"path": "./tests/graphs/fastapi_jwt_middleware_ordering.py:auth"}' \
|
|
@@ -562,12 +562,13 @@ proxy-addr@~2.0.7:
|
|
|
562
562
|
forwarded "0.2.0"
|
|
563
563
|
ipaddr.js "1.9.1"
|
|
564
564
|
|
|
565
|
-
qs@6.10.3:
|
|
566
|
-
version "6.
|
|
567
|
-
resolved "https://registry.yarnpkg.com/qs/-/qs-6.
|
|
568
|
-
integrity sha512-
|
|
565
|
+
qs@6.10.3, qs@>=6.16.0:
|
|
566
|
+
version "6.16.0"
|
|
567
|
+
resolved "https://registry.yarnpkg.com/qs/-/qs-6.16.0.tgz#c22c723a28a920f3aacdce8289fabd43eccb79fd"
|
|
568
|
+
integrity sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==
|
|
569
569
|
dependencies:
|
|
570
|
-
|
|
570
|
+
es-define-property "^1.0.1"
|
|
571
|
+
side-channel "^1.1.1"
|
|
571
572
|
|
|
572
573
|
quickchart-js@^4.0.0:
|
|
573
574
|
version "4.0.0"
|
|
@@ -682,7 +683,7 @@ side-channel-weakmap@^1.0.2:
|
|
|
682
683
|
object-inspect "^1.13.3"
|
|
683
684
|
side-channel-map "^1.0.1"
|
|
684
685
|
|
|
685
|
-
side-channel@^1.
|
|
686
|
+
side-channel@^1.1.1:
|
|
686
687
|
version "1.1.1"
|
|
687
688
|
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.1.tgz#ea02c62e05dc4bea67d4442f0fb71ee192f8e0ab"
|
|
688
689
|
integrity sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.15.0rc2"
|
|
@@ -55,6 +55,8 @@ MAX_HISTORY_LENGTH_REQUESTED = 10
|
|
|
55
55
|
LANGGRAPH_HISTORY_QUERY_LIMIT = 500
|
|
56
56
|
HISTORY_SCOPE_EXTENSION_URI = "https://langchain.com/a2a/extensions/history-scope/v1"
|
|
57
57
|
HISTORY_SCOPE_HEADER = "LangGraph-A2A-History-Scope"
|
|
58
|
+
A2A_EXTENSIONS_HEADER = "A2A-Extensions"
|
|
59
|
+
A2UI_EXTENSIONS_HEADER = "X-A2A-Extensions"
|
|
58
60
|
HistoryScope = Literal["context", "task"]
|
|
59
61
|
|
|
60
62
|
|
|
@@ -123,6 +125,7 @@ class A2UIContext:
|
|
|
123
125
|
metadata: dict[str, Any]
|
|
124
126
|
extensions: list[str]
|
|
125
127
|
drop_invalid: bool = False
|
|
128
|
+
mime_type: str = A2UI_MIME_TYPE
|
|
126
129
|
|
|
127
130
|
|
|
128
131
|
_A2UI_DISABLED_CONTEXT = A2UIContext(False, False, {}, [])
|
|
@@ -170,6 +173,11 @@ def _a2ui_context_for_run(
|
|
|
170
173
|
active=a2a_metadata.get("a2ui_active") is True,
|
|
171
174
|
metadata={},
|
|
172
175
|
extensions=[],
|
|
176
|
+
mime_type=(
|
|
177
|
+
a2a_metadata["a2ui_mime_type"]
|
|
178
|
+
if is_a2ui_mime_type(a2a_metadata.get("a2ui_mime_type"))
|
|
179
|
+
else A2UI_MIME_TYPE
|
|
180
|
+
),
|
|
173
181
|
)
|
|
174
182
|
|
|
175
183
|
|
|
@@ -197,26 +205,46 @@ def _a2a_run_metadata(
|
|
|
197
205
|
**({"task_id": task_id} if task_id else {}),
|
|
198
206
|
**({"task_start_id": task_start_id} if task_start_id else {}),
|
|
199
207
|
**({"a2ui_active": context.active} if context.enabled else {}),
|
|
208
|
+
**(
|
|
209
|
+
{"a2ui_mime_type": context.mime_type}
|
|
210
|
+
if context.enabled and context.active
|
|
211
|
+
else {}
|
|
212
|
+
),
|
|
200
213
|
}
|
|
201
214
|
}
|
|
202
215
|
|
|
203
216
|
|
|
204
217
|
def _a2ui_message_context(
|
|
205
|
-
|
|
218
|
+
params: dict[str, Any],
|
|
219
|
+
assistant: dict[str, Any],
|
|
220
|
+
headers: Headers,
|
|
221
|
+
*,
|
|
222
|
+
default_mime_type: str = A2UI_MIME_TYPE,
|
|
206
223
|
) -> A2UIContext:
|
|
224
|
+
message = params.get("message") or {}
|
|
207
225
|
metadata = message.get("metadata") or {}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
226
|
+
if not isinstance(metadata, dict):
|
|
227
|
+
raise A2UIValidationError("Invalid A2A message metadata")
|
|
228
|
+
extensions: list[str] = []
|
|
229
|
+
for header in (A2A_EXTENSIONS_HEADER, A2UI_EXTENSIONS_HEADER):
|
|
230
|
+
for header_value in headers.getlist(header):
|
|
231
|
+
for value in header_value.split(","):
|
|
232
|
+
if (extension := value.strip()) and extension not in extensions:
|
|
233
|
+
extensions.append(extension)
|
|
234
|
+
mime_type = default_mime_type
|
|
235
|
+
for part in message.get("parts") or []:
|
|
236
|
+
part_metadata = part.get("metadata") if isinstance(part, dict) else None
|
|
237
|
+
if isinstance(part_metadata, dict) and is_a2ui_mime_type(
|
|
238
|
+
part_metadata.get("mimeType")
|
|
239
|
+
):
|
|
240
|
+
mime_type = part_metadata["mimeType"]
|
|
241
|
+
break
|
|
215
242
|
return A2UIContext(
|
|
216
243
|
enabled=_a2ui_enabled(assistant),
|
|
217
244
|
active=A2UI_EXTENSION_URI in extensions,
|
|
218
245
|
metadata=metadata,
|
|
219
246
|
extensions=extensions,
|
|
247
|
+
mime_type=mime_type,
|
|
220
248
|
)
|
|
221
249
|
|
|
222
250
|
|
|
@@ -892,7 +920,9 @@ def _process_a2a_message_parts(
|
|
|
892
920
|
{
|
|
893
921
|
"type": "data",
|
|
894
922
|
"data": part_data,
|
|
895
|
-
"metadata": normalize_metadata(
|
|
923
|
+
"metadata": normalize_metadata(
|
|
924
|
+
part_metadata, mime_type=a2ui.mime_type
|
|
925
|
+
),
|
|
896
926
|
}
|
|
897
927
|
)
|
|
898
928
|
continue
|
|
@@ -1114,7 +1144,7 @@ def _content_to_a2a_parts(
|
|
|
1114
1144
|
{
|
|
1115
1145
|
"kind": "data",
|
|
1116
1146
|
"data": data,
|
|
1117
|
-
"metadata": normalize_metadata(metadata),
|
|
1147
|
+
"metadata": normalize_metadata(metadata, mime_type=a2ui.mime_type),
|
|
1118
1148
|
}
|
|
1119
1149
|
)
|
|
1120
1150
|
elif (
|
|
@@ -2095,6 +2125,7 @@ async def handle_message_send(
|
|
|
2095
2125
|
task_id = None
|
|
2096
2126
|
task_start_id = str(uuid7())
|
|
2097
2127
|
task_ids_by_start_id: dict[str, str] = {}
|
|
2128
|
+
a2ui_mime_type = A2UI_MIME_TYPE
|
|
2098
2129
|
else:
|
|
2099
2130
|
task = await _resolve_task(
|
|
2100
2131
|
client,
|
|
@@ -2121,10 +2152,16 @@ async def handle_message_send(
|
|
|
2121
2152
|
task_id = task.task_id
|
|
2122
2153
|
task_start_id = None
|
|
2123
2154
|
task_ids_by_start_id = task.task_ids_by_start_id
|
|
2155
|
+
a2ui_mime_type = _a2ui_context_for_run(task.run).mime_type
|
|
2124
2156
|
|
|
2125
2157
|
# Process A2A message parts into LangChain messages format
|
|
2126
2158
|
try:
|
|
2127
|
-
a2ui = _a2ui_message_context(
|
|
2159
|
+
a2ui = _a2ui_message_context(
|
|
2160
|
+
params,
|
|
2161
|
+
assistant,
|
|
2162
|
+
request.headers,
|
|
2163
|
+
default_mime_type=a2ui_mime_type,
|
|
2164
|
+
)
|
|
2128
2165
|
message_role = _normalize_input_role(message.get("role", "ROLE_USER"))
|
|
2129
2166
|
input_content = _process_a2a_message_parts(
|
|
2130
2167
|
parts,
|
|
@@ -3352,6 +3389,7 @@ async def handle_message_stream(
|
|
|
3352
3389
|
context_id = context_id_from_message or str(uuid.uuid4())
|
|
3353
3390
|
task_id = None
|
|
3354
3391
|
task_start_id = str(uuid7())
|
|
3392
|
+
a2ui_mime_type = A2UI_MIME_TYPE
|
|
3355
3393
|
else:
|
|
3356
3394
|
task = await _resolve_task(
|
|
3357
3395
|
client,
|
|
@@ -3389,10 +3427,16 @@ async def handle_message_stream(
|
|
|
3389
3427
|
context_id = task.context_id
|
|
3390
3428
|
task_id = task.task_id
|
|
3391
3429
|
task_start_id = None
|
|
3430
|
+
a2ui_mime_type = _a2ui_context_for_run(task.run).mime_type
|
|
3392
3431
|
|
|
3393
3432
|
# Process A2A message parts into LangChain messages format
|
|
3394
3433
|
try:
|
|
3395
|
-
a2ui = _a2ui_message_context(
|
|
3434
|
+
a2ui = _a2ui_message_context(
|
|
3435
|
+
params,
|
|
3436
|
+
assistant,
|
|
3437
|
+
request.headers,
|
|
3438
|
+
default_mime_type=a2ui_mime_type,
|
|
3439
|
+
)
|
|
3396
3440
|
message_role = _normalize_input_role(message.get("role", "ROLE_USER"))
|
|
3397
3441
|
input_content = _process_a2a_message_parts(
|
|
3398
3442
|
parts,
|
|
@@ -9,8 +9,8 @@ import jsonschema_rs
|
|
|
9
9
|
import orjson
|
|
10
10
|
|
|
11
11
|
A2UI_EXTENSION_URI = "https://a2ui.org/a2a-extension/a2ui/v0.9"
|
|
12
|
-
A2UI_MIME_TYPE = "application/a2ui
|
|
13
|
-
_COMPAT_A2UI_MIME_TYPE = "application/json
|
|
12
|
+
A2UI_MIME_TYPE = "application/json+a2ui"
|
|
13
|
+
_COMPAT_A2UI_MIME_TYPE = "application/a2ui+json"
|
|
14
14
|
_SCHEMA_DIR = Path(__file__).with_name("a2ui_schemas")
|
|
15
15
|
|
|
16
16
|
|
|
@@ -52,9 +52,11 @@ def is_a2ui_mime_type(value: Any) -> bool:
|
|
|
52
52
|
return value in {A2UI_MIME_TYPE, _COMPAT_A2UI_MIME_TYPE}
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
def normalize_metadata(
|
|
55
|
+
def normalize_metadata(
|
|
56
|
+
metadata: dict[str, Any], *, mime_type: str = A2UI_MIME_TYPE
|
|
57
|
+
) -> dict[str, Any]:
|
|
56
58
|
if is_a2ui_mime_type(metadata.get("mimeType")):
|
|
57
|
-
return {**metadata, "mimeType":
|
|
59
|
+
return {**metadata, "mimeType": mime_type}
|
|
58
60
|
return metadata
|
|
59
61
|
|
|
60
62
|
|
|
@@ -287,7 +287,9 @@ async def handle_tools_list(
|
|
|
287
287
|
schemas = await client.assistants.get_schemas(
|
|
288
288
|
assistant["assistant_id"], headers=request.headers
|
|
289
289
|
)
|
|
290
|
-
input_schema = schemas.get("input_schema"
|
|
290
|
+
input_schema = schemas.get("input_schema", {})
|
|
291
|
+
if input_schema is None:
|
|
292
|
+
raise ValueError("Input schema generation failed")
|
|
291
293
|
if input_schema:
|
|
292
294
|
_sanitizers.simplify_mcp_schema_inplace(input_schema)
|
|
293
295
|
# MCP spec requires inputSchema to be a JSON Schema with type "object"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
from enum import StrEnum
|
|
2
3
|
from os import environ, getenv
|
|
3
4
|
from typing import TYPE_CHECKING, Annotated, Literal, TypeVar, cast
|
|
4
5
|
|
|
@@ -398,6 +399,35 @@ if THREAD_TTL is None and CHECKPOINTER_CONFIG is not None:
|
|
|
398
399
|
THREAD_TTL = CHECKPOINTER_CONFIG.get("ttl")
|
|
399
400
|
|
|
400
401
|
N_JOBS_PER_WORKER = env("N_JOBS_PER_WORKER", cast=int, default=10)
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
class DispatchMode(StrEnum):
|
|
405
|
+
"""How background runs are dispatched.
|
|
406
|
+
|
|
407
|
+
single-process: Python queue loop in the API process (default).
|
|
408
|
+
multi-process: Go queue worker claims runs and dispatches to Python runners.
|
|
409
|
+
"""
|
|
410
|
+
|
|
411
|
+
SINGLE_PROCESS = "single-process"
|
|
412
|
+
MULTI_PROCESS = "multi-process"
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
def _parse_dispatch_mode(value: str) -> DispatchMode:
|
|
416
|
+
try:
|
|
417
|
+
return DispatchMode(value)
|
|
418
|
+
except ValueError:
|
|
419
|
+
allowed = ", ".join(repr(mode.value) for mode in DispatchMode)
|
|
420
|
+
raise ValueError(
|
|
421
|
+
f"Invalid DISPATCH_MODE={value!r}; expected one of: {allowed}"
|
|
422
|
+
) from None
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
# Not in public docs: infrastructure dispatch mode
|
|
426
|
+
DISPATCH_MODE: DispatchMode = env(
|
|
427
|
+
"DISPATCH_MODE",
|
|
428
|
+
cast=_parse_dispatch_mode,
|
|
429
|
+
default=DispatchMode.SINGLE_PROCESS,
|
|
430
|
+
)
|
|
401
431
|
BG_JOB_TIMEOUT_SECS = env("BG_JOB_TIMEOUT_SECS", cast=float, default=86400)
|
|
402
432
|
STREAM_PUBLISH_RETRY_MAX_DURATION_SECS = env(
|
|
403
433
|
"LSD_STREAM_PUBLISH_RETRY_MAX_DURATION_SECS",
|
|
@@ -689,6 +719,7 @@ __all__ = [
|
|
|
689
719
|
"DATA_PLANE_JWT_SECRET",
|
|
690
720
|
"DATA_PLANE_ORG_ID",
|
|
691
721
|
"DB_MIGRATION_BY_CORE_API",
|
|
722
|
+
"DISPATCH_MODE",
|
|
692
723
|
"EXPOSE_INTERNAL_METRICS_PROMETHEUS",
|
|
693
724
|
"FF_CRONS_ENABLED",
|
|
694
725
|
"FF_LOG_DROPPED_EVENTS",
|
|
@@ -769,6 +800,7 @@ __all__ = [
|
|
|
769
800
|
"AuthConfig",
|
|
770
801
|
"CheckpointerConfig",
|
|
771
802
|
"CorsConfig",
|
|
803
|
+
"DispatchMode",
|
|
772
804
|
"HttpConfig",
|
|
773
805
|
"SerdeConfig",
|
|
774
806
|
"StoreConfig",
|
|
@@ -15,7 +15,7 @@ from langgraph_api.schema import Cron
|
|
|
15
15
|
from langgraph_api.serde import json_loads
|
|
16
16
|
from langgraph_api.utils import next_cron_date
|
|
17
17
|
from langgraph_api.utils.config import run_in_executor
|
|
18
|
-
from langgraph_api.
|
|
18
|
+
from langgraph_api.worker_runtime import set_auth_ctx_for_run
|
|
19
19
|
from langgraph_runtime.database import connect
|
|
20
20
|
from langgraph_runtime.retry import retry_db
|
|
21
21
|
|
|
@@ -346,7 +346,10 @@ const handleInvoke = <T extends z.ZodType<any>>(
|
|
|
346
346
|
const handleStream = <T extends z.ZodType<any>>(
|
|
347
347
|
name: string,
|
|
348
348
|
_schema: T,
|
|
349
|
-
handler: (
|
|
349
|
+
handler: (
|
|
350
|
+
rawPayload: z.infer<T>,
|
|
351
|
+
signal: AbortSignal,
|
|
352
|
+
) => AsyncGenerator<any, void, unknown>,
|
|
350
353
|
) => {
|
|
351
354
|
return (c: Context<any, any, { in: z.infer<T>; out: any }>) => {
|
|
352
355
|
const graphId = c.req.param("graphId");
|
|
@@ -370,18 +373,24 @@ const handleStream = <T extends z.ZodType<any>>(
|
|
|
370
373
|
|
|
371
374
|
try {
|
|
372
375
|
timer = setTimeout(sendHeartbeat, HEARTBEAT_MS);
|
|
373
|
-
for await (const data of handler(
|
|
376
|
+
for await (const data of handler(
|
|
377
|
+
{ graph_id: graphId, ...body },
|
|
378
|
+
c.req.raw.signal,
|
|
379
|
+
)) {
|
|
374
380
|
await sendSSE(name, data);
|
|
375
381
|
}
|
|
376
382
|
} catch (error) {
|
|
377
383
|
// Still print out the error, as the stack
|
|
378
384
|
// trace is not carried over in Python
|
|
379
385
|
logger.error(error);
|
|
380
|
-
|
|
386
|
+
// The socket is already gone once the request aborts, so skip the frame.
|
|
387
|
+
if (!c.req.raw.signal.aborted) {
|
|
388
|
+
await sendSSE("error", serializeError(error));
|
|
389
|
+
}
|
|
390
|
+
} finally {
|
|
391
|
+
clearTimeout(timer);
|
|
392
|
+
await resolve;
|
|
381
393
|
}
|
|
382
|
-
|
|
383
|
-
clearTimeout(timer);
|
|
384
|
-
await resolve;
|
|
385
394
|
});
|
|
386
395
|
};
|
|
387
396
|
};
|
|
@@ -682,6 +691,7 @@ function reviveCommand(
|
|
|
682
691
|
|
|
683
692
|
async function* streamEventsRequest(
|
|
684
693
|
rawPayload: z.infer<typeof StreamEventsPayload>,
|
|
694
|
+
signal: AbortSignal,
|
|
685
695
|
) {
|
|
686
696
|
const { graph_id: graphId, ...payload } = rawPayload;
|
|
687
697
|
const config = {
|
|
@@ -783,6 +793,7 @@ async function* streamEventsRequest(
|
|
|
783
793
|
input,
|
|
784
794
|
{
|
|
785
795
|
...config,
|
|
796
|
+
signal,
|
|
786
797
|
version: "v3",
|
|
787
798
|
interruptBefore,
|
|
788
799
|
interruptAfter,
|
|
@@ -803,6 +814,7 @@ async function* streamEventsRequest(
|
|
|
803
814
|
input,
|
|
804
815
|
{
|
|
805
816
|
...config,
|
|
817
|
+
signal,
|
|
806
818
|
version: "v2",
|
|
807
819
|
streamMode,
|
|
808
820
|
subgraphs: payload.subgraphs,
|
|
@@ -870,21 +870,21 @@ base64-js@^1.5.1:
|
|
|
870
870
|
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
|
871
871
|
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
|
872
872
|
|
|
873
|
-
baseline-browser-mapping@^2.
|
|
874
|
-
version "2.
|
|
875
|
-
resolved "https://registry.
|
|
876
|
-
integrity sha512-
|
|
873
|
+
baseline-browser-mapping@^2.11.12:
|
|
874
|
+
version "2.11.20"
|
|
875
|
+
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz#26078c7a4b08299656ea7ddceaebec955dc44303"
|
|
876
|
+
integrity sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==
|
|
877
877
|
|
|
878
878
|
browserslist@^4.28.1:
|
|
879
|
-
version "4.28.
|
|
880
|
-
resolved "https://registry.
|
|
881
|
-
integrity sha512-
|
|
879
|
+
version "4.28.8"
|
|
880
|
+
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.8.tgz#a3c79ceb70028527e5da7dafc887f3200b5168c0"
|
|
881
|
+
integrity sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==
|
|
882
882
|
dependencies:
|
|
883
|
-
baseline-browser-mapping "^2.
|
|
884
|
-
caniuse-lite "^1.0.
|
|
885
|
-
electron-to-chromium "^1.5.
|
|
886
|
-
node-releases "^2.0.
|
|
887
|
-
update-browserslist-db "^1.
|
|
883
|
+
baseline-browser-mapping "^2.11.12"
|
|
884
|
+
caniuse-lite "^1.0.30001809"
|
|
885
|
+
electron-to-chromium "^1.5.402"
|
|
886
|
+
node-releases "^2.0.53"
|
|
887
|
+
update-browserslist-db "^1.3.0"
|
|
888
888
|
|
|
889
889
|
bundle-name@^4.1.0:
|
|
890
890
|
version "4.1.0"
|
|
@@ -893,11 +893,16 @@ bundle-name@^4.1.0:
|
|
|
893
893
|
dependencies:
|
|
894
894
|
run-applescript "^7.0.0"
|
|
895
895
|
|
|
896
|
-
caniuse-lite@^1.0.
|
|
896
|
+
caniuse-lite@^1.0.30001766:
|
|
897
897
|
version "1.0.30001770"
|
|
898
898
|
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz"
|
|
899
899
|
integrity sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==
|
|
900
900
|
|
|
901
|
+
caniuse-lite@^1.0.30001809:
|
|
902
|
+
version "1.0.30001810"
|
|
903
|
+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz#4970b477dea3278374de9bc43aa8f5d39fc3cda2"
|
|
904
|
+
integrity sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==
|
|
905
|
+
|
|
901
906
|
chai@^6.2.2:
|
|
902
907
|
version "6.2.2"
|
|
903
908
|
resolved "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz"
|
|
@@ -1002,10 +1007,10 @@ dotenv@^16.4.7:
|
|
|
1002
1007
|
resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz"
|
|
1003
1008
|
integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==
|
|
1004
1009
|
|
|
1005
|
-
electron-to-chromium@^1.5.
|
|
1006
|
-
version "1.5.
|
|
1007
|
-
resolved "https://registry.
|
|
1008
|
-
integrity sha512-
|
|
1010
|
+
electron-to-chromium@^1.5.402:
|
|
1011
|
+
version "1.5.420"
|
|
1012
|
+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz#fc66d26a722d6f227e2092acdf38dd55b198cb44"
|
|
1013
|
+
integrity sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==
|
|
1009
1014
|
|
|
1010
1015
|
enabled@2.0.x:
|
|
1011
1016
|
version "2.0.0"
|
|
@@ -1416,10 +1421,10 @@ nanoid@^3.3.17:
|
|
|
1416
1421
|
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.18.tgz#f66a2de1199ffde0fcf21c8a5f13106b1c081913"
|
|
1417
1422
|
integrity sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==
|
|
1418
1423
|
|
|
1419
|
-
node-releases@^2.0.
|
|
1420
|
-
version "2.0.
|
|
1421
|
-
resolved "https://registry.
|
|
1422
|
-
integrity sha512-
|
|
1424
|
+
node-releases@^2.0.53:
|
|
1425
|
+
version "2.0.54"
|
|
1426
|
+
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.54.tgz#09af17d5647aa9f221ec5cf2becb95b68a981afe"
|
|
1427
|
+
integrity sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==
|
|
1423
1428
|
|
|
1424
1429
|
obug@^2.1.1:
|
|
1425
1430
|
version "2.1.1"
|
|
@@ -1549,9 +1554,9 @@ postcss-modules@^6.0.1:
|
|
|
1549
1554
|
string-hash "^1.1.3"
|
|
1550
1555
|
|
|
1551
1556
|
postcss-selector-parser@^7.0.0:
|
|
1552
|
-
version "7.1.
|
|
1553
|
-
resolved "https://registry.
|
|
1554
|
-
integrity sha512-
|
|
1557
|
+
version "7.1.5"
|
|
1558
|
+
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.5.tgz#ee7b090724eb60739b530660e5b402200e694a97"
|
|
1559
|
+
integrity sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==
|
|
1555
1560
|
dependencies:
|
|
1556
1561
|
cssesc "^3.0.0"
|
|
1557
1562
|
util-deprecate "^1.0.2"
|
|
@@ -1795,10 +1800,10 @@ undici@^7.28.0:
|
|
|
1795
1800
|
resolved "https://registry.yarnpkg.com/undici/-/undici-7.29.0.tgz#ae0f6f62e06e057a9cbb7b2b5fde2bb74f791b8f"
|
|
1796
1801
|
integrity sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==
|
|
1797
1802
|
|
|
1798
|
-
update-browserslist-db@^1.
|
|
1799
|
-
version "1.2
|
|
1800
|
-
resolved "https://registry.
|
|
1801
|
-
integrity sha512-
|
|
1803
|
+
update-browserslist-db@^1.3.0:
|
|
1804
|
+
version "1.3.2"
|
|
1805
|
+
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz#9d99fbff56c50bb11ba5fd35cece5916da595836"
|
|
1806
|
+
integrity sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==
|
|
1802
1807
|
dependencies:
|
|
1803
1808
|
escalade "^3.2.0"
|
|
1804
1809
|
picocolors "^1.1.1"
|
|
@@ -76,7 +76,13 @@ async def _collect_queue_and_workers(reporter) -> None:
|
|
|
76
76
|
(``not IS_QUEUE_ENTRYPOINT``) on **postgres**: inmem skips the DB round-trip,
|
|
77
77
|
and the dedicated queue worker leaves it to the API process so the global value
|
|
78
78
|
is not double-reported across the queue/API split.
|
|
79
|
+
|
|
80
|
+
Skipped entirely when ``DISPATCH_MODE=multi-process``: the Go queue worker's
|
|
81
|
+
stats loop owns worker gauges and queue depth.
|
|
79
82
|
"""
|
|
83
|
+
if config.DISPATCH_MODE == config.DispatchMode.MULTI_PROCESS:
|
|
84
|
+
return
|
|
85
|
+
|
|
80
86
|
if config.N_JOBS_PER_WORKER > 0:
|
|
81
87
|
workers = get_metrics()["workers"]
|
|
82
88
|
reporter.record_gauge(GAUGE_WORKERS_MAX, workers["max"])
|