langgraph-api 0.12.0rc1__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.
Files changed (285) hide show
  1. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/PKG-INFO +2 -2
  2. langgraph_api-0.13.0.dev1/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/a2a.py +93 -17
  4. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/build.mts +4 -1
  5. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/package.json +4 -6
  6. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/yarn.lock +15 -15
  7. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/pyproject.toml +1 -1
  8. langgraph_api-0.12.0rc1/langgraph_api/__init__.py +0 -1
  9. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/.gitignore +0 -0
  10. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/LICENSE +0 -0
  11. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/Makefile +0 -0
  12. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/README.md +0 -0
  13. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/.gitignore +0 -0
  14. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/Makefile +0 -0
  15. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/README.md +0 -0
  16. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/assistant.ts +0 -0
  17. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  18. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  19. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  20. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  21. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  22. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/log-failure.ts +0 -0
  23. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  24. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/stream_write.ts +0 -0
  25. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/thread.ts +0 -0
  26. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  27. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  28. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/types.ts +0 -0
  29. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/benchmark-runners/wait_write.ts +0 -0
  30. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/clean-cli.js +0 -0
  31. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/clean.js +0 -0
  32. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/continuous/README.md +0 -0
  33. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/continuous/pyproject.toml +0 -0
  34. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/continuous/runner.py +0 -0
  35. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/continuous/uv.lock +0 -0
  36. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/graphs.js +0 -0
  37. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/package.json +0 -0
  38. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/ramp.js +0 -0
  39. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/reporting/dd_reporting.py +0 -0
  40. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/staircase.py +0 -0
  41. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/staircase_step_k6.js +0 -0
  42. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/tsconfig.json +0 -0
  43. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/update-revision.js +0 -0
  44. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/benchmark/weather.js +0 -0
  45. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/constraints.txt +0 -0
  46. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/custom_store.sql +0 -0
  47. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/forbidden.txt +0 -0
  48. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/hatch_build.py +0 -0
  49. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/healthcheck.py +0 -0
  50. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  51. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/__init__.py +0 -0
  52. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/_adapter.py +0 -0
  53. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/_checkpointer/protocol.py +0 -0
  54. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/_factory_utils.py +0 -0
  55. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/__init__.py +0 -0
  56. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/assistants.py +0 -0
  57. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/event_streaming.py +0 -0
  58. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/__init__.py +0 -0
  59. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_constants.py +0 -0
  60. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_handlers.py +0 -0
  61. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_models.py +0 -0
  62. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_routes.py +0 -0
  63. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  64. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/meta.py +0 -0
  65. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/openapi.py +0 -0
  66. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/profile.py +0 -0
  67. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/runs.py +0 -0
  68. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/store.py +0 -0
  69. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/threads.py +0 -0
  70. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/api/ui.py +0 -0
  71. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/asgi_transport.py +0 -0
  72. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/asyncio.py +0 -0
  73. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/__init__.py +0 -0
  74. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/custom.py +0 -0
  75. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/errors.py +0 -0
  76. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/__init__.py +0 -0
  77. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/backend.py +0 -0
  78. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/langsmith/client.py +0 -0
  79. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/middleware.py +0 -0
  80. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/noop.py +0 -0
  81. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/auth/studio_user.py +0 -0
  82. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/cache.py +0 -0
  83. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/cli.py +0 -0
  84. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/command.py +0 -0
  85. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/config/__init__.py +0 -0
  86. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/config/_parse.py +0 -0
  87. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/config/schemas.py +0 -0
  88. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/cron_scheduler.py +0 -0
  89. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/__init__.py +0 -0
  90. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/aes_json.py +0 -0
  91. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/context.py +0 -0
  92. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/custom.py +0 -0
  93. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/middleware.py +0 -0
  94. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/encryption/shared.py +0 -0
  95. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/errors.py +0 -0
  96. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/__init__.py +0 -0
  97. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/capabilities.py +0 -0
  98. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/constants.py +0 -0
  99. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  100. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/namespace.py +0 -0
  101. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/service.py +0 -0
  102. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/session.py +0 -0
  103. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  104. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/event_streaming/types.py +0 -0
  105. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/feature_flags.py +0 -0
  106. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/graph.py +0 -0
  107. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/__init__.py +0 -0
  108. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/client.py +0 -0
  109. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  110. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/__init__.py +0 -0
  111. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/assistants.py +0 -0
  112. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/cache.py +0 -0
  113. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/crons.py +0 -0
  114. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/runs.py +0 -0
  115. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/ops/threads.py +0 -0
  116. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/server.py +0 -0
  117. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/__init__.py +0 -0
  118. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  119. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/grpc/servicers/encryption.py +0 -0
  120. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/http.py +0 -0
  121. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/http_metrics.py +0 -0
  122. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/http_metrics_utils.py +0 -0
  123. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/.gitignore +0 -0
  124. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/.prettierrc +0 -0
  125. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/__init__.py +0 -0
  126. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/base.py +0 -0
  127. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/client.http.mts +0 -0
  128. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/client.mts +0 -0
  129. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/errors.py +0 -0
  130. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/global.d.ts +0 -0
  131. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/remote.py +0 -0
  132. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/schema.py +0 -0
  133. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/graph.mts +0 -0
  134. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/load.hooks.mjs +0 -0
  135. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/preload.mjs +0 -0
  136. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  137. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/files.mts +0 -0
  138. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/importMap.mts +0 -0
  139. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  140. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/src/utils/serde.mts +0 -0
  141. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/sse.py +0 -0
  142. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/traceblock.mts +0 -0
  143. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/tsconfig.json +0 -0
  144. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/js/ui.py +0 -0
  145. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/__init__.py +0 -0
  146. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/exceptions.py +0 -0
  147. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/policy.py +0 -0
  148. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/lc_security/transport.py +0 -0
  149. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/logging.py +0 -0
  150. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/metadata.py +0 -0
  151. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/metrics_collector.py +0 -0
  152. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/metrics_otlp.py +0 -0
  153. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/__init__.py +0 -0
  154. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/ensure_store.py +0 -0
  155. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/http_logger.py +0 -0
  156. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/private_network.py +0 -0
  157. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/middleware/request_id.py +0 -0
  158. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/models/__init__.py +0 -0
  159. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/models/run.py +0 -0
  160. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/otel_context.py +0 -0
  161. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/patch.py +0 -0
  162. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/queue_entrypoint.py +0 -0
  163. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/release_tags.py +0 -0
  164. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/route.py +0 -0
  165. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/schema.py +0 -0
  166. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/self_hosted_logs.py +0 -0
  167. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/self_hosted_metrics.py +0 -0
  168. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/serde.py +0 -0
  169. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/server.py +0 -0
  170. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/sse.py +0 -0
  171. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/state.py +0 -0
  172. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/store.py +0 -0
  173. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/stream.py +0 -0
  174. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/stream_v2.py +0 -0
  175. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/__init__.py +0 -0
  176. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/profiler.py +0 -0
  177. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/timing/timer.py +0 -0
  178. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/traceblock.py +0 -0
  179. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/tracing_session.py +0 -0
  180. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/tunneling/cloudflare.py +0 -0
  181. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/__init__.py +0 -0
  182. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/cache.py +0 -0
  183. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/config.py +0 -0
  184. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/errors.py +0 -0
  185. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/extract.py +0 -0
  186. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/future.py +0 -0
  187. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/headers.py +0 -0
  188. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/network.py +0 -0
  189. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/retriable_client.py +0 -0
  190. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/stream_codec.py +0 -0
  191. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/utils/uuids.py +0 -0
  192. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/validation.py +0 -0
  193. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/webhook.py +0 -0
  194. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_api/worker.py +0 -0
  195. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/__init__.py +0 -0
  196. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/checkpointer.py +0 -0
  197. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/__init__.py +0 -0
  198. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/_compat.py +0 -0
  199. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  200. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/config.py +0 -0
  201. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/durability.py +0 -0
  202. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/store.py +0 -0
  203. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/struct.py +0 -0
  204. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/conversion/value.py +0 -0
  205. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/__init__.py +0 -0
  206. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  207. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  208. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  209. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  210. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  211. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  212. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  213. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  214. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  215. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  216. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  217. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  218. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  219. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  220. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  221. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  222. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  223. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  224. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  225. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  226. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  227. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  228. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  229. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  230. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  231. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  232. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  233. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  234. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  235. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  236. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  237. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  238. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  239. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  240. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  241. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  242. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  243. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  244. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  245. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  246. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  247. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  248. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  249. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  250. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  251. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  252. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  253. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  254. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  255. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  256. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  257. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  258. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  259. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  260. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  261. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  262. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2.py +0 -0
  263. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
  264. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
  265. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
  266. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/serde.py +0 -0
  267. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_grpc_common/store.py +0 -0
  268. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_license/__init__.py +0 -0
  269. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_license/validation.py +0 -0
  270. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/__init__.py +0 -0
  271. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/checkpoint.py +0 -0
  272. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/database.py +0 -0
  273. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/lifespan.py +0 -0
  274. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/metrics.py +0 -0
  275. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/ops.py +0 -0
  276. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/queue.py +0 -0
  277. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/retry.py +0 -0
  278. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/routes.py +0 -0
  279. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/langgraph_runtime/store.py +0 -0
  280. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/logging.json +0 -0
  281. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/openapi.json +0 -0
  282. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/scripts/build_wheel.py +0 -0
  283. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/scripts/create_license.py +0 -0
  284. {langgraph_api-0.12.0rc1 → langgraph_api-0.13.0.dev1}/scripts/run_a2a_tck.py +0 -0
  285. {langgraph_api-0.12.0rc1 → 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.12.0rc1
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.33.0.dev0,>=0.32.0.dev0
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
- has_text_parts = any("text" in part for part in parts)
249
- if has_text_parts:
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 ("user" or "agent")
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 "text" in part:
451
- # Text parts become messages with role based on A2A message role
452
- # Map A2A role to LangGraph role
453
- langgraph_role = "human" if message_role == "ROLE_USER" else "assistant"
454
- messages.append(
455
- {"role": langgraph_role, "content": part["text"], "id": message_id}
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 'data' parts only."
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("Message must contain at least one valid text or data part")
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 = {}
@@ -111,4 +111,7 @@ async function main() {
111
111
  if (failed) process.exit(1);
112
112
  }
113
113
 
114
- main();
114
+ main().catch((error) => {
115
+ console.error(error);
116
+ process.exit(1);
117
+ });
@@ -15,34 +15,32 @@
15
15
  "@langchain/langgraph-checkpoint": "^1.0.0",
16
16
  "@langchain/langgraph-ui": "^1.4.0",
17
17
  "@types/json-schema": "^7.0.15",
18
- "@typescript/vfs": "^1.6.4",
19
18
  "dedent": "^1.7.2",
20
- "esbuild": "^0.28.1",
21
19
  "exit-hook": "^5.1.0",
22
20
  "hono": "^4.12.27",
23
21
  "p-queue": "^9.3.0",
24
22
  "p-retry": "^7.1.1",
25
- "tsx": "^4.22.4",
26
- "typescript": "^5.9.3",
27
23
  "undici": "^7.28.0",
28
24
  "uuid": "^14.0.1",
29
- "vite": "^8.1.3",
30
25
  "winston": "^3.19.0",
31
26
  "zod": "^4.4.3"
32
27
  },
33
28
  "resolutions": {
34
29
  "esbuild": "^0.28.1",
35
30
  "langsmith": ">=0.4.6",
36
- "vite": "^6.4.2"
31
+ "vite": "^6.4.3"
37
32
  },
38
33
  "devDependencies": {
39
34
  "@langchain/langgraph-sdk": "^1.5.4",
40
35
  "@types/node": "^25.5.0",
41
36
  "@types/react": "^19.2.17",
42
37
  "@types/react-dom": "^19.2.3",
38
+ "esbuild": "^0.28.1",
43
39
  "jose": "^6.2.3",
44
40
  "postgres": "^3.4.9",
45
41
  "prettier": "^3.8.4",
42
+ "typescript": "^5.9.3",
43
+ "vite": "^8.1.4",
46
44
  "vitest": "^4.1.9"
47
45
  },
48
46
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
@@ -1491,10 +1491,10 @@ 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==
1494
+ picomatch@^4.0.2, picomatch@^4.0.3, picomatch@^4.0.4, picomatch@^4.0.5:
1495
+ version "4.0.5"
1496
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.5.tgz#51ea57a17d86f605f81039595fbc40ed06a55fab"
1497
+ integrity sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==
1498
1498
 
1499
1499
  postcss-modules-extract-imports@^3.1.0:
1500
1500
  version "3.1.0"
@@ -1579,7 +1579,7 @@ readable-stream@^3.4.0, readable-stream@^3.6.2:
1579
1579
  string_decoder "^1.1.1"
1580
1580
  util-deprecate "^1.0.1"
1581
1581
 
1582
- rolldown@~1.1.3:
1582
+ rolldown@~1.1.4:
1583
1583
  version "1.1.5"
1584
1584
  resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.1.5.tgz#339aae250844351fc55b74e2652d3ebd6fba389d"
1585
1585
  integrity sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==
@@ -1808,10 +1808,10 @@ uuid@^14.0.1:
1808
1808
  resolved "https://registry.yarnpkg.com/uuid/-/uuid-14.0.1.tgz#8a5975b3e038902bfd169a10b5202f5ec0cf3faf"
1809
1809
  integrity sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==
1810
1810
 
1811
- "vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^6.4.2:
1812
- version "6.4.2"
1813
- resolved "https://registry.yarnpkg.com/vite/-/vite-6.4.2.tgz#a4e548ca3a90ca9f3724582cab35e1ba15efc6f2"
1814
- integrity sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==
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==
1815
1815
  dependencies:
1816
1816
  esbuild "^0.25.0"
1817
1817
  fdir "^6.4.4"
@@ -1822,15 +1822,15 @@ uuid@^14.0.1:
1822
1822
  optionalDependencies:
1823
1823
  fsevents "~2.3.3"
1824
1824
 
1825
- vite@^8.1.3:
1826
- version "8.1.3"
1827
- resolved "https://registry.yarnpkg.com/vite/-/vite-8.1.3.tgz#ce05b445b501014a10e5a8073811759c223e8ac2"
1828
- integrity sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==
1825
+ vite@^8.1.4:
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==
1829
1829
  dependencies:
1830
1830
  lightningcss "^1.32.0"
1831
- picomatch "^4.0.4"
1831
+ picomatch "^4.0.5"
1832
1832
  postcss "^8.5.16"
1833
- rolldown "~1.1.3"
1833
+ rolldown "~1.1.4"
1834
1834
  tinyglobby "^0.2.17"
1835
1835
  optionalDependencies:
1836
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.32.0.dev0,<0.33.0.dev0",
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.0rc1"