langgraph-api 0.5.3__tar.gz → 0.5.7__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.

Potentially problematic release.


This version of langgraph-api might be problematic. Click here for more details.

Files changed (153) hide show
  1. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/Makefile +2 -2
  2. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/PKG-INFO +3 -3
  3. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/benchmark-runners/assistant.js +2 -2
  4. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/benchmark-runners/benchmark-runner.js +1 -1
  5. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/burst.js +1 -1
  6. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/clean.js +1 -1
  7. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/ramp.js +2 -2
  8. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/update-revision.js +5 -0
  9. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/constraints.txt +1 -1
  10. langgraph_api-0.5.7/langgraph_api/__init__.py +1 -0
  11. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/assistants.py +1 -1
  12. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/meta.py +6 -0
  13. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/threads.py +1 -1
  14. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/asgi_transport.py +1 -1
  15. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/custom.py +29 -24
  16. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/config.py +3 -0
  17. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/graph.py +1 -1
  18. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/config_conversion.py +12 -9
  19. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/core_api_pb2.py +62 -62
  20. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/core_api_pb2.pyi +6 -6
  21. langgraph_api-0.5.7/langgraph_api/grpc/generated/engine_common_pb2.py +185 -0
  22. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/engine_common_pb2.pyi +26 -54
  23. langgraph_api-0.5.7/langgraph_api/grpc/generated/enum_durability_pb2.py +37 -0
  24. langgraph_api-0.5.7/langgraph_api/grpc/generated/enum_durability_pb2.pyi +16 -0
  25. langgraph_api-0.5.7/langgraph_api/grpc/generated/enum_durability_pb2_grpc.py +24 -0
  26. langgraph_api-0.5.7/langgraph_api/grpc/ops/__init__.py +180 -0
  27. langgraph_api-0.5.7/langgraph_api/grpc/ops/assistants.py +419 -0
  28. langgraph_api-0.5.7/langgraph_api/grpc/ops/threads.py +505 -0
  29. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/queue_entrypoint.py +2 -2
  30. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/schema.py +2 -2
  31. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/self_hosted_metrics.py +48 -2
  32. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/serde.py +3 -3
  33. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/worker.py +1 -1
  34. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/pyproject.toml +2 -2
  35. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/uv.lock +65 -65
  36. langgraph_api-0.5.3/langgraph_api/__init__.py +0 -1
  37. langgraph_api-0.5.3/langgraph_api/grpc_ops/generated/engine_common_pb2.py +0 -191
  38. langgraph_api-0.5.3/langgraph_api/grpc_ops/ops.py +0 -1045
  39. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/.gitignore +0 -0
  40. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/LICENSE +0 -0
  41. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/README.md +0 -0
  42. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/.gitignore +0 -0
  43. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/Makefile +0 -0
  44. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/README.md +0 -0
  45. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/benchmark-runners/benchmarks.js +0 -0
  46. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/benchmark-runners/stream_write.js +0 -0
  47. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/benchmark-runners/wait_write.js +0 -0
  48. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/capacity_k6.js +0 -0
  49. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/capacity_runner.mjs +0 -0
  50. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/capacity_urls.mjs +0 -0
  51. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/graphs.js +0 -0
  52. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/package.json +0 -0
  53. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/reporting/dd_reporting.py +0 -0
  54. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/benchmark/weather.js +0 -0
  55. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/forbidden.txt +0 -0
  56. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/healthcheck.py +0 -0
  57. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/__init__.py +0 -0
  58. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/a2a.py +0 -0
  59. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/mcp.py +0 -0
  60. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/openapi.py +0 -0
  61. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/runs.py +0 -0
  62. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/store.py +0 -0
  63. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/api/ui.py +0 -0
  64. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/asyncio.py +0 -0
  65. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/__init__.py +0 -0
  66. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/langsmith/__init__.py +0 -0
  67. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/langsmith/backend.py +0 -0
  68. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/langsmith/client.py +0 -0
  69. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/middleware.py +0 -0
  70. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/noop.py +0 -0
  71. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/auth/studio_user.py +0 -0
  72. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/cli.py +0 -0
  73. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/command.py +0 -0
  74. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/cron_scheduler.py +0 -0
  75. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/errors.py +0 -0
  76. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/executor_entrypoint.py +0 -0
  77. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/feature_flags.py +0 -0
  78. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/__init__.py +0 -0
  79. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/client.py +0 -0
  80. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/__init__.py +0 -0
  81. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/core_api_pb2_grpc.py +0 -0
  82. {langgraph_api-0.5.3/langgraph_api/grpc_ops → langgraph_api-0.5.7/langgraph_api/grpc}/generated/engine_common_pb2_grpc.py +0 -0
  83. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/http.py +0 -0
  84. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/http_metrics.py +0 -0
  85. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/http_metrics_utils.py +0 -0
  86. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/.gitignore +0 -0
  87. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/.prettierrc +0 -0
  88. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/__init__.py +0 -0
  89. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/base.py +0 -0
  90. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/build.mts +0 -0
  91. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/client.http.mts +0 -0
  92. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/client.mts +0 -0
  93. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/errors.py +0 -0
  94. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/global.d.ts +0 -0
  95. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/package.json +0 -0
  96. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/remote.py +0 -0
  97. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/schema.py +0 -0
  98. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/graph.mts +0 -0
  99. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/load.hooks.mjs +0 -0
  100. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/preload.mjs +0 -0
  101. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/utils/files.mts +0 -0
  102. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/utils/importMap.mts +0 -0
  103. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  104. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/src/utils/serde.mts +0 -0
  105. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/sse.py +0 -0
  106. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/traceblock.mts +0 -0
  107. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/tsconfig.json +0 -0
  108. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/ui.py +0 -0
  109. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/js/yarn.lock +0 -0
  110. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/logging.py +0 -0
  111. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/metadata.py +0 -0
  112. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/middleware/__init__.py +0 -0
  113. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/middleware/http_logger.py +0 -0
  114. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/middleware/private_network.py +0 -0
  115. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/middleware/request_id.py +0 -0
  116. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/models/__init__.py +0 -0
  117. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/models/run.py +0 -0
  118. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/patch.py +0 -0
  119. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/route.py +0 -0
  120. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/self_hosted_logs.py +0 -0
  121. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/server.py +0 -0
  122. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/sse.py +0 -0
  123. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/state.py +0 -0
  124. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/store.py +0 -0
  125. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/stream.py +0 -0
  126. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/thread_ttl.py +0 -0
  127. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/traceblock.py +0 -0
  128. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/tunneling/cloudflare.py +0 -0
  129. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/__init__.py +0 -0
  130. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/cache.py +0 -0
  131. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/config.py +0 -0
  132. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/errors.py +0 -0
  133. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/future.py +0 -0
  134. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/headers.py +0 -0
  135. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/retriable_client.py +0 -0
  136. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/stream_codec.py +0 -0
  137. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/utils/uuids.py +0 -0
  138. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/validation.py +0 -0
  139. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_api/webhook.py +0 -0
  140. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_license/__init__.py +0 -0
  141. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_license/validation.py +0 -0
  142. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/__init__.py +0 -0
  143. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/checkpoint.py +0 -0
  144. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/database.py +0 -0
  145. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/lifespan.py +0 -0
  146. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/metrics.py +0 -0
  147. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/ops.py +0 -0
  148. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/queue.py +0 -0
  149. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/retry.py +0 -0
  150. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/langgraph_runtime/store.py +0 -0
  151. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/logging.json +0 -0
  152. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/openapi.json +0 -0
  153. {langgraph_api-0.5.3 → langgraph_api-0.5.7}/scripts/create_license.py +0 -0
@@ -2,8 +2,8 @@
2
2
 
3
3
  # Environment variables
4
4
  FF_USE_CORE_API ?= false
5
- LANGSERVE_GRAPHS_ALL = '{"agent": "./tests/graphs/agent.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", "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"}'
6
- LANGSERVE_GRAPHS_AUTH = '{"agent": "./tests/graphs/agent.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"}'
5
+ LANGSERVE_GRAPHS_ALL = '{"agent": "./tests/graphs/agent.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", "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","functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci"}'
6
+ LANGSERVE_GRAPHS_AUTH = '{"agent": "./tests/graphs/agent.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","functional_fibonacci": "./tests/graphs/functional_fibonacci.py:fibonacci"}'
7
7
 
8
8
  # Go server management
9
9
  build-go-server:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.5.3
3
+ Version: 0.5.7
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
@@ -12,8 +12,8 @@ Requires-Dist: grpcio<2.0.0,>=1.75.0
12
12
  Requires-Dist: httpx>=0.25.0
13
13
  Requires-Dist: jsonschema-rs<0.30,>=0.20.0
14
14
  Requires-Dist: langchain-core>=0.3.64
15
- Requires-Dist: langgraph-checkpoint<4,>=3
16
- Requires-Dist: langgraph-runtime-inmem<0.17.0,>=0.16.0
15
+ Requires-Dist: langgraph-checkpoint<4,>=3.0.1
16
+ Requires-Dist: langgraph-runtime-inmem<0.18.0,>=0.17.0
17
17
  Requires-Dist: langgraph-sdk>=0.2.0
18
18
  Requires-Dist: langgraph<2,>=0.4.10
19
19
  Requires-Dist: langsmith>=0.3.45
@@ -59,7 +59,7 @@ export class Assistant extends BenchmarkRunner {
59
59
  'Patch response contains the correct assistant': (r) => r.patchResponse.json().assistant_id === result.assistantId,
60
60
  'Get response 2 contains the correct assistant': (r) => r.getResponse2.json().assistant_id === result.assistantId,
61
61
  'Get response 2 contains the new description': (r) => r.getResponse2.json().metadata.description != result.getResponse.json().metadata.description && result.getResponse2.json().metadata.description === result.patchResponse.json().metadata.description,
62
- 'Get response 2 contains the correct created_by': (r) => r.getResponse2.json().metadata.created_by === 'josh',
62
+ 'Get response 2 contains the correct created_by': (r) => r.getResponse2.json().metadata.created_by === 'benchmark',
63
63
  'Count response contains the correct number of assistants': (r) => parseInt(r.countResponse.json()) === 1,
64
64
  'Delete response is successful': (r) => r.deleteResponse.status === 204,
65
65
  });
@@ -68,7 +68,7 @@ export class Assistant extends BenchmarkRunner {
68
68
  }
69
69
 
70
70
  if (!success) {
71
- if (result.searchResponse.status >= 500 || result.getResponse.status >= 500 || result.patchResponse.status >= 500 || result.getResponse2.status >= 500 || result.countResponse.status >= 500 || result.deleteResponse.status >= 500) {
71
+ if (result.searchResponse.status == 502 || result.getResponse.status == 502 || result.patchResponse.status == 502 || result.getResponse2.status == 502 || result.countResponse.status == 502 || result.deleteResponse.status == 502) {
72
72
  errorMetrics.server_errors.add(1);
73
73
  console.log(`Server error: ${result.searchResponse.status}, ${result.getResponse.status}, ${result.patchResponse.status}, ${result.getResponse2.status}, ${result.countResponse.status}, ${result.deleteResponse.status}`);
74
74
  } else if (result.searchResponse.status === 408 || result.getResponse.status === 408 || result.patchResponse.status === 408 || result.getResponse2.status === 408 || result.countResponse.status === 408 || result.deleteResponse.status === 408) {
@@ -4,7 +4,7 @@
4
4
  export class BenchmarkRunner {
5
5
  /**
6
6
  * Run the benchmark type.
7
- * @param {string} baseUrl - The base URL of the LangGraph server.
7
+ * @param {string} baseUrl - The base URL of the Agent Server.
8
8
  * @param {any} requestParams - The parameters to use for the request. Includes headers and other config like timeout.
9
9
  * @param {any} benchmarkGraphOptions - The options for the benchmark graph.
10
10
  * @returns {any} - The result of the benchmark type. This format will vary by benchmark type.
@@ -13,7 +13,7 @@ const serverErrors = new Counter('server_errors');
13
13
  const otherErrors = new Counter('other_errors');
14
14
  const burstSuccessRate = new Rate('burst_success_rate');
15
15
 
16
- // URL of your LangGraph server
16
+ // URL of your Agent Server
17
17
  const BASE_URL = __ENV.BASE_URL || 'http://localhost:9123';
18
18
  // LangSmith API key only needed with a custom server endpoint
19
19
  const LANGSMITH_API_KEY = __ENV.LANGSMITH_API_KEY;
@@ -3,7 +3,7 @@
3
3
  * The default benchmark server has a thread TTL of one hour that should clean things up too so this doesn't run too long.
4
4
  */
5
5
 
6
- // URL of your LangGraph server
6
+ // URL of your Agent Server
7
7
  const BASE_URL = process.env.BASE_URL || 'http://localhost:9123';
8
8
  // LangSmith API key only needed with a custom server endpoint
9
9
  const LANGSMITH_API_KEY = process.env.LANGSMITH_API_KEY;
@@ -16,12 +16,12 @@ const otherErrors = new Counter('other_errors');
16
16
  const errorMetrics = {
17
17
  timeout_errors: timeoutErrors,
18
18
  connection_errors: connectionErrors,
19
- server_errors: serverErrors,
20
19
  missing_message_errors: missingMessageErrors,
21
20
  other_errors: otherErrors,
21
+ server_errors: serverErrors,
22
22
  }
23
23
 
24
- // URL of your LangGraph server
24
+ // URL of your Agent Server
25
25
  const BASE_URL = __ENV.BASE_URL || 'http://localhost:9123';
26
26
  // LangSmith API key only needed with a custom server endpoint
27
27
  const LANGSMITH_API_KEY = __ENV.LANGSMITH_API_KEY;
@@ -21,6 +21,11 @@ const REVISION_CONFIG = {
21
21
  name: "FF_LOG_DROPPED_EVENTS",
22
22
  value: "true",
23
23
  type: "secret"
24
+ },
25
+ {
26
+ name: "FF_USE_CORE_API",
27
+ value: "true",
28
+ type: "secret"
24
29
  }
25
30
  ],
26
31
  shareable: false
@@ -3,7 +3,7 @@
3
3
  # https://github.com/langchain-ai/langgraph/blob/main/docs/docs/cloud/deployment/setup_pyproject.md
4
4
  langgraph>=0.4.10,<2
5
5
  langgraph-sdk>=0.2.0
6
- langgraph-checkpoint>=3,<4
6
+ langgraph-checkpoint>=3.0.1,<4
7
7
  langchain-core>=0.3.64
8
8
  langsmith>=0.3.45
9
9
  orjson>=3.9.7,<3.10.17
@@ -0,0 +1 @@
1
+ __version__ = "0.5.7"
@@ -16,7 +16,7 @@ from starlette.routing import BaseRoute
16
16
  from langgraph_api import store as api_store
17
17
  from langgraph_api.feature_flags import FF_USE_CORE_API, USE_RUNTIME_CONTEXT_API
18
18
  from langgraph_api.graph import get_assistant_id, get_graph
19
- from langgraph_api.grpc_ops.ops import Assistants as GrpcAssistants
19
+ from langgraph_api.grpc.ops import Assistants as GrpcAssistants
20
20
  from langgraph_api.js.base import BaseRemotePregel
21
21
  from langgraph_api.route import ApiRequest, ApiResponse, ApiRoute
22
22
  from langgraph_api.schema import ASSISTANT_FIELDS
@@ -86,6 +86,12 @@ async def meta_metrics(request: ApiRequest):
86
86
  "# HELP lg_api_num_running_runs The number of runs currently running.",
87
87
  "# TYPE lg_api_num_running_runs gauge",
88
88
  f'lg_api_num_running_runs{{project_id="{metadata.PROJECT_ID}", revision_id="{metadata.HOST_REVISION_ID}"}} {queue_stats["n_running"]}',
89
+ "# HELP lg_api_pending_runs_wait_time_max The maximum time a run has been pending, in seconds.",
90
+ "# TYPE lg_api_pending_runs_wait_time_max gauge",
91
+ f'lg_api_pending_runs_wait_time_max{{project_id="{metadata.PROJECT_ID}", revision_id="{metadata.HOST_REVISION_ID}"}} {queue_stats.get("pending_runs_wait_time_max_secs") or 0}',
92
+ "# HELP lg_api_pending_runs_wait_time_med The median pending wait time across runs, in seconds.",
93
+ "# TYPE lg_api_pending_runs_wait_time_med gauge",
94
+ f'lg_api_pending_runs_wait_time_med{{project_id="{metadata.PROJECT_ID}", revision_id="{metadata.HOST_REVISION_ID}"}} {queue_stats.get("pending_runs_wait_time_med_secs") or 0}',
89
95
  ]
90
96
  )
91
97
  except Exception as e:
@@ -6,7 +6,7 @@ from starlette.responses import Response
6
6
  from starlette.routing import BaseRoute
7
7
 
8
8
  from langgraph_api.feature_flags import FF_USE_CORE_API
9
- from langgraph_api.grpc_ops.ops import Threads as GrpcThreads
9
+ from langgraph_api.grpc.ops import Threads as GrpcThreads
10
10
  from langgraph_api.route import ApiRequest, ApiResponse, ApiRoute
11
11
  from langgraph_api.schema import THREAD_FIELDS, ThreadStreamMode
12
12
  from langgraph_api.sse import EventSourceResponse
@@ -152,7 +152,7 @@ class ASGITransport(ASGITransportBase):
152
152
 
153
153
  try:
154
154
  await call_soon_in_main_loop(self.app(scope, receive, send))
155
- except Exception: # noqa: PIE-786
155
+ except Exception: # noqa: BLE001
156
156
  if self.raise_app_exceptions:
157
157
  raise
158
158
 
@@ -355,34 +355,39 @@ def _solve_fastapi_dependencies(
355
355
  }
356
356
 
357
357
  async def decorator(scope: dict, request: Request):
358
- async with AsyncExitStack() as stack:
359
- all_solved = await asyncio.gather(
360
- *(
361
- solve_dependencies(
362
- request=request,
363
- dependant=dependent,
364
- async_exit_stack=stack,
365
- embed_body_fields=False,
358
+ async with AsyncExitStack() as request_stack:
359
+ scope["fastapi_inner_astack"] = request_stack
360
+ async with AsyncExitStack() as stack:
361
+ scope["fastapi_function_astack"] = stack
362
+ all_solved = await asyncio.gather(
363
+ *(
364
+ solve_dependencies(
365
+ request=request,
366
+ dependant=dependent,
367
+ async_exit_stack=stack,
368
+ embed_body_fields=False,
369
+ )
370
+ for dependent in dependents.values()
366
371
  )
367
- for dependent in dependents.values()
368
372
  )
369
- )
370
- all_injected = await asyncio.gather(
371
- *(
372
- _run_async(dependent.call, solved.values, is_async)
373
- for dependent, solved in zip(
374
- dependents.values(), all_solved, strict=False
373
+ all_injected = await asyncio.gather(
374
+ *(
375
+ _run_async(dependent.call, solved.values, is_async)
376
+ for dependent, solved in zip(
377
+ dependents.values(), all_solved, strict=False
378
+ )
375
379
  )
376
380
  )
377
- )
378
- kwargs = {
379
- name: value
380
- for name, value in zip(dependents.keys(), all_injected, strict=False)
381
- }
382
- other_params = _extract_arguments_from_scope(
383
- scope, _param_names, request=request
384
- )
385
- return await fn(**(kwargs | other_params))
381
+ kwargs = {
382
+ name: value
383
+ for name, value in zip(
384
+ dependents.keys(), all_injected, strict=False
385
+ )
386
+ }
387
+ other_params = _extract_arguments_from_scope(
388
+ scope, _param_names, request=request
389
+ )
390
+ return await fn(**(kwargs | other_params))
386
391
 
387
392
  return decorator
388
393
 
@@ -281,6 +281,9 @@ REDIS_URI = env("REDIS_URI", cast=str)
281
281
  REDIS_CLUSTER = env("REDIS_CLUSTER", cast=bool, default=False)
282
282
  REDIS_MAX_CONNECTIONS = env("REDIS_MAX_CONNECTIONS", cast=int, default=2000)
283
283
  REDIS_CONNECT_TIMEOUT = env("REDIS_CONNECT_TIMEOUT", cast=float, default=10.0)
284
+ REDIS_HEALTH_CHECK_INTERVAL = env(
285
+ "REDIS_HEALTH_CHECK_INTERVAL", cast=float, default=10.0
286
+ )
284
287
  REDIS_KEY_PREFIX = env("REDIS_KEY_PREFIX", cast=str, default="")
285
288
  RUN_STATS_CACHE_SECONDS = env("RUN_STATS_CACHE_SECONDS", cast=int, default=60)
286
289
 
@@ -51,7 +51,7 @@ async def register_graph(
51
51
  description: str | None = None,
52
52
  ) -> None:
53
53
  """Register a graph."""
54
- from langgraph_api.grpc_ops.ops import Assistants as AssistantsGrpc
54
+ from langgraph_api.grpc.ops import Assistants as AssistantsGrpc
55
55
  from langgraph_runtime.database import connect
56
56
  from langgraph_runtime.ops import Assistants as AssistantsRuntime
57
57
 
@@ -8,7 +8,10 @@ from typing import Any, cast
8
8
  import orjson
9
9
  from langchain_core.runnables.config import RunnableConfig
10
10
 
11
- from langgraph_api.grpc_ops.generated import engine_common_pb2
11
+ from langgraph_api.grpc.generated import (
12
+ engine_common_pb2,
13
+ enum_durability_pb2,
14
+ )
12
15
 
13
16
  CONFIG_KEY_SEND = "__pregel_send"
14
17
  CONFIG_KEY_READ = "__pregel_read"
@@ -25,27 +28,27 @@ CONFIG_KEY_GRAPH_ID = "graph_id"
25
28
 
26
29
  def _durability_to_proto(
27
30
  durability: str,
28
- ) -> engine_common_pb2.Durability:
31
+ ) -> enum_durability_pb2.Durability:
29
32
  match durability:
30
33
  case "async":
31
- return engine_common_pb2.Durability.ASYNC
34
+ return enum_durability_pb2.Durability.ASYNC
32
35
  case "sync":
33
- return engine_common_pb2.Durability.SYNC
36
+ return enum_durability_pb2.Durability.SYNC
34
37
  case "exit":
35
- return engine_common_pb2.Durability.EXIT
38
+ return enum_durability_pb2.Durability.EXIT
36
39
  case _:
37
40
  raise ValueError(f"invalid durability: {durability}")
38
41
 
39
42
 
40
43
  def _durability_from_proto(
41
- durability: engine_common_pb2.Durability,
44
+ durability: enum_durability_pb2.Durability,
42
45
  ) -> str:
43
46
  match durability:
44
- case engine_common_pb2.Durability.ASYNC:
47
+ case enum_durability_pb2.Durability.ASYNC:
45
48
  return "async"
46
- case engine_common_pb2.Durability.SYNC:
49
+ case enum_durability_pb2.Durability.SYNC:
47
50
  return "sync"
48
- case engine_common_pb2.Durability.EXIT:
51
+ case enum_durability_pb2.Durability.EXIT:
49
52
  return "exit"
50
53
  case _:
51
54
  raise ValueError(f"invalid durability: {durability}")
@@ -28,7 +28,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
28
28
  from . import engine_common_pb2 as engine__common__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13\x65ngine-common.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"\x1d\n\x0c\x45qAuthFilter\x12\r\n\x05match\x18\x01 \x01(\t\"=\n\x12\x43ontainsAuthFilter\x12\'\n\x07matches\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value\"l\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\x98\x03\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\t \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xef\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xc7\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.coreApi.CreateAssistantRequest.FiltersEntry\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x32\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfig\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xac\x01\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.GetAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd6\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12<\n\x07\x66ilters\x18\x02 \x03(\x0b\x32+.coreApi.PatchAssistantRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\n\n\x08_contextB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xb2\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12=\n\x07\x66ilters\x18\x02 \x03(\x0b\x32,.coreApi.DeleteAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"\xc9\x01\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.coreApi.SetLatestAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc6\x03\n\x17SearchAssistantsRequest\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32-.coreApi.SearchAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xb7\x02\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x42\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x31.coreApi.GetAssistantVersionsRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xfd\x01\n\x16\x43ountAssistantsRequest\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.coreApi.CountAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadata\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xac\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n\ninterrupts\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x05state\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x08\n\x06_state\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xb7\x02\n\x11\x43heckpointPayload\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\'\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04next\x18\x04 \x03(\t\x12>\n\rparent_config\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x80\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xbb\x03\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x06 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\x08 \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x12 \n\x05\x65rror\x18\t \x01(\x0b\x32\x11.coreApi.Fragment\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\"\xd9\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.CreateThreadRequest.FiltersEntry\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb2\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x02 \x03(\x0b\x32&.coreApi.GetThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xa7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x39\n\x07\x66ilters\x18\x02 \x03(\x0b\x32(.coreApi.PatchThreadRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb8\x01\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.DeleteThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xb4\x01\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.CopyThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\x89\x04\n\x14SearchThreadsRequest\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32*.coreApi.SearchThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xc3\x02\n\x13\x43ountThreadsRequest\x12:\n\x07\x66ilters\x18\x01 \x03(\x0b\x32).coreApi.CountThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_status\";\n\x17SweepThreadsTTLResponse\x12\x0f\n\x07\x65xpired\x18\x01 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x02 \x01(\x04\"J\n\x16SweepThreadsTTLRequest\x12\x12\n\nbatch_size\x18\x01 \x01(\x04\x12\x12\n\x05limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_limit\"\x94\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12%\n\x06status\x18\x02 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12\x33\n\ncheckpoint\x18\x03 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x0f\x65xpected_status\x18\x05 \x03(\x0e\x32\x15.coreApi.ThreadStatusB\r\n\x0b_checkpointB\x0c\n\n_exception\"\x87\x02\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x33\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xec\x01\n\x14JointRollbackRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08graph_id\x18\x03 \x01(\t\x12\x33\n\ncheckpoint\x18\x04 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xe2\x04\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12-\n\x07\x63ommand\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x03\x88\x01\x01\x12(\n\x0bstream_mode\x18\x05 \x01(\x0e\x32\x13.coreApi.StreamMode\x12\x18\n\x10interrupt_before\x18\x06 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x07 \x03(\t\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x05\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\x08\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\t\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x08\n\x06_inputB\n\n\x08_commandB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xf0\x02\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x06status\x18\x06 \x01(\x0e\x32\x12.coreApi.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x36\n\x12multitask_strategy\x18\t \x01(\x0e\x32\x1a.coreApi.MultitaskStrategy\"\x8a\x01\n\nQueueStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12\x19\n\x0cmax_age_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmed_age_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\x0f\n\r_max_age_secsB\x0f\n\r_med_age_secs\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"<\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\xe9\x05\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\'\n\x06kwargs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.CreateRunRequest.FiltersEntry\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12\'\n\x06status\x18\x07 \x01(\x0e\x32\x12.coreApi.RunStatusH\x03\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12;\n\x12multitask_strategy\x18\n \x01(\x0e\x32\x1a.coreApi.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x0b\n\t_metadataB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_seconds\"\xcb\x01\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x34\n\x07\x66ilters\x18\x03 \x03(\x0b\x32#.coreApi.GetRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd1\x01\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.DeleteRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xb3\x02\n\x10\x43\x61ncelRunRequest\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.coreApi.CancelRunRequest.FiltersEntry\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12-\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x18.coreApi.CancelRunActionH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xb6\x02\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.SearchRunsRequest.FiltersEntry\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\'\n\x06status\x18\x05 \x01(\x0e\x32\x12.coreApi.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"X\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.coreApi.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*v\n\x0cThreadStatus\x12\x16\n\x12THREAD_STATUS_IDLE\x10\x00\x12\x16\n\x12THREAD_STATUS_BUSY\x10\x01\x12\x1d\n\x19THREAD_STATUS_INTERRUPTED\x10\x02\x12\x17\n\x13THREAD_STATUS_ERROR\x10\x03*3\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xab\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04*\x9d\x01\n\tRunStatus\x12\x16\n\x12RUN_STATUS_PENDING\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x14\n\x10RUN_STATUS_ERROR\x10\x02\x12\x16\n\x12RUN_STATUS_SUCCESS\x10\x03\x12\x16\n\x12RUN_STATUS_TIMEOUT\x10\x04\x12\x1a\n\x16RUN_STATUS_INTERRUPTED\x10\x05*\xb9\x01\n\x11MultitaskStrategy\x12\"\n\x1eMULTITASK_STRATEGY_UNSPECIFIED\x10\x00\x12\x1d\n\x19MULTITASK_STRATEGY_REJECT\x10\x01\x12\x1f\n\x1bMULTITASK_STRATEGY_ROLLBACK\x10\x02\x12 \n\x1cMULTITASK_STRATEGY_INTERRUPT\x10\x03\x12\x1e\n\x1aMULTITASK_STRATEGY_ENQUEUE\x10\x04*\xef\x01\n\nStreamMode\x12\x1b\n\x17STREAM_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12STREAM_MODE_VALUES\x10\x01\x12\x18\n\x14STREAM_MODE_MESSAGES\x10\x02\x12\x17\n\x13STREAM_MODE_UPDATES\x10\x03\x12\x16\n\x12STREAM_MODE_EVENTS\x10\x04\x12\x15\n\x11STREAM_MODE_DEBUG\x10\x05\x12\x15\n\x11STREAM_MODE_TASKS\x10\x06\x12\x1b\n\x17STREAM_MODE_CHECKPOINTS\x10\x07\x12\x16\n\x12STREAM_MODE_CUSTOM\x10\x08*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*R\n\x0f\x43\x61ncelRunAction\x12\x1f\n\x1b\x43\x41NCEL_RUN_ACTION_INTERRUPT\x10\x00\x12\x1e\n\x1a\x43\x41NCEL_RUN_ACTION_ROLLBACK\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xcd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\rJointRollback\x12\x1d.coreApi.JointRollbackRequest\x1a\x16.google.protobuf.Empty\x12M\n\x08SweepTTL\x12\x1f.coreApi.SweepThreadsTTLRequest\x1a .coreApi.SweepThreadsTTLResponse2\x8b\x04\n\x04Runs\x12\x31\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x0c.coreApi.Run\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x13.coreApi.QueueStats\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13\x65ngine-common.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"\x1d\n\x0c\x45qAuthFilter\x12\r\n\x05match\x18\x01 \x01(\t\"=\n\x12\x43ontainsAuthFilter\x12\'\n\x07matches\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value\"l\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\x98\x03\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\t \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xef\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xc7\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.coreApi.CreateAssistantRequest.FiltersEntry\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x32\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfig\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xac\x01\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.GetAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd6\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12<\n\x07\x66ilters\x18\x02 \x03(\x0b\x32+.coreApi.PatchAssistantRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\n\n\x08_contextB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xb2\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12=\n\x07\x66ilters\x18\x02 \x03(\x0b\x32,.coreApi.DeleteAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"\xc9\x01\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.coreApi.SetLatestAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc6\x03\n\x17SearchAssistantsRequest\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32-.coreApi.SearchAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xb7\x02\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x42\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x31.coreApi.GetAssistantVersionsRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xfd\x01\n\x16\x43ountAssistantsRequest\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.coreApi.CountAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadata\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xac\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n\ninterrupts\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x05state\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x08\n\x06_state\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xb7\x02\n\x11\x43heckpointPayload\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\'\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04next\x18\x04 \x03(\t\x12>\n\rparent_config\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x80\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xbb\x03\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x06 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\x08 \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x12 \n\x05\x65rror\x18\t \x01(\x0b\x32\x11.coreApi.Fragment\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\"\xd9\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.CreateThreadRequest.FiltersEntry\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb2\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x02 \x03(\x0b\x32&.coreApi.GetThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xa7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x39\n\x07\x66ilters\x18\x02 \x03(\x0b\x32(.coreApi.PatchThreadRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb8\x01\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.DeleteThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xb4\x01\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.CopyThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\x89\x04\n\x14SearchThreadsRequest\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32*.coreApi.SearchThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xc3\x02\n\x13\x43ountThreadsRequest\x12:\n\x07\x66ilters\x18\x01 \x03(\x0b\x32).coreApi.CountThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_status\";\n\x17SweepThreadsTTLResponse\x12\x0f\n\x07\x65xpired\x18\x01 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x02 \x01(\x04\"J\n\x16SweepThreadsTTLRequest\x12\x12\n\nbatch_size\x18\x01 \x01(\x04\x12\x12\n\x05limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_limit\"\x94\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12%\n\x06status\x18\x02 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12\x33\n\ncheckpoint\x18\x03 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x0f\x65xpected_status\x18\x05 \x03(\x0e\x32\x15.coreApi.ThreadStatusB\r\n\x0b_checkpointB\x0c\n\n_exception\"\x87\x02\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x33\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xec\x01\n\x14JointRollbackRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08graph_id\x18\x03 \x01(\t\x12\x33\n\ncheckpoint\x18\x04 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xe2\x04\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12-\n\x07\x63ommand\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x03\x88\x01\x01\x12(\n\x0bstream_mode\x18\x05 \x01(\x0e\x32\x13.coreApi.StreamMode\x12\x18\n\x10interrupt_before\x18\x06 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x07 \x03(\t\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x05\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\x08\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\t\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x08\n\x06_inputB\n\n\x08_commandB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xf0\x02\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x06status\x18\x06 \x01(\x0e\x32\x12.coreApi.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x36\n\x12multitask_strategy\x18\t \x01(\x0e\x32\x1a.coreApi.MultitaskStrategy\"\xd6\x01\n\nQueueStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12,\n\x1fpending_runs_wait_time_max_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12,\n\x1fpending_runs_wait_time_med_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\"\n _pending_runs_wait_time_max_secsB\"\n _pending_runs_wait_time_med_secs\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"<\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\xe9\x05\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\'\n\x06kwargs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.CreateRunRequest.FiltersEntry\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12\'\n\x06status\x18\x07 \x01(\x0e\x32\x12.coreApi.RunStatusH\x03\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12;\n\x12multitask_strategy\x18\n \x01(\x0e\x32\x1a.coreApi.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x0b\n\t_metadataB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_seconds\"\xcb\x01\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x34\n\x07\x66ilters\x18\x03 \x03(\x0b\x32#.coreApi.GetRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd1\x01\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.DeleteRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xb3\x02\n\x10\x43\x61ncelRunRequest\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.coreApi.CancelRunRequest.FiltersEntry\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12-\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x18.coreApi.CancelRunActionH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xb6\x02\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.SearchRunsRequest.FiltersEntry\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\'\n\x06status\x18\x05 \x01(\x0e\x32\x12.coreApi.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"X\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.coreApi.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*v\n\x0cThreadStatus\x12\x16\n\x12THREAD_STATUS_IDLE\x10\x00\x12\x16\n\x12THREAD_STATUS_BUSY\x10\x01\x12\x1d\n\x19THREAD_STATUS_INTERRUPTED\x10\x02\x12\x17\n\x13THREAD_STATUS_ERROR\x10\x03*3\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xab\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04*\x9d\x01\n\tRunStatus\x12\x16\n\x12RUN_STATUS_PENDING\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x14\n\x10RUN_STATUS_ERROR\x10\x02\x12\x16\n\x12RUN_STATUS_SUCCESS\x10\x03\x12\x16\n\x12RUN_STATUS_TIMEOUT\x10\x04\x12\x1a\n\x16RUN_STATUS_INTERRUPTED\x10\x05*\xb9\x01\n\x11MultitaskStrategy\x12\"\n\x1eMULTITASK_STRATEGY_UNSPECIFIED\x10\x00\x12\x1d\n\x19MULTITASK_STRATEGY_REJECT\x10\x01\x12\x1f\n\x1bMULTITASK_STRATEGY_ROLLBACK\x10\x02\x12 \n\x1cMULTITASK_STRATEGY_INTERRUPT\x10\x03\x12\x1e\n\x1aMULTITASK_STRATEGY_ENQUEUE\x10\x04*\xef\x01\n\nStreamMode\x12\x1b\n\x17STREAM_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12STREAM_MODE_VALUES\x10\x01\x12\x18\n\x14STREAM_MODE_MESSAGES\x10\x02\x12\x17\n\x13STREAM_MODE_UPDATES\x10\x03\x12\x16\n\x12STREAM_MODE_EVENTS\x10\x04\x12\x15\n\x11STREAM_MODE_DEBUG\x10\x05\x12\x15\n\x11STREAM_MODE_TASKS\x10\x06\x12\x1b\n\x17STREAM_MODE_CHECKPOINTS\x10\x07\x12\x16\n\x12STREAM_MODE_CUSTOM\x10\x08*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*R\n\x0f\x43\x61ncelRunAction\x12\x1f\n\x1b\x43\x41NCEL_RUN_ACTION_INTERRUPT\x10\x00\x12\x1e\n\x1a\x43\x41NCEL_RUN_ACTION_ROLLBACK\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xcd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\rJointRollback\x12\x1d.coreApi.JointRollbackRequest\x1a\x16.google.protobuf.Empty\x12M\n\x08SweepTTL\x12\x1f.coreApi.SweepThreadsTTLRequest\x1a .coreApi.SweepThreadsTTLResponse2\x8b\x04\n\x04Runs\x12\x31\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x0c.coreApi.Run\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x13.coreApi.QueueStats\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -80,32 +80,32 @@ if not _descriptor._USE_C_DESCRIPTORS:
80
80
  _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
81
81
  _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._loaded_options = None
82
82
  _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
83
- _globals['_ONCONFLICTBEHAVIOR']._serialized_start=12032
84
- _globals['_ONCONFLICTBEHAVIOR']._serialized_end=12079
85
- _globals['_SORTORDER']._serialized_start=12081
86
- _globals['_SORTORDER']._serialized_end=12111
87
- _globals['_ASSISTANTSSORTBY']._serialized_start=12113
88
- _globals['_ASSISTANTSSORTBY']._serialized_end=12222
89
- _globals['_THREADSTATUS']._serialized_start=12224
90
- _globals['_THREADSTATUS']._serialized_end=12342
91
- _globals['_THREADTTLSTRATEGY']._serialized_start=12344
92
- _globals['_THREADTTLSTRATEGY']._serialized_end=12395
93
- _globals['_CHECKPOINTSOURCE']._serialized_start=12398
94
- _globals['_CHECKPOINTSOURCE']._serialized_end=12566
95
- _globals['_THREADSSORTBY']._serialized_start=12569
96
- _globals['_THREADSSORTBY']._serialized_end=12740
97
- _globals['_RUNSTATUS']._serialized_start=12743
98
- _globals['_RUNSTATUS']._serialized_end=12900
99
- _globals['_MULTITASKSTRATEGY']._serialized_start=12903
100
- _globals['_MULTITASKSTRATEGY']._serialized_end=13088
101
- _globals['_STREAMMODE']._serialized_start=13091
102
- _globals['_STREAMMODE']._serialized_end=13330
103
- _globals['_CREATERUNBEHAVIOR']._serialized_start=13332
104
- _globals['_CREATERUNBEHAVIOR']._serialized_end=13428
105
- _globals['_CANCELRUNACTION']._serialized_start=13430
106
- _globals['_CANCELRUNACTION']._serialized_end=13512
107
- _globals['_CANCELRUNSTATUS']._serialized_start=13514
108
- _globals['_CANCELRUNSTATUS']._serialized_end=13620
83
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_start=12108
84
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_end=12155
85
+ _globals['_SORTORDER']._serialized_start=12157
86
+ _globals['_SORTORDER']._serialized_end=12187
87
+ _globals['_ASSISTANTSSORTBY']._serialized_start=12189
88
+ _globals['_ASSISTANTSSORTBY']._serialized_end=12298
89
+ _globals['_THREADSTATUS']._serialized_start=12300
90
+ _globals['_THREADSTATUS']._serialized_end=12418
91
+ _globals['_THREADTTLSTRATEGY']._serialized_start=12420
92
+ _globals['_THREADTTLSTRATEGY']._serialized_end=12471
93
+ _globals['_CHECKPOINTSOURCE']._serialized_start=12474
94
+ _globals['_CHECKPOINTSOURCE']._serialized_end=12642
95
+ _globals['_THREADSSORTBY']._serialized_start=12645
96
+ _globals['_THREADSSORTBY']._serialized_end=12816
97
+ _globals['_RUNSTATUS']._serialized_start=12819
98
+ _globals['_RUNSTATUS']._serialized_end=12976
99
+ _globals['_MULTITASKSTRATEGY']._serialized_start=12979
100
+ _globals['_MULTITASKSTRATEGY']._serialized_end=13164
101
+ _globals['_STREAMMODE']._serialized_start=13167
102
+ _globals['_STREAMMODE']._serialized_end=13406
103
+ _globals['_CREATERUNBEHAVIOR']._serialized_start=13408
104
+ _globals['_CREATERUNBEHAVIOR']._serialized_end=13504
105
+ _globals['_CANCELRUNACTION']._serialized_start=13506
106
+ _globals['_CANCELRUNACTION']._serialized_end=13588
107
+ _globals['_CANCELRUNSTATUS']._serialized_start=13590
108
+ _globals['_CANCELRUNSTATUS']._serialized_end=13696
109
109
  _globals['_TAGS']._serialized_start=140
110
110
  _globals['_TAGS']._serialized_end=162
111
111
  _globals['_EQAUTHFILTER']._serialized_start=164
@@ -227,49 +227,49 @@ if not _descriptor._USE_C_DESCRIPTORS:
227
227
  _globals['_RUN']._serialized_start=9220
228
228
  _globals['_RUN']._serialized_end=9588
229
229
  _globals['_QUEUESTATS']._serialized_start=9591
230
- _globals['_QUEUESTATS']._serialized_end=9729
231
- _globals['_NEXTRUNREQUEST']._serialized_start=9731
232
- _globals['_NEXTRUNREQUEST']._serialized_end=9776
233
- _globals['_RUNWITHATTEMPT']._serialized_start=9778
234
- _globals['_RUNWITHATTEMPT']._serialized_end=9838
235
- _globals['_NEXTRUNRESPONSE']._serialized_start=9840
236
- _globals['_NEXTRUNRESPONSE']._serialized_end=9896
237
- _globals['_CREATERUNREQUEST']._serialized_start=9899
238
- _globals['_CREATERUNREQUEST']._serialized_end=10644
230
+ _globals['_QUEUESTATS']._serialized_end=9805
231
+ _globals['_NEXTRUNREQUEST']._serialized_start=9807
232
+ _globals['_NEXTRUNREQUEST']._serialized_end=9852
233
+ _globals['_RUNWITHATTEMPT']._serialized_start=9854
234
+ _globals['_RUNWITHATTEMPT']._serialized_end=9914
235
+ _globals['_NEXTRUNRESPONSE']._serialized_start=9916
236
+ _globals['_NEXTRUNRESPONSE']._serialized_end=9972
237
+ _globals['_CREATERUNREQUEST']._serialized_start=9975
238
+ _globals['_CREATERUNREQUEST']._serialized_end=10720
239
239
  _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_start=1564
240
240
  _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_end=1631
241
- _globals['_GETRUNREQUEST']._serialized_start=10647
242
- _globals['_GETRUNREQUEST']._serialized_end=10850
241
+ _globals['_GETRUNREQUEST']._serialized_start=10723
242
+ _globals['_GETRUNREQUEST']._serialized_end=10926
243
243
  _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_start=1564
244
244
  _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_end=1631
245
- _globals['_DELETERUNREQUEST']._serialized_start=10853
246
- _globals['_DELETERUNREQUEST']._serialized_end=11062
245
+ _globals['_DELETERUNREQUEST']._serialized_start=10929
246
+ _globals['_DELETERUNREQUEST']._serialized_end=11138
247
247
  _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_start=1564
248
248
  _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_end=1631
249
- _globals['_CANCELRUNIDSTARGET']._serialized_start=11064
250
- _globals['_CANCELRUNIDSTARGET']._serialized_end=11150
251
- _globals['_CANCELSTATUSTARGET']._serialized_start=11152
252
- _globals['_CANCELSTATUSTARGET']._serialized_end=11214
253
- _globals['_CANCELRUNREQUEST']._serialized_start=11217
254
- _globals['_CANCELRUNREQUEST']._serialized_end=11524
249
+ _globals['_CANCELRUNIDSTARGET']._serialized_start=11140
250
+ _globals['_CANCELRUNIDSTARGET']._serialized_end=11226
251
+ _globals['_CANCELSTATUSTARGET']._serialized_start=11228
252
+ _globals['_CANCELSTATUSTARGET']._serialized_end=11290
253
+ _globals['_CANCELRUNREQUEST']._serialized_start=11293
254
+ _globals['_CANCELRUNREQUEST']._serialized_end=11600
255
255
  _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_start=1564
256
256
  _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_end=1631
257
- _globals['_SEARCHRUNSREQUEST']._serialized_start=11527
258
- _globals['_SEARCHRUNSREQUEST']._serialized_end=11837
257
+ _globals['_SEARCHRUNSREQUEST']._serialized_start=11603
258
+ _globals['_SEARCHRUNSREQUEST']._serialized_end=11913
259
259
  _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_start=1564
260
260
  _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_end=1631
261
- _globals['_SEARCHRUNSRESPONSE']._serialized_start=11839
262
- _globals['_SEARCHRUNSRESPONSE']._serialized_end=11887
263
- _globals['_SETRUNSTATUSREQUEST']._serialized_start=11889
264
- _globals['_SETRUNSTATUSREQUEST']._serialized_end=11977
265
- _globals['_SWEEPRUNSRESPONSE']._serialized_start=11979
266
- _globals['_SWEEPRUNSRESPONSE']._serialized_end=12030
267
- _globals['_ASSISTANTS']._serialized_start=13623
268
- _globals['_ASSISTANTS']._serialized_end=14200
269
- _globals['_ADMIN']._serialized_start=14202
270
- _globals['_ADMIN']._serialized_end=14271
271
- _globals['_THREADS']._serialized_start=14274
272
- _globals['_THREADS']._serialized_end=14991
273
- _globals['_RUNS']._serialized_start=14994
274
- _globals['_RUNS']._serialized_end=15517
261
+ _globals['_SEARCHRUNSRESPONSE']._serialized_start=11915
262
+ _globals['_SEARCHRUNSRESPONSE']._serialized_end=11963
263
+ _globals['_SETRUNSTATUSREQUEST']._serialized_start=11965
264
+ _globals['_SETRUNSTATUSREQUEST']._serialized_end=12053
265
+ _globals['_SWEEPRUNSRESPONSE']._serialized_start=12055
266
+ _globals['_SWEEPRUNSRESPONSE']._serialized_end=12106
267
+ _globals['_ASSISTANTS']._serialized_start=13699
268
+ _globals['_ASSISTANTS']._serialized_end=14276
269
+ _globals['_ADMIN']._serialized_start=14278
270
+ _globals['_ADMIN']._serialized_end=14347
271
+ _globals['_THREADS']._serialized_start=14350
272
+ _globals['_THREADS']._serialized_end=15067
273
+ _globals['_RUNS']._serialized_start=15070
274
+ _globals['_RUNS']._serialized_end=15593
275
275
  # @@protoc_insertion_point(module_scope)
@@ -806,16 +806,16 @@ class Run(_message.Message):
806
806
  def __init__(self, run_id: _Optional[_Union[UUID, _Mapping]] = ..., thread_id: _Optional[_Union[UUID, _Mapping]] = ..., assistant_id: _Optional[_Union[UUID, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., status: _Optional[_Union[RunStatus, str]] = ..., metadata: _Optional[_Union[Fragment, _Mapping]] = ..., kwargs: _Optional[_Union[RunKwargs, _Mapping]] = ..., multitask_strategy: _Optional[_Union[MultitaskStrategy, str]] = ...) -> None: ...
807
807
 
808
808
  class QueueStats(_message.Message):
809
- __slots__ = ("n_pending", "n_running", "max_age_secs", "med_age_secs")
809
+ __slots__ = ("n_pending", "n_running", "pending_runs_wait_time_max_secs", "pending_runs_wait_time_med_secs")
810
810
  N_PENDING_FIELD_NUMBER: _ClassVar[int]
811
811
  N_RUNNING_FIELD_NUMBER: _ClassVar[int]
812
- MAX_AGE_SECS_FIELD_NUMBER: _ClassVar[int]
813
- MED_AGE_SECS_FIELD_NUMBER: _ClassVar[int]
812
+ PENDING_RUNS_WAIT_TIME_MAX_SECS_FIELD_NUMBER: _ClassVar[int]
813
+ PENDING_RUNS_WAIT_TIME_MED_SECS_FIELD_NUMBER: _ClassVar[int]
814
814
  n_pending: int
815
815
  n_running: int
816
- max_age_secs: float
817
- med_age_secs: float
818
- def __init__(self, n_pending: _Optional[int] = ..., n_running: _Optional[int] = ..., max_age_secs: _Optional[float] = ..., med_age_secs: _Optional[float] = ...) -> None: ...
816
+ pending_runs_wait_time_max_secs: float
817
+ pending_runs_wait_time_med_secs: float
818
+ def __init__(self, n_pending: _Optional[int] = ..., n_running: _Optional[int] = ..., pending_runs_wait_time_max_secs: _Optional[float] = ..., pending_runs_wait_time_med_secs: _Optional[float] = ...) -> None: ...
819
819
 
820
820
  class NextRunRequest(_message.Message):
821
821
  __slots__ = ("wait", "limit")