langgraph-api 0.12.0.dev13__tar.gz → 0.12.0.dev15__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 (284) hide show
  1. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/Makefile +1 -1
  2. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/PKG-INFO +2 -2
  3. langgraph_api-0.12.0.dev15/langgraph_api/__init__.py +1 -0
  4. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/asyncio.py +2 -0
  5. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/config/__init__.py +4 -0
  6. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/__init__.py +19 -4
  7. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/metadata.py +19 -4
  8. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/stream.py +20 -1
  9. langgraph_api-0.12.0.dev15/langgraph_grpc_common/conversion/store.py +208 -0
  10. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/__init__.py +4 -0
  11. langgraph_api-0.12.0.dev15/langgraph_grpc_common/proto/store_pb2.py +54 -0
  12. langgraph_api-0.12.0.dev15/langgraph_grpc_common/proto/store_pb2.pyi +246 -0
  13. langgraph_api-0.12.0.dev15/langgraph_grpc_common/proto/store_pb2_grpc.py +101 -0
  14. langgraph_api-0.12.0.dev15/langgraph_grpc_common/proto/store_pb2_grpc.pyi +58 -0
  15. langgraph_api-0.12.0.dev15/langgraph_grpc_common/store.py +109 -0
  16. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/pyproject.toml +1 -1
  17. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/uv.lock +9 -8
  18. langgraph_api-0.12.0.dev13/langgraph_api/__init__.py +0 -1
  19. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/.gitignore +0 -0
  20. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/LICENSE +0 -0
  21. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/README.md +0 -0
  22. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/.gitignore +0 -0
  23. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/Makefile +0 -0
  24. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/README.md +0 -0
  25. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/assistant.ts +0 -0
  26. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  27. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  28. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  29. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  30. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  31. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/log-failure.ts +0 -0
  32. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  33. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/stream_write.ts +0 -0
  34. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/thread.ts +0 -0
  35. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  36. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  37. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/types.ts +0 -0
  38. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/benchmark-runners/wait_write.ts +0 -0
  39. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/clean-cli.js +0 -0
  40. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/clean.js +0 -0
  41. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/continuous/README.md +0 -0
  42. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/continuous/pyproject.toml +0 -0
  43. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/continuous/runner.py +0 -0
  44. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/continuous/uv.lock +0 -0
  45. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/graphs.js +0 -0
  46. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/package.json +0 -0
  47. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/ramp.js +0 -0
  48. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/reporting/dd_reporting.py +0 -0
  49. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/staircase.py +0 -0
  50. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/staircase_step_k6.js +0 -0
  51. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/tsconfig.json +0 -0
  52. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/update-revision.js +0 -0
  53. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/benchmark/weather.js +0 -0
  54. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/constraints.txt +0 -0
  55. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/custom_store.sql +0 -0
  56. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/forbidden.txt +0 -0
  57. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/hatch_build.py +0 -0
  58. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/healthcheck.py +0 -0
  59. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  60. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/_checkpointer/__init__.py +0 -0
  61. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/_checkpointer/_adapter.py +0 -0
  62. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/_checkpointer/protocol.py +0 -0
  63. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/_factory_utils.py +0 -0
  64. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/__init__.py +0 -0
  65. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/a2a.py +0 -0
  66. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/assistants.py +0 -0
  67. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/event_streaming.py +0 -0
  68. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/__init__.py +0 -0
  69. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/_constants.py +0 -0
  70. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/_handlers.py +0 -0
  71. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/_models.py +0 -0
  72. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/_routes.py +0 -0
  73. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  74. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/meta.py +0 -0
  75. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/openapi.py +0 -0
  76. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/profile.py +0 -0
  77. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/runs.py +0 -0
  78. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/store.py +0 -0
  79. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/threads.py +0 -0
  80. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/api/ui.py +0 -0
  81. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/asgi_transport.py +0 -0
  82. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/__init__.py +0 -0
  83. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/custom.py +0 -0
  84. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/errors.py +0 -0
  85. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/langsmith/__init__.py +0 -0
  86. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/langsmith/backend.py +0 -0
  87. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/langsmith/client.py +0 -0
  88. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/middleware.py +0 -0
  89. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/noop.py +0 -0
  90. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/auth/studio_user.py +0 -0
  91. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/cache.py +0 -0
  92. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/cli.py +0 -0
  93. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/command.py +0 -0
  94. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/config/_parse.py +0 -0
  95. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/config/schemas.py +0 -0
  96. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/cron_scheduler.py +0 -0
  97. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/__init__.py +0 -0
  98. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/aes_json.py +0 -0
  99. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/context.py +0 -0
  100. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/custom.py +0 -0
  101. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/middleware.py +0 -0
  102. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/encryption/shared.py +0 -0
  103. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/errors.py +0 -0
  104. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/__init__.py +0 -0
  105. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/capabilities.py +0 -0
  106. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/constants.py +0 -0
  107. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  108. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/namespace.py +0 -0
  109. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/service.py +0 -0
  110. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/session.py +0 -0
  111. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  112. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/event_streaming/types.py +0 -0
  113. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/feature_flags.py +0 -0
  114. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/graph.py +0 -0
  115. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/__init__.py +0 -0
  116. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/client.py +0 -0
  117. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  118. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/assistants.py +0 -0
  119. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/cache.py +0 -0
  120. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/crons.py +0 -0
  121. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/runs.py +0 -0
  122. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/ops/threads.py +0 -0
  123. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/server.py +0 -0
  124. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/servicers/__init__.py +0 -0
  125. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  126. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/grpc/servicers/encryption.py +0 -0
  127. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/http.py +0 -0
  128. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/http_metrics.py +0 -0
  129. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/http_metrics_utils.py +0 -0
  130. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/.gitignore +0 -0
  131. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/.prettierrc +0 -0
  132. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/__init__.py +0 -0
  133. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/base.py +0 -0
  134. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/build.mts +0 -0
  135. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/client.http.mts +0 -0
  136. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/client.mts +0 -0
  137. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/errors.py +0 -0
  138. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/global.d.ts +0 -0
  139. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/package.json +0 -0
  140. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/remote.py +0 -0
  141. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/schema.py +0 -0
  142. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/graph.mts +0 -0
  143. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/load.hooks.mjs +0 -0
  144. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/preload.mjs +0 -0
  145. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  146. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/utils/files.mts +0 -0
  147. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/utils/importMap.mts +0 -0
  148. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  149. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/src/utils/serde.mts +0 -0
  150. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/sse.py +0 -0
  151. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/traceblock.mts +0 -0
  152. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/tsconfig.json +0 -0
  153. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/ui.py +0 -0
  154. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/js/yarn.lock +0 -0
  155. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/lc_security/__init__.py +0 -0
  156. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/lc_security/exceptions.py +0 -0
  157. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/lc_security/policy.py +0 -0
  158. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/lc_security/transport.py +0 -0
  159. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/logging.py +0 -0
  160. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/metrics_collector.py +0 -0
  161. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/metrics_otlp.py +0 -0
  162. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/middleware/__init__.py +0 -0
  163. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/middleware/ensure_store.py +0 -0
  164. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/middleware/http_logger.py +0 -0
  165. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/middleware/private_network.py +0 -0
  166. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/middleware/request_id.py +0 -0
  167. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/models/__init__.py +0 -0
  168. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/models/run.py +0 -0
  169. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/otel_context.py +0 -0
  170. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/patch.py +0 -0
  171. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/queue_entrypoint.py +0 -0
  172. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/release_tags.py +0 -0
  173. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/route.py +0 -0
  174. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/schema.py +0 -0
  175. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/self_hosted_logs.py +0 -0
  176. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/self_hosted_metrics.py +0 -0
  177. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/serde.py +0 -0
  178. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/server.py +0 -0
  179. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/sse.py +0 -0
  180. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/state.py +0 -0
  181. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/store.py +0 -0
  182. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/stream_v2.py +0 -0
  183. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/timing/__init__.py +0 -0
  184. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/timing/profiler.py +0 -0
  185. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/timing/timer.py +0 -0
  186. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/traceblock.py +0 -0
  187. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/tunneling/cloudflare.py +0 -0
  188. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/__init__.py +0 -0
  189. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/cache.py +0 -0
  190. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/config.py +0 -0
  191. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/errors.py +0 -0
  192. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/extract.py +0 -0
  193. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/future.py +0 -0
  194. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/headers.py +0 -0
  195. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/network.py +0 -0
  196. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/retriable_client.py +0 -0
  197. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/stream_codec.py +0 -0
  198. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/utils/uuids.py +0 -0
  199. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/validation.py +0 -0
  200. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/webhook.py +0 -0
  201. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_api/worker.py +0 -0
  202. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/__init__.py +0 -0
  203. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/checkpointer.py +0 -0
  204. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/__init__.py +0 -0
  205. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/_compat.py +0 -0
  206. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  207. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/config.py +0 -0
  208. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/durability.py +0 -0
  209. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/struct.py +0 -0
  210. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/conversion/value.py +0 -0
  211. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  212. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  213. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  214. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  215. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/core_api_pb2.py +0 -0
  216. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/core_api_pb2.pyi +0 -0
  217. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  218. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  219. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  220. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  221. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  222. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  223. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  224. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  225. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  226. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  227. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  228. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  229. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  230. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  231. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  232. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  233. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  234. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  235. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  236. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  237. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  238. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  239. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  240. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  241. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  242. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  243. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  244. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  245. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  246. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  247. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  248. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  249. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  250. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  251. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  252. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  253. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  254. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  255. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  256. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  257. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  258. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  259. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  260. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  261. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  262. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  263. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  264. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  265. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  266. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  267. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_grpc_common/serde.py +0 -0
  268. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_license/__init__.py +0 -0
  269. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_license/validation.py +0 -0
  270. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/__init__.py +0 -0
  271. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/checkpoint.py +0 -0
  272. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/database.py +0 -0
  273. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/lifespan.py +0 -0
  274. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/metrics.py +0 -0
  275. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/ops.py +0 -0
  276. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/queue.py +0 -0
  277. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/retry.py +0 -0
  278. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/routes.py +0 -0
  279. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/langgraph_runtime/store.py +0 -0
  280. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/logging.json +0 -0
  281. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/openapi.json +0 -0
  282. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/scripts/build_wheel.py +0 -0
  283. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/scripts/create_license.py +0 -0
  284. {langgraph_api-0.12.0.dev13 → langgraph_api-0.12.0.dev15}/scripts/run_a2a_tck.py +0 -0
@@ -1,7 +1,7 @@
1
1
  .PHONY: build release lint format test test_watch start start-inmem start-inmem-license-oss start start-js-server build-go-server start-go-server stop-go-server check-version check-base-imports test-a2a-tck test-a2a-tck-mandatory start-test-a2a-tck start-test-a2a-tck-mandatory start-test-a2a-tck-watch test-mcp-conformance start-test-mcp-conformance list-mcp-scenarios test-auth-read-only-assistant
2
2
 
3
3
  # Environment variables
4
- LANGSERVE_GRAPHS_ALL = '{"agent": {"path": "./tests/graphs/agent.py:graph", "description": "agent"}, "assistant_id_runtime": "./tests/graphs/assistant_id_runtime.py:graph", "custom_lifespan": "./tests/graphs/my_router.py:graph", "single_node": "./tests/graphs/single_node.py:graph", "benchmark": "./tests/graphs/benchmark.py:graph", "config_graph": "./tests/graphs/config_graph.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph", "agent_interrupt": "./tests/graphs/agent_interrupt.py:graph", "agent_parallel_interrupt": "./tests/graphs/agent_parallel_interrupt.py:graph", "message_type_test": "./tests/graphs/message_type_test.py:graph", "remote_subgraph_parent": "./tests/graphs/remote_subgraph_parent.py:graph", "simple_remote": "./tests/graphs/simple_remote.py:graph", "nested_subgraphs": "./tests/graphs/nested_subgraphs.py:graph", "functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci", "state_graph_fibonacci": "./tests/graphs/state_graph_fibonacci.py:fibonacci", "max_concurrency_graph": "./tests/graphs/max_concurrency_graph.py:graph", "unserializable_subgraph": "./tests/graphs/unserializable_subgraph.py:graph", "agent_interrupt_text": "./tests/graphs/agent_interrupt_text.py:graph", "agent_echo_stream": "./tests/graphs/agent_echo_stream.py:graph", "agent_tool_stream": "./tests/graphs/agent_tool_stream.py:graph", "runtime_graph": "./tests/graphs/runtime_graph.py:graph", "tool_call_chunk_stream": "./tests/graphs/tool_call_chunk_stream.py:graph", "ui_tool_call_stream": "./tests/graphs/ui_tool_call_stream.py:graph", "agent_metrics_stream": "./tests/graphs/agent_metrics_stream.py:graph", "agent_multimodal_stream": "./tests/graphs/agent_multimodal_stream.py:graph", "agent_bedtime_story": "./tests/graphs/agent_bedtime_story.py:graph", "delta_channel": "./tests/graphs/delta_channel.py:graph", "delta_channel_freq": "./tests/graphs/delta_channel_freq.py:graph", "delta_channel_files": "./tests/graphs/delta_channel_files.py:graph", "delta_channel_files_freq": "./tests/graphs/delta_channel_files_freq.py:graph", "delta_channel_legacy": "./tests/graphs/delta_channel_migration.py:graph_legacy", "delta_channel_delta": "./tests/graphs/delta_channel_migration.py:graph_delta", "delta_channel_delta_filter": "./tests/graphs/delta_channel_migration.py:graph_delta_filter", "delta_channel_messages_freq": "./tests/graphs/delta_channel_messages.py:graph_freq", "delta_channel_messages": "./tests/graphs/delta_channel_messages.py:graph", "delta_channel_messages_legacy": "./tests/graphs/delta_channel_messages.py:graph_legacy", "delta_channel_messages_remove": "./tests/graphs/delta_channel_messages.py:graph_remove", "delta_channel_messages_update": "./tests/graphs/delta_channel_messages.py:graph_update", "delta_channel_messages_delta": "./tests/graphs/delta_channel_messages.py:graph_delta"}'
4
+ LANGSERVE_GRAPHS_ALL = '{"agent": {"path": "./tests/graphs/agent.py:graph", "description": "agent"}, "assistant_id_runtime": "./tests/graphs/assistant_id_runtime.py:graph", "custom_lifespan": "./tests/graphs/my_router.py:graph", "single_node": "./tests/graphs/single_node.py:graph", "benchmark": "./tests/graphs/benchmark.py:graph", "config_graph": "./tests/graphs/config_graph.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph", "agent_interrupt": "./tests/graphs/agent_interrupt.py:graph", "agent_parallel_interrupt": "./tests/graphs/agent_parallel_interrupt.py:graph", "message_type_test": "./tests/graphs/message_type_test.py:graph", "remote_subgraph_parent": "./tests/graphs/remote_subgraph_parent.py:graph", "simple_remote": "./tests/graphs/simple_remote.py:graph", "nested_subgraphs": "./tests/graphs/nested_subgraphs.py:graph", "functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci", "state_graph_fibonacci": "./tests/graphs/state_graph_fibonacci.py:fibonacci", "max_concurrency_graph": "./tests/graphs/max_concurrency_graph.py:graph", "unserializable_subgraph": "./tests/graphs/unserializable_subgraph.py:graph", "agent_interrupt_text": "./tests/graphs/agent_interrupt_text.py:graph", "agent_echo_stream": "./tests/graphs/agent_echo_stream.py:graph", "agent_tool_stream": "./tests/graphs/agent_tool_stream.py:graph", "runtime_graph": "./tests/graphs/runtime_graph.py:graph", "tool_call_chunk_stream": "./tests/graphs/tool_call_chunk_stream.py:graph", "ui_tool_call_stream": "./tests/graphs/ui_tool_call_stream.py:graph", "agent_metrics_stream": "./tests/graphs/agent_metrics_stream.py:graph", "agent_multimodal_stream": "./tests/graphs/agent_multimodal_stream.py:graph", "agent_bedtime_story": "./tests/graphs/agent_bedtime_story.py:graph", "delta_channel": "./tests/graphs/delta_channel.py:graph", "delta_channel_freq": "./tests/graphs/delta_channel_freq.py:graph", "delta_channel_files": "./tests/graphs/delta_channel_files.py:graph", "delta_channel_files_freq": "./tests/graphs/delta_channel_files_freq.py:graph", "delta_channel_legacy": "./tests/graphs/delta_channel_migration.py:graph_legacy", "delta_channel_delta": "./tests/graphs/delta_channel_migration.py:graph_delta", "delta_channel_delta_filter": "./tests/graphs/delta_channel_migration.py:graph_delta_filter", "delta_channel_messages_freq": "./tests/graphs/delta_channel_messages.py:graph_freq", "delta_channel_messages": "./tests/graphs/delta_channel_messages.py:graph", "delta_channel_messages_legacy": "./tests/graphs/delta_channel_messages.py:graph_legacy", "delta_channel_messages_remove": "./tests/graphs/delta_channel_messages.py:graph_remove", "delta_channel_messages_update": "./tests/graphs/delta_channel_messages.py:graph_update", "delta_channel_messages_delta": "./tests/graphs/delta_channel_messages.py:graph_delta", "store_e2e_async": "./tests/graphs/store_e2e.py:graph_async", "store_e2e_sync": "./tests/graphs/store_e2e.py:graph_sync"}'
5
5
  LANGSERVE_GRAPHS_AUTH = '{"agent": {"path": "./tests/graphs/agent.py:graph", "description": "agent"}, "assistant_id_runtime": "./tests/graphs/assistant_id_runtime.py:graph", "config_graph": "./tests/graphs/config_graph.py:graph", "other": "./tests/graphs/other.py:make_graph", "weather": "./tests/graphs/weather.py:mk_weather_graph", "searchy": "./tests/graphs/searchy.py:graph", "agent_simple": "./tests/graphs/agent_simple.py:graph", "simple_runtime": "./tests/graphs/simple_runtime.py:graph", "agent_parallel_interrupt": "./tests/graphs/agent_parallel_interrupt.py:graph", "functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci", "state_graph_fibonacci": "./tests/graphs/state_graph_fibonacci.py:fibonacci", "runtime_graph": "./tests/graphs/runtime_graph.py:graph"}'
6
6
 
7
7
  # Go server management
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.12.0.dev13
3
+ Version: 0.12.0.dev15
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
@@ -29,7 +29,7 @@ Requires-Dist: prometheus-client>=0.0.1
29
29
  Requires-Dist: protobuf<7.0.0,>=6.32.1
30
30
  Requires-Dist: pyjwt>=2.13.0
31
31
  Requires-Dist: sse-starlette<3.4.0,>=2.1.3
32
- Requires-Dist: starlette>=0.38.6
32
+ Requires-Dist: starlette>=1.3.1
33
33
  Requires-Dist: structlog<26,>=24.1.0
34
34
  Requires-Dist: tenacity>=8.0.0
35
35
  Requires-Dist: truststore>=0.1
@@ -0,0 +1 @@
1
+ __version__ = "0.12.0.dev15"
@@ -103,6 +103,8 @@ async def wait_if_not_done(coro: Coroutine[Any, Any, T], done: ValueEvent) -> T:
103
103
  await logger.ainfo("Done awaiting.", task=str(fut))
104
104
  if e.args and isinstance(e.args[0], Exception):
105
105
  raise e.args[0] from None
106
+ if isinstance(done._value, Exception):
107
+ raise done._value from None
106
108
  raise
107
109
  except ExceptionGroup as e:
108
110
  raise e.exceptions[0] from None
@@ -243,6 +243,8 @@ WEBHOOKS_ENABLED = HTTP_CONFIG and HTTP_CONFIG.get("disable_webhooks")
243
243
  STORE_CONFIG = env(
244
244
  "LANGGRAPH_STORE", cast=_parse.parse_schema(StoreConfig), default=None
245
245
  )
246
+ LANGGRAPH_STORE_BACKEND = env("LANGGRAPH_STORE_BACKEND", cast=str, default="python")
247
+ USE_GRPC_STORE = LANGGRAPH_STORE_BACKEND == "grpc"
246
248
 
247
249
 
248
250
  def _validate_mount_prefix(mount_prefix: str | None) -> str | None:
@@ -668,6 +670,7 @@ __all__ = [
668
670
  "LANGGRAPH_METRICS_ENDPOINT",
669
671
  "LANGGRAPH_METRICS_EXPORT_INTERVAL_MS",
670
672
  "LANGGRAPH_POSTGRES_EXTENSIONS",
673
+ "LANGGRAPH_STORE_BACKEND",
671
674
  "LANGSMITH_API_KEY",
672
675
  "LANGSMITH_AUTH_ENDPOINT",
673
676
  "LANGSMITH_AUTH_VERIFY_TENANT_ID",
@@ -715,6 +718,7 @@ __all__ = [
715
718
  "USES_STORE_TTL",
716
719
  "USES_THREAD_TTL",
717
720
  "USE_CUSTOM_CHECKPOINTER",
721
+ "USE_GRPC_STORE",
718
722
  "AuthConfig",
719
723
  "CheckpointerConfig",
720
724
  "CorsConfig",
@@ -39,6 +39,7 @@ GRPC_STATUS_TO_HTTP_STATUS = {
39
39
  StatusCode.INVALID_ARGUMENT: HTTPStatus.UNPROCESSABLE_ENTITY,
40
40
  StatusCode.PERMISSION_DENIED: HTTPStatus.FORBIDDEN,
41
41
  StatusCode.UNAUTHENTICATED: HTTPStatus.UNAUTHORIZED,
42
+ StatusCode.RESOURCE_EXHAUSTED: HTTPStatus.TOO_MANY_REQUESTS,
42
43
  }
43
44
 
44
45
 
@@ -187,19 +188,33 @@ def _handle_grpc_error(error: AioRpcError) -> None:
187
188
  Always return detail as a string here.
188
189
  """
189
190
  error_details = error.details()
191
+ retry_after_seconds = None
190
192
  if error_details is not None:
191
193
  try:
192
194
  details = orjson.loads(error_details)
193
- error_details = orjson.dumps(details.get("message", "")).decode()
195
+ retry_after_seconds = details.get("retry_after_seconds")
196
+ message = details.get("message", "")
197
+ # A string message is the detail verbatim; only re-encode structured
198
+ # (non-string) messages as JSON.
199
+ error_details = (
200
+ message if isinstance(message, str) else orjson.dumps(message).decode()
201
+ )
194
202
  except orjson.JSONDecodeError:
195
203
  # error details is not json, so just retun it as is
196
204
  pass
197
205
 
206
+ status_code = GRPC_STATUS_TO_HTTP_STATUS.get(
207
+ error.code(), HTTPStatus.INTERNAL_SERVER_ERROR
208
+ )
209
+ headers = None
210
+ if status_code == HTTPStatus.TOO_MANY_REQUESTS and retry_after_seconds:
211
+ # The Go core carries Retry-After as a structured integer (seconds).
212
+ headers = {"Retry-After": str(int(retry_after_seconds))}
213
+
198
214
  raise HTTPException(
199
- status_code=GRPC_STATUS_TO_HTTP_STATUS.get(
200
- error.code(), HTTPStatus.INTERNAL_SERVER_ERROR
201
- ),
215
+ status_code=status_code,
202
216
  detail=error_details,
217
+ headers=headers,
203
218
  )
204
219
 
205
220
 
@@ -2,9 +2,9 @@ import asyncio
2
2
  import os
3
3
  import uuid
4
4
  from datetime import UTC, datetime
5
+ from importlib import metadata as importlib_metadata
5
6
  from typing import Any
6
7
 
7
- import langgraph.version
8
8
  import orjson
9
9
  import structlog
10
10
 
@@ -58,6 +58,10 @@ else:
58
58
  HOST = "self-hosted"
59
59
  PLAN = "enterprise" if plus_features_enabled() else "developer"
60
60
  USER_API_URL = os.getenv("LANGGRAPH_API_URL", None)
61
+ DEPENDENCY_VERSION_DISTRIBUTIONS = {
62
+ "langgraph.python.version": "langgraph",
63
+ "starlette.version": "starlette",
64
+ }
61
65
 
62
66
  RUN_COUNTER = 0
63
67
  NODE_COUNTER = 0
@@ -80,6 +84,19 @@ if LANGSMITH_AUTH_ENDPOINT:
80
84
  )
81
85
 
82
86
 
87
+ def _dependency_version_metadata() -> dict[str, str]:
88
+ tags = {}
89
+ for tag, distribution in DEPENDENCY_VERSION_DISTRIBUTIONS.items():
90
+ try:
91
+ tags[tag] = importlib_metadata.version(distribution)
92
+ except importlib_metadata.PackageNotFoundError:
93
+ logger.debug(
94
+ "Dependency package not found for metadata", package=distribution
95
+ )
96
+ tags[tag] = ""
97
+ return tags
98
+
99
+
83
100
  def _lang_usage_metadata() -> tuple[dict[str, str], dict[str, int]]:
84
101
  js_graph_count = sum(1 for graph_id in GRAPHS if is_js_graph(graph_id))
85
102
  py_graph_count = len(GRAPHS) - js_graph_count
@@ -130,8 +147,6 @@ async def metadata_loop() -> None:
130
147
  "No license key or control plane API key set, skipping metadata loop"
131
148
  )
132
149
  return
133
- lg_version = langgraph.version.__version__
134
-
135
150
  if (
136
151
  LANGGRAPH_CLOUD_LICENSE_KEY
137
152
  and not LANGGRAPH_CLOUD_LICENSE_KEY.startswith("lcl_")
@@ -160,7 +175,7 @@ async def metadata_loop() -> None:
160
175
  base_tags = _ensure_strings(
161
176
  # Tag values must be strings.
162
177
  {
163
- "langgraph.python.version": lg_version,
178
+ **_dependency_version_metadata(),
164
179
  "langgraph_api.version": __version__ or "",
165
180
  "langgraph.platform.revision": REVISION or "",
166
181
  "langgraph.platform.variant": VARIANT or "",
@@ -339,7 +339,26 @@ async def astream_state(
339
339
  ):
340
340
  yield event["name"], event["data"]
341
341
  # TODO support messages-tuple for js graphs
342
- if event["event"] == "on_chain_stream" and event["run_id"] == run_id:
342
+ # For JS (BaseRemotePregel) with subgraphs=True, subgraph events
343
+ # carry the subgraph's own run_id. Accept them if the chunk is a
344
+ # proper 3-tuple [ns, mode, chunk] — that's the sidecar's
345
+ # normalized format. Limit this bypass to remote graphs only;
346
+ # Python child events must fall through to the raw "events"
347
+ # fallback below when the client requests stream_mode="events".
348
+ _chunk_data = (
349
+ event["data"].get("chunk")
350
+ if event["event"] == "on_chain_stream"
351
+ else None
352
+ )
353
+ if event["event"] == "on_chain_stream" and (
354
+ event["run_id"] == run_id
355
+ or (
356
+ subgraphs
357
+ and is_remote_pregel
358
+ and isinstance(_chunk_data, (list, tuple))
359
+ and len(_chunk_data) == 3
360
+ )
361
+ ):
343
362
  if subgraphs:
344
363
  ns, mode, chunk = event["data"]["chunk"]
345
364
  else:
@@ -0,0 +1,208 @@
1
+ """Marshal langgraph.store.base GetOp/PutOp/Item/Result to and from store.proto."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from datetime import datetime
6
+ from typing import TYPE_CHECKING, Any, cast
7
+
8
+ import orjson
9
+ from google.protobuf import empty_pb2
10
+ from langgraph.store.base import (
11
+ GetOp,
12
+ IndexConfig,
13
+ Item,
14
+ Op,
15
+ PutOp,
16
+ Result,
17
+ ensure_embeddings,
18
+ get_text_at_path,
19
+ tokenize_path,
20
+ )
21
+
22
+ from langgraph_grpc_common.proto import store_pb2
23
+
24
+ if TYPE_CHECKING:
25
+ from collections.abc import Sequence
26
+
27
+ from langchain_core.embeddings import Embeddings
28
+
29
+
30
+ def _ensure_index_config(
31
+ index_config: IndexConfig,
32
+ ) -> tuple[Embeddings | None, IndexConfig]:
33
+ # Vendored from langgraph.store.postgres.base so grpc_common_py stays
34
+ # backend-agnostic (no langgraph-checkpoint-postgres / psycopg dependency).
35
+ index_config = index_config.copy()
36
+ tokenized: list[tuple[str, str | list[str]]] = []
37
+ tot = 0
38
+ fields = index_config.get("fields") or ["$"]
39
+ if isinstance(fields, str):
40
+ fields = [fields]
41
+ if not isinstance(fields, list):
42
+ raise ValueError(f"Text fields must be a list or a string. Got {fields}")
43
+ for p in fields:
44
+ if p == "$":
45
+ tokenized.append((p, "$"))
46
+ tot += 1
47
+ else:
48
+ toks = tokenize_path(p)
49
+ tokenized.append((p, toks))
50
+ tot += len(toks)
51
+ index_config["__tokenized_fields"] = tokenized # ty: ignore[invalid-key]
52
+ index_config["__estimated_num_vectors"] = tot # ty: ignore[invalid-key]
53
+ embeddings = ensure_embeddings(index_config.get("embed"))
54
+ return embeddings, index_config
55
+
56
+
57
+ def _ttl_to_proto_minutes(ttl: float | None) -> int:
58
+ if ttl is None:
59
+ return 0
60
+ if ttl != int(ttl):
61
+ raise ValueError(
62
+ f"gRPC store only supports integer-minute TTL; got fractional ttl={ttl}"
63
+ )
64
+ return int(ttl)
65
+
66
+
67
+ def op_to_proto(
68
+ op: Op,
69
+ *,
70
+ vectors: Sequence[store_pb2.VectorValue] | None = None,
71
+ ) -> store_pb2.Op:
72
+ if isinstance(op, GetOp):
73
+ return store_pb2.Op(
74
+ get=store_pb2.GetOp(
75
+ namespace=list(op.namespace),
76
+ key=str(op.key),
77
+ refreshTTL=op.refresh_ttl,
78
+ )
79
+ )
80
+ if isinstance(op, PutOp):
81
+ if op.value is None:
82
+ raise TypeError(
83
+ "PutOp with value=None (delete) is not supported by gRPC store"
84
+ )
85
+ put_kwargs: dict[str, Any] = {
86
+ "namespace": list(op.namespace),
87
+ "key": str(op.key),
88
+ "value_json": orjson.dumps(op.value),
89
+ "ttlMinutes": _ttl_to_proto_minutes(op.ttl),
90
+ }
91
+ if vectors is not None:
92
+ put_kwargs["vectors"] = list(vectors)
93
+ return store_pb2.Op(put=store_pb2.PutOp(**put_kwargs))
94
+ raise TypeError(f"unsupported op: {type(op).__name__}")
95
+
96
+
97
+ def op_from_proto(msg: store_pb2.Op) -> Op:
98
+ kind = msg.WhichOneof("op")
99
+ if kind == "get":
100
+ g = msg.get
101
+ return GetOp(
102
+ namespace=tuple(g.namespace),
103
+ key=g.key,
104
+ refresh_ttl=g.refreshTTL,
105
+ )
106
+ if kind == "put":
107
+ p = msg.put
108
+ ttl: float | None = None
109
+ if p.ttlMinutes:
110
+ ttl = float(p.ttlMinutes)
111
+ return PutOp(
112
+ namespace=tuple(p.namespace),
113
+ key=p.key,
114
+ value=orjson.loads(p.value_json),
115
+ ttl=ttl,
116
+ )
117
+ raise ValueError("empty Op message (no oneof set)")
118
+
119
+
120
+ def result_to_proto(result: Result, op: Op) -> store_pb2.OpResult:
121
+ if isinstance(op, GetOp):
122
+ if result is None:
123
+ return store_pb2.OpResult(none=empty_pb2.Empty())
124
+ if not isinstance(result, Item):
125
+ raise TypeError(
126
+ f"expected Item for GetOp result, got {type(result).__name__}"
127
+ )
128
+ return store_pb2.OpResult(item=_item_to_proto(result))
129
+ if isinstance(op, PutOp):
130
+ return store_pb2.OpResult(none=empty_pb2.Empty())
131
+ raise TypeError(f"unsupported op for result encoding: {type(op).__name__}")
132
+
133
+
134
+ def result_from_proto(msg: store_pb2.OpResult) -> Result:
135
+ kind = msg.WhichOneof("result")
136
+ if kind == "none":
137
+ return None
138
+ if kind == "item":
139
+ return _item_from_proto(msg.item)
140
+ raise ValueError("empty OpResult message (no oneof set)")
141
+
142
+
143
+ def _item_to_proto(item: Item) -> store_pb2.Item:
144
+ return store_pb2.Item(
145
+ namespace=list(item.namespace),
146
+ key=item.key,
147
+ value_json=orjson.dumps(item.value),
148
+ created_at=_format_dt(item.created_at),
149
+ updated_at=_format_dt(item.updated_at),
150
+ )
151
+
152
+
153
+ def _item_from_proto(msg: store_pb2.Item) -> Item:
154
+ return Item(
155
+ namespace=tuple(msg.namespace),
156
+ key=msg.key,
157
+ value=orjson.loads(msg.value_json),
158
+ created_at=datetime.fromisoformat(msg.created_at),
159
+ updated_at=datetime.fromisoformat(msg.updated_at),
160
+ )
161
+
162
+
163
+ def _format_dt(dt: datetime) -> str:
164
+ return dt.isoformat()
165
+
166
+
167
+ async def vectors_for_put_op(
168
+ op: PutOp,
169
+ index_config: IndexConfig,
170
+ embeddings: Embeddings,
171
+ ) -> list[store_pb2.VectorValue]:
172
+ if op.index is False or op.value is None:
173
+ return []
174
+
175
+ value = op.value
176
+ if op.index is None:
177
+ paths = cast(
178
+ "list[tuple[str, str | list[str]]]",
179
+ index_config["__tokenized_fields"], # ty: ignore[invalid-key]
180
+ )
181
+ else:
182
+ paths = [(ix, tokenize_path(ix)) for ix in op.index]
183
+
184
+ texts: list[str] = []
185
+ pathnames: list[str] = []
186
+ for path, tokenized_path in paths:
187
+ extracted = get_text_at_path(value, tokenized_path)
188
+ for i, text in enumerate(extracted):
189
+ pathname = f"{path}.{i}" if len(extracted) > 1 else path
190
+ pathnames.append(pathname)
191
+ texts.append(text)
192
+
193
+ if not texts:
194
+ return []
195
+
196
+ vectors = await embeddings.aembed_documents(texts)
197
+ return [
198
+ store_pb2.VectorValue(valuePath=pathname, embedding=vector)
199
+ for pathname, vector in zip(pathnames, vectors, strict=False)
200
+ ]
201
+
202
+
203
+ def normalize_index_config(
204
+ index: IndexConfig | None,
205
+ ) -> tuple[Embeddings | None, IndexConfig | None]:
206
+ if not index:
207
+ return None, None
208
+ return _ensure_index_config(index)
@@ -15,6 +15,8 @@ from . import engine_common_pb2
15
15
  from . import engine_common_pb2_grpc
16
16
  from . import checkpointer_pb2
17
17
  from . import checkpointer_pb2_grpc
18
+ from . import store_pb2
19
+ from . import store_pb2_grpc
18
20
  from . import encryption_pb2
19
21
  from . import encryption_pb2_grpc
20
22
  from . import errors_pb2
@@ -27,6 +29,8 @@ __all__ = [
27
29
  "engine_common_pb2_grpc",
28
30
  "checkpointer_pb2",
29
31
  "checkpointer_pb2_grpc",
32
+ "store_pb2",
33
+ "store_pb2_grpc",
30
34
  "encryption_pb2",
31
35
  "encryption_pb2_grpc",
32
36
  "errors_pb2",
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: store.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'store.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bstore.proto\x12\x05store\x1a\x1bgoogle/protobuf/empty.proto\"&\n\x0c\x42\x61tchRequest\x12\x16\n\x03ops\x18\x01 \x03(\x0b\x32\t.store.Op\"1\n\rBatchResponse\x12 \n\x07results\x18\x01 \x03(\x0b\x32\x0f.store.OpResult\"D\n\x02Op\x12\x1b\n\x03get\x18\x01 \x01(\x0b\x32\x0c.store.GetOpH\x00\x12\x1b\n\x03put\x18\x02 \x01(\x0b\x32\x0c.store.PutOpH\x00\x42\x04\n\x02op\";\n\x05GetOp\x12\x11\n\tnamespace\x18\x01 \x03(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x12\n\nrefreshTTL\x18\x03 \x01(\x08\"3\n\x0bVectorValue\x12\x11\n\tvaluePath\x18\x01 \x01(\t\x12\x11\n\tembedding\x18\x02 \x03(\x02\"t\n\x05PutOp\x12\x11\n\tnamespace\x18\x01 \x03(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x12\n\nvalue_json\x18\x03 \x01(\x0c\x12\x12\n\nttlMinutes\x18\x04 \x01(\x05\x12#\n\x07vectors\x18\x05 \x03(\x0b\x32\x12.store.VectorValue\"Y\n\x08OpResult\x12\x1b\n\x04item\x18\x01 \x01(\x0b\x32\x0b.store.ItemH\x00\x12&\n\x04none\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06result\"b\n\x04Item\x12\x11\n\tnamespace\x18\x01 \x03(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x12\n\nvalue_json\x18\x03 \x01(\x0c\x12\x12\n\ncreated_at\x18\x04 \x01(\t\x12\x12\n\nupdated_at\x18\x05 \x01(\t2;\n\x05Store\x12\x32\n\x05\x42\x61tch\x12\x13.store.BatchRequest\x1a\x14.store.BatchResponseB?Z=github.com/langchain-ai/langgraph-api/core/internal/engine/pbb\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'store_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ _globals['DESCRIPTOR']._loaded_options = None
35
+ _globals['DESCRIPTOR']._serialized_options = b'Z=github.com/langchain-ai/langgraph-api/core/internal/engine/pb'
36
+ _globals['_BATCHREQUEST']._serialized_start=51
37
+ _globals['_BATCHREQUEST']._serialized_end=89
38
+ _globals['_BATCHRESPONSE']._serialized_start=91
39
+ _globals['_BATCHRESPONSE']._serialized_end=140
40
+ _globals['_OP']._serialized_start=142
41
+ _globals['_OP']._serialized_end=210
42
+ _globals['_GETOP']._serialized_start=212
43
+ _globals['_GETOP']._serialized_end=271
44
+ _globals['_VECTORVALUE']._serialized_start=273
45
+ _globals['_VECTORVALUE']._serialized_end=324
46
+ _globals['_PUTOP']._serialized_start=326
47
+ _globals['_PUTOP']._serialized_end=442
48
+ _globals['_OPRESULT']._serialized_start=444
49
+ _globals['_OPRESULT']._serialized_end=533
50
+ _globals['_ITEM']._serialized_start=535
51
+ _globals['_ITEM']._serialized_end=633
52
+ _globals['_STORE']._serialized_start=635
53
+ _globals['_STORE']._serialized_end=694
54
+ # @@protoc_insertion_point(module_scope)