langgraph-api 0.16.0.dev2__tar.gz → 0.16.0.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/PKG-INFO +1 -1
  2. langgraph_api-0.16.0.dev3/langgraph_api/__init__.py +1 -0
  3. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/runs.py +2 -0
  4. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/errors.py +2 -2
  5. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/runs.py +16 -2
  6. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/models/run.py +1 -0
  7. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/serde.py +4 -0
  8. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/worker.py +3 -0
  9. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/core_api_pb2.py +94 -94
  10. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/core_api_pb2.pyi +21 -5
  11. langgraph_api-0.16.0.dev2/langgraph_api/__init__.py +0 -1
  12. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/.gitignore +0 -0
  13. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/LICENSE +0 -0
  14. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/Makefile +0 -0
  15. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/README.md +0 -0
  16. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/.gitignore +0 -0
  17. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/Makefile +0 -0
  18. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/README.md +0 -0
  19. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/assistant.ts +0 -0
  20. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/benchmark-runner.ts +0 -0
  21. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/benchmark_profiles.ts +0 -0
  22. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/benchmarks.ts +0 -0
  23. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/cancel_first_second_completes.ts +0 -0
  24. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/classify-error.test.js +0 -0
  25. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/classify-error.ts +0 -0
  26. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/delta-turns-lib.test.js +0 -0
  27. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/delta-turns-lib.ts +0 -0
  28. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/delta_turns.ts +0 -0
  29. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/enqueued_runs_order.ts +0 -0
  30. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/log-failure.ts +0 -0
  31. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/meta_workload.ts +0 -0
  32. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/store.ts +0 -0
  33. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/stream_write.ts +0 -0
  34. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/thread.ts +0 -0
  35. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/thread_runs_metadata_search.ts +0 -0
  36. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/threads_search_metadata.ts +0 -0
  37. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/types.ts +0 -0
  38. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/benchmark-runners/wait_write.ts +0 -0
  39. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/capacity-ci.js +0 -0
  40. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/capacity-ci.test.js +0 -0
  41. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/clean-cli.js +0 -0
  42. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/clean.js +0 -0
  43. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/continuous/README.md +0 -0
  44. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/continuous/pyproject.toml +0 -0
  45. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/continuous/runner.py +0 -0
  46. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/continuous/uv.lock +0 -0
  47. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/daily-report.js +0 -0
  48. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/daily-report.test.js +0 -0
  49. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/graphs.js +0 -0
  50. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/host-v2.js +0 -0
  51. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/host-v2.test.js +0 -0
  52. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/multer.test.js +0 -0
  53. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/package.json +0 -0
  54. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/ramp.js +0 -0
  55. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/reporting/dd_reporting.py +0 -0
  56. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/staircase.py +0 -0
  57. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/staircase_step_k6.js +0 -0
  58. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/tsconfig.json +0 -0
  59. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/update-revision.js +0 -0
  60. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/weather.js +0 -0
  61. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/benchmark/yarn.lock +0 -0
  62. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/constraints.txt +0 -0
  63. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/custom_store.sql +0 -0
  64. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/forbidden.txt +0 -0
  65. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/hatch_build.py +0 -0
  66. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/healthcheck.py +0 -0
  67. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph-cloud-debugging-20260210132856.zip +0 -0
  68. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/_checkpointer/__init__.py +0 -0
  69. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/_checkpointer/_adapter.py +0 -0
  70. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/_checkpointer/protocol.py +0 -0
  71. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/_factory_utils.py +0 -0
  72. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/__init__.py +0 -0
  73. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2a.py +0 -0
  74. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui.py +0 -0
  75. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui_schemas/README.md +0 -0
  76. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui_schemas/client_capabilities.json +0 -0
  77. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui_schemas/client_data_model.json +0 -0
  78. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui_schemas/client_to_server.json +0 -0
  79. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/a2ui_schemas/server_to_client.json +0 -0
  80. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/assistants.py +0 -0
  81. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/event_streaming.py +0 -0
  82. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/__init__.py +0 -0
  83. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/_constants.py +0 -0
  84. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/_handlers.py +0 -0
  85. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/_models.py +0 -0
  86. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/_routes.py +0 -0
  87. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/mcp/_sanitizers.py +0 -0
  88. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/meta.py +0 -0
  89. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/openapi.py +0 -0
  90. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/profile.py +0 -0
  91. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/store.py +0 -0
  92. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/threads.py +0 -0
  93. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/api/ui.py +0 -0
  94. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/asgi_transport.py +0 -0
  95. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/asyncio.py +0 -0
  96. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/__init__.py +0 -0
  97. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/custom.py +0 -0
  98. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/errors.py +0 -0
  99. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/langsmith/__init__.py +0 -0
  100. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/langsmith/backend.py +0 -0
  101. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/langsmith/client.py +0 -0
  102. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/middleware.py +0 -0
  103. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/noop.py +0 -0
  104. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/auth/studio_user.py +0 -0
  105. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/beacon_data_plane_jwt_auth.py +0 -0
  106. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/cache.py +0 -0
  107. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/cli.py +0 -0
  108. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/command.py +0 -0
  109. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/config/__init__.py +0 -0
  110. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/config/_parse.py +0 -0
  111. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/config/schemas.py +0 -0
  112. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/cron_scheduler.py +0 -0
  113. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/__init__.py +0 -0
  114. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/aes_json.py +0 -0
  115. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/context.py +0 -0
  116. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/custom.py +0 -0
  117. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/middleware.py +0 -0
  118. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/encryption/shared.py +0 -0
  119. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/__init__.py +0 -0
  120. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/capabilities.py +0 -0
  121. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/constants.py +0 -0
  122. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/event_normalizers.py +0 -0
  123. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/namespace.py +0 -0
  124. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/service.py +0 -0
  125. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/session.py +0 -0
  126. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/state_normalizers.py +0 -0
  127. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/event_streaming/types.py +0 -0
  128. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/feature_flags.py +0 -0
  129. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/graph.py +0 -0
  130. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/__init__.py +0 -0
  131. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/client.py +0 -0
  132. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/generated/core_api_pb2.pyi +0 -0
  133. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/__init__.py +0 -0
  134. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/assistants.py +0 -0
  135. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/cache.py +0 -0
  136. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/crons.py +0 -0
  137. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/ops/threads.py +0 -0
  138. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/server.py +0 -0
  139. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/servicers/__init__.py +0 -0
  140. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/servicers/checkpointer.py +0 -0
  141. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/grpc/servicers/encryption.py +0 -0
  142. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/http.py +0 -0
  143. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/http_metrics.py +0 -0
  144. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/http_metrics_utils.py +0 -0
  145. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/.gitignore +0 -0
  146. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/.prettierrc +0 -0
  147. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/.yarnclean +0 -0
  148. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/__init__.py +0 -0
  149. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/base.py +0 -0
  150. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/build.mts +0 -0
  151. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/client.http.mts +0 -0
  152. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/client.mts +0 -0
  153. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/errors.py +0 -0
  154. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/global.d.ts +0 -0
  155. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/package.json +0 -0
  156. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/remote.py +0 -0
  157. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/schema.py +0 -0
  158. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/graph.mts +0 -0
  159. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/load.hooks.mjs +0 -0
  160. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/preload.mjs +0 -0
  161. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/utils/experiment-tracing.mts +0 -0
  162. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/utils/files.mts +0 -0
  163. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/utils/importMap.mts +0 -0
  164. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  165. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/src/utils/serde.mts +0 -0
  166. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/sse.py +0 -0
  167. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/traceblock.mts +0 -0
  168. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/tsconfig.json +0 -0
  169. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/ui.py +0 -0
  170. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/js/yarn.lock +0 -0
  171. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/lc_security/__init__.py +0 -0
  172. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/lc_security/exceptions.py +0 -0
  173. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/lc_security/policy.py +0 -0
  174. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/lc_security/transport.py +0 -0
  175. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/logging.py +0 -0
  176. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/metadata.py +0 -0
  177. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/metrics_collector.py +0 -0
  178. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/metrics_otlp.py +0 -0
  179. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/middleware/__init__.py +0 -0
  180. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/middleware/ensure_store.py +0 -0
  181. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/middleware/http_logger.py +0 -0
  182. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/middleware/private_network.py +0 -0
  183. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/middleware/request_id.py +0 -0
  184. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/models/__init__.py +0 -0
  185. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/otel_context.py +0 -0
  186. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/patch.py +0 -0
  187. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/queue_entrypoint.py +0 -0
  188. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/release_tags.py +0 -0
  189. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/route.py +0 -0
  190. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/runner/__init__.py +0 -0
  191. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/runner/__main__.py +0 -0
  192. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/schema.py +0 -0
  193. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/self_hosted_logs.py +0 -0
  194. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/self_hosted_metrics.py +0 -0
  195. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/server.py +0 -0
  196. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/sse.py +0 -0
  197. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/state.py +0 -0
  198. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/store.py +0 -0
  199. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/stream.py +0 -0
  200. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/stream_v2.py +0 -0
  201. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/timing/__init__.py +0 -0
  202. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/timing/profiler.py +0 -0
  203. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/timing/timer.py +0 -0
  204. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/traceblock.py +0 -0
  205. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/tracing_session.py +0 -0
  206. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/tunneling/cloudflare.py +0 -0
  207. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/__init__.py +0 -0
  208. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/cache.py +0 -0
  209. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/config.py +0 -0
  210. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/errors.py +0 -0
  211. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/extract.py +0 -0
  212. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/future.py +0 -0
  213. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/headers.py +0 -0
  214. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/network.py +0 -0
  215. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/retriable_client.py +0 -0
  216. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/stream_codec.py +0 -0
  217. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/utils/uuids.py +0 -0
  218. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/validation.py +0 -0
  219. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/webhook.py +0 -0
  220. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_api/worker_runtime.py +0 -0
  221. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/__init__.py +0 -0
  222. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/checkpointer.py +0 -0
  223. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/__init__.py +0 -0
  224. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/_compat.py +0 -0
  225. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/checkpoint.py +0 -0
  226. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/config.py +0 -0
  227. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/durability.py +0 -0
  228. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/store.py +0 -0
  229. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/struct.py +0 -0
  230. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/conversion/value.py +0 -0
  231. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/__init__.py +0 -0
  232. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/checkpointer_pb2.py +0 -0
  233. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/checkpointer_pb2.pyi +0 -0
  234. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.py +0 -0
  235. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi +0 -0
  236. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/core_api_pb2_grpc.py +0 -0
  237. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/core_api_pb2_grpc.pyi +0 -0
  238. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/encryption_pb2.py +0 -0
  239. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/encryption_pb2.pyi +0 -0
  240. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/encryption_pb2_grpc.py +0 -0
  241. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/encryption_pb2_grpc.pyi +0 -0
  242. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/engine_common_pb2.py +0 -0
  243. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/engine_common_pb2.pyi +0 -0
  244. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/engine_common_pb2_grpc.py +0 -0
  245. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/engine_common_pb2_grpc.pyi +0 -0
  246. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.py +0 -0
  247. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2.pyi +0 -0
  248. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.py +0 -0
  249. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cancel_run_action_pb2_grpc.pyi +0 -0
  250. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_control_signal_pb2.py +0 -0
  251. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_control_signal_pb2.pyi +0 -0
  252. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.py +0 -0
  253. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_control_signal_pb2_grpc.pyi +0 -0
  254. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.py +0 -0
  255. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2.pyi +0 -0
  256. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.py +0 -0
  257. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_cron_on_run_completed_pb2_grpc.pyi +0 -0
  258. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_durability_pb2.py +0 -0
  259. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_durability_pb2.pyi +0 -0
  260. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.py +0 -0
  261. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_durability_pb2_grpc.pyi +0 -0
  262. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.py +0 -0
  263. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2.pyi +0 -0
  264. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.py +0 -0
  265. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_multitask_strategy_pb2_grpc.pyi +0 -0
  266. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_run_status_pb2.py +0 -0
  267. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_run_status_pb2.pyi +0 -0
  268. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.py +0 -0
  269. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_run_status_pb2_grpc.pyi +0 -0
  270. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_stream_mode_pb2.py +0 -0
  271. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_stream_mode_pb2.pyi +0 -0
  272. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.py +0 -0
  273. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_stream_mode_pb2_grpc.pyi +0 -0
  274. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_status_pb2.py +0 -0
  275. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_status_pb2.pyi +0 -0
  276. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.py +0 -0
  277. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_status_pb2_grpc.pyi +0 -0
  278. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.py +0 -0
  279. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2.pyi +0 -0
  280. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.py +0 -0
  281. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/enum_thread_stream_mode_pb2_grpc.pyi +0 -0
  282. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/errors_pb2.py +0 -0
  283. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/errors_pb2.pyi +0 -0
  284. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/errors_pb2_grpc.py +0 -0
  285. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/errors_pb2_grpc.pyi +0 -0
  286. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/runner_pb2.py +0 -0
  287. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/runner_pb2.pyi +0 -0
  288. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/runner_pb2_grpc.py +0 -0
  289. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/runner_pb2_grpc.pyi +0 -0
  290. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/store_pb2.py +0 -0
  291. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/store_pb2.pyi +0 -0
  292. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/store_pb2_grpc.py +0 -0
  293. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/proto/store_pb2_grpc.pyi +0 -0
  294. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/serde.py +0 -0
  295. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_grpc_common/store.py +0 -0
  296. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_license/__init__.py +0 -0
  297. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_license/validation.py +0 -0
  298. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/__init__.py +0 -0
  299. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/checkpoint.py +0 -0
  300. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/database.py +0 -0
  301. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/lifespan.py +0 -0
  302. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/metrics.py +0 -0
  303. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/ops.py +0 -0
  304. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/queue.py +0 -0
  305. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/retry.py +0 -0
  306. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/routes.py +0 -0
  307. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/langgraph_runtime/store.py +0 -0
  308. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/logging.json +0 -0
  309. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/openapi.json +0 -0
  310. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/pyproject.toml +0 -0
  311. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/scripts/build_wheel.py +0 -0
  312. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/scripts/create_license.py +0 -0
  313. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/scripts/run_a2a_tck.py +0 -0
  314. {langgraph_api-0.16.0.dev2 → langgraph_api-0.16.0.dev3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.16.0.dev2
3
+ Version: 0.16.0.dev3
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
@@ -0,0 +1 @@
1
+ __version__ = "0.16.0.dev3"
@@ -694,6 +694,7 @@ async def cancel_run(
694
694
  [run_id],
695
695
  action=action,
696
696
  thread_id=thread_id,
697
+ reason=f"{action} requested via POST /threads/{{thread_id}}/runs/{{run_id}}/cancel",
697
698
  )
698
699
  except Exception:
699
700
  if sub is not None:
@@ -759,6 +760,7 @@ async def cancel_runs(
759
760
  action=action,
760
761
  thread_id=thread_id,
761
762
  status=status,
763
+ reason=f"{action} requested via POST /runs/cancel",
762
764
  )
763
765
  return Response(status_code=204)
764
766
 
@@ -69,8 +69,8 @@ class UserInterrupt(Exception):
69
69
 
70
70
 
71
71
  class UserRollback(UserInterrupt):
72
- def __init__(self):
73
- super().__init__("User requested rollback of the run")
72
+ def __init__(self, message="User requested rollback of the run"):
73
+ super().__init__(message)
74
74
 
75
75
 
76
76
  class UserTimeout(Exception):
@@ -692,12 +692,16 @@ class Runs(Authenticated):
692
692
  thread_id: UUID | None = None,
693
693
  status: Literal["pending", "running", "all"] | None = None,
694
694
  ctx: Any = None,
695
+ reason: str | None = None,
695
696
  ) -> None:
696
697
  """Cancel runs.
697
698
 
698
699
  Must provide either:
699
700
  1) thread_id + run_ids, or
700
701
  2) a status (pending, running, all).
702
+
703
+ `reason` is a server-generated explanation (never user input) that is
704
+ delivered to the worker and surfaces in the UserInterrupt message.
701
705
  """
702
706
  if status is not None:
703
707
  if thread_id is not None or run_ids is not None:
@@ -731,6 +735,8 @@ class Runs(Authenticated):
731
735
  "filters": auth_filters,
732
736
  "action": action_enum,
733
737
  }
738
+ if reason:
739
+ request_kwargs["reason"] = reason
734
740
 
735
741
  if status is not None:
736
742
  request_kwargs["status"] = pb.CancelStatusTarget(
@@ -1089,7 +1095,11 @@ class Runs(Authenticated):
1089
1095
  run_id=run_id,
1090
1096
  thread_id=thread_id,
1091
1097
  )
1092
- done.set(UserInterrupt())
1098
+ done.set(
1099
+ UserInterrupt(event.reason)
1100
+ if event.reason
1101
+ else UserInterrupt()
1102
+ )
1093
1103
  break
1094
1104
  elif event.action == enum_control_signal.rollback:
1095
1105
  logger.info(
@@ -1097,7 +1107,11 @@ class Runs(Authenticated):
1097
1107
  run_id=run_id,
1098
1108
  thread_id=thread_id,
1099
1109
  )
1100
- done.set(UserRollback())
1110
+ done.set(
1111
+ UserRollback(event.reason)
1112
+ if event.reason
1113
+ else UserRollback()
1114
+ )
1101
1115
  break
1102
1116
  except Exception as exc:
1103
1117
  logger.exception(
@@ -397,6 +397,7 @@ async def create_valid_run(
397
397
  [run["run_id"] for run in inflight_runs],
398
398
  thread_id=thread_id_,
399
399
  action=multitask_strategy,
400
+ reason=f"superseded by run {first['run_id']} (multitask_strategy={multitask_strategy})",
400
401
  )
401
402
  return first
402
403
  elif multitask_strategy == "reject":
@@ -31,6 +31,8 @@ from langgraph.errors import (
31
31
  )
32
32
  from starlette.exceptions import HTTPException
33
33
 
34
+ from langgraph_api.errors import UserInterrupt
35
+
34
36
  logger = structlog.stdlib.get_logger(__name__)
35
37
 
36
38
 
@@ -104,6 +106,8 @@ def default(obj):
104
106
  TaskNotFound,
105
107
  # HTTP errors (e.g. auth failures during streaming)
106
108
  HTTPException,
109
+ # Run cancellation; message is a fixed server string plus ids, never user input
110
+ UserInterrupt,
107
111
  ),
108
112
  ):
109
113
  return {"error": type(obj).__name__, "message": str(obj)}
@@ -292,9 +292,11 @@ async def worker(
292
292
  status,
293
293
  graph_id=graph_id,
294
294
  checkpoint=None,
295
+ exception=exception,
295
296
  )
296
297
  await logger.ainfo(
297
298
  "Background run rolled back",
299
+ reason=str(exception),
298
300
  **log_info,
299
301
  )
300
302
  except HTTPException as e:
@@ -318,6 +320,7 @@ async def worker(
318
320
  )
319
321
  await logger.ainfo(
320
322
  "Background run interrupted",
323
+ reason=str(exception),
321
324
  **log_info,
322
325
  )
323
326
  if not temporary:
@@ -39,7 +39,7 @@ from . import enum_control_signal_pb2 as enum__control__signal__pb2
39
39
  from . import enum_cron_on_run_completed_pb2 as enum__cron__on__run__completed__pb2
40
40
 
41
41
 
42
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10\x65ncryption.proto\x1a\x13\x65ngine-common.proto\x1a\x15\x65num_run_status.proto\x1a\x1d\x65num_multitask_strategy.proto\x1a\x16\x65num_stream_mode.proto\x1a\x1c\x65num_cancel_run_action.proto\x1a\x18\x65num_thread_status.proto\x1a\x1d\x65num_thread_stream_mode.proto\x1a\x19\x65num_control_signal.proto\x1a enum_cron_on_run_completed.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"*\n\x0c\x45qAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\"2\n\x12\x43ontainsAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0f\n\x07matches\x18\x02 \x03(\t\"4\n\x0cOrAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"5\n\rAndAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xc6\x01\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\x12*\n\tor_filter\x18\x03 \x01(\x0b\x32\x15.coreApi.OrAuthFilterH\x00\x12,\n\nand_filter\x18\x04 \x01(\x0b\x32\x16.coreApi.AndAuthFilterH\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\"x\n\x0bStreamEvent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x16\n\tstream_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06run_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_stream_idB\t\n\x07_run_id\"\xfa\x02\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\x19\n\x0c\x63ontext_json\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\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\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\xd1\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\x19\n\x0c\x63ontext_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x07 \x01(\x0cH\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\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\x9d\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\x13.coreApi.AuthFilter\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\x14\n\x0c\x63ontext_json\x18\x06 \x01(\x0c\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\n \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"Q\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xb2\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x19\n\x0c\x63ontext_json\x18\x05 \x01(\x0cH\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\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\x0f\n\r_context_jsonB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"\x84\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1b\n\x0e\x64\x65lete_threads\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_delete_threads\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"h\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\x13.coreApi.AuthFilter\"\x90\x03\n\x17SearchAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\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\x12\x11\n\x04name\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\x12graph_id_allowlist\x18\n \x03(\tB\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\x07\n\x05_name\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xc5\x01\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\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\x42\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xc8\x01\n\x16\x43ountAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\x12graph_id_allowlist\x18\x05 \x03(\tB\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x07\n\x05_name\"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\"\x82\x01\n\rThreadTTLInfo\x12,\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategy\x12\x13\n\x0bttl_minutes\x18\x02 \x01(\x01\x12.\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\x89\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\x17\n\x0finterrupts_json\x18\x04 \x03(\x0c\x12\x17\n\nstate_json\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x08\n\x06_errorB\r\n\x0b_state_json\"\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\"\xa3\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\x13\n\x0bvalues_json\x18\x03 \x01(\x0c\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\"T\n\x16ThreadStatusCheckpoint\x12\x13\n\x0bvalues_json\x18\x01 \x01(\x0c\x12\x0c\n\x04next\x18\x02 \x03(\t\x12\x17\n\x0finterrupts_json\x18\x03 \x01(\x0c\"\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\"\xdc\x04\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\x1e.enumThreadStatus.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\x12\x34\n\x10state_updated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0e\x65xtracted_json\x18\x0b \x01(\x0cH\x00\x88\x01\x01\x12(\n\x03ttl\x18\x0c \x01(\x0b\x32\x16.coreApi.ThreadTTLInfoH\x01\x88\x01\x01\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\x42\x11\n\x0f_extracted_jsonB\x06\n\x04_ttl\"\xc6\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\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x1a\n\rmetadata_json\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x06 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_context\"\xc6\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x18\n\x0binclude_ttl\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x32\n\tread_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x01\x88\x01\x01\x42\x0e\n\x0c_include_ttlB\x0c\n\n_read_mask\"\xd7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x12\x32\n\tread_mask\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x03\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_contextB\x0c\n\n_read_mask\"]\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\x13.coreApi.AuthFilter\"[\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xa1\x04\n\x14SearchThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.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\x12\x1a\n\x03ids\x18\n \x03(\x0b\x32\r.coreApi.UUID\x12;\n\x07\x65xtract\x18\x0b \x03(\x0b\x32*.coreApi.SearchThreadsRequest.ExtractEntry\x1a.\n\x0c\x45xtractEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\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\"\xd3\x01\n\x13\x43ountThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_status\"\xc3\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\ncheckpoint\x18\x02 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x37\n\x0f\x65xpected_status\x18\x04 \x03(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xd4\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\x38\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x07 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xc9\x01\n\x13StreamThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12<\n\x0cstream_modes\x18\x03 \x03(\x0e\x32&.enumThreadStreamMode.ThreadStreamMode\x12\x1a\n\rlast_event_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"\xb9\x05\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\ninput_json\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x19\n\x0c\x63ommand_json\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12/\n\x0bstream_mode\x18\x05 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\t\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\n\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\x0b\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\r\n\x0b_input_jsonB\x0f\n\r_command_jsonB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\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\"\xc4\x03\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\x18.enumRunStatus.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x44\n\x12multitask_strategy\x18\t \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategy\x12#\n\x16langsmith_session_name\x18\n \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_langsmith_session_name\"\xba\x02\n\x08RunStats\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\x12\x36\n)pending_unblocked_runs_wait_time_max_secs\x18\x05 \x01(\x01H\x02\x88\x01\x01\x42\"\n _pending_runs_wait_time_max_secsB\"\n _pending_runs_wait_time_med_secsB,\n*_pending_unblocked_runs_wait_time_max_secs\"\x82\x01\n\x11PostgresPoolStats\x12\x10\n\x08pool_max\x18\x01 \x01(\x05\x12\x11\n\tpool_size\x18\x02 \x01(\x05\x12\x16\n\x0epool_available\x18\x03 \x01(\x05\x12\x17\n\x0frequests_queued\x18\x04 \x01(\x03\x12\x17\n\x0frequests_errors\x18\x05 \x01(\x03\"_\n\x0eRedisPoolStats\x12\x18\n\x10idle_connections\x18\x01 \x01(\x05\x12\x1a\n\x12in_use_connections\x18\x02 \x01(\x05\x12\x17\n\x0fmax_connections\x18\x03 \x01(\x05\"\x8c\x01\n\x13\x43onnectionPoolStats\x12\x31\n\x08postgres\x18\x01 \x01(\x0b\x32\x1a.coreApi.PostgresPoolStatsH\x00\x88\x01\x01\x12+\n\x05redis\x18\x02 \x01(\x0b\x32\x17.coreApi.RedisPoolStatsH\x01\x88\x01\x01\x42\x0b\n\t_postgresB\x08\n\x06_redis\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"w\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\x12\x39\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContext\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\x92\x07\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x13\n\x0bkwargs_json\x18\x02 \x01(\x0c\x12+\n\x0ethread_filters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x11\x61ssistant_filters\x18\x0e \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x18.enumRunStatus.RunStatusH\x03\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\n \x01(\x0e\x32(.enumMultitaskStrategy.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\x12\x31\n\nthread_ttl\x18\r \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\t\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x0f \x01(\x0b\x32\x1d.encryption.EncryptionContextH\n\x88\x01\x01\x12#\n\x16langsmith_session_name\x18\x10 \x01(\tH\x0b\x88\x01\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x10\n\x0e_metadata_jsonB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_secondsB\r\n\x0b_thread_ttlB\x15\n\x13_encryption_contextB\x19\n\x17_langsmith_session_name\"v\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$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"y\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$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"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\"\xe7\x01\n\x10\x43\x61ncelRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x39\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32$.enumCancelRunAction.CancelRunActionH\x01\x88\x01\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xe3\x01\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x18.enumRunStatus.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\tB\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\"^\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12(\n\x06status\x18\x02 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID\"F\n\x10\x43ountRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08statuses\x18\x02 \x03(\t\"\x7f\n\x16StreamRunClientMessage\x12\x31\n\tsubscribe\x18\x01 \x01(\x0b\x32\x1c.coreApi.SubscribeRunRequestH\x00\x12\'\n\x04join\x18\x02 \x01(\x0b\x32\x17.coreApi.JoinRunRequestH\x00\x42\t\n\x07message\"V\n\x13SubscribeRunRequest\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\"\xd2\x01\n\x0eJoinRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x30\n\x0cstream_modes\x18\x02 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x1c\n\x14ignore_run_not_found\x18\x03 \x01(\x08\x12\x1c\n\x14\x63\x61ncel_on_disconnect\x18\x04 \x01(\x08\x12\x1a\n\rlast_event_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"e\n\x0f\x45nterRunRequest\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\x11\n\tresumable\x18\x03 \x01(\x08\"h\n\x12MarkRunDoneRequest\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\x11\n\tresumable\x18\x03 \x01(\x08\"\xa4\x01\n\x19PublishStreamEventRequest\x12\"\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nevent_type\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\x0c\x12\x11\n\tresumable\x18\x05 \x01(\x08\x42\t\n\x07_run_id\"5\n\x11GetGraphIDRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\"8\n\x12GetGraphIDResponse\x12\x15\n\x08graph_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_graph_id\"/\n\x11\x43reateRunResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"@\n\x0c\x43ontrolEvent\x12\x30\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32 .enumControlSignal.ControlSignal\"\x88\x05\n\x0b\x43ronPayload\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x17\n\ninput_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07webhook\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\x08 \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x37\n\nextra_json\x18\n \x03(\x0b\x32#.coreApi.CronPayload.ExtraJsonEntry\x1a\x30\n\x0e\x45xtraJsonEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\r\n\x0b_input_jsonB\t\n\x07_configB\x0f\n\r_context_jsonB\n\n\x08_webhookB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\x15\n\x13_multitask_strategyB\x10\n\x0e_metadata_json\"\xcb\x04\n\x04\x43ron\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x14\n\x0c\x61ssistant_id\x18\x02 \x01(\t\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12I\n\x10on_run_completed\x18\x04 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x01\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x10\n\x08schedule\x18\x06 \x01(\t\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07user_id\x18\t \x01(\tH\x03\x88\x01\x01\x12%\n\x07payload\x18\n \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x31\n\rnext_run_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rmetadata_json\x18\x0c \x01(\x0c\x12\x0f\n\x07\x65nabled\x18\r \x01(\x08\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x0b\n\t_timezone\"\x9a\x05\n\x11\x43reateCronRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x10\n\x08schedule\x18\x02 \x01(\t\x12%\n\x07payload\x18\x03 \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x15\n\rmetadata_json\x18\x04 \x01(\x0c\x12#\n\x07\x63ron_id\x18\x05 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12I\n\x10on_run_completed\x18\x07 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x02\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12\x0f\n\x07\x65nabled\x18\t \x01(\x08\x12.\n\x11\x61ssistant_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x0b \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x14\n\x07user_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\r \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x05\x88\x01\x01\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x06\x88\x01\x01\x42\n\n\x08_cron_idB\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"Y\n\x11\x44\x65leteCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x0eGetCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xe9\x03\n\x12SearchCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\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\x14.coreApi.CronsSortByH\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\x12\x14\n\x07\x65nabled\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x0b \x01(\x0cH\x07\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\n\n\x08_enabledB\x10\n\x0e_metadata_json\"3\n\x13SearchCronsResponse\x12\x1c\n\x05\x63rons\x18\x01 \x03(\x0b\x32\r.coreApi.Cron\"\x84\x02\n\x11\x43ountCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x04 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x10\n\x0e_metadata_json\"\xb7\x04\n\x10PatchCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08schedule\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x14\n\x07\x65nabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12I\n\x10on_run_completed\x18\x06 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x03\x88\x01\x01\x12*\n\x07payload\x18\x07 \x01(\x0b\x32\x14.coreApi.CronPayloadH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x12\x15\n\x08timezone\x18\n \x01(\tH\x07\x88\x01\x01\x12\x16\n\x0e\x63lear_end_time\x18\x0b \x01(\x08\x42\x0b\n\t_scheduleB\x0b\n\t_end_timeB\n\n\x08_enabledB\x13\n\x11_on_run_completedB\n\n\x08_payloadB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"\xaa\x01\n\x0b\x43ronWithNow\x12\x1b\n\x04\x63ron\x18\x01 \x01(\x0b\x32\r.coreApi.Cron\x12\'\n\x03now\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x00\x88\x01\x01\x42\x15\n\x13_encryption_context\"8\n\x11NextCronsResponse\x12#\n\x05\x63rons\x18\x01 \x03(\x0b\x32\x14.coreApi.CronWithNow\"j\n\x15SetNextRunDateRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x31\n\rnext_run_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"b\n\x0f\x43\x61\x63heSetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x42\x06\n\x04_ttl\"\x1e\n\x0f\x43\x61\x63heGetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"0\n\x10\x43\x61\x63heGetResponse\x12\x12\n\x05value\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x08\n\x06_value*/\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*X\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00\x12#\n\x1fTHREAD_TTL_STRATEGY_KEEP_LATEST\x10\x01*\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*\xd1\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\x12$\n THREADS_SORT_BY_STATE_UPDATED_AT\x10\x05*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\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*\xfd\x01\n\x0b\x43ronsSortBy\x12\x1d\n\x19\x43RONS_SORT_BY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43RONS_SORT_BY_CRON_ID\x10\x01\x12\x1e\n\x1a\x43RONS_SORT_BY_ASSISTANT_ID\x10\x02\x12\x1b\n\x17\x43RONS_SORT_BY_THREAD_ID\x10\x03\x12\x1f\n\x1b\x43RONS_SORT_BY_NEXT_RUN_DATE\x10\x04\x12\x1a\n\x16\x43RONS_SORT_BY_END_TIME\x10\x05\x12\x1c\n\x18\x43RONS_SORT_BY_CREATED_AT\x10\x06\x12\x1c\n\x18\x43RONS_SORT_BY_UPDATED_AT\x10\x07\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\xbd\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\x12>\n\x06Stream\x12\x1c.coreApi.StreamThreadRequest\x1a\x14.coreApi.StreamEvent0\x01\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x45\n\nGetGraphID\x12\x1a.coreApi.GetGraphIDRequest\x1a\x1b.coreApi.GetGraphIDResponse2\x9f\x07\n\x04Runs\x12?\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x1a.coreApi.CreateRunResponse\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\x43\n\x06Stream\x12\x1f.coreApi.StreamRunClientMessage\x1a\x14.coreApi.StreamEvent(\x01\x30\x01\x12\x45\n\x07Publish\x12\".coreApi.PublishStreamEventRequest\x1a\x16.google.protobuf.Empty\x12:\n\x05\x45nter\x12\x18.coreApi.EnterRunRequest\x1a\x15.coreApi.ControlEvent0\x01\x12?\n\x08MarkDone\x12\x1b.coreApi.MarkRunDoneRequest\x1a\x16.google.protobuf.Empty\x12\x32\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x11.coreApi.RunStats\x12\x41\n\tPoolStats\x12\x16.google.protobuf.Empty\x1a\x1c.coreApi.ConnectionPoolStats\x12:\n\x05\x43ount\x12\x19.coreApi.CountRunsRequest\x1a\x16.coreApi.CountResponse\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponse2\xe4\x03\n\x05\x43rons\x12\x33\n\x06\x43reate\x12\x1a.coreApi.CreateCronRequest\x1a\r.coreApi.Cron\x12-\n\x03Get\x12\x17.coreApi.GetCronRequest\x1a\r.coreApi.Cron\x12\x31\n\x05Patch\x12\x19.coreApi.PatchCronRequest\x1a\r.coreApi.Cron\x12<\n\x06\x44\x65lete\x12\x1a.coreApi.DeleteCronRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Search\x12\x1b.coreApi.SearchCronsRequest\x1a\x1c.coreApi.SearchCronsResponse\x12;\n\x05\x43ount\x12\x1a.coreApi.CountCronsRequest\x1a\x16.coreApi.CountResponse\x12:\n\x04Next\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.NextCronsResponse\x12H\n\x0eSetNextRunDate\x12\x1e.coreApi.SetNextRunDateRequest\x1a\x16.google.protobuf.Empty2|\n\x05\x43\x61\x63he\x12\x37\n\x03Set\x12\x18.coreApi.CacheSetRequest\x1a\x16.google.protobuf.Empty\x12:\n\x03Get\x12\x18.coreApi.CacheGetRequest\x1a\x19.coreApi.CacheGetResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
42
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10\x65ncryption.proto\x1a\x13\x65ngine-common.proto\x1a\x15\x65num_run_status.proto\x1a\x1d\x65num_multitask_strategy.proto\x1a\x16\x65num_stream_mode.proto\x1a\x1c\x65num_cancel_run_action.proto\x1a\x18\x65num_thread_status.proto\x1a\x1d\x65num_thread_stream_mode.proto\x1a\x19\x65num_control_signal.proto\x1a enum_cron_on_run_completed.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"*\n\x0c\x45qAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\"2\n\x12\x43ontainsAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0f\n\x07matches\x18\x02 \x03(\t\"4\n\x0cOrAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"5\n\rAndAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xc6\x01\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\x12*\n\tor_filter\x18\x03 \x01(\x0b\x32\x15.coreApi.OrAuthFilterH\x00\x12,\n\nand_filter\x18\x04 \x01(\x0b\x32\x16.coreApi.AndAuthFilterH\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\"x\n\x0bStreamEvent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x16\n\tstream_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06run_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_stream_idB\t\n\x07_run_id\"\xfa\x02\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\x19\n\x0c\x63ontext_json\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\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\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\xd1\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\x19\n\x0c\x63ontext_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x07 \x01(\x0cH\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\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\x9d\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\x13.coreApi.AuthFilter\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\x14\n\x0c\x63ontext_json\x18\x06 \x01(\x0c\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\n \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"Q\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xb2\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x19\n\x0c\x63ontext_json\x18\x05 \x01(\x0cH\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\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\x0f\n\r_context_jsonB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"\x84\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1b\n\x0e\x64\x65lete_threads\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_delete_threads\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"h\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\x13.coreApi.AuthFilter\"\x90\x03\n\x17SearchAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\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\x12\x11\n\x04name\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\x12graph_id_allowlist\x18\n \x03(\tB\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\x07\n\x05_name\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xc5\x01\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\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\x42\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xc8\x01\n\x16\x43ountAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\x12graph_id_allowlist\x18\x05 \x03(\tB\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x07\n\x05_name\"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\"\x82\x01\n\rThreadTTLInfo\x12,\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategy\x12\x13\n\x0bttl_minutes\x18\x02 \x01(\x01\x12.\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\x89\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\x17\n\x0finterrupts_json\x18\x04 \x03(\x0c\x12\x17\n\nstate_json\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x08\n\x06_errorB\r\n\x0b_state_json\"\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\"\xa3\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\x13\n\x0bvalues_json\x18\x03 \x01(\x0c\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\"T\n\x16ThreadStatusCheckpoint\x12\x13\n\x0bvalues_json\x18\x01 \x01(\x0c\x12\x0c\n\x04next\x18\x02 \x03(\t\x12\x17\n\x0finterrupts_json\x18\x03 \x01(\x0c\"\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\"\xdc\x04\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\x1e.enumThreadStatus.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\x12\x34\n\x10state_updated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0e\x65xtracted_json\x18\x0b \x01(\x0cH\x00\x88\x01\x01\x12(\n\x03ttl\x18\x0c \x01(\x0b\x32\x16.coreApi.ThreadTTLInfoH\x01\x88\x01\x01\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\x42\x11\n\x0f_extracted_jsonB\x06\n\x04_ttl\"\xc6\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\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x1a\n\rmetadata_json\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x06 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_context\"\xc6\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x18\n\x0binclude_ttl\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x32\n\tread_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x01\x88\x01\x01\x42\x0e\n\x0c_include_ttlB\x0c\n\n_read_mask\"\xd7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x12\x32\n\tread_mask\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x03\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_contextB\x0c\n\n_read_mask\"]\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\x13.coreApi.AuthFilter\"[\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xa1\x04\n\x14SearchThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.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\x12\x1a\n\x03ids\x18\n \x03(\x0b\x32\r.coreApi.UUID\x12;\n\x07\x65xtract\x18\x0b \x03(\x0b\x32*.coreApi.SearchThreadsRequest.ExtractEntry\x1a.\n\x0c\x45xtractEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\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\"\xd3\x01\n\x13\x43ountThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_status\"\xc3\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\ncheckpoint\x18\x02 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x37\n\x0f\x65xpected_status\x18\x04 \x03(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xd4\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\x38\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x07 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xc9\x01\n\x13StreamThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12<\n\x0cstream_modes\x18\x03 \x03(\x0e\x32&.enumThreadStreamMode.ThreadStreamMode\x12\x1a\n\rlast_event_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"\xb9\x05\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\ninput_json\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x19\n\x0c\x63ommand_json\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12/\n\x0bstream_mode\x18\x05 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\t\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\n\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\x0b\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\r\n\x0b_input_jsonB\x0f\n\r_command_jsonB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\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\"\xc4\x03\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\x18.enumRunStatus.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x44\n\x12multitask_strategy\x18\t \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategy\x12#\n\x16langsmith_session_name\x18\n \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_langsmith_session_name\"\xba\x02\n\x08RunStats\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\x12\x36\n)pending_unblocked_runs_wait_time_max_secs\x18\x05 \x01(\x01H\x02\x88\x01\x01\x42\"\n _pending_runs_wait_time_max_secsB\"\n _pending_runs_wait_time_med_secsB,\n*_pending_unblocked_runs_wait_time_max_secs\"\x82\x01\n\x11PostgresPoolStats\x12\x10\n\x08pool_max\x18\x01 \x01(\x05\x12\x11\n\tpool_size\x18\x02 \x01(\x05\x12\x16\n\x0epool_available\x18\x03 \x01(\x05\x12\x17\n\x0frequests_queued\x18\x04 \x01(\x03\x12\x17\n\x0frequests_errors\x18\x05 \x01(\x03\"_\n\x0eRedisPoolStats\x12\x18\n\x10idle_connections\x18\x01 \x01(\x05\x12\x1a\n\x12in_use_connections\x18\x02 \x01(\x05\x12\x17\n\x0fmax_connections\x18\x03 \x01(\x05\"\x8c\x01\n\x13\x43onnectionPoolStats\x12\x31\n\x08postgres\x18\x01 \x01(\x0b\x32\x1a.coreApi.PostgresPoolStatsH\x00\x88\x01\x01\x12+\n\x05redis\x18\x02 \x01(\x0b\x32\x17.coreApi.RedisPoolStatsH\x01\x88\x01\x01\x42\x0b\n\t_postgresB\x08\n\x06_redis\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"w\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\x12\x39\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContext\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\x92\x07\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x13\n\x0bkwargs_json\x18\x02 \x01(\x0c\x12+\n\x0ethread_filters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x11\x61ssistant_filters\x18\x0e \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x18.enumRunStatus.RunStatusH\x03\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\n \x01(\x0e\x32(.enumMultitaskStrategy.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\x12\x31\n\nthread_ttl\x18\r \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\t\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x0f \x01(\x0b\x32\x1d.encryption.EncryptionContextH\n\x88\x01\x01\x12#\n\x16langsmith_session_name\x18\x10 \x01(\tH\x0b\x88\x01\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x10\n\x0e_metadata_jsonB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_secondsB\r\n\x0b_thread_ttlB\x15\n\x13_encryption_contextB\x19\n\x17_langsmith_session_name\"v\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$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"y\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$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"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\"\x87\x02\n\x10\x43\x61ncelRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x39\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32$.enumCancelRunAction.CancelRunActionH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x08\n\x06targetB\t\n\x07_actionB\t\n\x07_reason\"\xe3\x01\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\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\x18.enumRunStatus.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\tB\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\"^\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12(\n\x06status\x18\x02 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID\"F\n\x10\x43ountRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08statuses\x18\x02 \x03(\t\"\x7f\n\x16StreamRunClientMessage\x12\x31\n\tsubscribe\x18\x01 \x01(\x0b\x32\x1c.coreApi.SubscribeRunRequestH\x00\x12\'\n\x04join\x18\x02 \x01(\x0b\x32\x17.coreApi.JoinRunRequestH\x00\x42\t\n\x07message\"V\n\x13SubscribeRunRequest\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\"\xd2\x01\n\x0eJoinRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x30\n\x0cstream_modes\x18\x02 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x1c\n\x14ignore_run_not_found\x18\x03 \x01(\x08\x12\x1c\n\x14\x63\x61ncel_on_disconnect\x18\x04 \x01(\x08\x12\x1a\n\rlast_event_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"e\n\x0f\x45nterRunRequest\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\x11\n\tresumable\x18\x03 \x01(\x08\"h\n\x12MarkRunDoneRequest\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\x11\n\tresumable\x18\x03 \x01(\x08\"\xa4\x01\n\x19PublishStreamEventRequest\x12\"\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nevent_type\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\x0c\x12\x11\n\tresumable\x18\x05 \x01(\x08\x42\t\n\x07_run_id\"5\n\x11GetGraphIDRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\"8\n\x12GetGraphIDResponse\x12\x15\n\x08graph_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_graph_id\"/\n\x11\x43reateRunResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"`\n\x0c\x43ontrolEvent\x12\x30\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32 .enumControlSignal.ControlSignal\x12\x13\n\x06reason\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_reason\"\x88\x05\n\x0b\x43ronPayload\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x17\n\ninput_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07webhook\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\x08 \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x37\n\nextra_json\x18\n \x03(\x0b\x32#.coreApi.CronPayload.ExtraJsonEntry\x1a\x30\n\x0e\x45xtraJsonEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\r\n\x0b_input_jsonB\t\n\x07_configB\x0f\n\r_context_jsonB\n\n\x08_webhookB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\x15\n\x13_multitask_strategyB\x10\n\x0e_metadata_json\"\xcb\x04\n\x04\x43ron\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x14\n\x0c\x61ssistant_id\x18\x02 \x01(\t\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12I\n\x10on_run_completed\x18\x04 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x01\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x10\n\x08schedule\x18\x06 \x01(\t\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07user_id\x18\t \x01(\tH\x03\x88\x01\x01\x12%\n\x07payload\x18\n \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x31\n\rnext_run_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rmetadata_json\x18\x0c \x01(\x0c\x12\x0f\n\x07\x65nabled\x18\r \x01(\x08\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x0b\n\t_timezone\"\x9a\x05\n\x11\x43reateCronRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x10\n\x08schedule\x18\x02 \x01(\t\x12%\n\x07payload\x18\x03 \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x15\n\rmetadata_json\x18\x04 \x01(\x0c\x12#\n\x07\x63ron_id\x18\x05 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12I\n\x10on_run_completed\x18\x07 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x02\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12\x0f\n\x07\x65nabled\x18\t \x01(\x08\x12.\n\x11\x61ssistant_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x0b \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x14\n\x07user_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\r \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x05\x88\x01\x01\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x06\x88\x01\x01\x42\n\n\x08_cron_idB\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"Y\n\x11\x44\x65leteCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x0eGetCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xe9\x03\n\x12SearchCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\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\x14.coreApi.CronsSortByH\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\x12\x14\n\x07\x65nabled\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x0b \x01(\x0cH\x07\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\n\n\x08_enabledB\x10\n\x0e_metadata_json\"3\n\x13SearchCronsResponse\x12\x1c\n\x05\x63rons\x18\x01 \x03(\x0b\x32\r.coreApi.Cron\"\x84\x02\n\x11\x43ountCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x04 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x10\n\x0e_metadata_json\"\xb7\x04\n\x10PatchCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08schedule\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x14\n\x07\x65nabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12I\n\x10on_run_completed\x18\x06 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x03\x88\x01\x01\x12*\n\x07payload\x18\x07 \x01(\x0b\x32\x14.coreApi.CronPayloadH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x12\x15\n\x08timezone\x18\n \x01(\tH\x07\x88\x01\x01\x12\x16\n\x0e\x63lear_end_time\x18\x0b \x01(\x08\x42\x0b\n\t_scheduleB\x0b\n\t_end_timeB\n\n\x08_enabledB\x13\n\x11_on_run_completedB\n\n\x08_payloadB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"\xaa\x01\n\x0b\x43ronWithNow\x12\x1b\n\x04\x63ron\x18\x01 \x01(\x0b\x32\r.coreApi.Cron\x12\'\n\x03now\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x00\x88\x01\x01\x42\x15\n\x13_encryption_context\"8\n\x11NextCronsResponse\x12#\n\x05\x63rons\x18\x01 \x03(\x0b\x32\x14.coreApi.CronWithNow\"j\n\x15SetNextRunDateRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x31\n\rnext_run_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"b\n\x0f\x43\x61\x63heSetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x42\x06\n\x04_ttl\"\x1e\n\x0f\x43\x61\x63heGetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"0\n\x10\x43\x61\x63heGetResponse\x12\x12\n\x05value\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x08\n\x06_value*/\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*X\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00\x12#\n\x1fTHREAD_TTL_STRATEGY_KEEP_LATEST\x10\x01*\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*\xd1\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\x12$\n THREADS_SORT_BY_STATE_UPDATED_AT\x10\x05*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\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*\xfd\x01\n\x0b\x43ronsSortBy\x12\x1d\n\x19\x43RONS_SORT_BY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43RONS_SORT_BY_CRON_ID\x10\x01\x12\x1e\n\x1a\x43RONS_SORT_BY_ASSISTANT_ID\x10\x02\x12\x1b\n\x17\x43RONS_SORT_BY_THREAD_ID\x10\x03\x12\x1f\n\x1b\x43RONS_SORT_BY_NEXT_RUN_DATE\x10\x04\x12\x1a\n\x16\x43RONS_SORT_BY_END_TIME\x10\x05\x12\x1c\n\x18\x43RONS_SORT_BY_CREATED_AT\x10\x06\x12\x1c\n\x18\x43RONS_SORT_BY_UPDATED_AT\x10\x07\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\xbd\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\x12>\n\x06Stream\x12\x1c.coreApi.StreamThreadRequest\x1a\x14.coreApi.StreamEvent0\x01\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x45\n\nGetGraphID\x12\x1a.coreApi.GetGraphIDRequest\x1a\x1b.coreApi.GetGraphIDResponse2\x9f\x07\n\x04Runs\x12?\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x1a.coreApi.CreateRunResponse\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\x43\n\x06Stream\x12\x1f.coreApi.StreamRunClientMessage\x1a\x14.coreApi.StreamEvent(\x01\x30\x01\x12\x45\n\x07Publish\x12\".coreApi.PublishStreamEventRequest\x1a\x16.google.protobuf.Empty\x12:\n\x05\x45nter\x12\x18.coreApi.EnterRunRequest\x1a\x15.coreApi.ControlEvent0\x01\x12?\n\x08MarkDone\x12\x1b.coreApi.MarkRunDoneRequest\x1a\x16.google.protobuf.Empty\x12\x32\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x11.coreApi.RunStats\x12\x41\n\tPoolStats\x12\x16.google.protobuf.Empty\x1a\x1c.coreApi.ConnectionPoolStats\x12:\n\x05\x43ount\x12\x19.coreApi.CountRunsRequest\x1a\x16.coreApi.CountResponse\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponse2\xe4\x03\n\x05\x43rons\x12\x33\n\x06\x43reate\x12\x1a.coreApi.CreateCronRequest\x1a\r.coreApi.Cron\x12-\n\x03Get\x12\x17.coreApi.GetCronRequest\x1a\r.coreApi.Cron\x12\x31\n\x05Patch\x12\x19.coreApi.PatchCronRequest\x1a\r.coreApi.Cron\x12<\n\x06\x44\x65lete\x12\x1a.coreApi.DeleteCronRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Search\x12\x1b.coreApi.SearchCronsRequest\x1a\x1c.coreApi.SearchCronsResponse\x12;\n\x05\x43ount\x12\x1a.coreApi.CountCronsRequest\x1a\x16.coreApi.CountResponse\x12:\n\x04Next\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.NextCronsResponse\x12H\n\x0eSetNextRunDate\x12\x1e.coreApi.SetNextRunDateRequest\x1a\x16.google.protobuf.Empty2|\n\x05\x43\x61\x63he\x12\x37\n\x03Set\x12\x18.coreApi.CacheSetRequest\x1a\x16.google.protobuf.Empty\x12:\n\x03Get\x12\x18.coreApi.CacheGetRequest\x1a\x19.coreApi.CacheGetResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
43
43
 
44
44
  _globals = globals()
45
45
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -55,24 +55,24 @@ if not _descriptor._USE_C_DESCRIPTORS:
55
55
  _globals['_SEARCHTHREADSREQUEST_EXTRACTENTRY']._serialized_options = b'8\001'
56
56
  _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._loaded_options = None
57
57
  _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_options = b'8\001'
58
- _globals['_ONCONFLICTBEHAVIOR']._serialized_start=17841
59
- _globals['_ONCONFLICTBEHAVIOR']._serialized_end=17888
60
- _globals['_SORTORDER']._serialized_start=17890
61
- _globals['_SORTORDER']._serialized_end=17920
62
- _globals['_ASSISTANTSSORTBY']._serialized_start=17922
63
- _globals['_ASSISTANTSSORTBY']._serialized_end=18031
64
- _globals['_THREADTTLSTRATEGY']._serialized_start=18033
65
- _globals['_THREADTTLSTRATEGY']._serialized_end=18121
66
- _globals['_CHECKPOINTSOURCE']._serialized_start=18124
67
- _globals['_CHECKPOINTSOURCE']._serialized_end=18292
68
- _globals['_THREADSSORTBY']._serialized_start=18295
69
- _globals['_THREADSSORTBY']._serialized_end=18504
70
- _globals['_CREATERUNBEHAVIOR']._serialized_start=18506
71
- _globals['_CREATERUNBEHAVIOR']._serialized_end=18602
72
- _globals['_CANCELRUNSTATUS']._serialized_start=18604
73
- _globals['_CANCELRUNSTATUS']._serialized_end=18710
74
- _globals['_CRONSSORTBY']._serialized_start=18713
75
- _globals['_CRONSSORTBY']._serialized_end=18966
58
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_start=17905
59
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_end=17952
60
+ _globals['_SORTORDER']._serialized_start=17954
61
+ _globals['_SORTORDER']._serialized_end=17984
62
+ _globals['_ASSISTANTSSORTBY']._serialized_start=17986
63
+ _globals['_ASSISTANTSSORTBY']._serialized_end=18095
64
+ _globals['_THREADTTLSTRATEGY']._serialized_start=18097
65
+ _globals['_THREADTTLSTRATEGY']._serialized_end=18185
66
+ _globals['_CHECKPOINTSOURCE']._serialized_start=18188
67
+ _globals['_CHECKPOINTSOURCE']._serialized_end=18356
68
+ _globals['_THREADSSORTBY']._serialized_start=18359
69
+ _globals['_THREADSSORTBY']._serialized_end=18568
70
+ _globals['_CREATERUNBEHAVIOR']._serialized_start=18570
71
+ _globals['_CREATERUNBEHAVIOR']._serialized_end=18666
72
+ _globals['_CANCELRUNSTATUS']._serialized_start=18668
73
+ _globals['_CANCELRUNSTATUS']._serialized_end=18774
74
+ _globals['_CRONSSORTBY']._serialized_start=18777
75
+ _globals['_CRONSSORTBY']._serialized_end=19030
76
76
  _globals['_TAGS']._serialized_start=450
77
77
  _globals['_TAGS']._serialized_end=472
78
78
  _globals['_EQAUTHFILTER']._serialized_start=474
@@ -196,79 +196,79 @@ if not _descriptor._USE_C_DESCRIPTORS:
196
196
  _globals['_CANCELSTATUSTARGET']._serialized_start=12020
197
197
  _globals['_CANCELSTATUSTARGET']._serialized_end=12082
198
198
  _globals['_CANCELRUNREQUEST']._serialized_start=12085
199
- _globals['_CANCELRUNREQUEST']._serialized_end=12316
200
- _globals['_SEARCHRUNSREQUEST']._serialized_start=12319
201
- _globals['_SEARCHRUNSREQUEST']._serialized_end=12546
202
- _globals['_SEARCHRUNSRESPONSE']._serialized_start=12548
203
- _globals['_SEARCHRUNSRESPONSE']._serialized_end=12596
204
- _globals['_SETRUNSTATUSREQUEST']._serialized_start=12598
205
- _globals['_SETRUNSTATUSREQUEST']._serialized_end=12692
206
- _globals['_SWEEPRUNSRESPONSE']._serialized_start=12694
207
- _globals['_SWEEPRUNSRESPONSE']._serialized_end=12745
208
- _globals['_COUNTRUNSREQUEST']._serialized_start=12747
209
- _globals['_COUNTRUNSREQUEST']._serialized_end=12817
210
- _globals['_STREAMRUNCLIENTMESSAGE']._serialized_start=12819
211
- _globals['_STREAMRUNCLIENTMESSAGE']._serialized_end=12946
212
- _globals['_SUBSCRIBERUNREQUEST']._serialized_start=12948
213
- _globals['_SUBSCRIBERUNREQUEST']._serialized_end=13034
214
- _globals['_JOINRUNREQUEST']._serialized_start=13037
215
- _globals['_JOINRUNREQUEST']._serialized_end=13247
216
- _globals['_ENTERRUNREQUEST']._serialized_start=13249
217
- _globals['_ENTERRUNREQUEST']._serialized_end=13350
218
- _globals['_MARKRUNDONEREQUEST']._serialized_start=13352
219
- _globals['_MARKRUNDONEREQUEST']._serialized_end=13456
220
- _globals['_PUBLISHSTREAMEVENTREQUEST']._serialized_start=13459
221
- _globals['_PUBLISHSTREAMEVENTREQUEST']._serialized_end=13623
222
- _globals['_GETGRAPHIDREQUEST']._serialized_start=13625
223
- _globals['_GETGRAPHIDREQUEST']._serialized_end=13678
224
- _globals['_GETGRAPHIDRESPONSE']._serialized_start=13680
225
- _globals['_GETGRAPHIDRESPONSE']._serialized_end=13736
226
- _globals['_CREATERUNRESPONSE']._serialized_start=13738
227
- _globals['_CREATERUNRESPONSE']._serialized_end=13785
228
- _globals['_CONTROLEVENT']._serialized_start=13787
229
- _globals['_CONTROLEVENT']._serialized_end=13851
230
- _globals['_CRONPAYLOAD']._serialized_start=13854
231
- _globals['_CRONPAYLOAD']._serialized_end=14502
232
- _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_start=14317
233
- _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_end=14365
234
- _globals['_CRON']._serialized_start=14505
235
- _globals['_CRON']._serialized_end=15092
236
- _globals['_CREATECRONREQUEST']._serialized_start=15095
237
- _globals['_CREATECRONREQUEST']._serialized_end=15761
238
- _globals['_DELETECRONREQUEST']._serialized_start=15763
239
- _globals['_DELETECRONREQUEST']._serialized_end=15852
240
- _globals['_GETCRONREQUEST']._serialized_start=15854
241
- _globals['_GETCRONREQUEST']._serialized_end=15940
242
- _globals['_SEARCHCRONSREQUEST']._serialized_start=15943
243
- _globals['_SEARCHCRONSREQUEST']._serialized_end=16432
244
- _globals['_SEARCHCRONSRESPONSE']._serialized_start=16434
245
- _globals['_SEARCHCRONSRESPONSE']._serialized_end=16485
246
- _globals['_COUNTCRONSREQUEST']._serialized_start=16488
247
- _globals['_COUNTCRONSREQUEST']._serialized_end=16748
248
- _globals['_PATCHCRONREQUEST']._serialized_start=16751
249
- _globals['_PATCHCRONREQUEST']._serialized_end=17318
250
- _globals['_CRONWITHNOW']._serialized_start=17321
251
- _globals['_CRONWITHNOW']._serialized_end=17491
252
- _globals['_NEXTCRONSRESPONSE']._serialized_start=17493
253
- _globals['_NEXTCRONSRESPONSE']._serialized_end=17549
254
- _globals['_SETNEXTRUNDATEREQUEST']._serialized_start=17551
255
- _globals['_SETNEXTRUNDATEREQUEST']._serialized_end=17657
256
- _globals['_CACHESETREQUEST']._serialized_start=17659
257
- _globals['_CACHESETREQUEST']._serialized_end=17757
258
- _globals['_CACHEGETREQUEST']._serialized_start=17759
259
- _globals['_CACHEGETREQUEST']._serialized_end=17789
260
- _globals['_CACHEGETRESPONSE']._serialized_start=17791
261
- _globals['_CACHEGETRESPONSE']._serialized_end=17839
262
- _globals['_ASSISTANTS']._serialized_start=18969
263
- _globals['_ASSISTANTS']._serialized_end=19546
264
- _globals['_ADMIN']._serialized_start=19548
265
- _globals['_ADMIN']._serialized_end=19617
266
- _globals['_THREADS']._serialized_start=19620
267
- _globals['_THREADS']._serialized_end=20321
268
- _globals['_RUNS']._serialized_start=20324
269
- _globals['_RUNS']._serialized_end=21251
270
- _globals['_CRONS']._serialized_start=21254
271
- _globals['_CRONS']._serialized_end=21738
272
- _globals['_CACHE']._serialized_start=21740
273
- _globals['_CACHE']._serialized_end=21864
199
+ _globals['_CANCELRUNREQUEST']._serialized_end=12348
200
+ _globals['_SEARCHRUNSREQUEST']._serialized_start=12351
201
+ _globals['_SEARCHRUNSREQUEST']._serialized_end=12578
202
+ _globals['_SEARCHRUNSRESPONSE']._serialized_start=12580
203
+ _globals['_SEARCHRUNSRESPONSE']._serialized_end=12628
204
+ _globals['_SETRUNSTATUSREQUEST']._serialized_start=12630
205
+ _globals['_SETRUNSTATUSREQUEST']._serialized_end=12724
206
+ _globals['_SWEEPRUNSRESPONSE']._serialized_start=12726
207
+ _globals['_SWEEPRUNSRESPONSE']._serialized_end=12777
208
+ _globals['_COUNTRUNSREQUEST']._serialized_start=12779
209
+ _globals['_COUNTRUNSREQUEST']._serialized_end=12849
210
+ _globals['_STREAMRUNCLIENTMESSAGE']._serialized_start=12851
211
+ _globals['_STREAMRUNCLIENTMESSAGE']._serialized_end=12978
212
+ _globals['_SUBSCRIBERUNREQUEST']._serialized_start=12980
213
+ _globals['_SUBSCRIBERUNREQUEST']._serialized_end=13066
214
+ _globals['_JOINRUNREQUEST']._serialized_start=13069
215
+ _globals['_JOINRUNREQUEST']._serialized_end=13279
216
+ _globals['_ENTERRUNREQUEST']._serialized_start=13281
217
+ _globals['_ENTERRUNREQUEST']._serialized_end=13382
218
+ _globals['_MARKRUNDONEREQUEST']._serialized_start=13384
219
+ _globals['_MARKRUNDONEREQUEST']._serialized_end=13488
220
+ _globals['_PUBLISHSTREAMEVENTREQUEST']._serialized_start=13491
221
+ _globals['_PUBLISHSTREAMEVENTREQUEST']._serialized_end=13655
222
+ _globals['_GETGRAPHIDREQUEST']._serialized_start=13657
223
+ _globals['_GETGRAPHIDREQUEST']._serialized_end=13710
224
+ _globals['_GETGRAPHIDRESPONSE']._serialized_start=13712
225
+ _globals['_GETGRAPHIDRESPONSE']._serialized_end=13768
226
+ _globals['_CREATERUNRESPONSE']._serialized_start=13770
227
+ _globals['_CREATERUNRESPONSE']._serialized_end=13817
228
+ _globals['_CONTROLEVENT']._serialized_start=13819
229
+ _globals['_CONTROLEVENT']._serialized_end=13915
230
+ _globals['_CRONPAYLOAD']._serialized_start=13918
231
+ _globals['_CRONPAYLOAD']._serialized_end=14566
232
+ _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_start=14381
233
+ _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_end=14429
234
+ _globals['_CRON']._serialized_start=14569
235
+ _globals['_CRON']._serialized_end=15156
236
+ _globals['_CREATECRONREQUEST']._serialized_start=15159
237
+ _globals['_CREATECRONREQUEST']._serialized_end=15825
238
+ _globals['_DELETECRONREQUEST']._serialized_start=15827
239
+ _globals['_DELETECRONREQUEST']._serialized_end=15916
240
+ _globals['_GETCRONREQUEST']._serialized_start=15918
241
+ _globals['_GETCRONREQUEST']._serialized_end=16004
242
+ _globals['_SEARCHCRONSREQUEST']._serialized_start=16007
243
+ _globals['_SEARCHCRONSREQUEST']._serialized_end=16496
244
+ _globals['_SEARCHCRONSRESPONSE']._serialized_start=16498
245
+ _globals['_SEARCHCRONSRESPONSE']._serialized_end=16549
246
+ _globals['_COUNTCRONSREQUEST']._serialized_start=16552
247
+ _globals['_COUNTCRONSREQUEST']._serialized_end=16812
248
+ _globals['_PATCHCRONREQUEST']._serialized_start=16815
249
+ _globals['_PATCHCRONREQUEST']._serialized_end=17382
250
+ _globals['_CRONWITHNOW']._serialized_start=17385
251
+ _globals['_CRONWITHNOW']._serialized_end=17555
252
+ _globals['_NEXTCRONSRESPONSE']._serialized_start=17557
253
+ _globals['_NEXTCRONSRESPONSE']._serialized_end=17613
254
+ _globals['_SETNEXTRUNDATEREQUEST']._serialized_start=17615
255
+ _globals['_SETNEXTRUNDATEREQUEST']._serialized_end=17721
256
+ _globals['_CACHESETREQUEST']._serialized_start=17723
257
+ _globals['_CACHESETREQUEST']._serialized_end=17821
258
+ _globals['_CACHEGETREQUEST']._serialized_start=17823
259
+ _globals['_CACHEGETREQUEST']._serialized_end=17853
260
+ _globals['_CACHEGETRESPONSE']._serialized_start=17855
261
+ _globals['_CACHEGETRESPONSE']._serialized_end=17903
262
+ _globals['_ASSISTANTS']._serialized_start=19033
263
+ _globals['_ASSISTANTS']._serialized_end=19610
264
+ _globals['_ADMIN']._serialized_start=19612
265
+ _globals['_ADMIN']._serialized_end=19681
266
+ _globals['_THREADS']._serialized_start=19684
267
+ _globals['_THREADS']._serialized_end=20385
268
+ _globals['_RUNS']._serialized_start=20388
269
+ _globals['_RUNS']._serialized_end=21315
270
+ _globals['_CRONS']._serialized_start=21318
271
+ _globals['_CRONS']._serialized_end=21802
272
+ _globals['_CACHE']._serialized_start=21804
273
+ _globals['_CACHE']._serialized_end=21928
274
274
  # @@protoc_insertion_point(module_scope)
@@ -2568,7 +2568,12 @@ class CancelRunRequest(_message.Message):
2568
2568
  RUN_IDS_FIELD_NUMBER: _builtins.int
2569
2569
  STATUS_FIELD_NUMBER: _builtins.int
2570
2570
  ACTION_FIELD_NUMBER: _builtins.int
2571
+ REASON_FIELD_NUMBER: _builtins.int
2571
2572
  action: _enum_cancel_run_action_pb2.CancelRunAction.ValueType
2573
+ reason: _builtins.str
2574
+ """Server-generated, human-readable explanation of why the run is being cancelled
2575
+ (e.g. superseded by another run, client disconnect). Never user-supplied.
2576
+ """
2572
2577
  @_builtins.property
2573
2578
  def filters(self) -> _containers.RepeatedCompositeFieldContainer[Global___AuthFilter]: ...
2574
2579
  @_builtins.property
@@ -2582,18 +2587,23 @@ class CancelRunRequest(_message.Message):
2582
2587
  run_ids: Global___CancelRunIdsTarget | None = ...,
2583
2588
  status: Global___CancelStatusTarget | None = ...,
2584
2589
  action: _enum_cancel_run_action_pb2.CancelRunAction.ValueType | None = ...,
2590
+ reason: _builtins.str | None = ...,
2585
2591
  ) -> None: ...
2586
- _HasFieldArgType: _TypeAlias = _typing.Literal["_action", b"_action", "action", b"action", "run_ids", b"run_ids", "status", b"status", "target", b"target"] # noqa: Y015
2592
+ _HasFieldArgType: _TypeAlias = _typing.Literal["_action", b"_action", "_reason", b"_reason", "action", b"action", "reason", b"reason", "run_ids", b"run_ids", "status", b"status", "target", b"target"] # noqa: Y015
2587
2593
  def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
2588
- _ClearFieldArgType: _TypeAlias = _typing.Literal["_action", b"_action", "action", b"action", "filters", b"filters", "run_ids", b"run_ids", "status", b"status", "target", b"target"] # noqa: Y015
2594
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["_action", b"_action", "_reason", b"_reason", "action", b"action", "filters", b"filters", "reason", b"reason", "run_ids", b"run_ids", "status", b"status", "target", b"target"] # noqa: Y015
2589
2595
  def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
2590
2596
  _WhichOneofReturnType__action: _TypeAlias = _typing.Literal["action"] # noqa: Y015
2591
2597
  _WhichOneofArgType__action: _TypeAlias = _typing.Literal["_action", b"_action"] # noqa: Y015
2598
+ _WhichOneofReturnType__reason: _TypeAlias = _typing.Literal["reason"] # noqa: Y015
2599
+ _WhichOneofArgType__reason: _TypeAlias = _typing.Literal["_reason", b"_reason"] # noqa: Y015
2592
2600
  _WhichOneofReturnType_target: _TypeAlias = _typing.Literal["run_ids", "status"] # noqa: Y015
2593
2601
  _WhichOneofArgType_target: _TypeAlias = _typing.Literal["target", b"target"] # noqa: Y015
2594
2602
  @_typing.overload
2595
2603
  def WhichOneof(self, oneof_group: _WhichOneofArgType__action) -> _WhichOneofReturnType__action | None: ...
2596
2604
  @_typing.overload
2605
+ def WhichOneof(self, oneof_group: _WhichOneofArgType__reason) -> _WhichOneofReturnType__reason | None: ...
2606
+ @_typing.overload
2597
2607
  def WhichOneof(self, oneof_group: _WhichOneofArgType_target) -> _WhichOneofReturnType_target | None: ...
2598
2608
 
2599
2609
  Global___CancelRunRequest: _TypeAlias = CancelRunRequest # noqa: Y015
@@ -3001,17 +3011,23 @@ class ControlEvent(_message.Message):
3001
3011
  DESCRIPTOR: _descriptor.Descriptor
3002
3012
 
3003
3013
  ACTION_FIELD_NUMBER: _builtins.int
3014
+ REASON_FIELD_NUMBER: _builtins.int
3004
3015
  action: _enum_control_signal_pb2.ControlSignal.ValueType
3016
+ reason: _builtins.str
3017
+ """Server-generated explanation of why the run was cancelled (see CancelRunRequest.reason)"""
3005
3018
  def __init__(
3006
3019
  self,
3007
3020
  *,
3008
3021
  action: _enum_control_signal_pb2.ControlSignal.ValueType = ...,
3022
+ reason: _builtins.str | None = ...,
3009
3023
  ) -> None: ...
3010
- _HasFieldArgType: _TypeAlias = _Never # noqa: Y015
3024
+ _HasFieldArgType: _TypeAlias = _typing.Literal["_reason", b"_reason", "reason", b"reason"] # noqa: Y015
3011
3025
  def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
3012
- _ClearFieldArgType: _TypeAlias = _typing.Literal["action", b"action"] # noqa: Y015
3026
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["_reason", b"_reason", "action", b"action", "reason", b"reason"] # noqa: Y015
3013
3027
  def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
3014
- def WhichOneof(self, oneof_group: _Never) -> None: ...
3028
+ _WhichOneofReturnType__reason: _TypeAlias = _typing.Literal["reason"] # noqa: Y015
3029
+ _WhichOneofArgType__reason: _TypeAlias = _typing.Literal["_reason", b"_reason"] # noqa: Y015
3030
+ def WhichOneof(self, oneof_group: _WhichOneofArgType__reason) -> _WhichOneofReturnType__reason | None: ...
3015
3031
 
3016
3032
  Global___ControlEvent: _TypeAlias = ControlEvent # noqa: Y015
3017
3033
 
@@ -1 +0,0 @@
1
- __version__ = "0.16.0.dev2"