langgraph-api 0.14.3__tar.gz → 0.15.0__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.14.3 → langgraph_api-0.15.0}/.gitignore +1 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/Makefile +21 -22
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/PKG-INFO +55 -4
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/README.md +51 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/continuous/uv.lock +3 -3
- langgraph_api-0.15.0/benchmark/multer.test.js +115 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/package.json +2 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/yarn.lock +30 -74
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/constraints.txt +1 -1
- langgraph_api-0.15.0/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/a2a.py +1223 -349
- langgraph_api-0.15.0/langgraph_api/api/a2ui.py +96 -0
- langgraph_api-0.15.0/langgraph_api/api/a2ui_schemas/README.md +5 -0
- langgraph_api-0.15.0/langgraph_api/api/a2ui_schemas/client_capabilities.json +74 -0
- langgraph_api-0.15.0/langgraph_api/api/a2ui_schemas/client_data_model.json +15 -0
- langgraph_api-0.15.0/langgraph_api/api/a2ui_schemas/client_to_server.json +56 -0
- langgraph_api-0.15.0/langgraph_api/api/a2ui_schemas/server_to_client.json +86 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/assistants.py +48 -57
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/_handlers.py +3 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/runs.py +110 -59
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/store.py +50 -16
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/threads.py +42 -48
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/config/__init__.py +41 -2
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/cron_scheduler.py +5 -2
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/middleware.py +14 -13
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/errors.py +1 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/service.py +24 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/graph.py +11 -8
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/client.mts +13 -2
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/package.json +1 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/remote.py +127 -12
- langgraph_api-0.15.0/langgraph_api/js/src/auth-mutations.mts +71 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/yarn.lock +37 -32
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/lc_security/transport.py +1 -1
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/metrics_collector.py +6 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/models/run.py +8 -9
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/release_tags.py +17 -17
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/stream.py +16 -4
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/validation.py +1 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/worker.py +40 -164
- langgraph_api-0.15.0/langgraph_api/worker_runtime.py +221 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/pyproject.toml +3 -2
- langgraph_api-0.15.0/scripts/run_a2a_tck.py +365 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/uv.lock +9 -7
- langgraph_api-0.14.3/langgraph_api/__init__.py +0 -1
- langgraph_api-0.14.3/scripts/run_a2a_tck.py +0 -236
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/LICENSE +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/.gitignore +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/Makefile +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/README.md +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/classify-error.test.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/classify-error.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/delta_turns.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/store.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/capacity-ci.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/capacity-ci.test.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/clean.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/daily-report.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/daily-report.test.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/graphs.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/host-v2.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/host-v2.test.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/ramp.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/staircase.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/benchmark/weather.js +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/custom_store.sql +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/forbidden.txt +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/hatch_build.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/healthcheck.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/event_streaming.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/command.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/capabilities.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/constants.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/event_normalizers.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/namespace.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/session.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/state_normalizers.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/event_streaming/types.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/client.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/http.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/.yarnclean +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/lc_security/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/lc_security/exceptions.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/lc_security/policy.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/metrics_otlp.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/route.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/server.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/state.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/store.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/stream_v2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/tracing_session.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/config.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/store.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/store_pb2.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_grpc_common/store.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/logging.json +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/openapi.json +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.14.3 → langgraph_api-0.15.0}/scripts/create_license.py +0 -0
|
@@ -1,8 +1,6 @@
|
|
|
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-
|
|
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", "private_config_subgraph": "./tests/graphs/private_config_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"}' \
|
|
@@ -317,48 +315,49 @@ bump-version:
|
|
|
317
315
|
|
|
318
316
|
# A2A TCK (Test Compatibility Kit) targets
|
|
319
317
|
# Requires a running server: make start (in another terminal)
|
|
320
|
-
# The script clones TCK to ~/.cache/a2a-tck and runs it directly
|
|
321
|
-
# (pip entry point is broken upstream)
|
|
322
318
|
|
|
323
319
|
TCK_PORT ?= 9123
|
|
324
320
|
TCK_GRAPH_ID ?= agent_simple
|
|
325
|
-
|
|
321
|
+
TCK_TRANSPORT ?= jsonrpc
|
|
326
322
|
|
|
327
323
|
test-a2a-tck:
|
|
328
324
|
uv run python scripts/run_a2a_tck.py \
|
|
329
325
|
--base-url http://localhost:$(TCK_PORT) \
|
|
330
326
|
--graph-id $(TCK_GRAPH_ID) \
|
|
331
|
-
--
|
|
327
|
+
--transport $(TCK_TRANSPORT) \
|
|
332
328
|
--verbose
|
|
333
329
|
|
|
334
|
-
test-a2a-tck-
|
|
330
|
+
test-a2a-tck-must:
|
|
335
331
|
uv run python scripts/run_a2a_tck.py \
|
|
336
332
|
--base-url http://localhost:$(TCK_PORT) \
|
|
337
333
|
--graph-id $(TCK_GRAPH_ID) \
|
|
338
|
-
--
|
|
334
|
+
--transport $(TCK_TRANSPORT) \
|
|
335
|
+
--level must \
|
|
339
336
|
--verbose
|
|
340
337
|
|
|
338
|
+
test-a2a-tck-propose-baseline:
|
|
339
|
+
uv run python scripts/run_a2a_tck.py \
|
|
340
|
+
--base-url http://localhost:$(TCK_PORT) \
|
|
341
|
+
--graph-id $(TCK_GRAPH_ID) \
|
|
342
|
+
--transport $(TCK_TRANSPORT) \
|
|
343
|
+
--propose-baseline
|
|
344
|
+
|
|
341
345
|
# Combined targets: start server + run A2A TCK together
|
|
342
346
|
# Uses npx concurrently to manage both processes
|
|
343
|
-
# TCK runner writes assistant_id to /tmp/langgraph_tck_assistant_id for agent card discovery
|
|
344
347
|
TCK_STARTUP_DELAY ?= 8
|
|
345
348
|
|
|
346
349
|
start-test-a2a-tck:
|
|
347
|
-
|
|
348
|
-
"$(MAKE) start" \
|
|
349
|
-
"sleep $(TCK_STARTUP_DELAY) && $(MAKE) test-a2a-tck"
|
|
350
|
+
$(MAKE) test-with-server TEST_TARGET=test-a2a-tck
|
|
350
351
|
|
|
351
|
-
start-test-a2a-tck-
|
|
352
|
-
|
|
353
|
-
"$(MAKE) start" \
|
|
354
|
-
"sleep $(TCK_STARTUP_DELAY) && $(MAKE) test-a2a-tck-mandatory"
|
|
352
|
+
start-test-a2a-tck-must:
|
|
353
|
+
$(MAKE) test-with-server TEST_TARGET=test-a2a-tck-must
|
|
355
354
|
|
|
356
355
|
# Watch mode: restart tests on file changes (server stays running)
|
|
357
356
|
# Useful during development - edit a2a.py and tests re-run automatically
|
|
358
357
|
start-test-a2a-tck-watch:
|
|
359
358
|
npx concurrently -k \
|
|
360
359
|
"$(MAKE) start" \
|
|
361
|
-
"sleep $(TCK_STARTUP_DELAY) && npx nodemon --watch langgraph_api/api/a2a.py --ext py --exec '$(MAKE) test-a2a-tck-
|
|
360
|
+
"sleep $(TCK_STARTUP_DELAY) && npx nodemon --watch langgraph_api/api/a2a.py --ext py --exec '$(MAKE) test-a2a-tck-must'"
|
|
362
361
|
|
|
363
362
|
# MCP Conformance Test targets
|
|
364
363
|
# Uses the official MCP conformance test suite (https://github.com/modelcontextprotocol/conformance)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langgraph-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
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
|
|
7
7
|
Requires-Python: >=3.11
|
|
8
|
+
Requires-Dist: anyio>=4.14.2
|
|
8
9
|
Requires-Dist: cloudpickle>=3.0.0
|
|
9
10
|
Requires-Dist: cryptography>=50.0.0
|
|
10
11
|
Requires-Dist: grpcio-health-checking<1.82.0,>=1.81.0
|
|
@@ -16,7 +17,7 @@ Requires-Dist: jsonschema-rs<0.45,>=0.20.0
|
|
|
16
17
|
Requires-Dist: langchain-core>=0.3.64
|
|
17
18
|
Requires-Dist: langchain-protocol<0.1,>=0.0.18
|
|
18
19
|
Requires-Dist: langgraph-checkpoint<5,>=3.0.1
|
|
19
|
-
Requires-Dist: langgraph-runtime-inmem<0.
|
|
20
|
+
Requires-Dist: langgraph-runtime-inmem<0.36.0.dev0,>=0.35.0.dev0
|
|
20
21
|
Requires-Dist: langgraph-sdk>=0.4.4
|
|
21
22
|
Requires-Dist: langgraph<2,>=0.4.10
|
|
22
23
|
Requires-Dist: langsmith[otel]>=0.6.3
|
|
@@ -28,7 +29,7 @@ Requires-Dist: orjson>=3.9.7
|
|
|
28
29
|
Requires-Dist: prometheus-client>=0.0.1
|
|
29
30
|
Requires-Dist: protobuf<7.0.0,>=6.32.1
|
|
30
31
|
Requires-Dist: pyjwt>=2.13.0
|
|
31
|
-
Requires-Dist: sse-starlette<
|
|
32
|
+
Requires-Dist: sse-starlette<4.0.0,>=2.1.3
|
|
32
33
|
Requires-Dist: starlette>=1.3.1
|
|
33
34
|
Requires-Dist: structlog<26,>=24.1.0
|
|
34
35
|
Requires-Dist: tenacity>=8.0.0
|
|
@@ -90,6 +91,56 @@ langgraph dev
|
|
|
90
91
|
|
|
91
92
|
Your agent's state (threads, runs, assistants) persists in memory while the server is running - perfect for development and testing. Each run's state is tracked and can be inspected, making it easy to debug and improve your agent's behavior.
|
|
92
93
|
|
|
94
|
+
## A2A task history scope
|
|
95
|
+
|
|
96
|
+
An A2A context can contain multiple tasks. By default, `SendMessage`, `GetTask`,
|
|
97
|
+
and `ListTasks` return the full context history. Set `historyScope` to `task` to
|
|
98
|
+
return only messages that belong to the requested task.
|
|
99
|
+
|
|
100
|
+
For `SendMessage`, set it in `configuration`:
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"jsonrpc": "2.0",
|
|
105
|
+
"id": "1",
|
|
106
|
+
"method": "SendMessage",
|
|
107
|
+
"params": {
|
|
108
|
+
"message": {
|
|
109
|
+
"role": "ROLE_USER",
|
|
110
|
+
"parts": [{"text": "Second request"}],
|
|
111
|
+
"messageId": "message-2",
|
|
112
|
+
"contextId": "8b1f0e5c-9a3d-4f27-b0c8-2e6a5d4c1b7a"
|
|
113
|
+
},
|
|
114
|
+
"configuration": {"historyScope": "task"}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
For `GetTask` and `ListTasks`, set it directly in `params`. If changing the
|
|
120
|
+
request body is not possible, send `LangGraph-A2A-History-Scope: task` instead.
|
|
121
|
+
An explicit request value takes precedence over the header.
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"jsonrpc": "2.0",
|
|
126
|
+
"id": "2",
|
|
127
|
+
"method": "GetTask",
|
|
128
|
+
"params": {"id": "<taskId>", "historyScope": "task"}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"jsonrpc": "2.0",
|
|
135
|
+
"id": "3",
|
|
136
|
+
"method": "ListTasks",
|
|
137
|
+
"params": {"contextId": "<contextId>", "historyScope": "task"}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
The agent card advertises support through the
|
|
142
|
+
`https://langchain.com/a2a/extensions/history-scope/v1` extension.
|
|
143
|
+
|
|
93
144
|
## How-To
|
|
94
145
|
|
|
95
146
|
#### Attaching a debugger
|
|
@@ -141,4 +192,4 @@ Options:
|
|
|
141
192
|
|
|
142
193
|
## License
|
|
143
194
|
|
|
144
|
-
This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
|
|
195
|
+
This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
|
|
@@ -47,6 +47,56 @@ langgraph dev
|
|
|
47
47
|
|
|
48
48
|
Your agent's state (threads, runs, assistants) persists in memory while the server is running - perfect for development and testing. Each run's state is tracked and can be inspected, making it easy to debug and improve your agent's behavior.
|
|
49
49
|
|
|
50
|
+
## A2A task history scope
|
|
51
|
+
|
|
52
|
+
An A2A context can contain multiple tasks. By default, `SendMessage`, `GetTask`,
|
|
53
|
+
and `ListTasks` return the full context history. Set `historyScope` to `task` to
|
|
54
|
+
return only messages that belong to the requested task.
|
|
55
|
+
|
|
56
|
+
For `SendMessage`, set it in `configuration`:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"jsonrpc": "2.0",
|
|
61
|
+
"id": "1",
|
|
62
|
+
"method": "SendMessage",
|
|
63
|
+
"params": {
|
|
64
|
+
"message": {
|
|
65
|
+
"role": "ROLE_USER",
|
|
66
|
+
"parts": [{"text": "Second request"}],
|
|
67
|
+
"messageId": "message-2",
|
|
68
|
+
"contextId": "8b1f0e5c-9a3d-4f27-b0c8-2e6a5d4c1b7a"
|
|
69
|
+
},
|
|
70
|
+
"configuration": {"historyScope": "task"}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
For `GetTask` and `ListTasks`, set it directly in `params`. If changing the
|
|
76
|
+
request body is not possible, send `LangGraph-A2A-History-Scope: task` instead.
|
|
77
|
+
An explicit request value takes precedence over the header.
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"jsonrpc": "2.0",
|
|
82
|
+
"id": "2",
|
|
83
|
+
"method": "GetTask",
|
|
84
|
+
"params": {"id": "<taskId>", "historyScope": "task"}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"jsonrpc": "2.0",
|
|
91
|
+
"id": "3",
|
|
92
|
+
"method": "ListTasks",
|
|
93
|
+
"params": {"contextId": "<contextId>", "historyScope": "task"}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
The agent card advertises support through the
|
|
98
|
+
`https://langchain.com/a2a/extensions/history-scope/v1` extension.
|
|
99
|
+
|
|
50
100
|
## How-To
|
|
51
101
|
|
|
52
102
|
#### Attaching a debugger
|
|
@@ -98,4 +148,4 @@ Options:
|
|
|
98
148
|
|
|
99
149
|
## License
|
|
100
150
|
|
|
101
|
-
This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
|
|
151
|
+
This project is licensed under the Elastic License 2.0 - see the [LICENSE](./LICENSE) file for details.
|
|
@@ -13,14 +13,14 @@ wheels = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "anyio"
|
|
16
|
-
version = "4.
|
|
16
|
+
version = "4.14.2"
|
|
17
17
|
source = { registry = "https://pypi.org/simple" }
|
|
18
18
|
dependencies = [
|
|
19
19
|
{ name = "idna" },
|
|
20
20
|
]
|
|
21
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
21
|
+
sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f", size = 260176, upload-time = "2026-07-12T20:29:07.082Z" }
|
|
22
22
|
wheels = [
|
|
23
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
23
|
+
{ url = "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494", size = 125813, upload-time = "2026-07-12T20:29:05.763Z" },
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
[[package]]
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { mkdtemp, readFile, rm } from "node:fs/promises";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { Readable } from "node:stream";
|
|
7
|
+
import test from "node:test";
|
|
8
|
+
|
|
9
|
+
// Check the copy NestJS actually loads, including nested dependency installs.
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const nestRequire = createRequire(
|
|
12
|
+
require.resolve("@nestjs/platform-express/package.json"),
|
|
13
|
+
);
|
|
14
|
+
const multer = nestRequire("multer");
|
|
15
|
+
|
|
16
|
+
function upload(middleware, fields = [{ name: "file", content: "benchmark" }]) {
|
|
17
|
+
const boundary = "benchmark-multer-test";
|
|
18
|
+
const body = Buffer.from(
|
|
19
|
+
fields
|
|
20
|
+
.map(
|
|
21
|
+
({ name, content }) =>
|
|
22
|
+
`--${boundary}\r\nContent-Disposition: form-data; name="${name}"; filename="result.txt"\r\nContent-Type: text/plain\r\n\r\n${content}\r\n`,
|
|
23
|
+
)
|
|
24
|
+
.join("") + `--${boundary}--\r\n`,
|
|
25
|
+
);
|
|
26
|
+
const req = Readable.from([body]);
|
|
27
|
+
req.headers = {
|
|
28
|
+
"content-type": `multipart/form-data; boundary=${boundary}`,
|
|
29
|
+
"content-length": String(body.length),
|
|
30
|
+
};
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
middleware(req, {}, (error) => (error ? reject(error) : resolve(req)));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
test("NestJS resolves patched Multer 2.x", () => {
|
|
37
|
+
const [major, minor] = nestRequire("multer/package.json")
|
|
38
|
+
.version.split(".")
|
|
39
|
+
.map(Number);
|
|
40
|
+
assert.equal(major, 2);
|
|
41
|
+
assert.ok(
|
|
42
|
+
minor >= 3,
|
|
43
|
+
"Multer must be >=2.3.0 to address the benchmark alerts",
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test("single uploads preserve memory storage and fileFilter callbacks", async () => {
|
|
48
|
+
let filtered = false;
|
|
49
|
+
const req = await upload(
|
|
50
|
+
multer({
|
|
51
|
+
limits: { fileSize: 1024, files: 1, fields: 1 },
|
|
52
|
+
fileFilter: (_req, file, done) => {
|
|
53
|
+
filtered = true;
|
|
54
|
+
assert.equal(file.originalname, "result.txt");
|
|
55
|
+
done(null, true);
|
|
56
|
+
},
|
|
57
|
+
}).single("file"),
|
|
58
|
+
);
|
|
59
|
+
assert.ok(filtered);
|
|
60
|
+
assert.equal(req.file.buffer.toString(), "benchmark");
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
for (const mode of ["array", "fields", "any"]) {
|
|
64
|
+
test(`${mode} uploads preserve the API used by NestJS interceptors`, async () => {
|
|
65
|
+
const parser = multer({ limits: { fileSize: 1024, files: 1 } });
|
|
66
|
+
const middleware =
|
|
67
|
+
mode === "array"
|
|
68
|
+
? parser.array("file", 1)
|
|
69
|
+
: mode === "fields"
|
|
70
|
+
? parser.fields([{ name: "file", maxCount: 1 }])
|
|
71
|
+
: parser.any();
|
|
72
|
+
const req = await upload(middleware);
|
|
73
|
+
const files = mode === "fields" ? req.files.file : req.files;
|
|
74
|
+
assert.equal(files.length, 1);
|
|
75
|
+
assert.equal(files[0].buffer.toString(), "benchmark");
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
test("disk storage preserves uploaded file contents", async () => {
|
|
80
|
+
const directory = await mkdtemp(path.join(tmpdir(), "benchmark-multer-"));
|
|
81
|
+
try {
|
|
82
|
+
const req = await upload(
|
|
83
|
+
multer({ dest: directory, limits: { fileSize: 1024 } }).single("file"),
|
|
84
|
+
);
|
|
85
|
+
assert.equal(await readFile(req.file.path, "utf8"), "benchmark");
|
|
86
|
+
} finally {
|
|
87
|
+
await rm(directory, { recursive: true, force: true });
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test("oversized files still return a MulterError", async () => {
|
|
92
|
+
await assert.rejects(
|
|
93
|
+
upload(multer({ limits: { fileSize: 2 } }).single("file")),
|
|
94
|
+
(error) =>
|
|
95
|
+
error instanceof multer.MulterError && error.code === "LIMIT_FILE_SIZE",
|
|
96
|
+
);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test("unexpected fields still return a MulterError", async () => {
|
|
100
|
+
await assert.rejects(
|
|
101
|
+
upload(multer().single("expected")),
|
|
102
|
+
(error) =>
|
|
103
|
+
error instanceof multer.MulterError &&
|
|
104
|
+
error.code === "LIMIT_UNEXPECTED_FILE",
|
|
105
|
+
);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test("fileFilter rejection does not retain a file", async () => {
|
|
109
|
+
const req = await upload(
|
|
110
|
+
multer({ fileFilter: (_req, _file, done) => done(null, false) }).single(
|
|
111
|
+
"file",
|
|
112
|
+
),
|
|
113
|
+
);
|
|
114
|
+
assert.equal(req.file, undefined);
|
|
115
|
+
});
|
|
@@ -108,7 +108,7 @@ buffer-from@^1.0.0:
|
|
|
108
108
|
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
|
109
109
|
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
|
110
110
|
|
|
111
|
-
busboy@^1.
|
|
111
|
+
busboy@^1.6.0:
|
|
112
112
|
version "1.6.0"
|
|
113
113
|
resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
|
|
114
114
|
integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
|
|
@@ -136,14 +136,14 @@ call-bound@^1.0.2:
|
|
|
136
136
|
call-bind-apply-helpers "^1.0.2"
|
|
137
137
|
get-intrinsic "^1.3.0"
|
|
138
138
|
|
|
139
|
-
concat-stream@^
|
|
140
|
-
version "
|
|
141
|
-
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-
|
|
142
|
-
integrity sha512-
|
|
139
|
+
concat-stream@^2.0.0:
|
|
140
|
+
version "2.0.0"
|
|
141
|
+
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
|
|
142
|
+
integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
|
|
143
143
|
dependencies:
|
|
144
144
|
buffer-from "^1.0.0"
|
|
145
145
|
inherits "^2.0.3"
|
|
146
|
-
readable-stream "^
|
|
146
|
+
readable-stream "^3.0.2"
|
|
147
147
|
typedarray "^0.0.6"
|
|
148
148
|
|
|
149
149
|
content-disposition@0.5.4:
|
|
@@ -173,11 +173,6 @@ cookie@~0.4.1:
|
|
|
173
173
|
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
|
174
174
|
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
|
175
175
|
|
|
176
|
-
core-util-is@~1.0.0:
|
|
177
|
-
version "1.0.3"
|
|
178
|
-
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
|
179
|
-
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
|
180
|
-
|
|
181
176
|
cors@2.8.5:
|
|
182
177
|
version "2.8.5"
|
|
183
178
|
resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
|
|
@@ -416,7 +411,7 @@ iconv-lite@0.4.24:
|
|
|
416
411
|
dependencies:
|
|
417
412
|
safer-buffer ">= 2.1.2 < 3"
|
|
418
413
|
|
|
419
|
-
inherits@2.0.4, inherits@^2.0.3
|
|
414
|
+
inherits@2.0.4, inherits@^2.0.3:
|
|
420
415
|
version "2.0.4"
|
|
421
416
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
|
422
417
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
|
@@ -426,11 +421,6 @@ ipaddr.js@1.9.1:
|
|
|
426
421
|
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
|
|
427
422
|
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
|
428
423
|
|
|
429
|
-
isarray@~1.0.0:
|
|
430
|
-
version "1.0.0"
|
|
431
|
-
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
|
432
|
-
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
|
433
|
-
|
|
434
424
|
javascript-stringify@^2.1.0:
|
|
435
425
|
version "2.1.0"
|
|
436
426
|
resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79"
|
|
@@ -473,18 +463,6 @@ mime@1.6.0:
|
|
|
473
463
|
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
|
474
464
|
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
|
475
465
|
|
|
476
|
-
minimist@^1.2.6:
|
|
477
|
-
version "1.2.8"
|
|
478
|
-
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
|
|
479
|
-
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
|
480
|
-
|
|
481
|
-
mkdirp@^0.5.4:
|
|
482
|
-
version "0.5.6"
|
|
483
|
-
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
|
|
484
|
-
integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
|
|
485
|
-
dependencies:
|
|
486
|
-
minimist "^1.2.6"
|
|
487
|
-
|
|
488
466
|
ms@2.0.0:
|
|
489
467
|
version "2.0.0"
|
|
490
468
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
|
@@ -495,18 +473,15 @@ ms@2.1.3, ms@^2.1.3:
|
|
|
495
473
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
|
496
474
|
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
|
497
475
|
|
|
498
|
-
multer@1.4.4-lts.1:
|
|
499
|
-
version "
|
|
500
|
-
resolved "https://registry.yarnpkg.com/multer/-/multer-
|
|
501
|
-
integrity sha512-
|
|
476
|
+
multer@1.4.4-lts.1, multer@^2.3.0:
|
|
477
|
+
version "2.3.0"
|
|
478
|
+
resolved "https://registry.yarnpkg.com/multer/-/multer-2.3.0.tgz#46f5a98c34e09661ff089fa49ae487846bd5b4fd"
|
|
479
|
+
integrity sha512-cjNbm3sttszgZeGfJR124D+jFEfkXCVAsoPBmFn9X7UxmDSFHWqE2CoEj0vrmSpuAFnqWR1Szcm9QTsiHr60Xw==
|
|
502
480
|
dependencies:
|
|
503
481
|
append-field "^1.0.0"
|
|
504
|
-
busboy "^1.
|
|
505
|
-
concat-stream "^
|
|
506
|
-
|
|
507
|
-
object-assign "^4.1.1"
|
|
508
|
-
type-is "^1.6.4"
|
|
509
|
-
xtend "^4.0.0"
|
|
482
|
+
busboy "^1.6.0"
|
|
483
|
+
concat-stream "^2.0.0"
|
|
484
|
+
type-is "^1.6.18"
|
|
510
485
|
|
|
511
486
|
negotiator@0.6.3:
|
|
512
487
|
version "0.6.3"
|
|
@@ -522,7 +497,7 @@ nodeplotlib@^1.0.4:
|
|
|
522
497
|
"@nestjs/platform-socket.io" "^8.2.3"
|
|
523
498
|
"@types/plotly.js" "^1.54.17"
|
|
524
499
|
|
|
525
|
-
object-assign@^4
|
|
500
|
+
object-assign@^4:
|
|
526
501
|
version "4.1.1"
|
|
527
502
|
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
|
528
503
|
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
|
|
@@ -549,11 +524,6 @@ path-to-regexp@0.1.7:
|
|
|
549
524
|
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
|
550
525
|
integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
|
|
551
526
|
|
|
552
|
-
process-nextick-args@~2.0.0:
|
|
553
|
-
version "2.0.1"
|
|
554
|
-
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
|
555
|
-
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
|
556
|
-
|
|
557
527
|
proxy-addr@~2.0.7:
|
|
558
528
|
version "2.0.7"
|
|
559
529
|
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
|
|
@@ -592,29 +562,20 @@ raw-body@2.5.1:
|
|
|
592
562
|
iconv-lite "0.4.24"
|
|
593
563
|
unpipe "1.0.0"
|
|
594
564
|
|
|
595
|
-
readable-stream@^
|
|
596
|
-
version "
|
|
597
|
-
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-
|
|
598
|
-
integrity sha512-
|
|
565
|
+
readable-stream@^3.0.2:
|
|
566
|
+
version "3.6.2"
|
|
567
|
+
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
|
|
568
|
+
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
|
599
569
|
dependencies:
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
process-nextick-args "~2.0.0"
|
|
604
|
-
safe-buffer "~5.1.1"
|
|
605
|
-
string_decoder "~1.1.1"
|
|
606
|
-
util-deprecate "~1.0.1"
|
|
570
|
+
inherits "^2.0.3"
|
|
571
|
+
string_decoder "^1.1.1"
|
|
572
|
+
util-deprecate "^1.0.1"
|
|
607
573
|
|
|
608
|
-
safe-buffer@5.2.1:
|
|
574
|
+
safe-buffer@5.2.1, safe-buffer@~5.2.0:
|
|
609
575
|
version "5.2.1"
|
|
610
576
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
|
611
577
|
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
|
612
578
|
|
|
613
|
-
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
|
614
|
-
version "5.1.2"
|
|
615
|
-
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
|
616
|
-
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
|
617
|
-
|
|
618
579
|
"safer-buffer@>= 2.1.2 < 3":
|
|
619
580
|
version "2.1.2"
|
|
620
581
|
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
|
@@ -729,12 +690,12 @@ streamsearch@^1.1.0:
|
|
|
729
690
|
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
|
|
730
691
|
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
|
|
731
692
|
|
|
732
|
-
string_decoder
|
|
733
|
-
version "1.
|
|
734
|
-
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.
|
|
735
|
-
integrity sha512-
|
|
693
|
+
string_decoder@^1.1.1:
|
|
694
|
+
version "1.3.0"
|
|
695
|
+
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
|
|
696
|
+
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
|
|
736
697
|
dependencies:
|
|
737
|
-
safe-buffer "~5.
|
|
698
|
+
safe-buffer "~5.2.0"
|
|
738
699
|
|
|
739
700
|
toidentifier@1.0.1:
|
|
740
701
|
version "1.0.1"
|
|
@@ -746,7 +707,7 @@ tslib@2.4.0:
|
|
|
746
707
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
|
747
708
|
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
|
748
709
|
|
|
749
|
-
type-is@^1.6.
|
|
710
|
+
type-is@^1.6.18, type-is@~1.6.18:
|
|
750
711
|
version "1.6.18"
|
|
751
712
|
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
|
|
752
713
|
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
|
|
@@ -774,7 +735,7 @@ unpipe@1.0.0, unpipe@~1.0.0:
|
|
|
774
735
|
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
|
775
736
|
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
|
|
776
737
|
|
|
777
|
-
util-deprecate
|
|
738
|
+
util-deprecate@^1.0.1:
|
|
778
739
|
version "1.0.2"
|
|
779
740
|
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
|
780
741
|
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
|
@@ -793,8 +754,3 @@ ws@~8.2.3:
|
|
|
793
754
|
version "8.2.3"
|
|
794
755
|
resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
|
|
795
756
|
integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==
|
|
796
|
-
|
|
797
|
-
xtend@^4.0.0:
|
|
798
|
-
version "4.0.2"
|
|
799
|
-
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
|
800
|
-
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.15.0"
|