langgraph-api 0.12.0rc2__tar.gz → 0.13.0.dev1__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.0rc2 → langgraph_api-0.13.0.dev1}/PKG-INFO +2 -2
- langgraph_api-0.13.0.dev1/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/a2a.py +93 -17
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/package.json +1 -1
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/yarn.lock +14 -19
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/pyproject.toml +1 -1
- langgraph_api-0.12.0rc2/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/.gitignore +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/LICENSE +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/Makefile +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/README.md +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/.gitignore +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/Makefile +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/README.md +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/assistant.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmarks.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/log-failure.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/meta_workload.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/stream_write.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/thread.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/types.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/wait_write.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/clean-cli.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/clean.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/continuous/README.md +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/continuous/pyproject.toml +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/continuous/runner.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/continuous/uv.lock +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/graphs.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/package.json +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/ramp.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/reporting/dd_reporting.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/staircase.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/staircase_step_k6.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/tsconfig.json +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/update-revision.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/weather.js +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/constraints.txt +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/custom_store.sql +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/forbidden.txt +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/hatch_build.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/healthcheck.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph-cloud-debugging-20260210132856.zip +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/_adapter.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/protocol.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_factory_utils.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/event_streaming.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_constants.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_handlers.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_models.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_routes.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_sanitizers.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/profile.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/errors.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/cache.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/command.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/config/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/config/_parse.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/config/schemas.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/aes_json.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/context.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/custom.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/middleware.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/shared.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/capabilities.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/constants.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/event_normalizers.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/namespace.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/service.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/session.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/state_normalizers.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/types.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/client.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/assistants.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/cache.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/crons.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/runs.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/threads.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/server.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/encryption.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/http.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/http_metrics_utils.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/exceptions.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/policy.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/transport.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/metrics_collector.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/metrics_otlp.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/ensure_store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/models/run.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/otel_context.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/release_tags.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/route.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/self_hosted_logs.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/self_hosted_metrics.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/server.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/state.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/stream.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/stream_v2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/profiler.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/timer.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/tracing_session.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/errors.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/extract.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/network.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/retriable_client.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/stream_codec.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/uuids.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/worker.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/checkpointer.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/_compat.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/config.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/durability.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/struct.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/value.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/serde.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/routes.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/logging.json +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/openapi.json +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/scripts/build_wheel.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/scripts/create_license.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/scripts/run_a2a_tck.py +0 -0
- {langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langgraph-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0.dev1
|
|
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
|
|
@@ -16,7 +16,7 @@ Requires-Dist: jsonschema-rs<0.45,>=0.20.0
|
|
|
16
16
|
Requires-Dist: langchain-core>=0.3.64
|
|
17
17
|
Requires-Dist: langchain-protocol<0.1,>=0.0.18
|
|
18
18
|
Requires-Dist: langgraph-checkpoint<5,>=3.0.1
|
|
19
|
-
Requires-Dist: langgraph-runtime-inmem<0.
|
|
19
|
+
Requires-Dist: langgraph-runtime-inmem<0.34.0.dev0,>=0.33.0.dev0
|
|
20
20
|
Requires-Dist: langgraph-sdk>=0.3.5
|
|
21
21
|
Requires-Dist: langgraph<2,>=0.4.10
|
|
22
22
|
Requires-Dist: langsmith[otel]>=0.6.3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.13.0.dev1"
|
|
@@ -212,9 +212,9 @@ async def _validate_supports_messages(
|
|
|
212
212
|
headers: Headers | dict[str, Any] | None,
|
|
213
213
|
parts: list[dict[str, Any]],
|
|
214
214
|
) -> dict[str, Any]:
|
|
215
|
-
"""Validate that assistant supports messages if text parts are present.
|
|
215
|
+
"""Validate that assistant supports messages if text or file parts are present.
|
|
216
216
|
|
|
217
|
-
If the parts contain text parts, the agent must support the 'messages' field.
|
|
217
|
+
If the parts contain text or file parts, the agent must support the 'messages' field.
|
|
218
218
|
If the parts only contain data parts, no validation is performed.
|
|
219
219
|
|
|
220
220
|
Args:
|
|
@@ -226,7 +226,7 @@ async def _validate_supports_messages(
|
|
|
226
226
|
The schemas dictionary from the assistant
|
|
227
227
|
|
|
228
228
|
Raises:
|
|
229
|
-
ValueError: If assistant doesn't support messages when text parts are present
|
|
229
|
+
ValueError: If assistant doesn't support messages when text or file parts are present
|
|
230
230
|
"""
|
|
231
231
|
assistant_id = assistant["assistant_id"]
|
|
232
232
|
|
|
@@ -244,14 +244,16 @@ async def _validate_supports_messages(
|
|
|
244
244
|
f"Failed to get schemas for assistant '{assistant_id}': {e}"
|
|
245
245
|
) from e
|
|
246
246
|
|
|
247
|
-
# Validate messages field only if there are text parts
|
|
248
|
-
|
|
249
|
-
|
|
247
|
+
# Validate messages field only if there are text or file parts
|
|
248
|
+
has_message_parts = any(
|
|
249
|
+
("text" in part) or ("file" in part) for part in parts if isinstance(part, dict)
|
|
250
|
+
)
|
|
251
|
+
if has_message_parts:
|
|
250
252
|
input_schema = schemas.get("input_schema") or schemas.get("state_schema")
|
|
251
253
|
if not input_schema:
|
|
252
254
|
raise ValueError(
|
|
253
255
|
f"Assistant '{assistant_id}' has no input schema defined. "
|
|
254
|
-
f"A2A conversational agents using text parts must have an input schema with a 'messages' field."
|
|
256
|
+
f"A2A conversational agents using text or file parts must have an input schema with a 'messages' field."
|
|
255
257
|
)
|
|
256
258
|
|
|
257
259
|
properties = input_schema.get("properties", {})
|
|
@@ -259,7 +261,7 @@ async def _validate_supports_messages(
|
|
|
259
261
|
graph_id = assistant["graph_id"]
|
|
260
262
|
raise ValueError(
|
|
261
263
|
f"Assistant '{assistant_id}' (graph '{graph_id}') does not support A2A conversational messages. "
|
|
262
|
-
f"Graph input schema must include a 'messages' field to accept text parts. "
|
|
264
|
+
f"Graph input schema must include a 'messages' field to accept text or file parts. "
|
|
263
265
|
f"Available input fields: {list(properties.keys())}"
|
|
264
266
|
)
|
|
265
267
|
|
|
@@ -426,6 +428,42 @@ async def _maybe_promote_resume_to_command(
|
|
|
426
428
|
return {"resume": resume_value}, None, input_content
|
|
427
429
|
|
|
428
430
|
|
|
431
|
+
def _mime_to_block_type(mime_type: str | None) -> str:
|
|
432
|
+
"""Map a MIME type to a LangChain multimodal content-block type."""
|
|
433
|
+
if isinstance(mime_type, str):
|
|
434
|
+
top = mime_type.split("/", 1)[0].strip().lower()
|
|
435
|
+
if top in ("image", "audio", "video"):
|
|
436
|
+
return top
|
|
437
|
+
return "file"
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
def _a2a_file_part_to_content_block(part: dict[str, Any]) -> dict[str, Any]:
|
|
441
|
+
"""Convert an A2A FilePart to a LangChain multimodal content block.
|
|
442
|
+
|
|
443
|
+
URI values are passed through as ``url`` and are never fetched server-side
|
|
444
|
+
(SSRF safety).
|
|
445
|
+
"""
|
|
446
|
+
file_obj = part.get("file")
|
|
447
|
+
if not isinstance(file_obj, dict):
|
|
448
|
+
raise ValueError("FilePart must contain a 'file' object with 'bytes' or 'uri'.")
|
|
449
|
+
data_b64, uri = file_obj.get("bytes"), file_obj.get("uri")
|
|
450
|
+
if data_b64 is None and uri is None:
|
|
451
|
+
raise ValueError("FilePart 'file' must contain either 'bytes' or 'uri'.")
|
|
452
|
+
if data_b64 is not None and uri is not None:
|
|
453
|
+
raise ValueError("FilePart 'file' must contain only one of 'bytes' or 'uri'.")
|
|
454
|
+
mime_type = file_obj.get("mimeType")
|
|
455
|
+
block: dict[str, Any] = {"type": _mime_to_block_type(mime_type)}
|
|
456
|
+
if data_b64 is not None:
|
|
457
|
+
block["base64"] = data_b64
|
|
458
|
+
else:
|
|
459
|
+
block["url"] = uri
|
|
460
|
+
if mime_type:
|
|
461
|
+
block["mime_type"] = mime_type
|
|
462
|
+
if file_obj.get("name"):
|
|
463
|
+
block["extras"] = {"filename": file_obj["name"]}
|
|
464
|
+
return block
|
|
465
|
+
|
|
466
|
+
|
|
429
467
|
def _process_a2a_message_parts(
|
|
430
468
|
parts: list[dict[str, Any]],
|
|
431
469
|
message_role: str,
|
|
@@ -433,9 +471,13 @@ def _process_a2a_message_parts(
|
|
|
433
471
|
) -> dict[str, Any]:
|
|
434
472
|
"""Convert A2A message parts to LangChain messages format.
|
|
435
473
|
|
|
474
|
+
Text-only messages keep today's per-part string content. When any file part
|
|
475
|
+
is present, emit one consolidated message whose ``content`` is an ordered
|
|
476
|
+
list of LangChain content blocks (text + file/image/audio/video).
|
|
477
|
+
|
|
436
478
|
Args:
|
|
437
479
|
parts: List of A2A message parts
|
|
438
|
-
message_role: A2A message role ("
|
|
480
|
+
message_role: A2A message role ("ROLE_USER" or "ROLE_AGENT")
|
|
439
481
|
|
|
440
482
|
Returns:
|
|
441
483
|
Input content with messages in LangChain format
|
|
@@ -445,16 +487,39 @@ def _process_a2a_message_parts(
|
|
|
445
487
|
"""
|
|
446
488
|
messages = []
|
|
447
489
|
additional_data = {}
|
|
490
|
+
content_blocks: list[dict[str, Any]] = []
|
|
491
|
+
has_file_parts = any(isinstance(part, dict) and "file" in part for part in parts)
|
|
492
|
+
langgraph_role = "human" if message_role == "ROLE_USER" else "assistant"
|
|
448
493
|
|
|
449
494
|
for part in parts:
|
|
450
|
-
if
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
495
|
+
if not isinstance(part, dict):
|
|
496
|
+
raise ValueError(
|
|
497
|
+
"Each message part must be an object. "
|
|
498
|
+
"A2A agents support 'text', 'data', and 'file' parts only."
|
|
499
|
+
)
|
|
500
|
+
|
|
501
|
+
present_keys = [k for k in ("text", "file", "data") if k in part]
|
|
502
|
+
if len(present_keys) > 1:
|
|
503
|
+
raise ValueError(
|
|
504
|
+
"Each message part must contain exactly one of 'text', 'file', or 'data'. "
|
|
505
|
+
f"Got multiple: {present_keys}."
|
|
456
506
|
)
|
|
457
507
|
|
|
508
|
+
if "text" in part:
|
|
509
|
+
if has_file_parts:
|
|
510
|
+
content_blocks.append({"type": "text", "text": part["text"]})
|
|
511
|
+
else:
|
|
512
|
+
messages.append(
|
|
513
|
+
{
|
|
514
|
+
"role": langgraph_role,
|
|
515
|
+
"content": part["text"],
|
|
516
|
+
"id": message_id,
|
|
517
|
+
}
|
|
518
|
+
)
|
|
519
|
+
|
|
520
|
+
elif "file" in part:
|
|
521
|
+
content_blocks.append(_a2a_file_part_to_content_block(part))
|
|
522
|
+
|
|
458
523
|
elif "data" in part:
|
|
459
524
|
# Data parts become structured input parameters
|
|
460
525
|
part_data = part.get("data", {})
|
|
@@ -467,11 +532,22 @@ def _process_a2a_message_parts(
|
|
|
467
532
|
else:
|
|
468
533
|
raise ValueError(
|
|
469
534
|
"Unsupported part type. "
|
|
470
|
-
"A2A agents support 'text' and '
|
|
535
|
+
"A2A agents support 'text', 'data', and 'file' parts only."
|
|
471
536
|
)
|
|
472
537
|
|
|
538
|
+
if has_file_parts:
|
|
539
|
+
messages.append(
|
|
540
|
+
{
|
|
541
|
+
"role": langgraph_role,
|
|
542
|
+
"content": content_blocks,
|
|
543
|
+
"id": message_id,
|
|
544
|
+
}
|
|
545
|
+
)
|
|
546
|
+
|
|
473
547
|
if not messages and not additional_data:
|
|
474
|
-
raise ValueError(
|
|
548
|
+
raise ValueError(
|
|
549
|
+
"Message must contain at least one valid text, data, or file part"
|
|
550
|
+
)
|
|
475
551
|
|
|
476
552
|
# Create input with messages in LangChain format
|
|
477
553
|
input_content = {}
|
|
@@ -775,7 +775,7 @@
|
|
|
775
775
|
resolved "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz"
|
|
776
776
|
integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
|
|
777
777
|
|
|
778
|
-
"@typescript/vfs@^1.6.0":
|
|
778
|
+
"@typescript/vfs@^1.6.0", "@typescript/vfs@^1.6.4":
|
|
779
779
|
version "1.6.4"
|
|
780
780
|
resolved "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.4.tgz"
|
|
781
781
|
integrity sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==
|
|
@@ -1491,12 +1491,7 @@ picocolors@^1.1.1:
|
|
|
1491
1491
|
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
|
|
1492
1492
|
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
|
1493
1493
|
|
|
1494
|
-
picomatch@^4.0.2, picomatch@^4.0.3, picomatch@^4.0.4:
|
|
1495
|
-
version "4.0.4"
|
|
1496
|
-
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz"
|
|
1497
|
-
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
|
|
1498
|
-
|
|
1499
|
-
picomatch@^4.0.5:
|
|
1494
|
+
picomatch@^4.0.2, picomatch@^4.0.3, picomatch@^4.0.4, picomatch@^4.0.5:
|
|
1500
1495
|
version "4.0.5"
|
|
1501
1496
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.5.tgz#51ea57a17d86f605f81039595fbc40ed06a55fab"
|
|
1502
1497
|
integrity sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==
|
|
@@ -1556,7 +1551,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
|
|
|
1556
1551
|
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
|
|
1557
1552
|
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
|
1558
1553
|
|
|
1559
|
-
postcss@^8.4.41, postcss@^8.5.1, postcss@^8.5.
|
|
1554
|
+
postcss@^8.4.41, postcss@^8.5.1, postcss@^8.5.16, postcss@^8.5.3:
|
|
1560
1555
|
version "8.5.19"
|
|
1561
1556
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.19.tgz#45ad5cfde499408e20147348237551381a922037"
|
|
1562
1557
|
integrity sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==
|
|
@@ -1584,7 +1579,7 @@ readable-stream@^3.4.0, readable-stream@^3.6.2:
|
|
|
1584
1579
|
string_decoder "^1.1.1"
|
|
1585
1580
|
util-deprecate "^1.0.1"
|
|
1586
1581
|
|
|
1587
|
-
rolldown@~1.1.
|
|
1582
|
+
rolldown@~1.1.4:
|
|
1588
1583
|
version "1.1.5"
|
|
1589
1584
|
resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.1.5.tgz#339aae250844351fc55b74e2652d3ebd6fba389d"
|
|
1590
1585
|
integrity sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==
|
|
@@ -1761,7 +1756,7 @@ tslib@^2.4.0:
|
|
|
1761
1756
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
|
1762
1757
|
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
|
1763
1758
|
|
|
1764
|
-
tsx@^4.19.3:
|
|
1759
|
+
tsx@^4.19.3, tsx@^4.22.4:
|
|
1765
1760
|
version "4.22.4"
|
|
1766
1761
|
resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.22.4.tgz#0ab3b7fb4ec7feeee74e5b1f26337caa71e44700"
|
|
1767
1762
|
integrity sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==
|
|
@@ -1813,10 +1808,10 @@ uuid@^14.0.1:
|
|
|
1813
1808
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-14.0.1.tgz#8a5975b3e038902bfd169a10b5202f5ec0cf3faf"
|
|
1814
1809
|
integrity sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==
|
|
1815
1810
|
|
|
1816
|
-
"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^6.4.
|
|
1817
|
-
version "6.4.
|
|
1818
|
-
resolved "https://registry.yarnpkg.com/vite/-/vite-6.4.
|
|
1819
|
-
integrity sha512-
|
|
1811
|
+
"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^6.4.3:
|
|
1812
|
+
version "6.4.3"
|
|
1813
|
+
resolved "https://registry.yarnpkg.com/vite/-/vite-6.4.3.tgz#85a164db7ce706f2a776812efa2b340f1721858e"
|
|
1814
|
+
integrity sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==
|
|
1820
1815
|
dependencies:
|
|
1821
1816
|
esbuild "^0.25.0"
|
|
1822
1817
|
fdir "^6.4.4"
|
|
@@ -1828,14 +1823,14 @@ uuid@^14.0.1:
|
|
|
1828
1823
|
fsevents "~2.3.3"
|
|
1829
1824
|
|
|
1830
1825
|
vite@^8.1.4:
|
|
1831
|
-
version "8.1.
|
|
1832
|
-
resolved "https://registry.yarnpkg.com/vite/-/vite-8.1.
|
|
1833
|
-
integrity sha512-
|
|
1826
|
+
version "8.1.4"
|
|
1827
|
+
resolved "https://registry.yarnpkg.com/vite/-/vite-8.1.4.tgz#3cd711f31de805e5154ab47948349e693314d581"
|
|
1828
|
+
integrity sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==
|
|
1834
1829
|
dependencies:
|
|
1835
1830
|
lightningcss "^1.32.0"
|
|
1836
1831
|
picomatch "^4.0.5"
|
|
1837
|
-
postcss "^8.5.
|
|
1838
|
-
rolldown "~1.1.
|
|
1832
|
+
postcss "^8.5.16"
|
|
1833
|
+
rolldown "~1.1.4"
|
|
1839
1834
|
tinyglobby "^0.2.17"
|
|
1840
1835
|
optionalDependencies:
|
|
1841
1836
|
fsevents "~2.3.3"
|
|
@@ -39,7 +39,7 @@ dependencies = [
|
|
|
39
39
|
"cryptography>=42.0.0",
|
|
40
40
|
"langgraph-sdk>=0.3.5",
|
|
41
41
|
"cloudpickle>=3.0.0",
|
|
42
|
-
"langgraph-runtime-inmem>=0.
|
|
42
|
+
"langgraph-runtime-inmem>=0.33.0.dev0,<0.34.0.dev0",
|
|
43
43
|
"truststore>=0.1",
|
|
44
44
|
"protobuf>=6.32.1,<7.0.0",
|
|
45
45
|
"grpcio>=1.80.0,<1.81.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.12.0rc2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/assistant.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmarks.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/log-failure.ts
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/meta_workload.ts
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/stream_write.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/wait_write.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph-cloud-debugging-20260210132856.zip
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/__init__.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/_adapter.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/protocol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/__init__.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/backend.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/__init__.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/capabilities.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/namespace.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/service.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/session.py
RENAMED
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/generated/core_api_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/__init__.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/checkpointer.py
RENAMED
|
File without changes
|
{langgraph_api-0.12.0rc2 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/encryption.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|