langgraph-api 0.12.0.dev10__tar.gz → 0.12.0.dev12__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.12.0.dev10 → langgraph_api-0.12.0.dev12}/PKG-INFO +1 -1
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/.gitignore +0 -2
- langgraph_api-0.12.0.dev12/benchmark/Makefile +30 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/README.md +1 -33
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/benchmark_profiles.ts +8 -42
- langgraph_api-0.12.0.dev12/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/uv.lock +53 -67
- langgraph_api-0.12.0.dev10/benchmark/Makefile +0 -93
- langgraph_api-0.12.0.dev10/benchmark/capacity_dd_report.py +0 -96
- langgraph_api-0.12.0.dev10/benchmark/capacity_k6.js +0 -166
- langgraph_api-0.12.0.dev10/benchmark/capacity_runner.mjs +0 -390
- langgraph_api-0.12.0.dev10/benchmark/capacity_slack_report.py +0 -417
- langgraph_api-0.12.0.dev10/benchmark/capacity_urls.mjs +0 -9
- langgraph_api-0.12.0.dev10/benchmark/mixed_workload_k6.js +0 -290
- langgraph_api-0.12.0.dev10/benchmark/mixed_workload_runner.mjs +0 -171
- langgraph_api-0.12.0.dev10/benchmark/reporting/slack_slowest_runs.py +0 -244
- langgraph_api-0.12.0.dev10/benchmark/reporting/slack_summary.py +0 -309
- langgraph_api-0.12.0.dev10/benchmark/run_local.sh +0 -27
- langgraph_api-0.12.0.dev10/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/.gitignore +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/LICENSE +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/Makefile +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/README.md +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/clean.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/continuous/uv.lock +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/graphs.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/package.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/ramp.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/staircase.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/benchmark/weather.js +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/constraints.txt +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/custom_store.sql +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/forbidden.txt +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/hatch_build.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/healthcheck.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/a2a.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/event_streaming.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/_handlers.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/command.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/config/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/capabilities.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/constants.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/event_normalizers.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/namespace.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/service.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/session.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/state_normalizers.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/event_streaming/types.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/client.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/http.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/js/yarn.lock +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/lc_security/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/lc_security/exceptions.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/lc_security/policy.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/lc_security/transport.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/metrics_collector.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/metrics_otlp.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/release_tags.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/route.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/server.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/state.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/store.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/stream_v2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/config.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/logging.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/openapi.json +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/pyproject.toml +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/scripts/create_license.py +0 -0
- {langgraph_api-0.12.0.dev10 → langgraph_api-0.12.0.dev12}/scripts/run_a2a_tck.py +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Benchmark commands
|
|
2
|
+
|
|
3
|
+
benchmark-ramp:
|
|
4
|
+
make benchmark-reset
|
|
5
|
+
npm install
|
|
6
|
+
npm run build
|
|
7
|
+
k6 run --out json=raw_data_$(shell date +%Y-%m-%dT%H-%M-%S).json --system-tags=[] ramp.js
|
|
8
|
+
|
|
9
|
+
benchmark-charts:
|
|
10
|
+
npm install
|
|
11
|
+
node graphs.js $(shell ls -t raw_data_*.json | head -1) true
|
|
12
|
+
|
|
13
|
+
benchmark-reset:
|
|
14
|
+
node clean-cli.js
|
|
15
|
+
|
|
16
|
+
benchmark-new-revision:
|
|
17
|
+
node update-revision.js
|
|
18
|
+
|
|
19
|
+
benchmark-staircase:
|
|
20
|
+
python staircase.py
|
|
21
|
+
|
|
22
|
+
benchmark-staircase-reset:
|
|
23
|
+
python ../../scripts/reset_deployment.py -a $(BENCHMARK_APP_NAME) -n $(BENCHMARK_NAMESPACE) -db $(BENCHMARK_DB_INSTANCE)
|
|
24
|
+
python staircase.py
|
|
25
|
+
|
|
26
|
+
benchmark-clean:
|
|
27
|
+
rm -f results_*.json summary_*.json raw_data_*.json staircase_*.json *_chart_*.png
|
|
28
|
+
|
|
29
|
+
benchmark-clean-charts:
|
|
30
|
+
rm -f *_chart_*.png
|
|
@@ -20,23 +20,6 @@ This directory contains k6 + Python/Node benchmark tooling for LangGraph API.
|
|
|
20
20
|
- **Example:**
|
|
21
21
|
- `BENCHMARK_PROFILE=parallel-small START_LOAD=30 STEP_SIZE=15 NUM_STEPS=10 make benchmark-staircase`
|
|
22
22
|
|
|
23
|
-
- `make benchmark-capacity` - Runs binary-search capacity tests and writes `capacity_summary.json`.
|
|
24
|
-
- **Environment variables:**
|
|
25
|
-
- `CLUSTER_NAME`
|
|
26
|
-
- `WORKLOAD_NAMES` (comma-separated) or `WORKLOAD_NAME`
|
|
27
|
-
- **Support note:** `BENCHMARK_TYPE` is supported but usually determined by profile/workload defaults.
|
|
28
|
-
- **Example:**
|
|
29
|
-
- `CLUSTER_NAME=dr-1-node WORKLOAD_NAMES=parallel-small,parallel-medium make benchmark-capacity`
|
|
30
|
-
|
|
31
|
-
- `make benchmark-mixed` - Runs quick and long workloads concurrently to measure contention/fairness.
|
|
32
|
-
- **Environment variables:**
|
|
33
|
-
- `SLOWEST_N`
|
|
34
|
-
- Quick workload knobs: `QUICK_VUS`, `QUICK_ITERATIONS`, `QUICK_STEPS`, `QUICK_DATA_SIZE`, `QUICK_MAX_WAIT_SECONDS`, `QUICK_POLL_INTERVAL`
|
|
35
|
-
- Long workload knobs: `LONG_VUS`, `LONG_ITERATIONS`, `LONG_STEPS`, `LONG_DELAY`, `LONG_DATA_SIZE`, `LONG_MAX_WAIT_SECONDS`, `LONG_POLL_INTERVAL`
|
|
36
|
-
- **Support note:** Does **not** support benchmark universal/profile/context knobs (`BENCHMARK_TYPE`, `BENCHMARK_PROFILE`, `RUN_MODE`, `STREAM_RESUMABLE`, or context overrides). Only mixed-workload vars + generic `BASE_URL`/`LANGSMITH_API_KEY` apply.
|
|
37
|
-
- **Example:**
|
|
38
|
-
- `BASE_URL=http://localhost:9123 QUICK_VUS=300 LONG_VUS=8 LONG_STEPS=60 make benchmark-mixed`
|
|
39
|
-
|
|
40
23
|
- `make benchmark-charts` - Builds charts from the latest `raw_data_*.json` ramp output. Only works for ramp.
|
|
41
24
|
- `make benchmark-clean` - Deletes local benchmark result/chart artifacts.
|
|
42
25
|
- `make benchmark-reset` - Cleans benchmark server state via `clean-cli.js`.
|
|
@@ -70,7 +53,7 @@ Profiles are quick ways to configure the benchmark graph for any run depending o
|
|
|
70
53
|
Each profile defines:
|
|
71
54
|
|
|
72
55
|
- `context` (delay/steps/checkpoint/streaming/burst knobs)
|
|
73
|
-
- `
|
|
56
|
+
- `runMode` default (`stateless` or `stateful`, can be overridden by `RUN_MODE`)
|
|
74
57
|
- `resumable` default (can be overridden by `STREAM_RESUMABLE`)
|
|
75
58
|
|
|
76
59
|
## Core environment knobs
|
|
@@ -110,15 +93,6 @@ BENCHMARK_PROFILE=streaming-long BENCHMARK_TYPE=stream_write make benchmark-ramp
|
|
|
110
93
|
# Staircase benchmark
|
|
111
94
|
make benchmark-staircase
|
|
112
95
|
|
|
113
|
-
# Capacity benchmark (single workload)
|
|
114
|
-
CLUSTER_NAME=dr-1-node WORKLOAD_NAME=parallel-small make benchmark-capacity
|
|
115
|
-
|
|
116
|
-
# Capacity benchmark (multiple workloads)
|
|
117
|
-
CLUSTER_NAME=dr-1-node WORKLOAD_NAMES=parallel-small,parallel-medium make benchmark-capacity
|
|
118
|
-
|
|
119
|
-
# Mixed workload benchmark
|
|
120
|
-
make benchmark-mixed
|
|
121
|
-
|
|
122
96
|
# Build charts from latest ramp raw_data file
|
|
123
97
|
make benchmark-charts
|
|
124
98
|
|
|
@@ -135,16 +109,10 @@ make benchmark-clean
|
|
|
135
109
|
- `*_chart_*.png` (when chart generation is run)
|
|
136
110
|
- Staircase:
|
|
137
111
|
- `staircase_summary.json`
|
|
138
|
-
- Capacity:
|
|
139
|
-
- `capacity_summary.json`
|
|
140
|
-
- Mixed:
|
|
141
|
-
- `mixed_workload_*.json`
|
|
142
112
|
|
|
143
113
|
## CI workflows
|
|
144
114
|
|
|
145
115
|
- Daily ramp benchmark: `.github/workflows/benchmark.yml`
|
|
146
|
-
- Capacity benchmark matrix: `.github/workflows/benchmark-capacity.yml`
|
|
147
|
-
- Mixed benchmark matrix: `.github/workflows/benchmark-mixed.yml`
|
|
148
116
|
|
|
149
117
|
## References
|
|
150
118
|
|
|
@@ -32,16 +32,10 @@ export interface BenchmarkProfileEnv {
|
|
|
32
32
|
BURST_SIZE?: string;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export interface CapacityProfileSettings {
|
|
36
|
-
runMode: 'stateless' | 'stateful';
|
|
37
|
-
rampEndBase: number;
|
|
38
|
-
runExecutionTimeoutSeconds: number;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
35
|
export interface BenchmarkProfile {
|
|
42
36
|
context: BenchmarkContext;
|
|
43
37
|
resumable: boolean;
|
|
44
|
-
|
|
38
|
+
runMode: 'stateless' | 'stateful';
|
|
45
39
|
}
|
|
46
40
|
|
|
47
41
|
export interface ParsedBenchmarkProfile {
|
|
@@ -50,7 +44,6 @@ export interface ParsedBenchmarkProfile {
|
|
|
50
44
|
runMode: 'stateless' | 'stateful';
|
|
51
45
|
resumable: boolean;
|
|
52
46
|
context: BenchmarkContext;
|
|
53
|
-
capacity: CapacityProfileSettings;
|
|
54
47
|
}
|
|
55
48
|
|
|
56
49
|
const DEFAULT_PROFILE_NAME = 'default';
|
|
@@ -58,6 +51,7 @@ const DEFAULT_PROFILE_NAME = 'default';
|
|
|
58
51
|
export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
59
52
|
default: {
|
|
60
53
|
resumable: false,
|
|
54
|
+
runMode: 'stateless',
|
|
61
55
|
context: {
|
|
62
56
|
delay: 0,
|
|
63
57
|
delay_jitter_ratio: 0.2,
|
|
@@ -71,14 +65,10 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
71
65
|
burst_probability: 0,
|
|
72
66
|
burst_size: 0,
|
|
73
67
|
},
|
|
74
|
-
capacity: {
|
|
75
|
-
runMode: 'stateless',
|
|
76
|
-
rampEndBase: 200,
|
|
77
|
-
runExecutionTimeoutSeconds: 60,
|
|
78
|
-
},
|
|
79
68
|
},
|
|
80
69
|
'streaming-long': {
|
|
81
70
|
resumable: true,
|
|
71
|
+
runMode: 'stateful',
|
|
82
72
|
context: {
|
|
83
73
|
delay: 0.5,
|
|
84
74
|
delay_jitter_ratio: 0.2,
|
|
@@ -92,14 +82,10 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
92
82
|
burst_probability: 0.05,
|
|
93
83
|
burst_size: 2 * 1024 * 1024,
|
|
94
84
|
},
|
|
95
|
-
capacity: {
|
|
96
|
-
runMode: 'stateful',
|
|
97
|
-
rampEndBase: 20,
|
|
98
|
-
runExecutionTimeoutSeconds: 1000,
|
|
99
|
-
},
|
|
100
85
|
},
|
|
101
86
|
'stateless-parallel-small': {
|
|
102
87
|
resumable: false,
|
|
88
|
+
runMode: 'stateless',
|
|
103
89
|
context: {
|
|
104
90
|
delay: 0,
|
|
105
91
|
delay_jitter_ratio: 0.2,
|
|
@@ -113,14 +99,10 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
113
99
|
burst_probability: 0,
|
|
114
100
|
burst_size: 0,
|
|
115
101
|
},
|
|
116
|
-
capacity: {
|
|
117
|
-
runMode: 'stateless',
|
|
118
|
-
rampEndBase: 200,
|
|
119
|
-
runExecutionTimeoutSeconds: 60,
|
|
120
|
-
},
|
|
121
102
|
},
|
|
122
103
|
'stateless-parallel-medium': {
|
|
123
104
|
resumable: false,
|
|
105
|
+
runMode: 'stateless',
|
|
124
106
|
context: {
|
|
125
107
|
delay: 0,
|
|
126
108
|
delay_jitter_ratio: 0.2,
|
|
@@ -134,14 +116,10 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
134
116
|
burst_probability: 0,
|
|
135
117
|
burst_size: 0,
|
|
136
118
|
},
|
|
137
|
-
capacity: {
|
|
138
|
-
runMode: 'stateless',
|
|
139
|
-
rampEndBase: 200,
|
|
140
|
-
runExecutionTimeoutSeconds: 60,
|
|
141
|
-
},
|
|
142
119
|
},
|
|
143
120
|
'parallel-small': {
|
|
144
121
|
resumable: false,
|
|
122
|
+
runMode: 'stateful',
|
|
145
123
|
context: {
|
|
146
124
|
delay: 0,
|
|
147
125
|
delay_jitter_ratio: 0.2,
|
|
@@ -155,14 +133,10 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
155
133
|
burst_probability: 0,
|
|
156
134
|
burst_size: 0,
|
|
157
135
|
},
|
|
158
|
-
capacity: {
|
|
159
|
-
runMode: 'stateful',
|
|
160
|
-
rampEndBase: 200,
|
|
161
|
-
runExecutionTimeoutSeconds: 60,
|
|
162
|
-
},
|
|
163
136
|
},
|
|
164
137
|
'parallel-medium': {
|
|
165
138
|
resumable: false,
|
|
139
|
+
runMode: 'stateful',
|
|
166
140
|
context: {
|
|
167
141
|
delay: 0,
|
|
168
142
|
delay_jitter_ratio: 0.2,
|
|
@@ -176,11 +150,6 @@ export const BENCHMARK_PROFILES: Record<string, BenchmarkProfile> = {
|
|
|
176
150
|
burst_probability: 0,
|
|
177
151
|
burst_size: 0,
|
|
178
152
|
},
|
|
179
|
-
capacity: {
|
|
180
|
-
runMode: 'stateful',
|
|
181
|
-
rampEndBase: 200,
|
|
182
|
-
runExecutionTimeoutSeconds: 60,
|
|
183
|
-
},
|
|
184
153
|
},
|
|
185
154
|
};
|
|
186
155
|
|
|
@@ -254,13 +223,10 @@ export function get_profile(env: BenchmarkProfileEnv): ParsedBenchmarkProfile {
|
|
|
254
223
|
return {
|
|
255
224
|
name,
|
|
256
225
|
benchmarkType: env.BENCHMARK_TYPE || 'wait_write',
|
|
257
|
-
runMode: env.RUN_MODE ? (env.RUN_MODE === 'stateful' ? 'stateful' : 'stateless') : profile.
|
|
226
|
+
runMode: env.RUN_MODE ? (env.RUN_MODE === 'stateful' ? 'stateful' : 'stateless') : profile.runMode,
|
|
258
227
|
resumable: env.STREAM_RESUMABLE != null && env.STREAM_RESUMABLE !== ''
|
|
259
228
|
? parseOptionalBool(env.STREAM_RESUMABLE) ?? profile.resumable
|
|
260
229
|
: profile.resumable,
|
|
261
230
|
context,
|
|
262
|
-
capacity: profile.capacity,
|
|
263
231
|
};
|
|
264
232
|
}
|
|
265
|
-
|
|
266
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.12.0.dev12"
|
|
@@ -664,7 +664,7 @@ wheels = [
|
|
|
664
664
|
|
|
665
665
|
[[package]]
|
|
666
666
|
name = "langchain-core"
|
|
667
|
-
version = "1.4.
|
|
667
|
+
version = "1.4.8"
|
|
668
668
|
source = { registry = "https://pypi.org/simple" }
|
|
669
669
|
dependencies = [
|
|
670
670
|
{ name = "jsonpatch" },
|
|
@@ -677,9 +677,9 @@ dependencies = [
|
|
|
677
677
|
{ name = "typing-extensions" },
|
|
678
678
|
{ name = "uuid-utils" },
|
|
679
679
|
]
|
|
680
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
680
|
+
sdist = { url = "https://files.pythonhosted.org/packages/12/e3/bea6d0080acf183332f24dcd74c208aee5857cf8f783c3fb0bd86027d8fb/langchain_core-1.4.8.tar.gz", hash = "sha256:5bf1f8411077c904182ad8f975943d36adcbf579c4e017b3a118b719229ebf9a", size = 957974, upload-time = "2026-06-18T19:39:23.636Z" }
|
|
681
681
|
wheels = [
|
|
682
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
682
|
+
{ url = "https://files.pythonhosted.org/packages/13/d6/bdf6f0481cc57ef300d6b1eb48cf1400c0409be715d6eb3cabadd1142a09/langchain_core-1.4.8-py3-none-any.whl", hash = "sha256:d84c28b05e3ba8d4271d0827aad5b592ccdaaf986e76768c23503f0a2045e8aa", size = 557416, upload-time = "2026-06-18T19:39:21.902Z" },
|
|
683
683
|
]
|
|
684
684
|
|
|
685
685
|
[[package]]
|
|
@@ -696,7 +696,7 @@ wheels = [
|
|
|
696
696
|
|
|
697
697
|
[[package]]
|
|
698
698
|
name = "langgraph"
|
|
699
|
-
version = "1.2.
|
|
699
|
+
version = "1.2.6"
|
|
700
700
|
source = { registry = "https://pypi.org/simple" }
|
|
701
701
|
dependencies = [
|
|
702
702
|
{ name = "langchain-core" },
|
|
@@ -706,9 +706,9 @@ dependencies = [
|
|
|
706
706
|
{ name = "pydantic" },
|
|
707
707
|
{ name = "xxhash" },
|
|
708
708
|
]
|
|
709
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
709
|
+
sdist = { url = "https://files.pythonhosted.org/packages/02/7a/ea09b05bb0cbddfa43bd34fc581357e87fc3f21a751cc0d419688c3106da/langgraph-1.2.6.tar.gz", hash = "sha256:f9b45a34f13930c94d96cdb76277447ad2cc70ec2d18cd2764d7fdadb36cdc1b", size = 714400, upload-time = "2026-06-18T20:58:21.514Z" }
|
|
710
710
|
wheels = [
|
|
711
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
711
|
+
{ url = "https://files.pythonhosted.org/packages/89/32/772db1b00a9fe42f50320d1aa20caefb76e621eff1f7218b9918093d631d/langgraph-1.2.6-py3-none-any.whl", hash = "sha256:1cf94d3ca124f84f77ce408fa1b06c3dee680a8aafffe364a8fd5d7d03eb8695", size = 246132, upload-time = "2026-06-18T20:58:20.335Z" },
|
|
712
712
|
]
|
|
713
713
|
|
|
714
714
|
[[package]]
|
|
@@ -842,15 +842,15 @@ dev = [
|
|
|
842
842
|
|
|
843
843
|
[[package]]
|
|
844
844
|
name = "langgraph-checkpoint"
|
|
845
|
-
version = "4.1.
|
|
845
|
+
version = "4.1.1"
|
|
846
846
|
source = { registry = "https://pypi.org/simple" }
|
|
847
847
|
dependencies = [
|
|
848
848
|
{ name = "langchain-core" },
|
|
849
849
|
{ name = "ormsgpack" },
|
|
850
850
|
]
|
|
851
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
851
|
+
sdist = { url = "https://files.pythonhosted.org/packages/83/47/886af6f886f0bff2273164a45f008694e48a96ff3cd25ff0228f2aa9480e/langgraph_checkpoint-4.1.1.tar.gz", hash = "sha256:6c2bdb530c91f91d7d9c1bd100925d0fc4f498d418c17f3587d1526279482a25", size = 184020, upload-time = "2026-05-22T16:57:38.503Z" }
|
|
852
852
|
wheels = [
|
|
853
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
853
|
+
{ url = "https://files.pythonhosted.org/packages/bd/b4/71425e3e38be92611300b9cc5e46a5bf98ab23f5ea8a75b73d02a2f1413c/langgraph_checkpoint-4.1.1-py3-none-any.whl", hash = "sha256:25d29144b082827218e7bc3f1e9b0566a4bb007895cd6cc26f66a8428739f56e", size = 56212, upload-time = "2026-05-22T16:57:37.203Z" },
|
|
854
854
|
]
|
|
855
855
|
|
|
856
856
|
[[package]]
|
|
@@ -972,15 +972,18 @@ dev = [
|
|
|
972
972
|
|
|
973
973
|
[[package]]
|
|
974
974
|
name = "langgraph-sdk"
|
|
975
|
-
version = "0.
|
|
975
|
+
version = "0.4.2"
|
|
976
976
|
source = { registry = "https://pypi.org/simple" }
|
|
977
977
|
dependencies = [
|
|
978
978
|
{ name = "httpx" },
|
|
979
|
+
{ name = "langchain-core" },
|
|
980
|
+
{ name = "langchain-protocol" },
|
|
979
981
|
{ name = "orjson" },
|
|
982
|
+
{ name = "websockets" },
|
|
980
983
|
]
|
|
981
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
984
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b4/2b/bd8ac26d4e97f6df88ef05ce5b6a38945a3903e1025d926f4752aa88aa97/langgraph_sdk-0.4.2.tar.gz", hash = "sha256:b88f0f5f6328ac0680d6790614a905b2bcfa257f2276dba4e38f0e86db0aa738", size = 348327, upload-time = "2026-06-01T17:51:19.856Z" }
|
|
982
985
|
wheels = [
|
|
983
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
986
|
+
{ url = "https://files.pythonhosted.org/packages/a0/05/aac507337cceae773c2cc9ab91eb6301963af7aeeb55b4217a00e15aff17/langgraph_sdk-0.4.2-py3-none-any.whl", hash = "sha256:75fa5096c1177ce39c847096a8fe3745ffd480ddb412995f836e9f5f884c43dd", size = 160521, upload-time = "2026-06-01T17:51:18.849Z" },
|
|
984
987
|
]
|
|
985
988
|
|
|
986
989
|
[[package]]
|
|
@@ -2196,61 +2199,44 @@ wheels = [
|
|
|
2196
2199
|
|
|
2197
2200
|
[[package]]
|
|
2198
2201
|
name = "websockets"
|
|
2199
|
-
version = "
|
|
2200
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2201
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2202
|
-
wheels = [
|
|
2203
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2204
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2205
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2206
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2207
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2208
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2209
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2210
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2211
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2212
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2213
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2214
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2215
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2216
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2217
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2218
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2219
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2220
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2221
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2222
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2223
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2224
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2225
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2226
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2227
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2228
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2229
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2230
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2231
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2232
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2233
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2234
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2235
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2236
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2237
|
-
{ url = "https://files.pythonhosted.org/packages/dd/d1/574fa27e233764dbac9c52730d63fcf2823b16f0856b3329fc6268d6ae4f/websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8", size = 177915, upload-time = "2026-01-10T09:23:21.458Z" },
|
|
2238
|
-
{ url = "https://files.pythonhosted.org/packages/8a/f1/ae6b937bf3126b5134ce1f482365fde31a357c784ac51852978768b5eff4/websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d", size = 178381, upload-time = "2026-01-10T09:23:22.715Z" },
|
|
2239
|
-
{ url = "https://files.pythonhosted.org/packages/06/9b/f791d1db48403e1f0a27577a6beb37afae94254a8c6f08be4a23e4930bc0/websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244", size = 177737, upload-time = "2026-01-10T09:23:24.523Z" },
|
|
2240
|
-
{ url = "https://files.pythonhosted.org/packages/bd/40/53ad02341fa33b3ce489023f635367a4ac98b73570102ad2cdd770dacc9a/websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e", size = 175268, upload-time = "2026-01-10T09:23:25.781Z" },
|
|
2241
|
-
{ url = "https://files.pythonhosted.org/packages/74/9b/6158d4e459b984f949dcbbb0c5d270154c7618e11c01029b9bbd1bb4c4f9/websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641", size = 175486, upload-time = "2026-01-10T09:23:27.033Z" },
|
|
2242
|
-
{ url = "https://files.pythonhosted.org/packages/e5/2d/7583b30208b639c8090206f95073646c2c9ffd66f44df967981a64f849ad/websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8", size = 185331, upload-time = "2026-01-10T09:23:28.259Z" },
|
|
2243
|
-
{ url = "https://files.pythonhosted.org/packages/45/b0/cce3784eb519b7b5ad680d14b9673a31ab8dcb7aad8b64d81709d2430aa8/websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e", size = 186501, upload-time = "2026-01-10T09:23:29.449Z" },
|
|
2244
|
-
{ url = "https://files.pythonhosted.org/packages/19/60/b8ebe4c7e89fb5f6cdf080623c9d92789a53636950f7abacfc33fe2b3135/websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944", size = 186062, upload-time = "2026-01-10T09:23:31.368Z" },
|
|
2245
|
-
{ url = "https://files.pythonhosted.org/packages/88/a8/a080593f89b0138b6cba1b28f8df5673b5506f72879322288b031337c0b8/websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206", size = 185356, upload-time = "2026-01-10T09:23:32.627Z" },
|
|
2246
|
-
{ url = "https://files.pythonhosted.org/packages/c2/b6/b9afed2afadddaf5ebb2afa801abf4b0868f42f8539bfe4b071b5266c9fe/websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6", size = 178085, upload-time = "2026-01-10T09:23:33.816Z" },
|
|
2247
|
-
{ url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" },
|
|
2248
|
-
{ url = "https://files.pythonhosted.org/packages/72/07/c98a68571dcf256e74f1f816b8cc5eae6eb2d3d5cfa44d37f801619d9166/websockets-16.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:349f83cd6c9a415428ee1005cadb5c2c56f4389bc06a9af16103c3bc3dcc8b7d", size = 174947, upload-time = "2026-01-10T09:23:36.166Z" },
|
|
2249
|
-
{ url = "https://files.pythonhosted.org/packages/7e/52/93e166a81e0305b33fe416338be92ae863563fe7bce446b0f687b9df5aea/websockets-16.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:4a1aba3340a8dca8db6eb5a7986157f52eb9e436b74813764241981ca4888f03", size = 175260, upload-time = "2026-01-10T09:23:37.409Z" },
|
|
2250
|
-
{ url = "https://files.pythonhosted.org/packages/56/0c/2dbf513bafd24889d33de2ff0368190a0e69f37bcfa19009ef819fe4d507/websockets-16.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f4a32d1bd841d4bcbffdcb3d2ce50c09c3909fbead375ab28d0181af89fd04da", size = 176071, upload-time = "2026-01-10T09:23:39.158Z" },
|
|
2251
|
-
{ url = "https://files.pythonhosted.org/packages/a5/8f/aea9c71cc92bf9b6cc0f7f70df8f0b420636b6c96ef4feee1e16f80f75dd/websockets-16.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0298d07ee155e2e9fda5be8a9042200dd2e3bb0b8a38482156576f863a9d457c", size = 176968, upload-time = "2026-01-10T09:23:41.031Z" },
|
|
2252
|
-
{ url = "https://files.pythonhosted.org/packages/9a/3f/f70e03f40ffc9a30d817eef7da1be72ee4956ba8d7255c399a01b135902a/websockets-16.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a653aea902e0324b52f1613332ddf50b00c06fdaf7e92624fbf8c77c78fa5767", size = 178735, upload-time = "2026-01-10T09:23:42.259Z" },
|
|
2253
|
-
{ url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" },
|
|
2202
|
+
version = "15.0.1"
|
|
2203
|
+
source = { registry = "https://pypi.org/simple" }
|
|
2204
|
+
sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" }
|
|
2205
|
+
wheels = [
|
|
2206
|
+
{ url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" },
|
|
2207
|
+
{ url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" },
|
|
2208
|
+
{ url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" },
|
|
2209
|
+
{ url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" },
|
|
2210
|
+
{ url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" },
|
|
2211
|
+
{ url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" },
|
|
2212
|
+
{ url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" },
|
|
2213
|
+
{ url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" },
|
|
2214
|
+
{ url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" },
|
|
2215
|
+
{ url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" },
|
|
2216
|
+
{ url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" },
|
|
2217
|
+
{ url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" },
|
|
2218
|
+
{ url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" },
|
|
2219
|
+
{ url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" },
|
|
2220
|
+
{ url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" },
|
|
2221
|
+
{ url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" },
|
|
2222
|
+
{ url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" },
|
|
2223
|
+
{ url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" },
|
|
2224
|
+
{ url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" },
|
|
2225
|
+
{ url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" },
|
|
2226
|
+
{ url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" },
|
|
2227
|
+
{ url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" },
|
|
2228
|
+
{ url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" },
|
|
2229
|
+
{ url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" },
|
|
2230
|
+
{ url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" },
|
|
2231
|
+
{ url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" },
|
|
2232
|
+
{ url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" },
|
|
2233
|
+
{ url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" },
|
|
2234
|
+
{ url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" },
|
|
2235
|
+
{ url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" },
|
|
2236
|
+
{ url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" },
|
|
2237
|
+
{ url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" },
|
|
2238
|
+
{ url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" },
|
|
2239
|
+
{ url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" },
|
|
2254
2240
|
]
|
|
2255
2241
|
|
|
2256
2242
|
[[package]]
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# Benchmark commands
|
|
2
|
-
|
|
3
|
-
# Capacity benchmark
|
|
4
|
-
CLUSTER_NAME ?= dr-1-node
|
|
5
|
-
# WORKLOAD_NAMES supports comma-separated list (e.g., "parallel-small,parallel-tiny")
|
|
6
|
-
# Falls back to WORKLOAD_NAME for backwards compatibility
|
|
7
|
-
WORKLOAD_NAMES ?= $(WORKLOAD_NAME)
|
|
8
|
-
WORKLOAD_NAME ?= parallel-small
|
|
9
|
-
|
|
10
|
-
# For other benchmarks
|
|
11
|
-
BASE_URL ?= https://benchmark-dr-s-2799835ad04b501a95044223ae72ced7.staging.langgraph.app
|
|
12
|
-
SLOWEST_N ?= 2
|
|
13
|
-
RAMP_MULTIPLIER ?= 2
|
|
14
|
-
WAIT_SECONDS ?= 60
|
|
15
|
-
CLEAR_DELAY_SECONDS ?= 5
|
|
16
|
-
DATA_SIZE ?= 1000
|
|
17
|
-
DELAY ?= 0
|
|
18
|
-
EXPAND ?= 1
|
|
19
|
-
STEPS ?= 100
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
benchmark-ramp:
|
|
23
|
-
make benchmark-reset
|
|
24
|
-
npm install
|
|
25
|
-
npm run build
|
|
26
|
-
k6 run --out json=raw_data_$(shell date +%Y-%m-%dT%H-%M-%S).json --system-tags=[] ramp.js
|
|
27
|
-
|
|
28
|
-
benchmark-capacity:
|
|
29
|
-
rm -f capacity_summary.json
|
|
30
|
-
npm install
|
|
31
|
-
npm run build
|
|
32
|
-
LANGSMITH_API_KEY=$(LANGSMITH_API_KEY) \
|
|
33
|
-
CLUSTER_NAME=$(CLUSTER_NAME) \
|
|
34
|
-
WORKLOAD_NAMES=$(WORKLOAD_NAMES) \
|
|
35
|
-
node capacity_runner.mjs
|
|
36
|
-
|
|
37
|
-
benchmark-charts:
|
|
38
|
-
npm install
|
|
39
|
-
node graphs.js $(shell ls -t raw_data_*.json | head -1) true
|
|
40
|
-
|
|
41
|
-
benchmark-reset:
|
|
42
|
-
node clean-cli.js
|
|
43
|
-
|
|
44
|
-
benchmark-new-revision:
|
|
45
|
-
node update-revision.js
|
|
46
|
-
|
|
47
|
-
benchmark-staircase:
|
|
48
|
-
python staircase.py
|
|
49
|
-
|
|
50
|
-
benchmark-staircase-reset:
|
|
51
|
-
python ../../scripts/reset_deployment.py -a $(BENCHMARK_APP_NAME) -n $(BENCHMARK_NAMESPACE) -db $(BENCHMARK_DB_INSTANCE)
|
|
52
|
-
python staircase.py
|
|
53
|
-
|
|
54
|
-
benchmark-clean:
|
|
55
|
-
rm -f results_*.json summary_*.json raw_data_*.json staircase_*.json *_chart_*.png
|
|
56
|
-
|
|
57
|
-
benchmark-clean-charts:
|
|
58
|
-
rm -f *_chart_*.png
|
|
59
|
-
|
|
60
|
-
# Mixed workload benchmark - tests quick runs competing with long runs
|
|
61
|
-
QUICK_VUS ?= 250
|
|
62
|
-
QUICK_ITERATIONS ?= 1000
|
|
63
|
-
QUICK_STEPS ?= 5
|
|
64
|
-
QUICK_DATA_SIZE ?= 100
|
|
65
|
-
QUICK_MAX_WAIT_SECONDS ?= 120
|
|
66
|
-
QUICK_POLL_INTERVAL ?= 2
|
|
67
|
-
LONG_VUS ?= 5
|
|
68
|
-
LONG_ITERATIONS ?= 10
|
|
69
|
-
LONG_STEPS ?= 50
|
|
70
|
-
LONG_DELAY ?= 1
|
|
71
|
-
LONG_DATA_SIZE ?= 10000
|
|
72
|
-
LONG_MAX_WAIT_SECONDS ?= 200
|
|
73
|
-
LONG_POLL_INTERVAL ?= 5
|
|
74
|
-
|
|
75
|
-
benchmark-mixed:
|
|
76
|
-
rm -f mixed_workload_*.json
|
|
77
|
-
npm install
|
|
78
|
-
BASE_URL=$(BASE_URL) \
|
|
79
|
-
SLOWEST_N=$(SLOWEST_N) \
|
|
80
|
-
QUICK_VUS=$(QUICK_VUS) \
|
|
81
|
-
QUICK_ITERATIONS=$(QUICK_ITERATIONS) \
|
|
82
|
-
QUICK_STEPS=$(QUICK_STEPS) \
|
|
83
|
-
QUICK_DATA_SIZE=$(QUICK_DATA_SIZE) \
|
|
84
|
-
QUICK_MAX_WAIT_SECONDS=$(QUICK_MAX_WAIT_SECONDS) \
|
|
85
|
-
QUICK_POLL_INTERVAL=$(QUICK_POLL_INTERVAL) \
|
|
86
|
-
LONG_VUS=$(LONG_VUS) \
|
|
87
|
-
LONG_ITERATIONS=$(LONG_ITERATIONS) \
|
|
88
|
-
LONG_STEPS=$(LONG_STEPS) \
|
|
89
|
-
LONG_DELAY=$(LONG_DELAY) \
|
|
90
|
-
LONG_DATA_SIZE=$(LONG_DATA_SIZE) \
|
|
91
|
-
LONG_MAX_WAIT_SECONDS=$(LONG_MAX_WAIT_SECONDS) \
|
|
92
|
-
LONG_POLL_INTERVAL=$(LONG_POLL_INTERVAL) \
|
|
93
|
-
node mixed_workload_runner.mjs
|